@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";.gate{background:var(--bg);min-height:100vh;padding:var(--sp-lg);justify-content:center;align-items:center;display:flex}.gate-form{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--sp-2xl) var(--sp-xl);align-items:center;gap:var(--sp-md);width:100%;max-width:320px;animation:scaleIn var(--dur-entrance) var(--ease-out) both;flex-direction:column;display:flex}.gate-title{color:var(--text-primary);margin-bottom:var(--sp-sm);font-size:1rem;font-weight:600}.gate-input{background:var(--surface-tint);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:center;letter-spacing:.1em;transition:box-shadow var(--dur-med) var(--ease-out), background var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);border:none;outline:none;padding:12px 16px;font-size:1rem}.gate-input:focus{box-shadow:0 0 0 2px var(--text-primary);background:var(--surface)}.gate-input::placeholder{color:var(--text-tertiary);letter-spacing:normal}.gate-error{color:var(--margin-bad);animation:slideDown var(--dur-med) var(--ease-spring) both;font-size:.8125rem}.gate-btn{background:var(--text-primary);width:100%;color:var(--surface);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;padding:12px;font-size:.875rem;font-weight:500}.gate-btn:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-1px)}.gate-btn:active{opacity:1;transform:translateY(0)scale(.97)}.insights{margin-top:var(--sp-lg)}.insights-title{margin-bottom:var(--sp-md);font-size:.875rem;font-weight:600}.insights-section{margin-bottom:var(--sp-lg)}.insights-section-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600}.insights-flags{margin-bottom:var(--sp-lg);flex-direction:column;gap:8px;display:flex}.insights-flag{border-radius:var(--radius-sm);padding:10px 14px;font-size:.8125rem;line-height:1.4}.insights-flag.warning{color:#e65100;background:#fff8e1}.insights-flag.positive{color:#2e7d32;background:#e8f5e9}.crew-margin-table{border-collapse:collapse;width:100%;font-size:.8125rem}.crew-margin-table th{text-align:left;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--surface-tint);padding:6px 8px 6px 0;font-size:.6875rem;font-weight:600}.crew-margin-table th:not(:first-child){text-align:right}.crew-margin-table td{border-bottom:1px solid var(--surface-tint);padding:8px 8px 8px 0}.crew-margin-table td:not(:first-child){text-align:right;font-family:var(--font-mono);font-size:.8125rem}.crew-margin-table .margin-cell{font-weight:500}.insight-row{border-bottom:1px solid var(--surface-tint);justify-content:space-between;align-items:center;padding:8px 0;font-size:.8125rem;display:flex}.insight-row:last-child{border-bottom:none}.insight-row-name{font-weight:500}.insight-row-value{font-family:var(--font-mono);font-weight:500}.benchmark-grid{gap:var(--sp-md);grid-template-columns:1fr 1fr 1fr;display:grid}.benchmark-card{text-align:center}.benchmark-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.6875rem}.benchmark-value{font-family:var(--font-mono);font-size:1.125rem;font-weight:500}.benchmark-note{color:var(--text-tertiary);margin-top:var(--sp-sm);text-align:center;font-size:.6875rem}@media (width<=600px){.benchmark-grid{grid-template-columns:1fr}}.dashboard{max-width:960px;padding:var(--sp-md) var(--sp-lg) var(--sp-2xl);width:100%;margin:0 auto}.dash-header{margin-bottom:var(--sp-xl);animation:fadeUp var(--dur-entrance) var(--ease-out) both;justify-content:space-between;align-items:center;display:flex}.dash-header-left{align-items:center;gap:var(--sp-md);display:flex}.dash-logo{width:36px;height:36px}.dash-title{letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.btn-new{align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--text-primary);color:var(--surface);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;font-size:.875rem;font-weight:500;display:inline-flex}.btn-new:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-new:active{opacity:1;transform:translateY(0)scale(.97)}.metrics-grid{gap:var(--sp-md);margin-bottom:var(--sp-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.metric-card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--sp-md) var(--sp-lg);border-top:3px solid var(--metric-accent,var(--surface-tint));animation:fadeUp var(--dur-entrance) var(--ease-out) both}.metric-card:first-child{--metric-accent:var(--ps-blue);animation-delay:calc(var(--stagger) * 1)}.metric-card:nth-child(2){--metric-accent:var(--ps-teal);animation-delay:calc(var(--stagger) * 2)}.metric-card:nth-child(3){--metric-accent:var(--ps-green);animation-delay:calc(var(--stagger) * 3)}.metric-card:nth-child(4){--metric-accent:var(--ps-amber);animation-delay:calc(var(--stagger) * 4)}.metric-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--sp-xs);font-size:.75rem;font-weight:500}.metric-value{font-family:var(--font-mono);color:var(--text-primary);font-size:1.5rem;font-weight:500}.metric-value.small{font-size:1rem}.sort-bar{align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-md);animation:fadeIn var(--dur-slow) var(--ease-out) calc(var(--stagger) * 5) both;display:flex}.sort-bar label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}.sort-chip{padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-sm);background:var(--surface-tint);color:var(--text-secondary);cursor:pointer;transition:background var(--dur-med) var(--ease-in-out), color var(--dur-med) var(--ease-in-out), transform var(--dur-fast) var(--ease-out);border:none;font-size:.8125rem;font-weight:500}.sort-chip:hover{transform:translateY(-1px)}.sort-chip:active{transform:scale(.96)}.sort-chip.active{background:var(--text-primary);color:var(--surface)}.jobs-list{gap:var(--sp-md);flex-direction:column;display:flex}.job-card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--sp-lg);cursor:pointer;color:inherit;animation:fadeUp var(--dur-entrance) var(--ease-out) both;transition:box-shadow var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);text-decoration:none;display:block}.job-card:first-child{animation-delay:calc(var(--stagger) * 5)}.job-card:nth-child(2){animation-delay:calc(var(--stagger) * 6)}.job-card:nth-child(3){animation-delay:calc(var(--stagger) * 7)}.job-card:nth-child(4){animation-delay:calc(var(--stagger) * 8)}.job-card:nth-child(5){animation-delay:calc(var(--stagger) * 9)}.job-card:nth-child(n+6){animation-delay:calc(var(--stagger) * 10)}.job-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.job-card:active{box-shadow:var(--shadow-sm);transition-duration:var(--dur-fast);transform:translateY(0)scale(.995)}.job-card-top{margin-bottom:var(--sp-sm);justify-content:space-between;align-items:flex-start;display:flex}.job-card-id{font-family:var(--font-mono);color:var(--text-tertiary);font-size:.75rem}.job-card-name{margin-top:2px;font-size:1rem;font-weight:600}.job-card-client{color:var(--text-secondary);font-size:.875rem}.status-badge{text-transform:uppercase;letter-spacing:.04em;transition:background var(--dur-med) var(--ease-in-out);border-radius:4px;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-block}.status-badge.draft{background:color-mix(in srgb, var(--ps-amber) 10%, white);color:var(--ps-amber)}.status-badge.quoted{background:color-mix(in srgb, var(--ps-teal) 10%, white);color:#2a8a6c}.status-badge.active{background:color-mix(in srgb, var(--ps-blue) 10%, white);color:var(--ps-blue)}.job-card-bottom{align-items:center;gap:var(--sp-lg);margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px solid var(--surface-tint);display:flex}.job-card-stat{flex-direction:column;display:flex}.job-card-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem}.job-card-stat-value{font-family:var(--font-mono);font-size:.9375rem;font-weight:500}.margin-good{color:var(--margin-good)}.margin-ok{color:var(--margin-ok)}.margin-bad{color:var(--margin-bad)}.duration-bar{background:var(--surface-tint);border-radius:3px;flex:1;max-width:120px;height:6px;display:flex;overflow:hidden}.duration-bar-build{background:var(--text-tertiary);transform-origin:0;height:100%;animation:growWidth var(--dur-entrance) var(--ease-out) .4s both}.duration-bar-shoot{background:var(--text-primary);transform-origin:0;height:100%;animation:growWidth var(--dur-entrance) var(--ease-out) .5s both}.view-toggle{gap:2px;margin-left:auto;display:flex}.view-btn{border:1px solid var(--surface-tint);cursor:pointer;width:32px;height:32px;color:var(--text-tertiary);background:0 0;justify-content:center;align-items:center;display:flex}.view-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.view-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.view-btn.active{background:var(--text-primary);color:var(--surface);border-color:var(--text-primary)}.view-btn:hover:not(.active){background:var(--surface-tint);color:var(--text-secondary)}.jobs-list.list-view{gap:0}.jobs-list.list-view .job-card{box-shadow:none;padding:10px var(--sp-md);border-bottom:1px solid var(--surface-tint);align-items:center;gap:var(--sp-lg);border-radius:0;display:flex}.jobs-list.list-view .job-card:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.jobs-list.list-view .job-card:last-child{border-radius:0 0 var(--radius-md) var(--radius-md);border-bottom:none}.jobs-list.list-view .job-card:hover{background:var(--surface-tint);transform:none}.jobs-list.list-view .job-card-top{flex:1;min-width:0;margin-bottom:0}.jobs-list.list-view .job-card-name{margin-top:0;font-size:.875rem}.jobs-list.list-view .job-card-client{font-size:.75rem}.jobs-list.list-view .job-card-id{font-size:.625rem}.jobs-list.list-view .job-card-bottom{gap:var(--sp-md);border-top:none;flex-shrink:0;margin-top:0;padding-top:0}.jobs-list.list-view .job-card-stat-label{display:none}.jobs-list.list-view .job-card-stat-value{font-size:.8125rem}.jobs-list.list-view .duration-bar,.jobs-list.list-view .job-card-stat:nth-child(n+4){display:none}.empty-state{text-align:center;padding:var(--sp-2xl);color:var(--text-secondary);animation:fadeUp var(--dur-entrance) var(--ease-out) both}.empty-state p{margin-bottom:var(--sp-md)}.loading{height:60vh;color:var(--text-tertiary);animation:fadeIn var(--dur-slow) var(--ease-out) both;justify-content:center;align-items:center;font-size:.875rem;display:flex}@media (width<=600px){.dashboard{padding:var(--sp-md)}.metrics-grid{grid-template-columns:1fr 1fr}.job-card-bottom{gap:var(--sp-md);flex-wrap:wrap}}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;align-items:baseline;gap:8px;font-size:.75rem;font-weight:500;display:flex}.field-hint{color:var(--text-tertiary);text-transform:none;letter-spacing:normal;font-size:.6875rem;font-weight:400}.field-note{color:var(--text-tertiary);margin-top:2px;font-size:.75rem}.text-input{background:var(--surface-tint);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:box-shadow var(--dur-med) var(--ease-out), background var(--dur-med) var(--ease-out);border:none;outline:none;padding:8px 12px;font-size:.9375rem;display:block}.text-input:focus{box-shadow:0 0 0 2px var(--ps-sky);background:var(--surface)}.text-input::placeholder{color:var(--text-tertiary)}textarea.text-input{resize:vertical;min-height:80px;line-height:1.5}.num-input-wrap{background:var(--surface-tint);border-radius:var(--radius-sm);transition:box-shadow var(--dur-med) var(--ease-out);align-items:center;display:inline-flex;overflow:hidden}.num-input-wrap:focus-within{box-shadow:0 0 0 2px var(--ps-sky)}.num-prefix{color:var(--text-tertiary);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;padding:8px 0 8px 12px;font-size:.875rem}.num-input{width:100%;font-family:var(--font-mono);color:var(--text-primary);-moz-appearance:textfield;background:0 0;border:none;outline:none;padding:8px 12px;font-size:.875rem}.num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-num{background:var(--surface-tint);font-family:var(--font-mono);color:var(--text-primary);text-align:right;-moz-appearance:textfield;transition:box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:none;border-radius:4px;outline:none;padding:4px 6px;font-size:.8125rem}.inline-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inline-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-num:focus{box-shadow:0 0 0 2px var(--ps-sky);background:var(--surface);transform:scale(1.02)}.toggle-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.toggle-track{background:var(--text-tertiary);width:40px;height:22px;transition:background var(--dur-med) var(--ease-in-out);border-radius:11px;flex-shrink:0;position:relative}.toggle-track.on{background:var(--text-primary)}.toggle-thumb{background:var(--surface);width:18px;height:18px;transition:transform var(--dur-med) var(--ease-spring);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #2c2a2526}.toggle-track.on .toggle-thumb{transform:translate(18px)}.toggle-text{flex-direction:column;display:flex}.toggle-label{font-size:.875rem;font-weight:500}.toggle-hint{color:var(--text-tertiary);font-size:.75rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface-tint);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-med) var(--ease-in-out), color var(--dur-med) var(--ease-in-out), transform var(--dur-fast) var(--ease-out);border:none;padding:6px 14px;font-size:.8125rem;font-weight:500}.chip:hover{background:#e8e7e3;transform:translateY(-1px)}.chip:active{transform:scale(.96)}.chip.active{background:var(--text-primary);color:var(--surface)}.section-divider{border-top:1px solid #0000;border-image:linear-gradient(to right, var(--ps-red), var(--ps-amber), var(--ps-green), var(--ps-blue), var(--ps-purple)) 1;margin-top:4px;padding:20px 0 8px}.section-divider-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-top:8px;font-size:.6875rem;font-weight:600}.select-input{background:var(--surface-tint);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;transition:box-shadow var(--dur-med) var(--ease-out), background var(--dur-med) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23A09D96' d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:none;outline:none;padding:8px 32px 8px 12px;font-size:.875rem;display:block}.select-input:focus{box-shadow:0 0 0 2px var(--text-primary)}.btn-primary{transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.97)}.btn-remove{transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.btn-remove:hover{transform:scale(1.1)}.assessment-panel{margin-top:var(--sp-md);margin-bottom:var(--sp-md)}.assessment-header{margin-bottom:var(--sp-md);justify-content:space-between;align-items:center;display:flex}.assessment-title{font-size:.875rem;font-weight:600}.assessment-actions{gap:8px;display:flex}.assessment-error{color:var(--margin-bad);border-radius:var(--radius-sm);margin-bottom:var(--sp-md);background:#fff3f3;padding:12px 16px;font-size:.8125rem}.assessment-content{background:var(--surface-tint);border-radius:var(--radius-sm);max-height:600px;padding:16px 20px;overflow-y:auto}.assessment-text{color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;font-size:.8125rem;line-height:1.7;font-family:var(--font-sans)}.assessment-cursor{color:var(--text-tertiary);margin-left:2px;animation:.8s infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.budget-config-bar{border-bottom:1px solid var(--surface-tint);align-items:center;gap:16px;margin-bottom:4px;padding:8px 0 12px;display:flex}.budget-config-item{align-items:center;gap:6px;display:flex}.budget-config-item label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}.budget-config-pills{gap:2px;display:flex}.config-pill{border:1px solid var(--surface-tint);background:var(--surface-bg);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.config-pill.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.budget-config-note{color:var(--text-secondary);margin-left:auto;font-size:.7rem;font-style:italic}.bsec-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.bsec-grid{grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;align-items:center;gap:4px;display:grid}.bsec-grid .bsec-left{grid-column:1/7}.bsec-grid-simple{grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;align-items:center;gap:4px;display:grid}.bsec-grid-simple .bsec-left{grid-column:1/7}.bsec-grid-simple .bsec-total{grid-column:7}.bsec-left{align-items:center;gap:8px;display:flex}.bsec-code{font-family:var(--font-mono);color:var(--text-tertiary);width:28px;font-size:.6875rem}.bsec-label{font-size:.875rem;font-weight:600}.bsec-left:before{content:"›";color:var(--text-tertiary);transition:transform var(--dur-med) var(--ease-out);text-align:center;width:12px;font-size:1rem;display:inline-block;transform:rotate(90deg)}.bsec-header.collapsed .bsec-left:before{transform:rotate(0)}.bsec-total{font-family:var(--font-mono);text-align:right;font-size:.875rem;font-weight:500}.bsec-margin{font-family:var(--font-mono);color:var(--margin-good);text-align:right;font-size:.8125rem}.bsec-margin.empty{visibility:hidden}.bsec-body{transition:max-height var(--dur-slow) var(--ease-out), opacity var(--dur-med) var(--ease-out);opacity:1;max-height:2000px;overflow:hidden}.bsec-body.closed{opacity:0;max-height:0}.budget-grid-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;gap:4px;padding:8px 0 4px;font-size:.6875rem;font-weight:600;display:grid}.budget-grid-header span{text-align:right}.budget-grid-header span:first-child{text-align:left}.budget-line{grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;align-items:center;gap:4px;padding:4px 0;font-size:.8125rem;display:grid}.budget-line.has-override{background:#2c2a2505;border-radius:4px;margin:0 -8px;padding:4px 8px}.bl-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.bl-name-short{display:none}.bl-qty,.bl-days,.bl-rate,.bl-cost,.bl-ot{text-align:right}.bl-total{text-align:right;font-family:var(--font-mono);font-size:.8125rem}.bl-margin{text-align:right;font-family:var(--font-mono);color:var(--text-tertiary);font-size:.8125rem}.bl-margin.positive{color:var(--margin-good)}.bl-clear{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.875rem;display:flex}.bl-clear:hover{color:var(--margin-bad);background:var(--surface-tint)}.std-line{grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;align-items:center;gap:4px;padding:6px 0;font-size:.8125rem;display:grid}.std-line-left{grid-column:1/7;align-items:center;gap:12px;display:flex}.std-line-amount{text-align:right;grid-column:7}.std-line-name{font-weight:500}.std-line-dt{color:var(--text-tertiary);font-size:.75rem}.std-line-amount{text-align:right}.budget-sub{border-top:1px solid var(--surface-tint);grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;gap:4px;padding:12px 0 8px;font-size:.875rem;font-weight:600;display:grid}.budget-sub span:first-child{grid-column:1/7}.budget-sub span:last-child{text-align:right;grid-column:7}.fee-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;gap:4px;padding:8px 0 4px;font-size:.6875rem;font-weight:600;display:grid}.fee-header span:first-child{grid-column:1/7}.fee-header span:nth-child(2){grid-column:7}.fee-line{grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;align-items:center;gap:4px;padding:4px 0;font-size:.8125rem;display:grid}.fee-line.off{opacity:.4}.fl-name{grid-column:1/7;align-items:center;gap:6px;font-weight:500;display:flex}.fl-label{white-space:nowrap}.fl-pct{align-items:center;gap:2px;display:flex}.fl-pct-sign,.fl-pct-print{color:var(--text-tertiary);font-size:.75rem}.fl-amount{text-align:right;font-family:var(--font-mono);grid-column:7}.fl-toggle{cursor:pointer;width:28px;height:28px;color:var(--text-primary);background:0 0;border:none;grid-column:8;justify-content:center;align-items:center;font-size:1rem;display:flex}.fl-toggle.off{color:var(--text-tertiary)}.budget-grand{border-top:2px solid var(--text-primary);grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;gap:4px;padding:16px 0 4px;display:grid}.budget-grand span:first-child{grid-column:1/7;font-size:1rem;font-weight:700}.budget-vat-note{color:var(--text-secondary);margin-left:4px;font-size:.75rem;font-weight:400}.budget-grand-value{font-family:var(--font-mono);text-align:right;grid-column:7;font-size:1.25rem;font-weight:700}.budget-gross{color:var(--text-secondary);grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;gap:4px;padding:2px 0;font-size:.8125rem;display:grid}.budget-gross span:first-child{grid-column:1/7}.budget-gross span:last-child{text-align:right;font-family:var(--font-mono);grid-column:7}.budget-margin,.budget-profit{color:var(--text-secondary);grid-template-columns:1fr 36px 48px 36px 68px 68px 72px 72px 24px;gap:4px;padding:6px 0;font-size:.8125rem;display:grid}.budget-margin span:first-child,.budget-profit span:first-child{grid-column:1/7}.budget-margin-value,.budget-profit-value{text-align:right;grid-column:7}.budget-margin-value{font-family:var(--font-mono);color:var(--margin-good);font-weight:500}.budget-profit-value{font-family:var(--font-mono);color:var(--margin-good);font-weight:600}.crew-line{animation:slideIn var(--dur-med) var(--ease-out) both}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.crew-line.hiding{animation:slideOut var(--dur-med) var(--ease-out) forwards}@keyframes slideOut{0%{opacity:1;max-height:50px;transform:translate(0)}to{opacity:0;max-height:0;margin:0;padding:0;overflow:hidden;transform:translate(16px)}}.bl-actions{align-items:center;gap:2px;display:flex}.bl-hide{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.budget-line:hover .bl-hide{opacity:1}.bl-hide:hover{color:var(--margin-bad);background:var(--surface-tint)}.hidden-crew{animation:fadeUp var(--dur-med) var(--ease-out) both;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.hidden-crew-label{color:var(--text-tertiary);font-size:.75rem}.hidden-crew-btn{border:1px dashed var(--surface-tint);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;padding:4px 10px;font-size:.75rem}.hidden-crew-btn:hover{background:var(--surface-tint);border-color:var(--text-tertiary)}.crew-mode-toggle{gap:4px;padding:4px 0 8px;display:flex}.crew-mode-btn{border:1px solid var(--surface-tint);background:var(--surface-bg);cursor:pointer;color:var(--text-secondary);border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:500;transition:all .15s}.crew-mode-btn.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.crew-mode-btn:hover:not(.active){border-color:var(--text-secondary)}.crew-section-footer{border-top:1px solid var(--surface-tint);margin-top:4px;padding:8px 0 4px}.add-crew-btn{padding:4px 8px!important;font-size:.75rem!important}.crew-search{animation:fadeUp var(--dur-med) var(--ease-out) both}.crew-search-input{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);width:100%;font-size:.8125rem;font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);outline:none;padding:8px 10px}.crew-search-input:focus{border-color:var(--text-tertiary)}.crew-search-list{border:1px solid var(--surface-tint);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--surface);border-top:none;max-height:200px;overflow-y:auto}.crew-search-item{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;display:flex}.crew-search-item:hover{background:var(--surface-tint)}.crew-search-item.restore{color:var(--text-secondary)}.crew-search-item.custom{color:var(--text-secondary);border-top:1px solid var(--surface-tint);font-style:italic}.crew-search-name{flex:1;font-weight:500}.crew-search-rate{color:var(--text-tertiary);font-size:.75rem}.crew-search-tag{background:var(--surface-tint);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:1px 5px;font-size:.625rem}.crew-search-empty{color:var(--text-tertiary);text-align:center;padding:12px 10px;font-size:.75rem}.version-bar-empty{align-items:center;gap:8px;margin-bottom:8px;padding:8px 0;display:flex}.version-hint{color:var(--text-tertiary);font-size:.75rem}.version-bar{margin-bottom:12px;position:relative}.version-cards{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:2px 0;display:flex;overflow-x:auto}.version-cards::-webkit-scrollbar{display:none}.version-card{background:var(--surface);border:1px solid var(--surface-tint);border-left:3px solid color-mix(in srgb, var(--v-color,var(--text-tertiary)) 30%, transparent);border-radius:var(--radius-sm);cursor:pointer;min-width:120px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);flex-shrink:0;padding:10px 12px;position:relative}.version-card:hover{border-left-color:var(--v-color,var(--text-tertiary))}.version-card.active{border-left:3px solid var(--v-color,var(--text-primary));background:color-mix(in srgb, var(--v-color) 5%, white);box-shadow:var(--shadow-sm)}.version-card-top{justify-content:space-between;align-items:center;gap:4px;margin-bottom:4px;display:flex}.version-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.version-name-input{border:none;border-bottom:1px solid var(--text-primary);width:80px;font-size:.8125rem;font-weight:600;font-family:var(--font-sans);background:0 0;outline:none;padding:0}.version-total{font-size:.875rem;font-weight:500}.version-menu-btn{cursor:pointer;width:24px;height:20px;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.version-menu-btn:hover{background:var(--surface-tint);color:var(--text-primary)}.version-menu{z-index:20;background:var(--surface);border:1px solid var(--surface-tint);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:100px;padding:4px;position:absolute}.version-menu button{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:3px;padding:6px 10px;font-size:.8125rem;display:block}.version-menu button:hover{background:var(--surface-tint)}.version-menu button.danger{color:var(--margin-bad)}.version-actions{gap:8px;margin-top:8px;display:flex}.version-actions .btn-text.active{color:var(--text-primary);font-weight:600}.compare-table{width:100%}.compare-row{grid-template-columns:1fr repeat(var(--ver-count), minmax(80px, 120px));align-items:center;gap:4px;padding:6px 0;display:grid}.compare-header{border-bottom:1px solid var(--surface-tint);padding-bottom:8px}.compare-version-name{font-size:.8125rem;font-weight:600}.compare-label{font-size:.8125rem;font-weight:500}.compare-cell{text-align:right;font-size:.8125rem}.compare-fees{border-top:1px solid var(--surface-tint);padding-top:10px}.compare-total{border-top:2px solid var(--text-primary);padding-top:10px}.compare-total .compare-label{font-size:.9375rem;font-weight:700}.compare-total .compare-cell{font-size:1rem;font-weight:700}.print-version{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.print-header,.print-footer,.print-only{display:none}@media (width<=600px){.bl-margin,.bl-clear,.bl-actions,.bl-hide,.budget-grid-header span:nth-child(6),.budget-grid-header span:nth-child(7){display:none!important}.budget-grid-header,.budget-line{grid-template-columns:1fr 32px 54px 54px 62px;align-items:center;font-size:.75rem}.bl-name-full{display:none}.bl-name-short{display:inline!important}.bl-name{font-size:.75rem}.bl-qty,.bl-ot,.budget-grid-header span:nth-child(2),.budget-grid-header span:nth-child(4){display:none!important}.bsec-grid,.bsec-grid-simple,.std-line,.budget-sub,.budget-grand,.budget-gross,.budget-margin,.budget-profit,.budget-grid-header,.budget-line,.fee-header,.fee-line{grid-template-columns:1fr 32px 54px 54px 62px!important}.fl-toggle,.bsec-margin{display:none!important}.bsec-grid>span:last-child{display:none}.bsec-header{padding:2px 0}.bsec-label{font-size:.8125rem}.version-card{min-width:100px;padding:8px 10px}.version-name{font-size:.75rem}.version-total{font-size:.8125rem}.compare-row{grid-template-columns:1fr repeat(var(--ver-count), minmax(60px, 1fr));gap:2px}.compare-label,.compare-cell{font-size:.75rem}.compare-total .compare-label,.compare-total .compare-cell{font-size:.8125rem}}@media print{@page{size:A4;margin:20mm 15mm}.print-header,.print-footer,.print-only{display:block!important}.screen-only,.job-header,.job-header,.job-topbar,.job-subheader,.job-tabs,.job-tabs-bar,.tabs-back,.actions-bar,.dash-header,.gate,.version-bar,.side-rail,.mobile-menu,.mobile-menu-overlay{display:none!important}.compare-row{padding:4px 0}.compare-total{border-top:2px solid #2c2a25}.bl-cost,.bl-margin,.bl-clear,.bl-actions,.bl-hide,.hidden-crew,.budget-margin,.budget-profit,.bsec-margin,.fee-line.off,.fl-toggle{display:none!important}.budget-grid-header,.budget-line{grid-template-columns:1fr 32px 48px 68px 72px!important}.bsec-grid,.bsec-grid-simple,.std-line,.budget-sub,.budget-grand,.budget-gross,.budget-margin,.budget-profit{grid-template-columns:1fr auto!important}.bsec-left,.std-line-left,.budget-sub span:first-child,.budget-grand span:first-child,.budget-gross span:first-child,.budget-margin span:first-child,.budget-profit span:first-child{grid-column:1!important}.bsec-total,.std-line-amount,.budget-sub span:last-child,.budget-grand-value,.budget-gross span:last-child,.budget-margin-value,.budget-profit-value{text-align:right;grid-column:2!important}.fee-header,.fee-line{grid-template-columns:1fr auto!important}.budget-line input,.std-line input,.fee-line input{-webkit-appearance:none;-moz-appearance:textfield;text-align:right;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}body{background:#fff!important}.surface{box-shadow:none!important;background:0 0!important;border-radius:0!important;margin-bottom:0!important;padding:0!important}.job-editor{max-width:100%!important;padding:0!important}.job-editor .surface{border:none!important;margin-bottom:0!important}.budget-line{padding:2px 0!important}.std-line{padding:3px 0!important}.bsec-body{padding-bottom:4px}.budget-line.has-override{background:0 0!important}.bsec-left:before,.bsec-body.closed{display:none!important}.bsec-header{border-bottom:1px solid #e0dfd9;margin:0;cursor:default!important;-webkit-user-select:auto!important;user-select:auto!important;padding:8px 0 6px!important}.bsec-label{font-size:.8125rem!important;font-weight:600!important}.bsec-total{font-size:.8125rem!important}.bsec-code{width:24px!important;font-size:.625rem!important}.budget-grid-header{padding-top:4px!important}.surface{page-break-inside:avoid}.budget-sub{margin-top:20px;border-top:2px solid var(--text-primary)!important;padding-top:16px!important}.fee-header{padding-top:4px!important}.budget-grand{padding-top:16px!important}.budget-grand-value{font-size:1rem!important}.print-header{border-bottom:2px solid var(--text-primary);margin-bottom:24px;padding-bottom:16px}.print-header-top{align-items:flex-start;gap:16px;display:flex}.print-job-details{flex-direction:column;display:flex}.print-job-number{color:var(--text-tertiary);font-size:.75rem}.print-job-name{margin:2px 0;font-size:1.5rem;font-weight:700}.print-client{color:var(--text-secondary);font-size:.875rem}.print-deliverables{margin-top:16px}.print-deliverables h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:6px;font-size:.6875rem;font-weight:600}.print-del-row{grid-template-columns:20px 48px 1fr auto;align-items:baseline;gap:8px;padding:3px 0;font-size:.8125rem;display:grid}.print-footer{border-top:1px solid var(--text-tertiary);color:var(--text-tertiary);text-align:center;margin-top:32px;padding-top:16px;font-size:.75rem}}.treat-layout{gap:var(--sp-lg);align-items:flex-start;display:flex}.treat-editor{flex:1;min-width:0}.treat-preview{flex-shrink:0;width:380px;max-height:calc(100vh - 80px);position:sticky;top:60px;overflow:hidden auto}.treat-toolbar{margin-bottom:var(--sp-md);justify-content:space-between;align-items:center;display:flex}.treat-toolbar-left{align-items:center;gap:8px;display:flex}.treat-preview-toggle{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:6px 14px;font-size:.8125rem;font-weight:500}.treat-preview-toggle:hover{background:var(--surface-tint)}.treat-preview-toggle.active{background:var(--text-primary);color:var(--surface);border-color:var(--text-primary)}.treat-section{background:var(--surface);border:1px solid var(--surface-tint);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden}.treat-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.treat-section-header:hover{background:#00000003}.treat-section-left{align-items:center;gap:8px;display:flex}.treat-chevron{color:var(--text-tertiary);transition:transform var(--dur-med) var(--ease-out);text-align:center;width:12px;font-size:1rem;display:inline-block;transform:rotate(90deg)}.treat-chevron.collapsed{transform:rotate(0)}.treat-section-num{font-family:var(--font-mono);color:var(--text-tertiary);font-size:.6875rem}.treat-section-title{font-size:.875rem;font-weight:600}.treat-section-actions{gap:2px;display:flex}.treat-move{cursor:pointer;width:24px;height:24px;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.875rem;display:flex}.treat-move:hover{background:var(--surface-tint);color:var(--text-secondary)}.treat-section-body{padding:0 14px 14px}.treat-brief-ref{background:var(--surface-tint);border-radius:var(--radius-sm);color:var(--text-secondary);margin-bottom:8px;padding:8px 10px;font-size:.75rem;line-height:1.5}.treat-brief-ref-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;align-items:center;gap:4px;font-size:.625rem;font-weight:600;list-style:none;display:flex}.treat-brief-ref-label:before{content:"▸";font-size:.5rem;transition:transform .15s}.treat-brief-ref[open] .treat-brief-ref-label:before{transform:rotate(90deg)}.treat-brief-ref-label::-webkit-details-marker{display:none}.treat-brief-ref-text{margin-top:6px;display:block}.treat-textarea{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);width:100%;font-size:.8125rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg);resize:vertical;outline:none;min-height:80px;padding:10px 12px;line-height:1.6}.treat-textarea:focus{border-color:var(--text-tertiary)}.treat-textarea::placeholder{color:var(--text-tertiary)}.treat-section-toolbar{gap:6px;margin-top:8px;display:flex}.treat-ai-btn{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:5px 12px;font-size:.75rem;font-weight:500}.treat-ai-btn:hover:not(:disabled){background:var(--surface-tint);color:var(--text-primary)}.treat-ai-btn:disabled{opacity:.5}.treat-stop-btn{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;background:0 0;padding:5px 12px;font-size:.75rem}.treat-ai-result{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);background:var(--bg);margin-top:10px;padding:12px}.treat-ai-text{color:var(--text-primary);white-space:pre-wrap;max-height:200px;font-size:.8125rem;line-height:1.6;overflow-y:auto}.treat-ai-full{max-height:400px}.treat-cursor{color:var(--text-tertiary);animation:.8s infinite blink}.treat-ai-actions{align-items:center;gap:6px;margin-top:10px;display:flex}.treat-use-btn{padding:6px 14px!important;font-size:.75rem!important}.treat-error{color:var(--margin-bad);border-radius:var(--radius-sm);background:#fff3f0;margin-top:8px;padding:6px 10px;font-size:.75rem}.treat-preview-doc{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-primary);background:#fff;padding:32px 28px;font-size:.8125rem;line-height:1.7}.treat-preview-header{border-bottom:2px solid var(--text-primary);align-items:flex-start;gap:14px;margin-bottom:20px;padding-bottom:20px;display:flex}.treat-preview-job{font-size:1.25rem;font-weight:700}.treat-preview-client{color:var(--text-secondary);font-size:.875rem}.treat-preview-meta{font-family:var(--font-mono);color:var(--text-tertiary);margin-top:2px;font-size:.6875rem}.treat-preview-section{margin-bottom:20px}.treat-preview-section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);margin-bottom:8px;font-size:.875rem;font-weight:700}.treat-preview-content p{margin-bottom:10px}.treat-preview-content p:last-child{margin-bottom:0}.treat-preview-empty{text-align:center;color:var(--text-tertiary);padding:40px 20px}.treat-preview-footer{border-top:1px solid var(--text-tertiary);color:var(--text-tertiary);text-align:center;margin-top:24px;padding-top:12px;font-size:.6875rem}@media (width<=767px){.treat-layout{flex-direction:column}.treat-preview{width:100%;display:none;position:static}.treat-preview.visible-mobile{display:block}.treat-editor.hidden-mobile{display:none}}@media (width>=768px){.treat-preview,.treat-editor{display:block!important}.treat-preview-toggle{display:none}}.export-mode-toggle{gap:4px;display:flex}.export-mode-btn{border:1px solid var(--surface-tint);background:var(--surface-bg);cursor:pointer;color:var(--text-secondary);border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:500;transition:all .15s}.export-mode-btn.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.actions-bar{align-items:center;gap:12px;display:flex}.visual-page{aspect-ratio:16/10;border:1px solid var(--surface-tint);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;justify-content:space-between;margin-bottom:16px;padding:56px 72px 40px;display:flex;position:relative;overflow:hidden}.visual-title-page{text-align:left;justify-content:center;padding:72px 80px 40px}.visual-title-page .visual-title-content{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:4px;display:flex}.visual-logo-row{align-items:center;gap:24px;display:flex}.visual-client-logo{object-fit:contain;max-width:200px;max-height:64px}.visual-agency-logo{object-fit:contain;opacity:.7;max-width:160px;max-height:48px}.visual-client-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:1rem;font-weight:500}.visual-accent-line{background:#c8145c;border-radius:2px;width:48px;height:3px;margin-top:24px}.visual-title{letter-spacing:-.03em;margin:24px 0 0;font-size:2.5rem;font-weight:800;line-height:1.1}.visual-meta{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.12em;margin-top:12px;font-size:.6875rem;font-weight:500}.visual-title-footer{text-align:left}.visual-footer-left{align-items:center;gap:6px;display:flex}.visual-section-layout{flex:1;grid-template-columns:200px 1fr;align-content:center;gap:48px;display:grid}.visual-section-left{padding-top:4px}.visual-section-number{color:#e8e0d8;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:2.5rem;font-weight:200;line-height:1}.visual-section-title{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800;line-height:1.2}.visual-section-body{color:#3a3a3a;flex-direction:column;justify-content:center;max-width:560px;font-size:.875rem;line-height:1.85;display:flex}.visual-section-body p{margin:0 0 14px}.visual-section-body p:last-child{margin-bottom:0}.visual-section-body strong{color:var(--text-primary);font-weight:700}.visual-page-footer{color:#bbb;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid #eee;justify-content:space-between;padding-top:12px;font-size:.5625rem;font-weight:500;display:flex}.visual-mode{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.treat-preview .visual-mode .visual-page{aspect-ratio:auto;transform-origin:0 0;width:960px;height:600px;transform:scale(var(--preview-scale,.385));margin-bottom:calc(-600px * (1 - var(--preview-scale,.385)) + 12px)}.wwp-mode .treat-preview-section h2{font-size:.75rem}.wwp-mode .treat-preview-content p{font-size:.75rem;line-height:1.6}@media print{.treat-editor,.treat-toolbar,.treat-section-toolbar,.treat-ai-result,.treat-section-actions,.treat-preview-toggle,.actions-bar{display:none!important}.treat-layout{display:block}.treat-preview{width:100%!important;display:block!important;position:static!important}.treat-preview-doc{box-shadow:none;border:none;padding:0}.visual-mode{background:0 0!important}.visual-page{page-break-after:always;page-break-inside:avoid;box-shadow:none;aspect-ratio:auto;box-sizing:border-box;border:none;border-radius:0;margin:0;padding:56px 72px 40px;flex-direction:column!important;justify-content:space-between!important;width:100%!important;height:100vh!important;min-height:100vh!important;margin-bottom:0!important;display:flex!important;transform:none!important}.treat-preview{max-height:none!important;overflow:visible!important}.visual-page:last-child{page-break-after:auto}.visual-page-footer{border-top-color:#ddd}.wwp-mode .treat-preview-section{page-break-inside:avoid}.visual-mode{size:landscape}}@page{margin:0}.visual-mode~.visual-mode-landscape{display:none}.job-shell{min-height:100vh;display:flex}.job-main{flex-direction:column;flex:1;min-width:0;display:flex}.job-header{z-index:10;background:var(--surface);border-bottom:1px solid var(--surface-tint);position:sticky;top:0}.job-header-inner{max-width:960px;padding:10px var(--sp-lg);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.job-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.job-header-info{flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.job-header-num{color:var(--text-tertiary);flex-shrink:0;font-size:.6875rem}.job-header-dot{color:var(--text-tertiary);flex-shrink:0;font-size:.75rem}.job-header-name{color:var(--text-primary);font-size:.9375rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;min-width:60px}.job-header-name::placeholder{color:var(--text-tertiary)}.job-header-client{color:var(--text-secondary);font-size:.8125rem;font-family:var(--font-sans);background:0 0;border:none;outline:none;min-width:50px;max-width:140px}.job-header-client::placeholder{color:var(--text-tertiary)}.hamburger{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;display:none}.hamburger:hover{background:var(--surface-tint)}.undo-redo{flex-shrink:0;gap:2px;display:flex}.undo-btn{cursor:pointer;width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.undo-btn:hover:not(:disabled){background:var(--surface-tint);color:var(--text-secondary)}.undo-btn:disabled{opacity:.2;cursor:default}.job-total-block{text-align:right;flex-shrink:0}.job-total-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:.625rem;font-weight:600;display:block}.job-total-value{font-family:var(--font-mono);font-size:1.25rem;font-weight:600}.job-editor{max-width:960px;padding:var(--sp-md) var(--sp-lg) var(--sp-2xl);width:100%;margin:0 auto}.tab-content{animation:fadeUp var(--dur-slow) var(--ease-out) both}.tab-content>.surface:first-child{animation:fadeUp var(--dur-entrance) var(--ease-out) calc(var(--stagger) * 0) both}.tab-content>.surface:nth-child(2){animation:fadeUp var(--dur-entrance) var(--ease-out) calc(var(--stagger) * 1) both}.tab-content>.surface:nth-child(3){animation:fadeUp var(--dur-entrance) var(--ease-out) calc(var(--stagger) * 2) both}.tab-content>.surface:nth-child(4){animation:fadeUp var(--dur-entrance) var(--ease-out) calc(var(--stagger) * 3) both}.tab-content>.surface:nth-child(5){animation:fadeUp var(--dur-entrance) var(--ease-out) calc(var(--stagger) * 4) both}.tab-content>.surface:nth-child(n+6){animation:fadeUp var(--dur-entrance) var(--ease-out) calc(var(--stagger) * 5) both}.status-badge{letter-spacing:.08em;text-transform:uppercase;background:var(--surface-tint);color:var(--text-tertiary);border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:.5625rem;font-weight:600}.status-badge.active{color:#2e7d32;background:#e8f5e9}.status-badge.quoted{color:#f57f17;background:#fff8e1}.status-badge.archived{background:var(--surface-tint);color:var(--text-tertiary)}.grid-2{gap:var(--sp-md);margin-bottom:var(--sp-md);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-md);margin-bottom:var(--sp-md);grid-template-columns:1fr 1fr 1fr;display:grid}.grid-2.tight,.grid-3.tight{gap:var(--sp-sm);margin-bottom:var(--sp-sm)}.indent{margin-top:8px;margin-bottom:8px;margin-left:50px}.job-editor .surface{margin-bottom:10px}.job-editor .surface>.field:not(:last-child),.job-editor .surface>.toggle-wrap:not(:last-child){margin-bottom:var(--sp-md)}.logo-upload-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.logo-upload-field{flex-direction:column;gap:6px;display:flex}.logo-upload-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:600}.logo-upload-zone{border:2px dashed var(--surface-tint);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-bg);justify-content:center;align-items:center;min-height:72px;padding:16px;transition:all .15s;display:flex}.logo-upload-zone:hover{border-color:var(--text-tertiary)}.logo-upload-zone.drag-over{background:#c8145c0a;border-color:#c8145c}.logo-upload-zone.has-logo{border-style:solid;border-color:var(--surface-tint);padding:12px}.logo-upload-placeholder{color:var(--text-tertiary);font-size:.75rem}.logo-upload-preview{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.logo-upload-preview img{object-fit:contain;max-width:100%;max-height:48px}.logo-upload-clear{background:var(--text-primary);color:#fff;cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;transition:opacity .15s;display:flex;position:absolute;top:-4px;right:-4px}.logo-upload-zone:hover .logo-upload-clear{opacity:1}.contacts-list{flex-direction:column;gap:4px;display:flex}.contacts-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.6875rem;font-weight:600}.contacts-empty{color:var(--text-tertiary);padding:4px 0;font-size:.8125rem}.contact-chip{border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out);animation:fadeUp var(--dur-med) var(--ease-out) both;align-items:center;gap:6px;padding:6px 8px;display:flex}.contact-chip:hover{background:var(--surface-tint)}.contact-chip-label{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;min-width:0;padding:0;display:flex}.contact-chip-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.contact-chip-company{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.contact-chip-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.contact-action{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;display:flex}.contact-action:hover{background:var(--surface-tint);color:var(--text-primary)}.contact-remove{opacity:0;transition:opacity var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}.contact-chip:hover .contact-remove{opacity:1}.contact-remove:hover{color:var(--margin-bad)!important}.contact-form{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);animation:fadeUp var(--dur-med) var(--ease-out) both;padding:10px 12px}.contact-form-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.contact-form-title{color:var(--text-primary);font-size:.8125rem;font-weight:600}.contact-form-close{cursor:pointer;width:24px;height:24px;color:var(--text-tertiary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.contact-form-close:hover{background:var(--surface-tint);color:var(--text-primary)}.contact-form-grid{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.contact-form-field{flex-direction:column;gap:3px;display:flex}.contact-form-field:first-child{grid-column:1/-1}.contact-form-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:600}.contact-field{align-items:center;gap:4px;display:flex}.contact-field .text-input{flex:1}.contact-form-autocomplete{position:relative}.contact-suggestions{z-index:20;background:var(--surface);border:1px solid var(--surface-tint);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-md);max-height:180px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.contact-suggestion{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;display:flex}.contact-suggestion:hover{background:var(--surface-tint)}.contact-suggestion-name{font-weight:500}.contact-suggestion-role{color:var(--text-tertiary);font-size:.75rem}.contact-suggestion-company{color:var(--text-tertiary);margin-left:auto;font-size:.75rem}@media (width<=600px){.contact-form-grid{grid-template-columns:1fr}.contact-form-field:first-child{grid-column:1}.contact-chip-company{display:none}.contact-remove{opacity:1}}.pp-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.pp-desc{flex:1}.pp-est{width:120px}.del-row{border-bottom:1px solid var(--surface-tint);margin-bottom:12px;padding-bottom:12px}.del-row:last-of-type{border-bottom:none}.del-top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.del-num{font-family:var(--font-mono);color:var(--text-tertiary);text-align:center;flex-shrink:0;width:20px;font-size:.75rem}.del-dur{flex-shrink:0;width:64px}.del-qty{flex-shrink:0;align-items:center;gap:2px;width:52px;display:flex}.del-qty-label{color:var(--text-tertiary);font-size:.75rem}.del-label{flex:1}.del-type{flex-shrink:0;width:100px}.del-chips{margin-left:28px}.btn-remove{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;display:flex}.btn-remove:hover{background:var(--surface-tint);color:var(--margin-bad)}.actions-bar{align-items:center;gap:var(--sp-md);margin-top:var(--sp-lg);flex-wrap:wrap;display:flex}.btn-lock{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;font-weight:500;display:inline-flex}.btn-lock:hover{background:var(--surface-tint);border-color:var(--text-tertiary)}.btn-lock.locked{background:var(--surface-tint);color:var(--text-primary);font-weight:600}.btn-primary{background:var(--text-primary);color:var(--surface);border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:10px 20px;font-size:.875rem;font-weight:500;transition:opacity .15s;display:inline-flex}.btn-primary:hover{opacity:.85}.btn-text{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:.8125rem;font-weight:500}.btn-text:hover{color:var(--text-primary)}.btn-danger{color:var(--margin-bad)}.btn-danger:hover{color:#b71c1c}@media (width<=767px){.hamburger{display:flex}.job-header-num,.job-header-dot,.job-header-client,.status-badge{display:none}.job-header-inner{padding:8px var(--sp-md)}.job-total-value{font-size:1rem}.job-editor{padding:var(--sp-md)}.grid-2,.grid-3{grid-template-columns:1fr}.del-top{flex-wrap:wrap}.del-dur{width:56px}}@media print{.job-shell{display:block}.job-header,.hamburger,.actions-bar{display:none!important}.job-editor{max-width:100%!important;padding:0!important}}.chat-panel{background:var(--surface);border-left:1px solid var(--surface-tint);width:380px;height:100vh;transition:width var(--dur-slow) var(--ease-out), margin-right var(--dur-slow) var(--ease-out), opacity var(--dur-med) var(--ease-out);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.chat-panel.closed{opacity:0;pointer-events:none;border-left:none;width:0;overflow:hidden}.chat-panel.open{opacity:1}.chat-header{border-bottom:1px solid var(--surface-tint);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chat-title{font-size:.875rem;font-weight:600}.chat-header-actions{align-items:center;gap:4px;display:flex}.chat-speak-btn,.chat-close-btn{cursor:pointer;width:32px;height:32px;color:var(--text-tertiary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.chat-speak-btn:hover,.chat-close-btn:hover{background:var(--surface-tint);color:var(--text-secondary)}.chat-speak-btn.active{color:var(--text-primary);background:var(--surface-tint)}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.chat-empty p{color:var(--text-tertiary);font-size:.8125rem;line-height:1.5}.chat-msg{display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg.assistant{justify-content:flex-start}.chat-msg-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:85%;padding:10px 14px;font-size:.8125rem;line-height:1.5}.chat-msg.user .chat-msg-bubble{background:var(--text-primary);color:var(--surface);border-bottom-right-radius:4px}.chat-msg.assistant .chat-msg-bubble{background:var(--surface-tint);color:var(--text-primary);border-left:2px solid var(--ps-teal);border-bottom-left-radius:4px}.chat-cursor{color:var(--text-tertiary);animation:.8s infinite blink;display:inline}.chat-error{color:var(--margin-bad);border-radius:var(--radius-sm);background:#fff3f0;padding:8px 12px;font-size:.75rem}.chat-input-area{border-top:1px solid var(--surface-tint);flex-shrink:0;padding:12px 16px}.chat-stop-btn{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;margin-bottom:8px;padding:6px;font-size:.75rem;font-weight:500;display:block}.chat-stop-btn:hover{background:var(--surface-tint)}.chat-input-row{align-items:flex-end;gap:6px;display:flex}.chat-input{border:1px solid var(--surface-tint);font-size:.8125rem;font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);resize:none;border-radius:8px;outline:none;flex:1;min-height:40px;max-height:120px;padding:10px 12px}.chat-input:focus{border-color:var(--text-tertiary)}.chat-input::placeholder{color:var(--text-tertiary)}.chat-mic-btn,.chat-send-btn{cursor:pointer;width:40px;height:40px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-mic-btn{color:var(--text-tertiary);background:0 0}.chat-mic-btn:hover{background:var(--surface-tint);color:var(--text-secondary)}.chat-mic-btn.active{background:var(--margin-bad);color:#fff;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.chat-send-btn{background:var(--ps-magenta);color:#fff}.chat-send-btn:hover:not(:disabled){opacity:.85}.chat-send-btn:disabled{opacity:.3;cursor:default}.chat-fab{background:var(--text-primary);width:52px;height:52px;color:var(--surface);cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);z-index:40;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px}.chat-fab:hover{box-shadow:var(--shadow-lg);transform:scale(1.08)}.chat-fab:active{transform:scale(.95)}@media (width<=767px){.chat-panel{z-index:50;width:100%;transition:transform var(--dur-slow) var(--ease-out), opacity var(--dur-med) var(--ease-out);border-left:none;height:100%;position:fixed;top:0;bottom:0;right:0;transform:translate(0)}.chat-panel.closed{opacity:0;pointer-events:none;width:100%;overflow:hidden;transform:translate(100%)}.chat-fab{width:48px;height:48px;bottom:16px;right:16px}}@media print{.chat-panel,.chat-fab{display:none!important}}.side-rail{background:var(--surface);border-right:1px solid var(--surface-tint);height:100vh;transition:width var(--dur-slow) var(--ease-out);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow:hidden auto}.side-rail.expanded{width:200px}.side-rail.collapsed{width:56px}.rail-top{justify-content:space-between;align-items:center;gap:4px;padding:10px 8px;display:flex}.rail-logo{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;min-width:0;padding:6px;display:flex;overflow:hidden}.rail-logo:hover{background:var(--surface-tint)}.rail-logo-text{color:var(--text-primary);white-space:nowrap;font-size:.8125rem;font-weight:600}.side-rail.collapsed .rail-logo-text{display:none}.rail-toggle{cursor:pointer;border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-tertiary);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.rail-toggle:hover{background:var(--surface-tint);color:var(--text-secondary)}.rail-toggle-icon{transition:transform var(--dur-med) var(--ease-out);justify-content:center;align-items:center;display:flex}.rail-toggle-icon.rotated{transform:rotate(180deg)}.rail-items{flex-direction:column;flex:1;gap:2px;padding:0 8px;display:flex}.rail-item{cursor:pointer;border-radius:var(--radius-sm);height:38px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);color:var(--text-secondary);text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:0 10px;display:flex;overflow:hidden}.side-rail.collapsed .rail-item{justify-content:center;padding:0}.rail-item:hover:not(.disabled){background:var(--surface-tint);color:var(--text-primary)}.rail-item.active{background:var(--text-primary);color:var(--surface);box-shadow:inset 3px 0 0 var(--ps-magenta)}.rail-item.disabled{opacity:.25;cursor:default}.rail-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.rail-label{text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.side-rail.collapsed .rail-label{display:none}.rail-bottom{border-top:1px solid var(--surface-tint);padding:8px}.rail-divider{background:var(--surface-tint);height:1px;margin:6px 2px}.rail-item-dashboard{color:var(--text-tertiary);font-size:.75rem}.rail-item-dashboard:hover{color:var(--text-primary)}@media (width<=767px){.side-rail{display:none}}.mobile-menu-overlay{z-index:90;opacity:0;transition:opacity var(--dur-med) var(--ease-out);background:#0000004d;display:none;position:fixed;inset:0}.mobile-menu-overlay.open{opacity:1;display:block}.mobile-menu{background:var(--surface);z-index:100;width:260px;transition:transform var(--dur-slow) var(--ease-out);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.mobile-menu.open{transform:translate(0)}.mobile-menu-header{border-bottom:1px solid var(--surface-tint);align-items:center;gap:10px;padding:12px 16px;display:flex}.mobile-menu-title{flex:1;font-size:.875rem;font-weight:600}.mobile-menu-close{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.mobile-menu-close:hover{background:var(--surface-tint)}.mobile-menu-item{cursor:pointer;color:var(--text-secondary);text-align:left;width:100%;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;font-size:.875rem;font-weight:500;display:flex}.mobile-menu-item:hover:not(.disabled){background:var(--surface-tint);color:var(--text-primary)}.mobile-menu-item.active{background:var(--text-primary);color:var(--surface)}.mobile-menu-item.disabled{opacity:.25;cursor:default}.mobile-menu-divider{background:var(--surface-tint);height:1px;margin:4px 16px}@media print{.side-rail,.mobile-menu,.mobile-menu-overlay{display:none!important}}.settings-page{max-width:960px;padding:var(--sp-md) var(--sp-lg) var(--sp-2xl);width:100%;margin:0 auto}.settings-header{margin-bottom:24px}.settings-header h1{margin:0 0 4px;font-size:1.25rem;font-weight:700}.settings-subtitle{color:var(--text-secondary);margin:0;font-size:.8125rem}.settings-page .surface{margin-bottom:16px}.settings-section-title{margin:0 0 12px;font-size:.875rem;font-weight:600}.settings-table-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--surface-tint);grid-template-columns:1fr 80px 80px;gap:8px;padding:0 0 6px;font-size:.6875rem;font-weight:600;display:grid}.settings-table-row{border-bottom:1px solid #0000000a;grid-template-columns:1fr 80px 80px;align-items:center;gap:8px;padding:6px 0;font-size:.8125rem;display:grid}.settings-table-row:last-child{border-bottom:none}.settings-table-row-2col,.settings-table-row-2col+.settings-table-header,.settings-table-row-2col~.settings-table-header{grid-template-columns:1fr 80px}.settings-table-row-4col{grid-template-columns:1fr 80px 80px 64px}.settings-table:has(.settings-table-row-2col) .settings-table-header{grid-template-columns:1fr 80px}.settings-table:has(.settings-table-row-4col) .settings-table-header{grid-template-columns:1fr 80px 80px 64px}.settings-role{font-weight:500}.settings-rate-input{border:1px solid var(--surface-tint);border-radius:var(--radius-sm);width:64px;font-size:.8125rem;font-family:var(--font-mono);text-align:right;background:var(--bg);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-out);outline:none;padding:4px 6px}.settings-rate-input:focus{border-color:var(--text-tertiary)}.settings-rate-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-rate-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.settings-rate-input{-moz-appearance:textfield}.settings-pct{color:var(--text-tertiary);margin-left:2px;font-size:.75rem}.settings-actions{align-items:center;gap:16px;margin-top:24px;display:flex}@media (width<=600px){.settings-page{padding:16px 12px 48px}.settings-rate-input{width:56px;padding:3px 4px;font-size:.75rem}.settings-table-row,.settings-table-header{font-size:.75rem}}:root{--brand:#cc0061;--text-primary:#2c2a25;--text-secondary:#6b6862;--text-tertiary:#a09d96;--bg:#f1f0ec;--surface:#fff;--surface-tint:#f7f6f3;--margin-good:#2e7d32;--margin-ok:#e65100;--margin-bad:#c62828;--ps-red:#ed1c24;--ps-orange:#ff6b24;--ps-amber:#f7931e;--ps-yellow:#fcda00;--ps-lime:#c4da30;--ps-green:#8cc63f;--ps-teal:#5bb991;--ps-blue:#0071bc;--ps-sky:#29abe2;--ps-purple:#662d91;--ps-magenta:#cc0085;--ps-pink:#991779;--ps-v1:var(--ps-red);--ps-v2:var(--ps-blue);--ps-v3:var(--ps-teal);--ps-v4:var(--ps-amber);--ps-v5:var(--ps-purple);--ps-v6:var(--ps-green);--ps-v7:var(--ps-orange);--ps-v8:var(--ps-sky);--shadow-sm:0 1px 3px #2c2a250f, 0 1px 2px #2c2a250a;--shadow-md:0 4px 12px #2c2a2514, 0 2px 4px #2c2a250a;--shadow-lg:0 8px 24px #2c2a251a, 0 4px 8px #2c2a250a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--font-sans:"DM Sans", system-ui, -apple-system, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--dur-fast:.12s;--dur-med:.2s;--dur-slow:.35s;--dur-entrance:.5s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--stagger:50ms}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg);line-height:1.5}input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}.mono{font-family:var(--font-mono)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.surface{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--sp-lg);transition:box-shadow var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes growWidth{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
