*{box-sizing:border-box}:root{--bg: #eef3f8;--panel: rgba(255, 255, 255, .86);--panel-solid: #fff;--ink: #0f172a;--muted: #64748b;--line: #dbe4ef;--blue: #2563eb;--blue-soft: #e8f0ff;--green: #10b981;--body-gradient: radial-gradient(circle at top left, rgba(37, 99, 235, .16), transparent 36%), linear-gradient(135deg, #f8fafc, var(--bg));--panel-border: rgba(219, 228, 239, .9);--input-bg: #fff;--input-ink: #0f172a;--soft-surface: #f8fafc;--hover-surface: #f4f8ff;--card-surface: #fff;--shadow: 0 24px 70px rgba(15, 23, 42, .1);--radius: 24px}[data-theme=dark]{color-scheme:dark;--bg: #090f1c;--panel: rgba(15, 23, 42, .86);--panel-solid: #111827;--ink: #e5edf7;--muted: #94a3b8;--line: #263347;--blue: #60a5fa;--blue-soft: rgba(37, 99, 235, .2);--green: #34d399;--body-gradient: radial-gradient(circle at top left, rgba(96, 165, 250, .16), transparent 34%), linear-gradient(135deg, #020617, var(--bg));--panel-border: rgba(71, 85, 105, .62);--input-bg: #0f172a;--input-ink: #e5edf7;--soft-surface: #111827;--hover-surface: #17233a;--card-surface: #0f172a;--shadow: 0 24px 70px rgba(0, 0, 0, .34)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--body-gradient);color:var(--ink);min-height:100vh;padding:24px}button,input,select{font:inherit}.app{max-width:1500px;margin:0 auto;min-height:calc(100vh - 48px);display:grid;grid-template-columns:250px 1fr 370px;gap:18px}.app-header{align-items:center;background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:10px;box-shadow:0 8px 24px #0f172a14;display:flex;grid-column:1 / -1;justify-content:space-between;min-height:52px;padding:8px 16px 8px 20px;position:relative;z-index:10}.app-header-brand,.app-header-actions,.header-profile,.accessibility-toggle,.header-help-popover,.header-menu{align-items:center;display:flex}.app-header-brand{gap:10px}.app-header-brand strong{color:var(--ink);font-size:14px}.app-header-brand span{border-left:1px solid var(--line);color:var(--muted);font-size:12px;padding-left:10px}.app-header-actions{gap:18px}.header-link,.header-profile,.accessibility-toggle{background:transparent;color:var(--muted);font-size:12px;padding:6px 0}.header-link:hover,.header-profile:hover{color:var(--ink)}.accessibility-toggle{cursor:pointer;gap:8px}.accessibility-toggle input{height:1px;opacity:0;position:absolute;width:1px}.accessibility-toggle-track{background:#c8ced6;border-radius:999px;display:block;height:20px;position:relative;transition:background .18s ease;width:36px}.accessibility-toggle-track:after{background:#fff;border-radius:50%;box-shadow:0 1px 4px #0f172a38;content:"";height:14px;left:3px;position:absolute;top:3px;transition:transform .18s ease;width:14px}.accessibility-toggle input:checked+.accessibility-toggle-track{background:#078b18}.accessibility-toggle input:checked+.accessibility-toggle-track:after{transform:translate(16px)}.accessibility-toggle input:focus-visible+.accessibility-toggle-track{outline:3px solid rgba(7,139,24,.2);outline-offset:3px}.header-profile-wrap{position:relative}.header-profile{gap:8px}.header-avatar{align-items:center;background:#172235;border-radius:50%;color:#fff;display:inline-flex;font-size:11px;height:24px;justify-content:center;width:24px}.header-chevron{color:#8a929c;font-size:16px}.header-menu,.header-help-popover{background:var(--panel-solid);border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 30px #0f172a29;flex-direction:column;gap:8px;position:absolute}.header-menu{align-items:stretch;min-width:210px;padding:14px;right:0;top:calc(100% + 8px)}.header-menu strong{color:var(--ink);font-size:13px}.header-menu>span{color:var(--muted);font-size:11px;margin-bottom:6px}.header-menu button,.header-help-popover button{background:var(--soft-surface);border-radius:4px;color:var(--ink);padding:8px 10px;text-align:left}.header-help-popover{align-items:flex-start;max-width:280px;padding:15px;right:190px;top:calc(100% + 8px)}.header-help-popover strong{color:var(--ink);font-size:14px}.header-help-popover span{color:var(--muted);font-size:12px;line-height:1.45}[data-dyslexic=true] body{font-family:OpenDyslexic,Arial,sans-serif;letter-spacing:.01em}.sidebar,.main,.summary{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius)}.sidebar{padding:22px;display:flex;flex-direction:column;gap:28px;position:relative;transition:transform .24s ease,opacity .2s ease}.app.nav-collapsed{grid-template-columns:1fr 430px}.app.nav-collapsed .sidebar{opacity:0;pointer-events:none;position:fixed;transform:translate(calc(-100% - 40px))}.app.proposal-hidden{grid-template-columns:250px 1fr}.app.nav-collapsed.proposal-hidden{grid-template-columns:1fr}.proposal-hidden .proposal-renderer{opacity:0;pointer-events:none;position:fixed;right:24px;top:24px;transform:translate(calc(100% + 40px))}.app.wide-page.nav-collapsed{grid-template-columns:1fr}.sidebar-collapse,.nav-rail-toggle,.proposal-close{align-items:center;display:inline-flex;height:36px;justify-content:center;padding:0;width:36px}.sidebar-collapse{background:var(--soft-surface);color:var(--muted);position:absolute;right:14px;top:14px}.nav-rail-toggle{background:var(--blue);box-shadow:var(--shadow);color:#fff;left:18px;position:fixed;top:26px;z-index:20}.nav-group-toggle{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--muted);cursor:pointer;display:flex;font:inherit;justify-content:space-between;min-height:44px;padding:0 12px;text-align:left;width:100%}.nav-group-toggle>span{align-items:center;display:inline-flex;gap:10px}.nav-group-toggle>b{color:var(--muted);font-size:16px;font-weight:600}.nav-group-toggle:hover,.nav-group-toggle.active{background:var(--soft-surface);color:var(--ink)}.nav-subnav{border-left:1px solid var(--panel-border);display:grid;gap:4px;margin:0 0 4px 18px;padding-left:8px}.nav-subnav .nav-item{min-height:38px;padding-left:12px;font-size:13px}.brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-weight:800;min-width:0}.brand>div{min-width:0;overflow-wrap:anywhere}.brand span{color:var(--muted);font-size:12px;font-weight:700}.brand-logo{flex:0 1 100%;height:64px;max-width:100%;width:190px;object-fit:contain;object-position:left center}.nav-title{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:12px 0 10px}.nav-item{border:0;display:flex;align-items:center;gap:10px;padding:12px 13px;color:var(--muted);border-radius:15px;font-size:14px;font-weight:650;text-align:left;width:100%}.nav-item.active{color:var(--blue);background:var(--blue-soft)}.nav-list{display:grid;gap:4px}.app.wide-page{grid-template-columns:250px 1fr}.workspace-page{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.workspace-topbar{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:1fr minmax(280px,520px) auto;min-height:76px;padding:0 26px}.workspace-topbar h1{font-size:28px;margin:0}.workspace-search{align-items:center;background:var(--input-bg);border:1px solid var(--line);border-radius:13px;display:flex;gap:10px;height:44px;padding:0 14px}.workspace-search input{background:transparent;border:0;box-shadow:none;padding:0}.workspace-profile{align-items:center;display:flex;gap:12px}.bell-dot,.avatar-small{align-items:center;background:var(--input-bg);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:900;height:38px;justify-content:center;width:38px}.bell-dot{background:#fef2f2;color:#be123c}.workspace-content{padding:24px 26px 30px}.orders-metrics{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.metric-card{min-height:118px}.metric-card>div{align-items:center;display:flex;gap:10px}.metric-card strong{display:block;font-size:28px;margin:14px 0 6px}.metric-card small,.metric-card span{color:var(--muted);font-size:13px;font-weight:800}.metric-icon{border-radius:11px;height:34px;width:34px}.metric-icon.blue{background:#e8f0ff}.metric-icon.green{background:#ecfdf5}.metric-icon.purple{background:#f0eaff}.metric-icon.orange{background:#fff7ed}.action-row{display:flex;justify-content:flex-end;margin-bottom:18px}.order-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tab{background:#fff;border:1px solid var(--line);color:#41516a;padding:10px 15px}.tab.active{background:var(--blue-soft);border-color:#93c5fd;color:var(--blue)}.orders-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(620px,1.45fr) minmax(360px,.82fr)}.orders-list-card{overflow:hidden}.table-scroll{overflow-x:auto}.orders-list-card table{min-width:860px}.orders-list-card tbody tr{cursor:pointer}.orders-list-card tbody tr:hover,.orders-list-card tbody tr.selected-row{background:#f4f8ff}.order-link{color:var(--blue);font-weight:900}.status-badge{border-radius:9px;display:inline-flex;font-size:12px;font-weight:900;padding:6px 9px;white-space:nowrap}.status-badge.in-production{background:#eaf2ff;color:var(--blue)}.status-badge.draft{background:#f8fafc;color:#475569}.status-badge.quoted,.status-badge.submitted{background:#fff7ed;color:#c2410c}.status-badge.ready,.status-badge.ready-to-schedule{background:#f0eaff;color:#7c3aed}.status-badge.installed,.status-badge.completed{background:#ecfdf5;color:#047857}.status-badge.on-hold{background:#fff7ed;color:#c2410c}.order-detail{padding:20px}.detail-head{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.detail-head small{color:var(--muted);font-weight:850}.detail-head h2{color:var(--blue);margin:7px 0 0}.detail-grid{border-bottom:1px solid var(--line);display:grid;gap:16px;grid-template-columns:1fr 1fr;padding-bottom:16px}.detail-grid h3,.detail-grid p{margin:0 0 7px}.detail-grid p,.info-row span{color:var(--muted);font-size:13px}.info-row{display:grid;gap:8px;grid-template-columns:86px 1fr;margin-bottom:9px}.detail-section{border-bottom:1px solid var(--line);padding:15px 0}.detail-section:last-child{border-bottom:0}.detail-section h3{font-size:14px;margin:0 0 10px}.mix-row{align-items:center;display:grid;gap:10px;grid-template-columns:1fr 100px 38px;margin-bottom:9px}.bar{background:#edf2f8;border-radius:999px;height:7px;overflow:hidden}.bar i{background:var(--blue);border-radius:inherit;display:block;height:100%}.timeline-row{display:grid;gap:8px;grid-template-columns:repeat(5,1fr);text-align:center}.timeline-step span{align-items:center;background:#d1d5db;border-radius:999px;color:#fff;display:inline-flex;font-size:12px;font-weight:900;height:27px;justify-content:center;margin-bottom:6px;width:27px}.timeline-step.done span{background:var(--green)}.timeline-step.current span{background:var(--blue);box-shadow:0 0 0 5px var(--blue-soft)}.timeline-step b{color:#334155;display:block;font-size:11px}.empty-workspace{display:grid;gap:12px;max-width:720px}.dashboard-content{display:grid;gap:18px}.dashboard-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:22px}.dashboard-hero h2{margin:4px 0 7px}.dashboard-hero p{color:var(--muted);margin:0}.dashboard-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dashboard-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(280px,.78fr) minmax(360px,1fr)}.dashboard-panel{padding:20px}.production-panel,.activity-panel{grid-column:span 1}.pipeline-list,.attention-list,.activity-list{display:grid;gap:10px}.pipeline-row{align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:10px;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:11px}.pipeline-row span{color:#334155;font-weight:850}.pipeline-row strong{color:var(--ink);font-size:20px}.attention-item{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;display:grid;gap:4px;padding:12px}.attention-item strong{color:#9a3412}.attention-item span{color:#7c2d12;font-size:13px;font-weight:700}.dashboard-table{overflow-x:auto}.dashboard-table table{min-width:560px}.activity-item{border-bottom:1px solid var(--line);display:grid;gap:4px;padding:0 0 11px}.activity-item:last-child{border-bottom:0;padding-bottom:0}.activity-item span{color:var(--blue);font-size:11px;font-weight:900;text-transform:uppercase}.activity-item strong{color:var(--ink)}.activity-item em{color:var(--muted);font-size:13px;font-style:normal;font-weight:750}.catalog-intro{align-items:center;display:flex;justify-content:space-between;padding:22px}.catalog-intro h2{margin:4px 0 6px}.catalog-intro p{color:var(--muted);margin:0}.catalog-intro>strong{background:#eaf2ff;border-radius:999px;color:var(--blue);padding:9px 13px;white-space:nowrap}.product-catalog-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:18px}.product-type-card{overflow:hidden;padding:0}.product-type-card .svg-preview-shell{background:#f8fafc;min-height:230px}.product-type-card .preview-badge{display:none}.product-type-card .window-svg{max-height:230px}.product-card-body{padding:16px}.product-card-body h3{margin:0 0 8px}.product-card-body p{color:var(--muted);margin:0 0 12px}.product-meta{display:flex;flex-wrap:wrap;gap:8px}.product-meta span{background:#f1f5f9;border-radius:999px;color:#475569;font-size:12px;font-weight:850;padding:6px 9px;text-transform:capitalize}.price-engine-content{display:grid;gap:18px}.price-engine-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:22px}.price-engine-hero h2{margin:4px 0 7px}.price-engine-hero p{color:var(--muted);margin:0;max-width:760px}.admin-lock{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;color:#9a3412;display:grid;gap:4px;min-width:220px;padding:13px}.admin-lock span{font-size:12px;font-weight:750}.price-engine-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(520px,1.25fr) minmax(320px,.75fr)}.price-panel{padding:20px}.price-books-panel{grid-row:span 2}.price-books-panel small{color:var(--muted);display:block;font-size:12px;font-weight:750;margin-top:4px}.price-status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:6px 9px}.price-status.active{background:#ecfdf5;color:#047857}.price-status.review,.price-status.draft,.price-status.scheduled{background:#fff7ed;color:#c2410c}.price-status.missing{background:#fff1f2;color:#be123c}.dial-stack{display:grid;gap:14px}.dial-stack label{background:#f8fafc;border:1px solid var(--line);border-radius:12px;display:grid;gap:8px;padding:12px}.dial-stack label>span{color:var(--muted);font-size:13px;font-weight:850}.dial-stack label>strong{color:var(--blue);font-size:24px}.dial-stack input[type=range]{padding:0}.season-list,.rule-list{display:grid;gap:10px;margin-top:16px}.season-row{align-items:center;border-top:1px solid var(--line);display:grid;gap:10px;grid-template-columns:1fr auto auto;padding-top:10px}.season-row span,.rule-row span,.rule-row small{color:var(--muted);display:block;font-size:12px;font-weight:750;margin-top:3px}.season-row em{color:var(--blue);font-size:18px;font-style:normal;font-weight:950}.rule-row{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px}.simulator-fields{display:grid;gap:7px;margin-bottom:12px}.impact-card{background:#f8fafc;border:1px solid var(--line);border-radius:12px;display:grid;gap:4px;margin-bottom:10px;padding:12px}.impact-card span{color:var(--muted);font-size:12px;font-weight:850}.impact-card strong{font-size:28px}.impact-card.after{background:#eaf2ff;border-color:#bfdbfe}.settings-content{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px}.settings-content>*:not(.settings-navigation){grid-column:2}.settings-navigation{align-self:start;display:grid;gap:0;grid-column:1;grid-row:1 / span 12;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);box-shadow:0 8px 20px #0f172a14}.settings-navigation button{align-items:center;display:flex;gap:11px;min-height:56px;padding:0 18px;border:0;border-bottom:1px solid var(--line);color:var(--muted);background:transparent;cursor:pointer;text-align:left;text-transform:uppercase;font-size:12px;font-weight:800}.settings-navigation button:last-child{border-bottom:0}.settings-navigation button:hover,.settings-navigation button.active{color:#078a2f;background:var(--soft-surface)}.settings-nav-icon{width:18px;height:18px;border:2px solid currentColor;border-radius:4px;opacity:.75}.settings-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;padding:24px 26px 30px}.settings-company-panel{min-width:0;padding:26px 30px 34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);box-shadow:0 8px 20px #0f172a0f}.settings-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.settings-panel-heading h2{margin:0 0 8px}.settings-panel-heading p{margin:0;color:var(--muted)}.settings-saved-state{color:#078a2f;font-weight:800}.settings-company-form{display:grid;gap:22px}.settings-company-form .settings-form-section{margin:0;padding:0 0 22px;border-bottom:1px solid var(--line)}.settings-company-form h3{margin:0 0 14px;font-size:16px}.settings-company-form label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.settings-company-form input{min-height:42px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px;color:var(--ink);background:#fff;font:inherit;font-weight:400}.settings-company-logo{grid-template-columns:150px minmax(0,1fr);align-items:center}.settings-company-logo>span{display:grid;place-items:center;width:150px;height:92px;border:1px dashed #078a2f;border-radius:6px;color:#078a2f;text-align:center}.settings-company-logo img{max-width:130px;max-height:76px;object-fit:contain}.settings-company-actions{display:flex;justify-content:flex-end}@media (max-width: 600px){.settings-company-panel{padding:20px 16px 24px}.settings-panel-heading{display:grid}.settings-company-logo{grid-template-columns:1fr}.settings-company-logo>span{width:100%}.settings-company-actions .btn-primary{width:100%}}.settings-licenses-panel{min-width:0;padding:26px 30px 34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);box-shadow:0 8px 20px #0f172a0f}.license-notice{display:grid;gap:5px;margin-bottom:22px;padding:14px 16px;border-left:3px solid #1769aa;background:#eef7ff;color:#38536d}.license-notice strong{color:#173b5b}.license-notice span{font-size:13px;line-height:1.45}.license-documents-form{display:grid;gap:22px}.license-documents-form .settings-form-section{margin:0;padding:0 0 22px;border-bottom:1px solid var(--line)}.license-documents-form h3{margin:0 0 12px;font-size:16px}.license-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.license-document-card{display:grid;align-content:space-between;gap:18px;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--soft-surface)}.license-document-card h3{margin:0 0 6px;font-size:15px}.license-document-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.license-upload-button{display:inline-flex;width:fit-content;align-items:center;min-height:34px;padding:0 12px;border:1px solid #078a2f;border-radius:6px;color:#078a2f;background:#fff;cursor:pointer;font-size:12px;font-weight:800}.license-upload-button input{display:none}.license-uploaded-file{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.license-uploaded-file strong{min-width:0;overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.license-uploaded-file button{border:0;color:#b42318;background:transparent;cursor:pointer;font-size:12px;font-weight:800}@media (max-width: 700px){.settings-licenses-panel{padding:20px 16px 24px}.license-document-grid{grid-template-columns:1fr}.settings-licenses-panel .settings-company-actions .btn-primary{width:100%}}.settings-blank-panel{min-height:420px;padding:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid);box-shadow:0 8px 20px #0f172a14}.settings-blank-panel h2{margin:8px 0}.settings-blank-panel p{color:var(--muted)}.proposal-document-settings{min-width:0;padding:8px 4px}.settings-panel-heading{align-items:start;display:flex;justify-content:space-between;gap:18px;margin-bottom:22px}.settings-panel-heading h2{margin:5px 0 7px}.settings-panel-heading p{max-width:720px;color:var(--muted);margin:0;line-height:1.5}.settings-saved{color:#078a2f;font-size:13px;font-weight:800}.settings-form-section{margin-bottom:20px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel-solid)}.settings-form-section h3{margin:0 0 18px;font-size:17px}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-form-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.settings-form-grid input,.settings-form-grid select{min-height:42px;border:1px solid var(--line);border-radius:7px;padding:9px 11px;color:var(--input-ink);background:var(--input-bg)}.settings-option-list{display:grid;gap:2px;margin-bottom:20px}.settings-check-row{display:flex;align-items:start;gap:11px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}.settings-check-row input{margin-top:3px;accent-color:var(--blue)}.settings-check-row span{display:grid;gap:4px}.settings-check-row small{color:var(--muted);line-height:1.4}.contract-template-editor{display:grid;gap:14px}.contract-mode-tabs{display:flex;gap:6px;padding:4px;width:fit-content;border:1px solid var(--line);border-radius:9px;background:var(--soft-surface)}.contract-mode-tabs button{border:0;border-radius:6px;padding:8px 12px;color:var(--muted);background:transparent;cursor:pointer;font-weight:800}.contract-mode-tabs button.active{color:var(--blue);background:var(--panel-solid);box-shadow:0 2px 8px #0f172a14}.contract-pdf-editor{display:grid;gap:12px}.contract-pdf-actions{display:flex;flex-wrap:wrap;gap:10px}.contract-pdf-renderer{display:grid;gap:8px}.contract-pdf-page-controls{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:800}.contract-pdf-page-controls button{border:1px solid var(--line);border-radius:6px;padding:6px 9px;color:var(--ink);background:var(--soft-surface);cursor:pointer}.contract-pdf-page-controls button:disabled{cursor:not-allowed;opacity:.45}.contract-variable-chips{display:flex;flex-wrap:wrap;gap:7px}.contract-variable-chips span,.contract-variable-chips button{border:1px solid #bfd2fa;border-radius:6px;padding:6px 8px;color:var(--blue);background:var(--blue-soft);cursor:grab;font-size:12px;font-weight:800}.contract-variable-chips.editable button{cursor:pointer}.contract-pdf-canvas{position:relative;min-height:520px;overflow:hidden;border:1px solid #cbd5e1;border-radius:8px;background:#f4f6f8;isolation:isolate}.contract-pdf-canvas iframe{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#fff;pointer-events:none}.contract-pdf-canvas canvas{position:relative;z-index:1;display:block;width:100%;height:auto}.contract-pdf-canvas.has-pdf{min-height:0}.contract-pdf-empty{display:grid;min-height:520px;place-items:center;color:#8a96a5}.contract-variable-placement{position:absolute;z-index:2;min-width:60px;padding:5px 7px;border:1px solid #2f6fec;border-radius:4px;color:#1749a2;background:#e7f0fff0;cursor:grab;font-size:11px;font-weight:800}.contract-editable-body{min-height:280px;line-height:1.65}.rendered-contract-pdf{position:relative;min-height:420px;overflow:hidden}.rendered-contract-pdf iframe{width:100%;min-height:420px;border:1px solid #dce3ed}.rendered-contract-fields{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.rendered-contract-fields span{position:absolute;padding:3px 5px;color:#1749a2;background:#e7f0ffe0;font-size:11px}@media (max-width: 850px){.settings-content,.settings-workspace{grid-template-columns:1fr}.settings-content>*:not(.settings-navigation){grid-column:1}.settings-navigation{grid-column:1;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-navigation button{min-height:46px}}@media (max-width: 560px){.settings-form-grid{grid-template-columns:1fr}}.settings-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:22px}.settings-hero h2{margin:4px 0 7px}.settings-hero p{color:var(--muted);margin:0}.settings-grid{display:grid;gap:16px;grid-template-columns:minmax(420px,1fr) minmax(320px,.7fr)}.invite-form,.invite-result{padding:20px}.invite-form h2,.invite-result h2{margin-top:0}.invite-form .btn-primary{margin-top:14px}.invite-url{background:#f8fafc;border:1px solid var(--line);border-radius:10px;color:#334155;font-size:13px;overflow-wrap:anywhere;padding:12px}.invite-summary{background:#f8fafc;border:1px solid var(--line);border-radius:12px;display:grid;gap:4px;padding:12px}.invite-summary span,.invite-summary small{color:var(--muted);font-size:13px;font-weight:750}.admin-overview-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-mini-card{display:grid;gap:8px;min-height:128px}.admin-mini-card span{color:var(--muted);font-size:13px;font-weight:850}.admin-mini-card strong{font-size:18px}.admin-section{padding:20px}.admin-section h2{margin-top:0}.role-panel{grid-column:1 / -1}.role-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.role-row{background:var(--soft-surface);border:1px solid var(--line);border-radius:12px;display:grid;gap:5px;padding:12px}.role-row strong{color:var(--blue);text-transform:capitalize}.role-row span,.role-row small{color:var(--muted);font-size:12px;font-weight:750}.mock-form-grid,.setting-stack{display:grid;gap:10px}.training-content{display:grid;gap:18px}.training-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:22px}.training-hero h2{margin:4px 0 7px}.training-hero p{color:var(--muted);margin:0}.training-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(420px,1fr) minmax(340px,.7fr)}.training-list-card,.training-detail{padding:20px}.training-list{display:grid;gap:10px}.training-row{align-items:center;background:var(--card-surface);border:1px solid var(--line);color:var(--ink);display:flex;gap:12px;justify-content:space-between;padding:12px;text-align:left;width:100%}.training-row.active,.training-row:hover{background:var(--hover-surface);border-color:#93c5fd}.training-row small{color:var(--muted);display:block;font-size:12px;margin-top:4px}.training-topic-list{display:flex;flex-wrap:wrap;gap:8px}.training-topic-list span{background:var(--soft-surface);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:850;padding:7px 10px}.appearance-panel{padding:20px}.appearance-panel h2{margin-top:0}.theme-toggle{background:var(--soft-surface);border:1px solid var(--line);border-radius:14px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin-top:14px;padding:6px}.theme-toggle button{background:transparent;border:0;color:var(--muted);font-weight:900;padding:10px 12px;text-transform:capitalize}.theme-toggle button.active{background:var(--blue-soft);color:var(--blue)}[data-theme=dark] .metric-icon.blue{background:#60a5fa38}[data-theme=dark] .metric-icon.green{background:#34d3992e}[data-theme=dark] .metric-icon.purple{background:#a78bfa33}[data-theme=dark] .metric-icon.orange{background:#fb923c2e}[data-theme=dark] .status-badge.draft,[data-theme=dark] .step,[data-theme=dark] .pipeline-row,[data-theme=dark] .rule-row,[data-theme=dark] .impact-card,[data-theme=dark] .invite-summary,[data-theme=dark] .invite-url,[data-theme=dark] .product-type-card .svg-preview-shell,[data-theme=dark] .dial-stack label{background:var(--soft-surface)}[data-theme=dark] .orders-list-card tbody tr:hover,[data-theme=dark] .orders-list-card tbody tr.selected-row{background:var(--hover-surface)}[data-theme=dark] .workspace-search input{color:var(--input-ink)}[data-theme=dark] .svg-dimension-label{fill:#e5edf7}[data-theme=dark] .svg-caption{fill:#94a3b8}[data-theme=dark] .window-svg rect[fill="#fff"]{fill:#0f172a}[data-theme=dark] .auth-panel{background:var(--panel);border-color:var(--panel-border)}.nav-icon{width:18px;height:18px;border-radius:6px;background:currentColor;opacity:.35}.sidebar-card{margin-top:auto;background:#0f172a;color:#fff;border-radius:22px;padding:18px}.sidebar-card small{color:#94a3b8;display:block;line-height:1.5;margin-top:6px}.logout-button{background:#ffffff1a;color:#fff;margin-top:14px;width:100%}.main{padding:22px;display:flex;flex-direction:column;gap:18px;min-width:0}.estimate-main{background:#eef1f5;border-radius:0;box-shadow:none;min-width:0;overflow:auto}[data-theme=dark] .estimate-main{background:#111827}.estimate-topbar{align-items:center;background:var(--panel-solid);border:1px solid var(--line);border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:18px 22px}.estimate-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.estimate-actions .btn-primary{background:#078b18;box-shadow:0 12px 24px #078b1833}.estimate-editor{display:grid;gap:18px}.estimate-meta-grid{display:grid;gap:18px;grid-template-columns:minmax(420px,1fr) minmax(280px,360px)}.estimate-panel{background:var(--panel-solid);border:1px solid #d7dbe3;border-radius:4px;padding:22px}.panel-heading,.line-items-head{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.panel-heading span,.proposal-component>span,.totals-panel>span{color:var(--muted);display:block;font-size:13px;font-weight:850;margin-bottom:5px}.panel-heading h2,.line-items-head h2{font-size:22px;font-weight:650;margin:0}.joist-field-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.joist-field-grid input,.joist-location-row input,.estimate-line input,.estimate-line textarea,.proposal-component textarea{border-radius:2px}.joist-location-row{display:grid;gap:8px;grid-template-columns:1fr 70px 96px}.totals-panel strong{color:#0b1220;display:block;font-size:38px;margin:8px 0 18px}[data-theme=dark] .totals-panel strong{color:var(--ink)}.totals-list .summary-line:last-child strong{color:#078b18}.switch-row{align-items:center;color:var(--muted);display:inline-flex;gap:10px;font-size:14px;font-weight:750;margin:0}.switch-row input{accent-color:#078b18;box-shadow:none;height:18px;padding:0;width:18px}.line-items-panel{padding-bottom:26px}.line-item-table{display:grid;gap:0}.line-header,.estimate-line{display:grid;grid-template-columns:minmax(220px,1fr) 140px 120px 110px 110px 130px}.line-header{border-bottom:1px solid #111827;color:#111827;font-weight:850;padding:0 26px 14px}[data-theme=dark] .line-header{border-color:var(--line);color:var(--ink)}.estimate-line{border:1px solid #cfd3d8;border-top:0;min-height:116px;position:relative}.estimate-line.active{box-shadow:inset 3px 0 #078b18}.estimate-line>*{align-items:center;border-right:1px solid #cfd3d8;display:flex;min-width:0;padding:0 14px}.estimate-line>*:last-child{border-right:0}.estimate-line input{background:transparent;border:0;box-shadow:none;height:50px;padding:0}.estimate-line strong,.estimate-line span{color:#334155;font-weight:700}.estimate-line textarea{border:0;border-top:1px solid #cfd3d8;grid-column:1 / -1;min-height:64px;padding:16px 26px;resize:vertical}.remove-line-button{background:#ef4444;border-radius:999px;color:#fff;height:28px;justify-content:center;left:-14px;min-width:28px;padding:0;position:absolute;top:42px;width:28px}.add-line-button{background:transparent;border:2px solid #078b18;border-radius:4px;color:#078b18;font-weight:900;margin-top:26px;min-height:70px;text-align:left;width:100%}.module-panel{border-color:#c7d2fe}.module-chip{background:#eef2ff;border-radius:999px;color:#3730a3!important;padding:7px 10px}.window-module-grid{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(360px,1fr) minmax(300px,.8fr)}.module-preview{min-height:300px}.proposal-components{background:transparent;border:0;display:grid;gap:18px;padding:0}.proposal-component{background:var(--panel-solid);border:1px solid #d7dbe3;border-radius:4px;padding:22px}.proposal-component button{background:transparent;border:2px solid #078b18;color:#078b18}.signature-component{align-items:center;display:grid;gap:28px;grid-template-columns:1fr 1fr 1fr}.notes-component textarea{min-height:110px;resize:vertical;width:100%}.proposal-renderer{background:#e6e9ef;border-radius:0;box-shadow:none;gap:14px;overflow:auto;padding:22px;position:relative;transition:transform .24s ease,opacity .2s ease}.proposal-close{background:var(--panel-solid);color:var(--muted);position:absolute;right:18px;top:18px;z-index:3}.proposal-toolbar{display:flex;gap:10px;justify-content:flex-end;padding-right:44px}.proposal-page{background:#fff;color:#111827;min-height:760px;padding:48px 44px}.proposal-label{color:#c4c8cf;font-size:24px;letter-spacing:.04em;margin-bottom:22px;text-align:center;text-transform:uppercase}.proposal-header{display:grid;gap:24px;grid-template-columns:1fr .75fr;margin-bottom:36px}.proposal-header img{height:70px;object-fit:contain;width:fit-content}.proposal-header h2{font-size:16px;margin:22px 0 8px}.proposal-header p,.proposal-row p{color:#334155;line-height:1.45;margin:0}.prepared-for{display:grid;gap:5px;text-align:right}.proposal-meta{margin-left:auto;max-width:280px}.proposal-items{margin-top:36px}.proposal-row{border-top:1px solid #111827;display:grid;gap:18px;grid-template-columns:1fr 120px 90px 120px;padding:16px 0}.proposal-row-head{font-weight:900;padding-bottom:12px}.proposal-row>span,.proposal-row>strong{text-align:right}.proposal-total{margin-left:auto;margin-top:22px;max-width:300px}.proposal-total .summary-line:last-child{color:#111827;font-size:18px}.proposal-notes{margin-top:36px}.proposal-notes h3{margin-bottom:8px}.joist-save-bar{align-items:center;display:flex;gap:12px;justify-content:flex-end;padding:0 6px 2px;position:relative;z-index:5}.joist-button{background:#e2e2e2;border:2px solid #e2e2e2;border-radius:16px;color:#333;min-width:112px}.joist-button.primary{background:#67c118;border-color:#67c118;color:#fff}.joist-button.ghost{background:transparent;border-color:transparent;color:#078b18}.share-action{position:relative}.share-button{background:#172235;border-color:#172235;color:#fff}.order-button{background:#eef3ff;border-color:#b9caff;color:#2458c6}.order-button:hover{background:#e0eaff;border-color:#8faaff}.share-button:hover,.share-button[aria-expanded=true]{background:#263852;border-color:#263852}.share-popover{background:#fff;border:1px solid #d7dde5;border-radius:8px;box-shadow:0 16px 34px #121f3033;min-width:360px;padding:18px;position:absolute;right:0;top:calc(100% + 10px)}.share-popover-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.share-popover-heading div{display:grid;gap:4px}.share-popover-heading strong{color:#172235;font-size:16px}.share-popover-heading span{color:#77818d;font-size:12px}.share-popover-close{background:transparent;color:#77818d;font-size:22px;line-height:1;padding:0 3px}.share-popover-url{background:#f5f7f9;border:1px solid #dce2e8;border-radius:4px;color:#3f4b59;font-size:12px;padding:11px;width:100%}.share-popover-actions{display:flex;gap:8px;margin-top:13px}.share-popover-actions button,.share-popover-actions a{background:#eef7ef;border:1px solid #b9dcbc;border-radius:4px;color:#167328;cursor:pointer;font-size:13px;padding:8px 11px;text-decoration:none}.share-popover-actions button:hover,.share-popover-actions a:hover{background:#dff0e1}.joist-document-editor{color:#222;display:grid;gap:22px;min-width:0}.joist-document-section{background:#fff;border-radius:14px;min-width:0;padding:34px 42px}.joist-main-section{padding-top:42px}.joist-document-header{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(220px,1fr) minmax(150px,.7fr) minmax(260px,1.1fr);min-height:285px;margin-bottom:38px;padding:4px 0 0}.joist-company-logo{display:block;height:86px;max-width:100%;width:238px;object-fit:contain;object-position:left center}.joist-company-name{color:#171717;display:block;font-size:16px;margin-top:24px}.joist-company-line{color:#4b5563;font-size:15px;line-height:1.35}.joist-company-line:first-of-type{margin-top:20px}.joist-document-title{color:#a6a6a6;font-size:25px;font-weight:400;letter-spacing:.02em;padding-top:12px;text-align:center}.joist-customer-info{color:#252525;display:flex;flex-direction:column;font-size:16px;line-height:1.45;min-width:0;text-align:right}.joist-customer-info>strong{color:#151515;font-size:17px;margin-bottom:16px}.joist-header-meta{display:grid;gap:5px;margin-top:24px}.joist-header-meta>div{align-items:baseline;display:grid;gap:18px;grid-template-columns:1fr auto}.joist-header-meta span{color:#4b4b4b}.joist-header-meta strong{color:#252525;font-weight:500}@media (max-width: 900px){.joist-document-header{gap:20px;grid-template-columns:1fr 1fr;min-height:0}.joist-document-title{grid-column:1 / -1;grid-row:1;text-align:left}.joist-company-info{grid-column:1;grid-row:2}.joist-customer-info{grid-column:2;grid-row:2}}@media (max-width: 560px){.joist-document-header{display:block}.joist-document-title{margin-bottom:24px}.joist-customer-info{margin-top:28px;text-align:left}.joist-header-meta>div{max-width:280px}}.joist-line-header,.joist-line-values{display:grid;grid-template-columns:minmax(150px,1fr) repeat(4,minmax(68px,100px)) minmax(88px,112px);min-width:0}.joist-line-header{border-bottom:1px solid #111;font-size:15px;font-weight:700;margin-bottom:22px;padding:0 26px 16px}.joist-line-header p{margin:0}.joist-section-toggle{align-items:center;display:flex;gap:12px;margin-bottom:24px}.joist-section-toggle>span{color:#333;font-size:14px}.joist-section-toggle em,.joist-section-title em{background:#484adf;border-radius:2px;color:#fff;font-size:10px;font-style:normal;font-weight:800;margin-left:6px;padding:3px 5px}.joist-section-toggle b,.joist-line-footer b{align-items:center;background:#c9c9c9;border-radius:999px;color:#fff;display:inline-flex;font-size:13px;height:22px;justify-content:center;width:22px}.joist-toggle{margin:0}.joist-toggle input{display:none}.joist-toggle span{background:#c5c7ca;border-radius:999px;display:block;height:18px;position:relative;width:42px}.joist-toggle span:after,.joist-switch:after{background:#f2f2f2;border-radius:999px;box-shadow:0 1px 3px #0000003d;content:"";height:24px;left:-1px;position:absolute;top:-3px;width:24px}.joist-toggle input:checked+span,.joist-switch.on{background:#8fd39b}.joist-toggle input:checked+span:after,.joist-switch.on:after{background:#078b18;left:19px}.joist-line-items{display:grid;gap:24px}.joist-line-item{border:1px solid #d7dce2;border-radius:12px;box-shadow:0 4px 14px #0f172a0d;position:relative}.joist-line-item.active{border-color:#078b18}.joist-remove-line{background:#e94124;border-radius:999px;color:#fff;height:28px;left:-16px;padding:0;position:absolute;top:72px;width:28px}.joist-line-values>*{align-items:center;border-right:1px solid #cfd3d8;display:flex;min-height:54px;min-width:0;padding:0 14px}.joist-line-values>input[type=number]{font-variant-numeric:tabular-nums;letter-spacing:0;text-align:right}.joist-line-values>*:last-child{border-right:0}.joist-description-field{gap:10px;min-width:0;overflow:hidden}.joist-description-field input,.joist-line-values input{background:transparent;border:0;border-radius:0;box-shadow:none;height:52px;min-width:0;padding:0}.joist-description-field input{flex:1 1 110px}.joist-description-field button,.joist-placeholder-cell{background:transparent;color:#078b18;padding:0;white-space:nowrap}.joist-placeholder-cell{color:#777;justify-content:center;width:100%}.joist-rate,.joist-total-cell{color:#333;justify-content:center}.joist-inline-number{align-items:center;color:#666;display:flex;gap:3px;justify-content:center;width:100%}.joist-inline-number input{min-width:0;text-align:center;width:58px}.joist-inline-number span{font-size:13px}.joist-notes-input{box-sizing:border-box;border:0;border-top:1px solid #cfd3d8;min-height:64px;overflow:hidden;padding:18px 26px;resize:none;width:100%}.joist-line-footer{align-items:center;border-top:1px solid #cfd3d8;display:flex;flex-wrap:wrap;gap:14px;min-height:78px;padding:0 26px}.joist-line-footer span,.joist-section-description{color:#8a8f98}.joist-upload-button{background:transparent;border:1px solid #484adf;color:#484adf;border-radius:999px}.joist-sort-line{align-items:center;background:#f2f4f6;border:1px solid #d9dee4;border-radius:8px;color:#8a929c;display:inline-flex;font-size:17px;justify-content:center;padding:0;position:absolute;left:-48px;top:22px;width:32px;height:38px}.joist-sort-line:active{cursor:grabbing}.visually-hidden{height:1px;opacity:0;position:absolute;width:1px}.joist-photo-strip{align-items:center;display:flex;flex-wrap:wrap;gap:7px;width:100%}.joist-photo-thumb{height:46px;position:relative;width:46px}.joist-photo-thumb img{border:1px solid #d8dde3;border-radius:7px;height:100%;object-fit:cover;width:100%}.joist-photo-thumb button{align-items:center;background:#172235;border:2px solid #fff;border-radius:50%;color:#fff;display:inline-flex;font-size:12px;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:-6px;top:-6px;width:18px}.joist-photo-more{color:#66717e;font-size:12px}.joist-add-line{background:transparent;border:2px solid #078b18;border-radius:4px;color:#078b18;font-weight:700;height:78px;text-align:left;width:100%}.joist-add-line span{font-size:22px;margin-right:16px}.joist-document-totals{display:grid;margin-left:auto;margin-top:24px;max-width:360px}.joist-document-totals>div{border-bottom:1px solid #ddd;color:#4b5563;display:flex;justify-content:space-between;padding:12px 0}.joist-document-totals button{background:transparent;color:#078b18;padding:0}.pricing-adjustment-row{position:relative}.pricing-adjustment-row>button{min-width:82px}.pricing-adjustment-row.is-muted>span{color:#aab2bd}.pricing-adjustment-row.is-muted>.pricing-adjust-toggle{color:#9aa4b0}.pricing-adjust-toggle{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;min-width:92px!important;color:#87919d!important;font-size:13px;font-weight:600!important}.pricing-adjust-toggle i{position:relative;display:inline-block;width:26px;height:15px;border-radius:999px;background:#d7dce2;vertical-align:middle}.pricing-adjust-toggle i:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:transform .16s ease}.pricing-adjustment-row.is-open .pricing-adjust-toggle{color:#078a2f!important}.pricing-adjustment-row.is-open .pricing-adjust-toggle i{background:#078a2f}.pricing-adjustment-row.is-open .pricing-adjust-toggle i:after{transform:translate(11px)}.pricing-adjustments-popover{position:absolute;z-index:20;right:0;top:calc(100% + 10px);width:min(390px,calc(100vw - 48px));padding:18px;color:#152238;background:#fff;border:1px solid #dce3ed;border-radius:14px;box-shadow:0 18px 45px #1627402e;text-align:left}.pricing-popover-heading{display:grid;gap:3px;margin-bottom:12px}.pricing-popover-heading span,.pricing-adjustment-editor small{color:#7a8798;font-size:12px}.pricing-adjustment-editor,.pricing-rule-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #edf0f4}.pricing-adjustment-editor label{display:grid;gap:2px}.pricing-adjustment-editor>div{display:flex;align-items:center;gap:6px}.pricing-adjustment-editor input,.pricing-rule-editor input,.pricing-rule-editor select{width:82px;min-height:34px;padding:7px 9px;border:1px solid #d6dde7;border-radius:8px;background:#fbfcfe}.pricing-rule-editor input:first-child{width:auto}.pricing-rules-editor{display:grid;gap:9px}.pricing-rule-editor{grid-template-columns:minmax(0,1fr) 90px 84px auto 28px}.pricing-rule-toggle{display:flex;gap:5px;align-items:center;font-size:12px;color:#56667b}.pricing-rule-toggle input{width:auto;min-height:auto}.icon-button{width:28px;height:28px;padding:0;border:0;border-radius:7px;color:#a04d4d;background:#fff0f0;cursor:pointer;font-size:18px}.pricing-popover-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:13px}.pricing-popover-actions button{border:0;background:transparent;color:#078a2f;font-weight:700;cursor:pointer;padding:4px 0}@media (max-width: 720px){.pricing-rule-editor{grid-template-columns:minmax(0,1fr) 84px 28px}.pricing-rule-editor input:first-child{grid-column:1 / -1}.pricing-rule-toggle{grid-column:1 / 2}}.payment-schedule-editor{display:grid;gap:14px}.payment-schedule-controls{display:flex;flex-wrap:wrap;gap:14px}.payment-schedule-controls label{display:grid;gap:6px;color:#66758a;font-size:12px;font-weight:700}.payment-schedule-controls select,.payment-percent-input input{min-height:36px;border:1px solid #d6dde7;border-radius:8px;background:#fff;padding:7px 10px}.payment-percent-input{display:flex;align-items:center;gap:5px}.payment-percent-input input{width:72px}.payment-percent-input b{color:#7c8795}.payment-schedule-row-editor{display:grid;gap:8px}.payment-schedule-row{display:grid;grid-template-columns:28px minmax(130px,.8fr) 90px minmax(180px,1.4fr);gap:8px;align-items:center}.payment-schedule-row>input{width:100%;min-height:36px;box-sizing:border-box;border:1px solid #d6dde7;border-radius:8px;padding:7px 9px}.payment-row-number,.payment-card-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#242321;font-size:13px}.payment-schedule-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}.payment-schedule-card{min-height:225px;padding:18px 18px 16px;border:1px solid #dfd5c7;border-radius:14px;background:#fff}.payment-schedule-card.deposit-card{border-color:#7b1f2a;background:#f2dddd}.payment-schedule-card.deposit-card .payment-card-number{background:#7b1f2a}.payment-card-label{margin-top:22px;color:#a86a48;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.payment-card-amount{display:block;margin-top:8px;color:#2a2724;font-family:Georgia,serif;font-size:clamp(22px,2.2vw,34px);line-height:1.05;white-space:nowrap}.payment-card-amount em{color:#ad704b;font-family:inherit;font-size:15px;font-style:normal}.payment-schedule-card p{color:#70665c;font-size:16px;line-height:1.45}.financing-config-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft-surface);cursor:pointer}.financing-config-toggle input{margin-top:3px;accent-color:var(--green)}.financing-config-toggle span{display:grid;gap:3px}.financing-config-toggle small{color:var(--muted);font-size:12px}.financing-card{margin-top:18px;padding:28px;border:1px solid #d9eaf5;border-radius:14px;background:#fff;text-align:center}.financing-badge{display:inline-block;max-width:100%;padding:10px 24px;border-radius:999px;color:#1769aa;background:#e6f5ff;font-size:12px;font-weight:800;letter-spacing:.03em}.financing-card h4{margin:20px 0 14px;font-size:24px;font-weight:500}.financing-starting{color:#9a9a9a;font-size:12px;text-transform:uppercase}.financing-card strong{display:block;margin:6px 0 18px;color:#1479ba;font-size:24px}.financing-card strong small{color:#27364a;font-size:16px;font-weight:500}.financing-card button{width:min(300px,100%);min-height:48px;border:0;border-radius:7px;color:#fff;background:#187fc2;font-weight:800;cursor:pointer}.financing-card p{margin:10px 0 0;font-size:12px;color:#4b5563}@media (max-width: 900px){.payment-schedule-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.payment-schedule-row{grid-template-columns:28px 1fr 82px}.payment-schedule-row>input:last-child{grid-column:2 / -1}.payment-schedule-cards{grid-template-columns:1fr}.financing-card{padding:22px 16px}.financing-card h4{font-size:21px}.financing-badge{padding-inline:16px}}.timeline-editor{display:grid;gap:14px}.timeline-template-bar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.timeline-template-bar label,.timeline-save-template{display:grid;gap:6px}.timeline-template-bar label>span{color:#66758a;font-size:12px;font-weight:700}.timeline-template-bar select,.timeline-save-template input,.timeline-save-template button{min-height:36px;border:1px solid #d6dde7;border-radius:8px;background:#fff;padding:7px 10px}.timeline-save-template{display:flex;align-items:center}.timeline-save-template button{color:#078a2f;font-weight:700;cursor:pointer}.timeline-event-editor{display:grid;gap:8px}.timeline-event-row{display:grid;grid-template-columns:28px minmax(145px,1fr) 70px 70px 125px minmax(160px,1.3fr) 28px;gap:8px;align-items:center}.timeline-event-row>input,.timeline-event-row select,.timeline-event-row label input{min-width:0;width:100%;box-sizing:border-box;min-height:36px;border:1px solid #d6dde7;border-radius:8px;background:#fff;padding:7px 9px}.timeline-event-row label{display:grid;gap:3px;color:#7b8797;font-size:10px;font-weight:700}.timeline-event-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#26303d;font-size:12px}.timeline-gantt{overflow-x:auto;margin-top:18px;padding-bottom:8px}.timeline-gantt-head,.timeline-gantt-row{display:grid;grid-template-columns:190px minmax(720px,1fr) 230px;gap:12px;align-items:center}.timeline-gantt-head{padding:10px 12px;color:#fff;background:#171717;font-size:12px;font-weight:700}.timeline-gantt-head>div{display:grid;grid-template-columns:repeat(12,1fr);min-width:720px}.timeline-gantt-head>div span{text-align:center}.timeline-gantt-row{min-height:48px;padding:4px 12px;background:#fafbfc;border-bottom:1px solid #e8ebef}.timeline-gantt-row:nth-child(odd){background:#f1f3f5}.timeline-gantt-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-gantt-track{position:relative;height:24px;min-width:720px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(8.333% - 1px),#e5e8ec calc(8.333% - 1px),#e5e8ec 8.333%)}.timeline-gantt-track i{position:absolute;top:3px;height:18px;min-width:8px;border-radius:4px;box-shadow:0 1px 2px #0000001f}.timeline-gantt-row p{margin:0;color:#697789;font-size:12px;line-height:1.35}.timeline-gantt-legend{display:flex;flex-wrap:wrap;gap:14px;padding:14px 4px 0;color:#677587;font-size:12px}.timeline-gantt-legend span{display:inline-flex;align-items:center;gap:6px}.timeline-gantt-legend i{width:12px;height:12px;border-radius:3px}@media (max-width: 800px){.timeline-event-row{grid-template-columns:28px 1fr 70px 70px 28px}.timeline-event-row select,.timeline-event-description{grid-column:2 / -1}}.client-edit-button{margin:0 0 18px}.client-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#171f2a57}.client-modal{width:min(680px,100%);max-height:min(720px,calc(100vh - 48px));display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid #dbe1e8;border-radius:12px;background:#fff;box-shadow:0 25px 70px #14233747}.client-modal-header{display:flex;align-items:start;justify-content:space-between;padding:24px 26px 18px;border-bottom:1px solid #edf0f3}.client-modal-header h2{margin:5px 0 0}.client-modal-scroll{overflow-y:auto;padding:20px 26px 28px}.client-modal-scroll h3{margin:10px 0 14px;color:#737b85;font-size:15px;font-weight:500}.client-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.client-modal-grid label{display:grid;gap:5px;color:#747c86;font-size:12px}.client-modal-grid input{min-height:42px;box-sizing:border-box;width:100%;border:1px solid #cbd1d8;border-radius:5px;padding:10px 12px;color:#29313b;background:#fff;font-size:16px}.client-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid #edf0f3}@media (max-width: 560px){.client-modal-grid{grid-template-columns:1fr}.client-modal-backdrop{padding:12px}}.client-picker-trigger{cursor:pointer;text-align:right;transition:border-color .16s ease,background .16s ease}.client-picker-trigger:hover{border-color:#2f6fec;background:#f7faff}.client-picker-trigger.is-empty{border:2px dashed #2f6fec;border-radius:8px;padding:14px}.client-picker-empty{color:#2f6fec;font-weight:700}.client-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:start center;padding:7vh 24px 24px;background:#171f2a57}.client-picker-modal{width:min(620px,100%);max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid #dbe1e8;border-radius:12px;background:#fff;box-shadow:0 25px 70px #14233747}.client-picker-header{display:flex;align-items:start;justify-content:space-between;padding:24px 26px 18px;border-bottom:1px solid #edf0f3}.client-picker-header h2{margin:5px 0 0}.client-picker-body{overflow-y:auto;padding:20px 26px 26px}.client-picker-search,.client-picker-create label{display:grid;gap:6px;color:#737b85;font-size:12px;font-weight:700}.client-picker-search input,.client-picker-create input{min-height:40px;box-sizing:border-box;width:100%;border:1px solid #cbd1d8;border-radius:6px;padding:9px 11px;color:#29313b;background:#fff;font-size:15px}.client-picker-list{display:grid;gap:7px;max-height:190px;overflow-y:auto;margin-top:12px}.client-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px;border:1px solid #e3e8ee;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.client-picker-row:hover{border-color:#2f6fec;background:#f7faff}.client-picker-row>span:last-child{display:grid;gap:2px}.client-picker-row small{color:#798696}.client-picker-divider{display:flex;align-items:center;gap:10px;margin:20px 0 14px;color:#8793a0;font-size:12px}.client-picker-divider:before,.client-picker-divider:after{content:"";height:1px;flex:1;background:#e5e9ee}.client-picker-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 13px;margin-bottom:16px}.detach-preview-button{margin-left:auto}.subcontractor-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:18px}.subcontractor-list{display:grid;gap:8px}.subcontractor-row{display:flex;align-items:center;gap:11px;width:100%;padding:12px;border:1px solid #e2e7ed;border-radius:9px;background:#fff;text-align:left;cursor:pointer}.subcontractor-row:hover,.subcontractor-row.active{border-color:#2f6fec;background:#f7faff}.subcontractor-row>span:nth-child(2){display:grid;gap:3px;flex:1}.subcontractor-row small{color:#798696}.subcontractor-row em{color:#078a2f;font-size:11px;font-style:normal;font-weight:700}.subcontractor-form{display:grid;gap:16px;align-content:start}.subcontractor-form .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 850px){.subcontractor-grid{grid-template-columns:1fr}}@media (max-width: 560px){.subcontractor-form .field-grid{grid-template-columns:1fr}}.engine-section-tabs{display:flex;gap:8px;margin:20px 0;padding:5px;width:fit-content;border:1px solid var(--line);border-radius:12px;background:var(--soft-surface)}.engine-section-tabs button{border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer;padding:10px 14px;font-weight:800}.engine-section-tabs button.active{color:var(--blue);background:var(--panel-solid);box-shadow:0 3px 10px #0f172a14}.company-pricing-heading{align-items:center;display:flex;justify-content:space-between;gap:20px;margin:8px 0 18px}.company-pricing-heading h2{margin:4px 0}.company-pricing-heading p{color:var(--muted);margin:0}.company-pricing-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px}.company-pricing-form,.company-profit-preview{padding:20px}.company-pricing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.company-pricing-fields label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.company-pricing-fields input{min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--input-ink);padding:8px 10px}.company-pricing-save{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.company-pricing-save span{color:#078a2f;font-size:13px;font-weight:800}.company-profit-preview{display:grid;gap:12px;align-content:start}.company-profit-result{display:grid;gap:4px;margin-top:6px;padding:16px;border-radius:12px;color:#fff;background:#172235}.company-profit-result span{font-size:13px;opacity:.8}.company-profit-result strong{font-size:30px}.company-profit-result small{opacity:.75}.company-profit-result.retained{color:var(--ink);background:var(--blue-soft)}@media (max-width: 800px){.company-pricing-layout{grid-template-columns:1fr}.company-pricing-heading{align-items:start;flex-direction:column}}@media (max-width: 560px){.company-pricing-fields{grid-template-columns:1fr}.engine-section-tabs{width:100%}.engine-section-tabs button{flex:1}}@media (max-width: 560px){.client-picker-backdrop{padding:18px 12px 12px}.client-picker-fields{grid-template-columns:1fr}}.joist-full-total{color:#111!important;font-weight:800}.joist-full-total strong{font-size:22px}.joist-section-title{color:#6b7280;font-size:26px;font-weight:400;margin-bottom:22px}.joist-contract-button{background:transparent;border:2px solid #078b18;border-radius:999px;color:#078b18;min-width:160px}.joist-signature-toggles{display:grid;grid-template-columns:1fr 1fr}.joist-switch-row{align-items:center;color:#222;display:flex;gap:12px;margin:0;min-height:66px}.joist-switch-row.split{border-left:1px solid #cfd3d8;padding-left:42px}.joist-switch{background:#c5c7ca;border-radius:999px;display:inline-block;height:18px;position:relative;width:42px}.joist-document-textarea{border:1px solid #cfd3d8;border-radius:4px;min-height:96px;padding:16px;resize:vertical;width:100%}.joist-addon-grid{display:grid;gap:24px;grid-template-columns:minmax(360px,1fr) minmax(320px,.8fr)}.joist-addon-fields{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.joist-addon-metrics{display:grid;gap:10px;grid-column:1 / -1;grid-template-columns:repeat(3,1fr)}.joist-addon-metrics span{background:#f6f7f9;border:1px solid #d7dbe3;border-radius:4px;color:#6b7280;display:grid;gap:4px;padding:12px}.joist-addon-preview{background:#f6f7f9;border:1px solid #d7dbe3;border-radius:4px;min-height:300px}.proposal-sections-editor{border-top:1px solid #e2e5e9;margin-top:34px;padding-top:30px}.proposal-section-list{display:grid;gap:18px;margin-top:22px}.proposal-section-editor{border:1px solid #d8dde3;cursor:default;padding:28px 30px 30px 76px;position:relative;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.proposal-section-editor.enabled{border-color:#c7d6ca;box-shadow:0 5px 18px #14371c0f}.module-stack-intro{padding:8px 4px 0}.module-stack-intro h2{color:#172235;font-size:30px;margin:4px 0 6px}.module-stack-intro p{color:#69717b;margin:0}.module-heading{flex:1;min-width:0}.module-title{color:#6b7280;font-size:28px;font-weight:400;line-height:1.15;margin:0}.module-heading>span{color:#8a929c;display:block;font-size:13px;margin-top:7px}.proposal-section-editor.disabled{background:#fafafa;opacity:.62}.proposal-section-row{align-items:center;display:flex;justify-content:space-between}.module-stack{display:grid;gap:14px}.module-stack>.joist-section-title,.module-stack>.joist-section-description{margin-left:2px}.module-drag-handle{align-items:center;background:transparent;border:0;color:#8e969f;cursor:grab;display:inline-flex;font-size:19px;height:34px;justify-content:center;left:12px;letter-spacing:-4px;padding:0;position:absolute;top:28px;width:28px}.module-toggle{align-items:center;cursor:pointer;display:inline-flex;flex:0 0 auto;gap:9px;margin:0 20px}.module-toggle input{height:1px;opacity:0;position:absolute;width:1px}.module-toggle-track{background:#c7ccd2;border-radius:999px;display:block;height:28px;position:relative;transition:background .2s ease;width:52px}.module-toggle-track:after{background:#fff;border-radius:50%;box-shadow:0 2px 5px #0003;content:"";height:22px;left:3px;position:absolute;top:3px;transition:transform .2s ease;width:22px}.module-toggle input:checked+.module-toggle-track{background:#078b18}.module-toggle input:checked+.module-toggle-track:after{transform:translate(24px)}.module-toggle input:focus-visible+.module-toggle-track{outline:3px solid rgba(7,139,24,.2);outline-offset:3px}.module-toggle-label{color:#078b18;font-size:12px;font-weight:800;min-width:22px}.proposal-section-editor.disabled .module-toggle-label{color:#808892}.module-drag-handle:active{cursor:grabbing}.section-badge{background:#4a49d8;color:#fff;font-size:10px;font-style:normal;font-weight:800;margin-left:8px;padding:3px 5px}.section-config-description{color:#69717b;font-size:13px;margin:12px 0 0}.joist-check-label,.section-config-options label{align-items:center;display:flex;gap:9px}.proposal-section-actions{display:flex;gap:4px}.proposal-section-actions button{background:#f1f3f5;border:1px solid #d5d9de;color:#27313b;min-height:30px;padding:4px 10px}.section-config-fields{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.section-config-field{display:grid;gap:6px}.section-config-field>span{color:#69717b;font-size:12px;font-weight:700}.section-config-field input,.section-config-field textarea{border:1px solid #cfd3d8;border-radius:3px;min-height:40px;padding:9px 10px;width:100%}.section-config-field textarea{min-height:76px;resize:vertical}.section-config-options{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px}.share-link-banner{align-items:center;background:#eaf7ed;border:1px solid #b8dfc0;color:#176b2a;display:flex;gap:14px;margin-bottom:14px;padding:10px 14px}.share-link-banner input{background:#fff;border:1px solid #b8dfc0;color:#36533b;flex:1;min-width:0;padding:8px}.proposal-module{border-top:1px solid #e1e1e1;margin-top:24px;padding-top:20px}.document-module-page{break-inside:avoid;page-break-inside:avoid}.proposal-document-pages{display:grid;gap:24px;margin-top:18px}.proposal-document-file{break-inside:avoid;page-break-inside:avoid}.proposal-document-file h4{color:#475569;font-size:13px;margin:0 0 10px}.proposal-module h3{color:#171717;font-size:18px;margin:0 0 12px}.proposal-module p{line-height:1.55;white-space:pre-wrap}.proposal-module-list,.proposal-faq-list,.proposal-timeline{display:grid;gap:10px}.proposal-module-list>div{border-bottom:1px solid #ededed;display:flex;justify-content:space-between;padding:8px 0}.proposal-pdf-attachments{display:grid;gap:24px;margin-top:18px}.proposal-pdf-attachment{display:grid;gap:10px;margin:0;padding-top:18px;border-top:1px solid #dce3ed}.proposal-pdf-attachment:first-child{padding-top:0;border-top:0}.proposal-pdf-attachment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink)}.proposal-pdf-attachment-heading a{color:var(--blue);font-size:12px;font-weight:700}.proposal-pdf-pages{display:grid;gap:12px;width:100%}.proposal-pdf-pages canvas{display:block;width:100%;height:auto;border:1px solid #dce3ed;background:#fff;box-shadow:0 2px 8px #0f172a14}.proposal-pdf-pages canvas+canvas{margin-top:18px}.timeline-unit-toggle{align-items:center;display:flex;gap:6px;margin:14px 0}.timeline-unit-toggle span{color:#64748b;font-size:12px;font-weight:700;margin-right:4px}.timeline-unit-toggle button{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#475569;cursor:pointer;font:inherit;font-size:12px;padding:6px 12px}.timeline-unit-toggle button.active{background:#0f5f97;border-color:#0f5f97;color:#fff}.dropoff-module-editor{display:grid;gap:16px}.satellite-dropoff-map{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:10px;min-height:360px;overflow:hidden;position:relative}.satellite-map-canvas{height:360px;width:100%}.satellite-map-hint{background:#fffffff0;border-radius:6px;bottom:12px;box-shadow:0 2px 8px #0f172a29;color:#334155;font-size:12px;left:12px;padding:8px 10px;position:absolute}.satellite-map-placeholder{align-items:center;background:#f8fafc;border:1px dashed #94a3b8;border-radius:10px;color:#475569;display:flex;flex-direction:column;gap:7px;justify-content:center;min-height:180px;padding:24px;text-align:center}.satellite-map-placeholder span{color:#64748b;font-size:13px}@media (max-width: 600px){.proposal-pdf-attachment-heading{align-items:flex-start;flex-direction:column;gap:5px}.proposal-pdf-pages{gap:8px}}.proposal-signature-grid{display:grid;gap:36px;grid-template-columns:repeat(2,1fr);margin-top:30px}.proposal-signature-grid span{color:#555;font-size:12px}.signature-line{border-bottom:1px solid #333;margin-top:30px}.proposal-photo-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-photo-grid img{aspect-ratio:4 / 3;border:1px solid #e0e0e0;object-fit:cover;width:100%}.proposal-faq-list>div,.proposal-timeline>div{border-left:3px solid #078b18;padding-left:12px}.proposal-faq-list p,.proposal-timeline p{margin:5px 0 0}.proposal-timeline span{color:#737373;display:block;font-size:12px;margin-top:3px}@media (max-width: 700px){.section-config-fields,.proposal-signature-grid{grid-template-columns:1fr}.proposal-section-editor{padding-left:58px}.proposal-section-row{align-items:flex-start;flex-wrap:wrap;gap:14px}.module-toggle{margin-left:0;margin-right:0}.proposal-section-actions{margin-left:auto}.share-popover{min-width:min(360px,calc(100vw - 36px));right:-8px}.share-link-banner{align-items:stretch;flex-direction:column}}@media (max-width: 1100px) and (min-width: 781px){.app{gap:12px;grid-template-columns:210px minmax(0,1fr) 320px}.joist-document-section{padding-left:24px;padding-right:24px}}@media (max-width: 780px){.app,.app.nav-collapsed,.app.proposal-hidden,.app.nav-collapsed.proposal-hidden{display:block;min-height:0}.estimate-main,.proposal-renderer{margin-bottom:14px}.proposal-renderer{min-height:720px}}.public-proposal-shell{background:#f4f6f8;min-height:100vh;padding:0}.public-proposal-topbar{display:flex;align-items:center;gap:10px;max-width:1440px;margin:0 auto;padding:14px 24px;color:#334155}.public-proposal-topbar strong{font-size:18px}.public-proposal-topbar span{color:#64748b;font-size:13px}.public-proposal-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:24px;max-width:1440px;margin:0 auto;padding:0 24px 32px}.public-proposal-page{background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 18px #151c2614;color:#222;margin:0;max-width:none;min-height:1100px;padding:48px clamp(28px,5vw,72px)}.public-proposal-actions{display:grid;gap:10px;position:sticky;top:24px}.public-approve-button,.public-document-actions button{min-height:56px;border:0;border-radius:7px;font:inherit;font-weight:800;cursor:pointer}.public-approve-button{color:#fff;background:#078a17;font-size:18px}.public-document-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-document-actions button{color:#334155;background:#fff}.public-document-actions button:disabled{cursor:wait;opacity:.65}.public-proposal-header{align-items:start;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding-bottom:34px}.public-proposal-header>div{display:flex;flex-direction:column;gap:5px}.public-proposal-header img{height:76px;object-fit:contain;object-position:left;width:190px}.public-proposal-header b{color:#888;font-size:22px;font-weight:400;text-align:right}.public-proposal-header>div:last-child{color:#555;text-align:right}.public-accessibility-toggle{align-items:center;color:#1769aa;display:inline-flex;gap:8px;justify-content:flex-end;margin-bottom:18px;font-size:12px;font-weight:800}.public-accessibility-toggle input{position:absolute;opacity:0;pointer-events:none}.public-accessibility-toggle i{position:relative;display:inline-block;width:38px;height:22px;border-radius:999px;background:#cbd5e1;transition:background .2s ease}.public-accessibility-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .2s ease}.public-accessibility-toggle input:checked+i{background:#078a2f}.public-accessibility-toggle input:checked+i:after{transform:translate(16px)}.public-accessibility-toggle:focus-within i{outline:2px solid #1769aa;outline-offset:2px}.public-dyslexic,.public-dyslexic *{font-family:OpenDyslexic,Arial,sans-serif;letter-spacing:.01em}.public-customer{display:flex;flex-direction:column;margin:38px 0 34px auto;max-width:300px;text-align:right}.public-proposal-items{border-top:1px solid #222}@media (max-width: 640px){.public-proposal-shell{padding:20px 12px}.public-proposal-topbar{margin:-20px auto 18px;padding:10px 4px}.public-proposal-layout{grid-template-columns:1fr;gap:18px}.public-proposal-actions{position:static;order:-1}.public-proposal-page{padding:32px 22px}.public-proposal-header{gap:20px;flex-direction:column}.public-proposal-header>div:last-child,.public-customer{text-align:left}.public-accessibility-toggle{justify-content:flex-start;order:-1}}@media print{.public-proposal-shell{padding:0;background:#fff}.public-proposal-topbar,.public-proposal-actions{display:none}.public-proposal-layout{display:block}.public-proposal-page{border:0;box-shadow:none;max-width:none}.document-module-page{break-before:page}.document-module-page:first-of-type{break-before:auto}.proposal-pdf-attachment{break-inside:avoid;page-break-inside:avoid}.proposal-pdf-pages canvas{box-shadow:none}}@media (max-width: 700px){.public-proposal-topbar{padding:12px 16px}.public-proposal-layout{display:block;padding:0 10px 20px}.public-proposal-page{min-height:0;padding:28px 20px}.public-proposal-actions{margin-top:14px}}@media (max-width: 1320px){.app{grid-template-columns:230px minmax(0,1fr) 390px}.line-header,.estimate-line{grid-template-columns:minmax(200px,1fr) 110px 100px 92px 88px 110px}.proposal-page{padding:40px 32px}}@media (max-width: 980px){.estimate-meta-grid,.window-module-grid,.proposal-header,.signature-component{grid-template-columns:1fr}.line-item-table{overflow-x:auto}.line-header,.estimate-line{min-width:820px}.prepared-for{text-align:left}}.header{display:flex;justify-content:space-between;align-items:center;gap:16px}.eyebrow{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}h1{margin:4px 0 0;font-size:28px}.actions{display:flex;gap:10px;flex-wrap:wrap}button,.btn{border:0;border-radius:14px;padding:11px 14px;font-weight:800;cursor:pointer}button:disabled{cursor:wait;opacity:.68}.btn-secondary{background:#f1f5f9;color:#334155}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 24px #2563eb40}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.status-banner{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:16px;color:#047857;font-size:13px;font-weight:850;padding:12px 14px}.status-banner.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.step{background:#f8fafc;border:1px solid var(--line);border-radius:17px;padding:12px;font-size:13px;color:var(--muted);font-weight:750}.step.active{background:var(--blue-soft);border-color:#bfdbfe;color:var(--blue)}.workspace{display:flex;flex-direction:column;gap:18px}.top-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.card{background:var(--panel-solid);border:1px solid var(--line);border-radius:22px;padding:18px}.compact-card{padding:18px}.card h2{margin:0 0 14px;font-size:17px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:12px;color:var(--muted);font-weight:800;display:block;margin-bottom:7px}input,select{width:100%;border:1px solid var(--line);background:var(--input-bg);border-radius:14px;padding:13px 12px;font-size:14px;font-weight:650;outline:none;color:var(--input-ink)}input:focus,select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #2563eb14}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.catalog-note{align-items:center;background:var(--soft-surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:10px;margin-top:14px;padding:10px 12px}.catalog-note strong{color:var(--ink);text-transform:capitalize}.metric{background:var(--soft-surface);border:1px solid var(--line);border-radius:16px;padding:12px}.metric small{display:block;color:var(--muted);font-weight:800;font-size:11px}.metric strong{display:block;margin-top:6px;font-size:18px}.error-text{color:#b91c1c;font-size:13px;font-weight:750;margin:12px 0 0}.preview{min-height:360px;display:flex;align-items:stretch;justify-content:center;background:linear-gradient(180deg,#f8fafc,#eaf1f9);border:1px solid var(--line);border-radius:22px;position:relative;overflow:hidden}.svg-preview-shell{display:grid;min-height:360px;place-items:center;position:relative;width:100%}.window-svg{height:100%;max-height:350px;max-width:100%;width:100%}.svg-dimension-label{fill:#0f172a;font-size:13px;font-weight:850}.svg-caption{fill:#475569;font-size:12px;font-weight:850}.preview-badge{position:absolute;top:16px;left:16px;background:var(--card-surface);border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;color:var(--muted)}.options-card{grid-column:1 / -1}.option-section{margin-top:16px}.option-section:first-of-type{margin-top:0}.option-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;gap:10px}.option-title h3{margin:0;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.option-title small{color:var(--muted);font-weight:800}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--card-surface);cursor:pointer;transition:.16s ease;text-align:left}.option:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0f172a14}.option.selected{border-color:#60a5fa;background:var(--blue-soft)}.option strong{display:block;font-size:14px}.option span{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.45;font-weight:650}.price-chip{display:inline-block;margin-top:9px;border-radius:999px;background:var(--soft-surface);color:var(--ink);padding:5px 8px;font-size:11px;font-weight:900;font-style:normal}.option.selected .price-chip{background:var(--card-surface);color:#1d4ed8}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:10px}td{border-top:1px solid var(--line);padding:13px 10px;font-weight:650}td:last-child,th:last-child{text-align:right}.money{font-variant-numeric:tabular-nums}.summary{padding:22px;display:flex;flex-direction:column;gap:16px}.customer{background:#0f172a;color:#fff;border-radius:22px;padding:18px}.customer h2{margin:16px 0 0;font-size:21px}.customer p{color:#cbd5e1;margin:7px 0 0;line-height:1.45;font-size:13px}.summary-line{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);color:#475569;font-weight:750}.summary-pricing table{font-size:12px}.summary-pricing td,.summary-pricing th{padding:10px 6px}.summary-pricing td:first-child{font-weight:750}.summary-pricing td:nth-child(2){color:#64748b}.summary-notes{margin-top:14px;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px}.summary-notes h3{margin:0 0 7px;font-size:14px}.summary-notes p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.total-box{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:24px;padding:22px;margin-top:4px}.total-box small{display:block;opacity:.78;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.total-box strong{display:block;font-size:38px;margin-top:8px}.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 11px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:900}.dot{width:8px;height:8px;border-radius:999px;background:var(--green)}.full-button{width:100%;padding:15px}@media (max-width: 1100px){.app{grid-template-columns:1fr}.sidebar{display:none}.top-grid{grid-template-columns:1fr}}@media (max-width: 720px){body{padding:12px}.main,.summary{padding:16px}.header{align-items:flex-start;flex-direction:column}.actions,.actions button{width:100%}.steps,.field-grid,.metric-row,.options{grid-template-columns:1fr}}.card-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.card-title-row h2{margin:0}.text-button{background:transparent;color:var(--muted);padding:8px 10px}.text-button:not(:disabled):hover{color:#b91c1c}.danger-button{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.danger-button:not(:disabled):hover{background:#ffe4e6;border-color:#fb7185}.item-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.item-tab{background:var(--card-surface);border:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;gap:5px;min-height:64px;text-align:left}.item-tab span{color:var(--muted);font-size:12px}.item-tab.active{background:var(--blue-soft);border-color:#60a5fa;color:var(--blue)}.item-tab.add{align-items:center;background:var(--soft-surface);color:var(--muted);justify-content:center;text-align:center}.customer-fields{display:grid;gap:9px;margin-top:14px}.customer-fields label{color:#cbd5e1;margin-bottom:-3px}.customer-fields input{background:#ffffff14;border-color:#ffffff29;color:#fff;padding:10px 11px}.customer-grid{display:grid;gap:8px;grid-template-columns:1fr 56px 78px}.recent-card{display:grid;gap:8px}.recent-card h2{margin-bottom:4px}.quote-row{align-items:center;background:var(--soft-surface);border:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;text-align:left;width:100%}.quote-row:hover{border-color:#93c5fd}.empty-text{color:var(--muted);font-size:13px;font-weight:700;margin:0}.clients-grid{display:grid;gap:16px;grid-template-columns:minmax(320px,1.1fr) minmax(320px,.9fr)}.clients-list-card,.client-detail,.client-form{padding:20px}.clients-list-card{min-height:520px}.client-list{display:grid;gap:10px}.client-row{align-items:center;background:var(--card-surface);border:1px solid var(--line);color:var(--ink);display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:12px;text-align:left;width:100%}.client-row.active,.client-row:hover{background:var(--hover-surface);border-color:#93c5fd}.client-row small{color:var(--muted);display:block;font-size:12px;margin-top:3px}.client-row em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.client-avatar{align-items:center;background:#eaf2ff;border:1px solid #bfdbfe;border-radius:999px;color:var(--blue);display:inline-flex;font-size:12px;font-weight:900;height:38px;justify-content:center;width:38px}.client-avatar.large{font-size:16px;height:52px;width:52px}.client-form{grid-column:1 / -1}.client-form h2{margin-top:0}.client-form .btn-primary{margin-top:14px}@media (max-width: 1080px){.dashboard-grid,.clients-grid,.price-engine-grid,.settings-grid,.admin-overview-grid,.role-list,.training-grid{grid-template-columns:1fr}}.auth-shell{align-items:center;display:grid;min-height:calc(100vh - 48px);place-items:center}.auth-panel{background:var(--panel);border:1px solid rgba(219,228,239,.9);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:12px;max-width:420px;padding:28px;width:min(100%,420px)}.auth-panel h1{margin-bottom:8px}.auth-logo{height:68px;object-fit:contain;width:fit-content}@media (max-width: 720px){.price-engine-hero,.settings-hero,.training-hero{align-items:stretch;flex-direction:column}.season-row,.customer-grid{grid-template-columns:1fr}}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/opendyslexic-latin-400-normal-nUhe5EwG.woff2) format("woff2"),url(/assets/opendyslexic-latin-400-normal-Cv3YY6GF.woff) format("woff")}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/opendyslexic-latin-700-normal-Bnmt45Ln.woff2) format("woff2"),url(/assets/opendyslexic-latin-700-normal-wYUJcbXi.woff) format("woff")}
