:root{--color-primary:#c1622c;--color-primary-hover:#a84f21;--color-primary-active:#8f4118;--color-primary-tint:#fbeee2;--color-bg:#faf7f2;--color-surface:#fff;--color-surface-muted:#f4efe7;--color-border:#e6ddd0;--color-border-strong:#d3c5b2;--color-text-primary:#2c241a;--color-text-secondary:#675c4c;--color-text-tertiary:#948a76;--color-text-inverse:#fff;--color-success:#5c7a3a;--color-success-bg:#eef3e3;--color-danger:#b0402a;--color-danger-bg:#fbe9e3;--color-warning:#b3811f;--color-warning-bg:#faf1dd;--swatch-border:#2c241a47;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--shadow-sm:0 1px 2px #2c241a0f;--shadow-md:0 4px 12px #2c241a14;--shadow-lg:0 12px 32px #2c241a29;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:20px;--font-size-xl:26px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{align-items:center;gap:var(--space-2);font-family:inherit;font-size:var(--font-size-sm);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;border:1px solid #0000;font-weight:600;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-muted)}.btn-danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text-primary)}.btn-link{color:var(--color-primary);cursor:pointer;text-align:left;font-size:var(--font-size-sm);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.btn-link:hover{color:var(--color-primary-hover)}.modal-backdrop{z-index:100;padding:var(--space-4);background:#2c241a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-5);width:100%;max-width:480px;max-height:85vh;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);display:flex}.swatch{border:1px solid var(--swatch-border);border-radius:var(--radius-sm);flex-shrink:0;display:inline-block}.swatch-sm{width:14px;height:14px}.swatch-md{width:20px;height:20px}.swatch-lg{border-radius:var(--radius-md);width:28px;height:28px}.empty-state{padding:var(--space-7) var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.field-row{gap:var(--space-3);align-items:flex-end;display:flex}.field input,.field select{font-family:inherit;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary)}.field input:focus,.field select:focus{outline:2px solid var(--color-primary-tint);border-color:var(--color-primary)}.badge{font-size:var(--font-size-xs);padding:2px var(--space-2);border-radius:var(--radius-xl);background:var(--color-primary-tint);color:var(--color-primary-active);font-weight:600;display:inline-block}:root{font:var(--font-size-base)/1.5 system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text-primary);background:var(--color-bg)}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4{color:var(--color-text-primary);font-family:inherit}input,select,button{font-size:var(--font-size-sm)}input[type=radio],input[type=checkbox]{accent-color:var(--color-primary)}.zoom-control{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--font-size-sm);display:flex}.zoom-label{color:var(--color-text-secondary);white-space:nowrap}.zoom-control button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:24px;height:24px;padding:0;line-height:1}.zoom-control button:hover:not(:disabled){background:var(--color-surface-muted)}.zoom-control button:disabled{opacity:.4;cursor:not-allowed}.zoom-control input[type=range]{width:140px;accent-color:var(--color-primary)}.zoom-value{text-align:right;width:42px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.save-scheme-bar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.save-scheme-naming{align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.save-scheme-naming input{min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);flex:120px}.save-scheme-naming .btn{flex-shrink:0}.save-scheme-message{font-size:var(--font-size-xs);color:var(--color-success)}.catalog-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;max-height:300px;display:flex}.catalog-picker-toolbar{gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--color-surface-muted);display:flex}.catalog-picker-toolbar input{flex:1;min-width:0}.catalog-picker-tree{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.catalog-picker-group-block{border-bottom:1px solid var(--color-surface-muted)}.catalog-picker-group-block:last-child{border-bottom:none}.catalog-picker-group{align-items:center;gap:var(--space-2);padding:var(--space-2);font-size:var(--font-size-sm);cursor:pointer;background:var(--color-surface-muted);font-weight:600;display:flex}.catalog-picker-expand{cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-secondary);background:0 0;border:none;flex-shrink:0;width:14px;padding:0 2px}.catalog-picker-group-label-wrap{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.catalog-picker-group-label{font-weight:600}.catalog-picker-list{padding:var(--space-1) var(--space-2) var(--space-1) 26px}.catalog-picker-item{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);cursor:pointer;min-width:0;padding:2px 0;font-weight:400;display:flex}.catalog-picker-swatch{border:1px solid var(--swatch-border);border-radius:var(--radius-sm);flex-shrink:0;width:16px;height:16px;display:inline-block}.catalog-picker-code{flex-shrink:0;font-weight:600}.catalog-picker-name{min-width:0;color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.catalog-picker-count{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);border-top:1px solid var(--color-surface-muted)}.palette-preview{gap:var(--space-2);flex-wrap:wrap;max-width:100%;display:flex}.palette-preview-item{color:var(--color-text-secondary);flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.palette-preview-swatch{border-radius:var(--radius-sm);border:1px solid var(--swatch-border);width:26px;height:26px;font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:700;display:flex}.palette-preview-swatch-auto{opacity:.75;font-style:italic;font-weight:400}.modal-card h3{margin-top:0}.modal-section-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin:var(--space-4) 0 var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-weight:700}.modal-section-title:first-of-type{border-top:none;margin-top:0;padding-top:0}.modal-row{margin-bottom:var(--space-3);gap:var(--space-1);font-size:var(--font-size-md);flex-direction:column;display:flex}.modal-row-inline{align-items:center;gap:var(--space-2);display:flex}.modal-row input[type=number]{width:100px}.modal-row select{width:100%}.step1{gap:var(--space-5);grid-template-columns:320px 1fr;align-items:start;display:grid}.step1-panel{gap:var(--space-4);flex-direction:column;display:flex}.step1-card{padding:var(--space-4)}.step1-card h3{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.field-row{align-items:center}.step1-dim-input{width:80px}.step1-dim-x{color:var(--color-text-tertiary)}.radio-row{gap:var(--space-4);font-size:var(--font-size-sm);display:flex}.radio-row-col{gap:var(--space-1);font-size:var(--font-size-sm);margin-bottom:var(--space-1);flex-direction:column;display:flex}.btn-generate{margin-top:var(--space-1);justify-content:center;width:100%}.step1-warning{color:var(--color-danger);font-size:var(--font-size-xs);margin:var(--space-1) 0 0}.step1-hint{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin:var(--space-1) 0 0;font-weight:400}.step1-preview{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.preview-col h4{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.preview-image{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%}.preview-placeholder{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-7) var(--space-3);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.preview-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:640px;overflow:auto}@media (width<=860px){.step1,.step1-preview{grid-template-columns:1fr}}.legend-panel{gap:var(--space-2);flex-direction:column;height:100%;display:flex;overflow:auto}.legend-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.legend-table th{text-align:left;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border);color:var(--color-text-tertiary);font-weight:500}.legend-table td{padding:3px var(--space-2);border-bottom:1px solid var(--color-surface-muted)}.legend-table tr{cursor:pointer}.legend-table tr:hover{background:var(--color-surface-muted)}.legend-row-selected{background:var(--color-primary-tint)!important}.legend-swatch{border:1px solid var(--swatch-border);border-radius:var(--radius-sm);width:22px;height:22px;font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.legend-remove-btn{color:var(--color-danger);cursor:pointer;padding:2px var(--space-2);background:0 0;border:none;font-size:15px;line-height:1}.legend-remove-btn:hover{color:var(--color-primary-active)}.legend-replace-btn{color:var(--color-text-secondary);font-size:var(--font-size-md);cursor:pointer;padding:2px var(--space-2);background:0 0;border:none;line-height:1}.legend-replace-btn:hover{color:var(--color-primary)}.legend-replace-row{cursor:default}.legend-replace-row:hover{background:0 0!important}.legend-replace-popover{padding:var(--space-2);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.legend-replace-popover input{width:100%;margin-bottom:var(--space-2)}.legend-replace-list{gap:var(--space-1);flex-wrap:wrap;max-height:140px;display:flex;overflow-y:auto}.legend-replace-item{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:2px var(--space-2);cursor:pointer;display:flex}.legend-replace-item:hover{background:var(--color-primary-tint);border-color:var(--color-primary)}.legend-replace-swatch{border-radius:var(--radius-sm);border:1px solid var(--swatch-border);width:12px;height:12px;display:inline-block}.legend-total{padding:var(--space-2);border-top:1px solid var(--color-border);font-weight:600}.step2{gap:var(--space-5);grid-template-columns:320px 1fr;display:grid}.step2-legend{padding:var(--space-4)}.step2-legend h3{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.step2-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:0}.step2-preview .preview-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-height:720px;box-shadow:var(--shadow-sm);overflow:auto}@media (width<=860px){.step2{grid-template-columns:1fr}}.step3{gap:var(--space-5);grid-template-columns:300px 1fr;display:grid}.step3-tools{gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.step3-tools h3{margin:var(--space-3) 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.step3-tools h3:first-child{margin-top:0}.step3-tools h4{margin:var(--space-2) 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tool-row{gap:var(--space-3);font-size:var(--font-size-sm);display:flex}.step3-tools .field{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;display:flex}.undo-row{gap:var(--space-2);margin:var(--space-1) 0;display:flex}.undo-row button{flex:1}.active-color{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.active-color-swatch{border:1px solid var(--swatch-border);border-radius:var(--radius-sm);width:26px;height:26px;display:inline-block}.catalog-add-list{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-1);max-height:160px;padding:var(--space-2);flex-wrap:wrap;display:flex;overflow-y:auto}.catalog-add-item{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:2px var(--space-2);cursor:pointer;display:flex}.catalog-add-item:hover{background:var(--color-primary-tint);border-color:var(--color-primary)}.catalog-add-swatch{border-radius:var(--radius-sm);border:1px solid var(--swatch-border);width:12px;height:12px;display:inline-block}.step3-canvas-col{flex-direction:column;align-self:start;display:flex}.step3-canvas-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-height:760px;box-shadow:var(--shadow-sm);overflow:auto}@media (width<=860px){.step3{grid-template-columns:1fr}}.print-toolbar{gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.print-page{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow-x:auto}.print-page h2{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-top:0}.overview-canvas-holder{display:inline-block;position:relative}.overview-block-number{color:#000;text-shadow:-1px -1px #fff,1px -1px #fff,-1px 1px #fff,1px 1px #fff;pointer-events:none;font-size:22px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.print-legend-table{border-collapse:collapse;font-size:var(--font-size-sm)}.print-legend-table th,.print-legend-table td{border:1px solid var(--color-border-strong);padding:var(--space-1) var(--space-3);text-align:left}.print-swatch{border:1px solid var(--swatch-border);border-radius:var(--radius-sm);width:22px;height:22px;font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.print-footnote{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}@media print{.no-print{display:none!important}.print-page{box-shadow:none;page-break-after:always;border:none;margin-bottom:0}}.my-schemes h3{margin-top:0}.my-schemes-error{color:var(--color-danger);font-size:var(--font-size-sm)}.my-schemes-list{gap:var(--space-2);flex-direction:column;max-width:640px;display:flex}.my-schemes-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.my-schemes-name{font-weight:600;font-size:var(--font-size-base)}.my-schemes-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.my-schemes-actions{gap:var(--space-2);flex-shrink:0;display:flex}.palette-builder{gap:var(--space-3);flex-direction:column;width:480px;max-width:100%;display:flex}.palette-builder .field{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;display:flex}.palette-builder-hint{font-size:var(--font-size-xs);color:var(--color-primary-active);background:var(--color-primary-tint);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:0}.palette-builder-toolbar{align-items:center;gap:var(--space-3);display:flex}.palette-builder-toolbar input{flex:1;min-width:0}.palette-builder-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.palette-builder-list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:320px;padding:var(--space-1) var(--space-2);overflow-y:auto}.palette-builder-row{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);padding:3px 0;display:flex}.palette-builder-row-main{align-items:center;gap:var(--space-2);cursor:pointer;flex:1;min-width:0;display:flex}.palette-builder-swatch{border-radius:var(--radius-sm);border:1px solid var(--swatch-border);flex-shrink:0;width:16px;height:16px}.palette-builder-code{flex-shrink:0;font-weight:600}.palette-builder-name{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-builder-symbol{text-align:center;width:44px;font-size:var(--font-size-xs);padding:3px var(--space-1);flex-shrink:0}.palette-builder-symbol-error{background:var(--color-danger-bg);border-color:var(--color-danger)!important}.palette-builder-error{color:var(--color-danger);font-size:var(--font-size-xs);margin:0}.palettes-manager-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.palettes-manager-header h3{margin:0}.palettes-manager-error{color:var(--color-danger);font-size:var(--font-size-sm)}.palettes-manager-section{margin-bottom:var(--space-5)}.palettes-manager-section h4{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-2)}.palettes-manager-row{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);max-width:640px}.palettes-manager-row-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.palettes-manager-name{font-weight:600;font-size:var(--font-size-base)}.palettes-manager-actions{align-items:center;gap:var(--space-2);display:flex}.auth-modal-tabs{gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.auth-modal-tabs button{padding:var(--space-2);font-size:var(--font-size-md);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;flex:1}.auth-tab-active{font-weight:600;color:var(--color-primary)!important;border-bottom-color:var(--color-primary)!important}.auth-modal .field,.auth-gate-card .field{gap:var(--space-1);font-size:var(--font-size-sm);margin-bottom:var(--space-3);flex-direction:column;display:flex}.auth-modal input,.auth-gate-card input{padding:var(--space-2) var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.auth-error{color:var(--color-danger);font-size:var(--font-size-xs);margin:0 0 var(--space-2)}.auth-gate{min-height:100vh;padding:var(--space-5);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.auth-gate-card{padding:var(--space-6) var(--space-5);border-radius:var(--radius-xl);width:380px;max-width:100%;box-shadow:var(--shadow-lg)}.auth-gate-title{font-size:var(--font-size-lg);margin:0 0 var(--space-1);text-align:center;color:var(--color-primary-active)}.auth-gate-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin:0 0 var(--space-5)}.auth-gate .auth-modal-tabs{margin-bottom:var(--space-4)}.app{max-width:1400px;padding:var(--space-4) var(--space-5) var(--space-7);margin:0 auto}.app-header{margin-bottom:var(--space-5)}.app-header h1{font-size:var(--font-size-lg);margin:0;font-weight:700}.app-header-row{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.app-header-right{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.auth-widget{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;display:flex}.auth-widget-login{white-space:nowrap}.app-utility-tabs{background:var(--color-surface-muted);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.app-utility-tab{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-secondary);white-space:nowrap;background:0 0;border:none;font-weight:600}.app-utility-tab:hover{color:var(--color-text-primary)}.app-utility-tab-active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.stepper{margin:var(--space-4) 0 0;align-items:center;max-width:680px;padding:0;list-style:none;display:flex}.stepper-step{flex:1;align-items:center;display:flex}.stepper-step:last-child{flex:none}.stepper-step-button{align-items:center;gap:var(--space-2);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;display:flex}.stepper-step-circle{border:1.5px solid var(--color-border-strong);width:28px;height:28px;font-size:var(--font-size-sm);color:var(--color-text-tertiary);background:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.stepper-step-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);white-space:nowrap;font-weight:600}.stepper-step-active .stepper-step-circle{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.stepper-step-active .stepper-step-label{color:var(--color-text-primary)}.stepper-step-done .stepper-step-circle{background:var(--color-primary-tint);border-color:var(--color-primary);color:var(--color-primary)}.stepper-step-done .stepper-step-label{color:var(--color-text-secondary)}.stepper-connector{background:var(--color-border-strong);height:1.5px;margin:0 var(--space-3);flex:1;min-width:24px}.stepper-connector-done{background:var(--color-primary)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);cursor:pointer;border:none;font-weight:600}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-border-strong);color:var(--color-text-tertiary);cursor:not-allowed}.btn-link{color:var(--color-primary);cursor:pointer;text-align:left;font-size:var(--font-size-sm);margin:var(--space-1) 0;background:0 0;border:none;padding:0;text-decoration:underline}button{font-family:inherit}@media (width<=720px){.stepper{max-width:none}.stepper-step-label{display:none}}@media print{.app{max-width:none;padding:0}}
