:root{--bg:#f8fafc;--panel:#fff;--ink:#111827;--muted:#64748b;--line:#e2e8f0;--brand:#0f172a;--brand-2:#2563eb;--accent:#2563eb;--danger:#dc2626;--warning:#d97706;--success:#16a34a;--violet:#7c3aed;--surface-subtle:#f1f5f9;--surface-blue:#eff6ff;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--shadow:0 4px 16px #0f172a0e;--shadow-raised:0 12px 30px #0f172a1f;--focus:0 0 0 3px #2563eb33;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--table-row-compact:44px;--table-row-default:52px}.first-use-guide{border:1px solid var(--line);border-left:4px solid var(--brand-2);background:var(--panel);border-radius:8px;margin:18px 0;padding:20px}.first-use-guide__header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.first-use-guide__header h2{margin:4px 0 6px;font-size:20px}.first-use-guide__header p:last-child{max-width:720px;color:var(--muted);margin:0}.first-use-steps{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0 0;padding:0;list-style:none;display:grid}.first-use-steps li{background:var(--panel);grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;padding:14px;display:grid}.first-use-steps li>span{color:#1d4ed8;background:#dbeafe;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.first-use-steps strong,.first-use-steps small{display:block}.first-use-steps small{color:var(--muted);margin-top:3px;line-height:1.4}.first-use-steps a{min-height:28px;padding:4px;font-weight:700}@media (max-width:960px){.first-use-steps{grid-template-columns:1fr}}@media (max-width:520px){.first-use-guide{padding:16px}.first-use-guide__header{display:grid}.first-use-guide__header .btn{width:100%}.first-use-steps li{grid-template-columns:28px minmax(0,1fr)}.first-use-steps a{grid-column:2;justify-self:start}}.analytics-loading{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:360px;padding:24px}.analytics-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin:-4px 0 14px;font-size:11px;display:flex}.analytics-meta strong{color:var(--ink)}.analytics-metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.analytics-metric-grid .metric-card{text-align:left;width:100%;min-width:0}.analytics-attention-list{display:grid}.analytics-attention-list a{border-top:1px solid var(--line);min-height:44px;color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:9px 14px;text-decoration:none;display:flex}.analytics-attention-list a:hover{background:#f8fafc}.analytics-attention-list a>span{align-items:center;gap:9px;display:flex}.analytics-chart-grid,.analytics-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.analytics-bars{gap:11px;padding:18px;display:grid}.analytics-bars>div{grid-template-columns:72px minmax(100px,1fr) 40px 90px;align-items:center;gap:10px;min-height:24px;font-size:11px;display:grid}.analytics-bars>div>div{background:#f1f5f9;border-radius:3px;height:14px;overflow:hidden}.analytics-bars i{border-radius:inherit;background:#2563eb;height:100%;display:block}.analytics-bars small{color:var(--muted);text-align:right}.analytics-trend{min-width:0;display:grid}.chart-visual{min-width:0;padding:8px 12px 0}.chart-visual svg{width:100%;height:auto;min-height:230px;display:block;overflow:visible}.chart-visual text{fill:var(--muted);font-size:10px}.chart-gridline{stroke:#e2e8f0;stroke-width:1px}.chart-visual circle{cursor:help;outline:none}.chart-visual circle:focus{stroke-width:5px;filter:drop-shadow(0 0 3px #2563eb66)}.chart-footer{justify-content:space-between;align-items:center;gap:12px;padding:6px 16px 14px;display:flex}.chart-legend span{border-radius:2px;width:9px;height:9px}.analytics-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.analytics-donut-layout{grid-template-columns:minmax(150px,220px) minmax(0,1fr);align-items:center;gap:24px;min-height:280px;padding:20px;display:grid}.analytics-donut{aspect-ratio:1;border-radius:50%;justify-self:center;width:min(100%,210px);position:relative}.analytics-donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:24%}.analytics-donut>span{z-index:1;align-content:center;place-items:center;display:grid;position:absolute;inset:34%}.analytics-donut strong{font-size:22px}.analytics-donut small{color:var(--muted);text-transform:uppercase;font-size:10px}.analytics-donut-legend{gap:2px;margin:0;padding:0;list-style:none;display:grid}.analytics-donut-legend button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.analytics-donut-legend button:hover,.analytics-donut-legend button:focus-visible{background:#f1f5f9;outline:2px solid #0000}.analytics-donut-legend button>span{border-radius:2px;width:10px;height:10px}.analytics-donut-legend strong{font-size:12px}.analytics-donut-legend em{color:var(--muted);white-space:nowrap;font-size:11px;font-style:normal}.analytics-advanced{border:1px solid var(--line);background:#fff;margin-top:14px}.analytics-advanced>summary{cursor:pointer;color:var(--text);padding:14px 16px;font-size:13px;font-weight:800}.analytics-advanced[open]>summary{border-bottom:1px solid var(--line)}.analytics-advanced .analytics-metric-grid{margin:0;padding:14px}.analytics-advanced .analytics-breakdown-grid{margin:0;padding:0 14px 14px}.attention-panel{margin-top:14px}.metric-definitions{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:14px;overflow:hidden}.metric-definitions>summary{cursor:pointer;color:var(--ink);padding:14px 16px;font-size:12px;font-weight:700}.metric-definitions td{vertical-align:top;white-space:normal;max-width:340px}.metric-definitions td small,.table-panel td small{color:var(--muted);margin-top:3px;display:block}.numeric{text-align:right}@media (max-width:900px){.analytics-meta{display:grid}.analytics-chart-grid,.analytics-breakdown-grid,.analytics-secondary-grid{grid-template-columns:1fr}}@media (max-width:620px){.analytics-metric-grid{scroll-snap-type:x mandatory;padding-bottom:4px;display:flex;overflow-x:auto}.analytics-metric-grid .metric-card{scroll-snap-align:start;flex:0 0 76vw}.analytics-bars>div{grid-template-columns:58px minmax(80px,1fr) 32px}.analytics-bars small{text-align:left;grid-column:2/-1}.chart-visual{overflow-x:auto}.chart-visual svg{width:620px;max-width:none;min-height:220px}.chart-footer{flex-direction:column;align-items:flex-start}.analytics-donut-layout{grid-template-columns:1fr}}.attention-indicator{color:#475569;align-items:center;gap:6px;max-width:100%;font-size:10px;font-weight:800;line-height:1.3;text-decoration:none;display:inline-flex}.attention-symbol{border:1px solid;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;font-size:9px;font-weight:900;display:inline-grid}.attention-indicator.informational{color:#1d4ed8}.attention-indicator.needs_action{color:#9a3412}.attention-indicator.warning{color:#b45309}.attention-indicator.urgent,.attention-indicator.blocked{color:#b91c1c}a.attention-indicator:hover{text-decoration:underline}.attention-summary{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;align-items:flex-start;gap:12px;margin-bottom:14px;padding:11px 13px;font-size:12px;line-height:1.5;display:flex}.advanced-filters{align-self:end;position:relative}.advanced-filters>summary{border:1px solid var(--line);color:#334155;cursor:pointer;background:#fff;border-radius:7px;align-items:center;min-height:38px;padding:8px 12px;font-size:11px;font-weight:800;display:inline-flex}.advanced-filters>div{z-index:25;border:1px solid var(--line);width:min(680px,100vw - 40px);box-shadow:var(--shadow-raised);background:#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.back-link{color:#1d4ed8;margin-bottom:10px;font-size:11px;font-weight:800;display:inline-flex}.focused-workspace>.tabs{margin-bottom:14px}.lead-workspace{grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:start;gap:14px;display:grid}.lead-workspace>main{gap:14px;display:grid}.lead-workspace>aside{position:sticky;top:90px}.workspace-section,.next-action-card,.settings-section,.document-detail,.approval-detail,.template-detail{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:8px}.workspace-section,.next-action-card{padding:17px}.workspace-section h2,.next-action-card h2{margin:0 0 10px;font-size:15px}.next-action-card{background:#f8fbff;border-color:#bfdbfe;gap:11px;display:grid}.next-action-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.readable-copy{white-space:pre-wrap;max-width:75ch;line-height:1.65}.compact-payload,.advanced-panel pre{color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border-radius:6px;max-width:100%;padding:12px;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.approval-toolbar{justify-content:space-between;gap:14px;margin-bottom:14px;display:flex}.approval-toolbar .search-field{width:min(360px,100%)}.record-list-row{border-bottom:1px solid var(--line);background:#fff;position:relative}.record-list-row.active{box-shadow:inset 3px 0 0 var(--accent);background:#eff6ff}.record-list-row .record-list-item{background:0 0;border-bottom:0;padding-right:80px}.approval-quick-action{position:absolute;bottom:10px;right:10px}.approval-detail,.document-detail,.template-detail{box-shadow:none;border:0;border-radius:0;gap:15px;padding:18px;display:grid}.approval-source-summary,.decision-panel{border:1px solid var(--line);border-radius:7px;padding:14px}.approval-source-summary p,.decision-panel p{color:#475569;font-size:12px;line-height:1.55}.decision-panel{background:#f8fafc;gap:12px;display:grid}.advanced-panel{border:1px solid var(--line);background:#fff;border-radius:7px}.advanced-panel>summary{color:#475569;cursor:pointer;padding:12px 14px;font-size:11px;font-weight:800}.advanced-panel>:not(summary){margin:0 12px 12px}.document-filters{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(140px,.7fr));align-items:end;gap:10px;margin-bottom:14px;padding:13px;display:grid}.document-preview{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:7px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:120px;padding:16px;display:grid}.document-preview>span{color:#1d4ed8;background:#dbeafe;border-radius:7px;place-items:center;width:48px;height:48px;font-size:11px;font-weight:900;display:grid}.document-preview p{color:var(--muted);margin:4px 0 0;font-size:11px}.settings-workspace{margin-top:14px}.settings-section{overflow:hidden}.settings-section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.settings-section>header h2{margin:0;font-size:16px}.settings-section>header p{max-width:680px;color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.settings-section-body{gap:16px;padding:18px;display:grid}.settings-section>footer{border-top:1px solid var(--line);background:#f8fafc;justify-content:flex-end;padding:12px 18px;display:flex}.settings-warning{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:7px;padding:12px 14px}.settings-warning p{margin:4px 0 0;font-size:11px;line-height:1.55}.settings-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-link-grid a{border:1px solid var(--line);border-radius:7px;gap:5px;padding:13px;display:grid}.settings-link-grid a:hover{background:#eff6ff;border-color:#93c5fd}.settings-link-grid strong{font-size:12px}.settings-link-grid span{color:var(--muted);font-size:10px;line-height:1.45}.template-detail>.tabs{border-bottom:1px solid var(--line);margin-inline:-18px;padding-inline:18px}.demo-record{background:#f8fafc}.template-editor{gap:16px;display:grid}.contract-body-editor{min-height:55vh;font-family:ui-serif,Georgia,serif;font-size:14px;line-height:1.7}.contract-reader{border:1px solid var(--line);background:#fcfcfd;border-radius:7px;overflow:hidden}.contract-reader>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.contract-reader>header>div{gap:3px;display:grid}.contract-reader>header span{color:var(--muted);font-size:10px}.contract-readable-text{color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;min-height:420px;padding:clamp(22px,5vw,58px);font:14px/1.8 ui-serif,Georgia,serif}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-list span{color:#475569;background:#f1f5f9;border-radius:5px;padding:5px 7px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.version-history{border:1px solid var(--line);border-radius:7px;display:grid;overflow:hidden}.version-history button{border:0;border-bottom:1px solid var(--line);min-height:58px;color:var(--ink);text-align:left;background:#fff;grid-template-columns:minmax(0,1fr) auto minmax(110px,auto);align-items:center;gap:12px;padding:10px 13px;display:grid}.version-history button.active{box-shadow:inset 3px 0 0 var(--accent);background:#eff6ff}.version-history button>div{gap:3px;display:grid}.version-history button span{color:var(--muted);font-size:10px}.project-overview-band{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;display:grid}.project-overview-band>div{border-right:1px solid var(--line);gap:5px;min-width:0;padding:13px;display:grid}.project-overview-band>div:last-child{border-right:0}.project-overview-band span,.project-overview-band small{color:var(--muted);font-size:10px}.project-overview-band strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.workspace-anchor-nav{border-bottom:1px solid var(--line);gap:2px;margin-bottom:14px;display:flex;overflow-x:auto}.workspace-anchor-nav a{color:#475569;flex:none;padding:9px 10px;font-size:10px;font-weight:800}.workspace-anchor-nav a:hover{color:#1d4ed8;background:#eff6ff}.schedule-focus-grid button.stat{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left}.schedule-focus-grid button.stat:hover{background:#eff6ff;border-color:#93c5fd}.exception-shortcuts{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.exception-shortcuts a{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;min-height:38px;padding:8px 10px;display:inline-flex}.exception-shortcuts a:hover{background:#eff6ff;border-color:#93c5fd}.advanced-review-filters{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:14px}.advanced-review-filters>summary{color:#334155;cursor:pointer;align-items:center;min-height:42px;padding:8px 13px;font-size:11px;font-weight:800;display:flex}.advanced-review-filters .filter-bar{border:0;border-top:1px solid var(--line);border-radius:0}.analytics-export-limit{color:var(--muted);align-items:center;gap:9px;margin:-4px 0 14px;font-size:10px;line-height:1.4;display:flex}.analytics-export-limit strong{color:#334155}@media (max-width:760px){.advanced-filters>summary{justify-content:center;width:100%}.advanced-filters>div{width:100%;box-shadow:none;grid-template-columns:1fr;margin-top:6px;position:static}.lead-workspace{grid-template-columns:1fr}.lead-workspace>aside{grid-row:1;position:static}.approval-toolbar{display:grid}.approval-toolbar .search-field{width:100%}.document-filters{grid-template-columns:1fr}.document-preview{grid-template-columns:44px minmax(0,1fr)}.document-preview .btn{grid-column:1/-1}.settings-section>header{display:grid}.settings-link-grid{grid-template-columns:1fr}.version-history button{grid-template-columns:1fr auto}.version-history button>span:last-child{grid-column:1/-1}.contract-reader>header{flex-direction:column;align-items:stretch}.contract-readable-text{min-height:320px;padding:22px 18px;font-size:13px}.project-overview-band{grid-template-columns:1fr}.project-overview-band>div{border-right:0;border-bottom:1px solid var(--line)}.project-overview-band>div:last-child{border-bottom:0}.exception-shortcuts{grid-template-columns:1fr;display:grid}.analytics-export-limit{flex-direction:column;align-items:flex-start}}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{grid-template-columns:260px minmax(0,1fr);align-items:start;min-height:100vh;display:grid}.sidebar{z-index:20;background:var(--brand);color:#fff;flex-direction:column;height:100dvh;padding:24px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.logo{align-items:center;gap:12px;margin-bottom:32px;display:flex}.logo-mark{background:var(--brand-2);color:#fff;border-radius:8px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.logo strong{font-size:15px;display:block}.logo span{color:#cbd5e1;margin-top:2px;font-size:12px;display:block}.nav{gap:7px;display:grid}.nav a{color:#e2e8f0;border-radius:8px;padding:10px 11px;font-size:14px}.nav a:hover,.nav a.active{color:#fff;background:#2563eb47}.nav.grouped{gap:13px}.nav-heading{color:#93a4b8;text-transform:uppercase;letter-spacing:.08em;padding:0 11px;font-size:11px;font-weight:850}.sidebar-footer{color:#cbd5e1;border:1px solid #ffffff24;border-radius:8px;margin-top:auto;padding:14px;font-size:12px;line-height:1.5}.main{width:100%;min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:12px 34px;display:flex;position:sticky;top:0}.topbar h1,.topbar-title{margin:0;font-size:18px;font-weight:850}.topbar .badge{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.content{padding:30px 34px 60px}.pilot-banner{z-index:14;color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;padding:9px 34px;font-size:13px;font-weight:750;position:sticky;top:74px}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-head h2{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0 0 8px;font-size:30px;line-height:1.1}.page-head p{color:var(--muted);overflow-wrap:anywhere;max-width:720px;margin:0;line-height:1.6}.grid{gap:18px;display:grid}.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr)}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.card-pad{padding:20px}.metric{padding:18px}.metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700;display:block}.metric strong{letter-spacing:-.03em;margin-top:10px;font-size:26px;display:block}.metric small{color:var(--muted);margin-top:6px;display:block}.section-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title h3{margin:0;font-size:17px}.section-title span{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f1f5f9;padding:11px 14px;font-size:11px}td{border-top:1px solid var(--line);vertical-align:top;padding:14px;font-size:14px}.status{color:#475569;background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.status.approved,.status.paid,.status.active,.status.complete,.status.open,.status.on_site{color:var(--success);background:#dcfce7}.status.rejected,.status.overdue{color:var(--danger);background:#fee2e2}.btn{background:var(--brand);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;font-size:13px;font-weight:750;display:inline-flex}.btn.secondary{color:#1e40af;background:#eef2ff}.btn.gold{background:var(--brand-2);color:#fff}.btn.success{background:var(--success);color:#fff}.btn.danger{background:var(--danger)}.btn.small{padding:7px 10px;font-size:12px}.form-card{padding:22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}label{color:var(--muted);font-size:12px;font-weight:750}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px #2563eb24}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #dc26261a}textarea{resize:vertical;min-height:110px}.required,.field-error{color:var(--danger)}.field-error{font-size:12px;font-weight:700}.actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.notice{border-left:4px solid var(--accent);color:#1e3a8a;background:#eff6ff;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.55}.topbar-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.user-menu{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:8px;display:flex}.user-menu div{gap:2px;min-width:0;display:grid}.user-menu strong{text-overflow:ellipsis;white-space:nowrap;max-width:210px;font-size:12px;overflow:hidden}.user-menu span,.muted-copy{color:var(--muted);font-size:12px}.auth-state{gap:16px;max-width:680px;display:grid}.auth-state h2{margin:0;font-size:24px}.auth-state p{color:var(--muted);margin:8px 0 0;line-height:1.6}.skeleton-line{background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0) 0 0/220% 100%;border-radius:999px;width:62%;height:14px;animation:1.5s linear infinite skeleton}.skeleton-line.wide{width:86%;height:18px}.skeleton-line.short{width:34%}@keyframes skeleton{0%{background-position:220% 0}to{background-position:-220% 0}}.pipeline{gap:10px;display:grid}.pipeline-row{grid-template-columns:1fr 42px;align-items:center;gap:12px;display:grid}.pipeline-bar{background:#e2e8f0;border-radius:999px;height:9px;margin-top:6px;overflow:hidden}.pipeline-bar i{background:var(--brand-2);border-radius:inherit;height:100%;display:block}.pipeline-label{font-size:13px}.pipeline-count{text-align:right;font-weight:800}.action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.action-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:9px;min-height:92px;padding:14px;display:grid}.action-card:hover{border-color:var(--brand-2);box-shadow:0 0 0 3px #2563eb1a}.action-card span{color:var(--muted);font-weight:750;line-height:1.35}.action-card strong{letter-spacing:-.02em;font-size:28px}.ai-result{white-space:pre-wrap;line-height:1.6}.kv{grid-template-columns:170px 1fr;gap:8px 14px;font-size:14px;display:grid}.kv div:nth-child(odd){color:var(--muted);font-weight:700}.empty{text-align:center;color:var(--muted);padding:36px 20px}.estimate-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.estimate-list{position:sticky;top:94px}.estimate-editor{grid-row:span 3}.estimate-picker{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;gap:7px;padding:12px;display:grid}.estimate-picker:hover,.estimate-picker.active{border-color:var(--brand-2);box-shadow:0 0 0 3px #2563eb1a}.estimate-picker span,.assembly-row span{color:var(--muted);font-size:12px;line-height:1.4}.line-item-head{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 14px;display:flex}.line-item-head h3{margin:0 0 4px;font-size:17px}.line-item-head p{color:var(--muted);margin:0;font-size:13px}.line-items{gap:14px;display:grid}.line-item{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:14px}.line-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.line-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.span-2{grid-column:span 2}.review-controls{flex-wrap:wrap;grid-column:1/-1;gap:14px;padding-top:2px;display:flex}.review-controls label{color:var(--ink);align-items:center;gap:7px;display:inline-flex}.review-controls input{width:auto}.stored-price{color:var(--muted);margin-top:10px;font-size:13px}.editor-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:16px;display:flex}.review-warning,.review-clear{font-size:13px;line-height:1.45}.review-warning{color:var(--danger);font-weight:750}.review-clear{color:var(--success)}.lead-create,.assembly-library{grid-column:1}.assembly-row{border-bottom:1px solid var(--line);gap:4px;padding-bottom:12px;display:grid}.estimate-index,.estimate-editor-page{gap:18px;min-width:0;display:grid}.estimate-metrics{margin-bottom:0}.compact-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.list-toolbar{box-shadow:none;grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(170px,.75fr));align-items:end;gap:14px;margin-bottom:18px;display:grid}.narrow-page{max-width:900px;margin:0 auto}.detail-main,.detail-aside{align-content:start;gap:18px;display:grid}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.related-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.timeline-list{display:grid}.timeline-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:11px 0;display:flex}.timeline-list span{color:var(--muted);font-size:12px}.workflow-action{gap:6px;margin-bottom:10px;display:grid}.workflow-action small{color:var(--warning);line-height:1.4}.editor-mode{flex-wrap:nowrap}.settings-divider{border-top:1px solid var(--line);padding:16px 0 4px}.settings-divider small{color:var(--muted);margin-top:5px;display:block}.template-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.template-full-screen{z-index:50;background:var(--bg);grid-template-columns:minmax(240px,320px) minmax(0,1fr);padding:22px;position:fixed;inset:0;overflow:auto}.estimate-filters{box-shadow:none;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(160px,1fr));align-items:end;gap:14px;display:grid}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;font-size:13px;display:flex}.estimate-editor-head{margin-bottom:0}.estimate-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:18px;min-width:0;display:grid}.estimate-main{gap:18px;min-width:0;display:grid}.estimate-section{box-shadow:none;min-width:0}.estimate-summary-panel{gap:14px;display:grid;position:sticky;top:96px}.customer-total{color:#1e3a8a;background:#eff6ff;border:1px solid #2563eb40;border-radius:8px;gap:8px;padding:16px;display:grid}.customer-total span{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:850}.customer-total strong{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:30px}.contractor-only{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f1f5f9;border-radius:999px;justify-self:start;padding:5px 8px;font-size:11px;font-weight:850}.summary-list{gap:9px;display:grid}.summary-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:9px;font-size:13px;display:flex}.summary-list span{color:var(--muted)}.inline-create{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.inline-create summary{cursor:pointer;color:var(--brand-2);margin-bottom:12px;font-weight:850}.line-item-head.compact{margin-top:0}.modern-line-item{background:#fff}.customer-line-grid{align-items:start}.internal-breakdown{border:1px dashed var(--line);background:#f8fafc;border-radius:8px;margin-top:12px;padding:12px}.internal-breakdown summary{cursor:pointer;color:var(--brand);font-weight:850}.internal-breakdown[open] summary{margin-bottom:12px}.modern-review-controls{margin-top:12px}.review-gate{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:9px;margin-top:12px;padding:12px;display:grid}.review-gate small{color:var(--muted);line-height:1.45}.review-note-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.item-status-grid{border:1px solid var(--line);background:var(--line);border-radius:8px;gap:1px;margin-top:12px;display:grid;overflow:hidden}.item-status-row{background:#fff;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:11px 12px;display:flex}.item-status-row>div:first-child{gap:2px;min-width:0;display:grid}.item-status-row strong{color:var(--ink);font-size:13px}.item-status-row small{color:var(--muted);overflow-wrap:anywhere;line-height:1.4;display:block}.item-status-row.unresolved{box-shadow:inset 3px 0 0 var(--warning);background:#fffbeb}.item-status-row.unresolved strong{color:#92400e}.item-status-row.resolved{box-shadow:inset 3px 0 0 var(--success)}.item-status-label{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.compact-check{color:var(--ink);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.compact-check input{width:auto}.status-action{align-items:center;gap:8px;min-width:min(100%,330px);display:flex}.status-action input{min-width:0}.status-action .btn{white-space:nowrap}.review-action{min-width:min(100%,430px)}.approval-panel{gap:14px;display:grid}.review-summary-grid{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.blocker-list{gap:8px;display:grid}.blocker-row{color:#78350f;text-align:left;background:#fffbeb;border:1px solid #d9770659;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.blocker-row span{gap:3px;line-height:1.45;display:grid}.blocker-row span strong{color:#78350f}.blocker-row small{color:#92400e;display:block}.blocker-row>b{white-space:nowrap;color:#92400e;font-size:12px}.approval-check{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;line-height:1.45;display:flex}.approval-check input{width:auto;margin-top:2px}.attention-flash{border-color:var(--warning);transition:box-shadow .2s,border-color .2s;box-shadow:0 0 0 4px #d9770640}.segmented{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-wrap:wrap;gap:6px;padding:4px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:9px 11px;font-weight:800}.segmented button.active{color:#fff;background:var(--brand)}.proposal-preview{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:10px;margin-top:14px;padding:14px;display:grid}.proposal-preview h4,.proposal-preview p{margin:0}.proposal-preview small{color:var(--muted);line-height:1.5}.proposal-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:8px 0;display:flex}.proposal-row span{overflow-wrap:anywhere}.approval-actions{margin-top:12px}.error-notice{border-left-color:var(--danger);color:#991b1b;background:#fef2f2}.warning-notice{border-left-color:var(--warning);color:#92400e;background:#fffbeb;margin:14px 0}.contracts-page{gap:18px;min-width:0;display:grid}.contracts-head{margin-bottom:0}.contracts-message{margin:0}.contract-summary{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid}.contract-builder{box-shadow:none}.builder-actions{margin-top:16px}.checkbox-field{color:var(--ink);align-items:center;gap:10px;padding-top:26px;display:flex}.checkbox-field input{width:auto}.contract-filters{box-shadow:none;grid-template-columns:minmax(260px,1fr) minmax(180px,260px);align-items:end;gap:14px;display:grid}.contracts-workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:18px;min-width:0;display:grid}.contract-list-panel{max-height:calc(100dvh - 118px);box-shadow:none;position:sticky;top:94px;overflow:auto}.contract-list{gap:10px;display:grid}.contract-list-item{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);text-align:left;background:#fff;border-radius:8px;gap:7px;padding:13px;display:grid}.contract-list-item:hover,.contract-list-item.active{border-color:var(--brand-2);box-shadow:0 0 0 3px #2563eb1a}.contract-list-item span{overflow-wrap:anywhere;min-width:0;color:var(--muted);font-size:12px;line-height:1.4}.contract-detail-panel{min-width:0;box-shadow:none;padding:22px}.contract-detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.contract-detail-head h3{margin:0 0 6px;font-size:24px;line-height:1.15}.contract-detail-head p{color:var(--muted);margin:0}.contract-actions{flex-wrap:wrap;gap:9px;margin:16px 0;display:flex}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:16px 0;display:flex}.tabs button,.tabs a{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 12px;font-weight:800}.tabs button.active,.tabs a.active{color:var(--brand-2);border-bottom-color:var(--brand-2)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;min-width:0;display:grid}.detail-grid>.event-list,.detail-grid>.card:only-child{grid-column:1/-1}.json-pre,.event-row pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#334155;border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:12px;font-size:12px;line-height:1.5}.event-list{gap:12px;display:grid}.event-row{border-bottom:1px solid var(--line);gap:6px;padding-bottom:12px;display:grid}.event-row span{color:var(--muted);font-size:12px}.dev-preview{color:#78350f;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;gap:12px;margin:16px 0;padding:16px;display:grid}.dev-preview p{margin:0;line-height:1.5}.dev-recipient-grid{gap:12px;display:grid}.dev-recipient{background:#fff;border:1px solid #d9770659;border-radius:8px;gap:8px;padding:12px;display:grid}.dev-recipient span{color:#92400e;font-size:12px}.kv.compact{grid-template-columns:140px minmax(0,1fr);font-size:13px}.breakable{overflow-wrap:anywhere;word-break:break-word}.document-row{align-items:start}.signing-page{gap:18px;min-width:0;max-width:960px;display:grid}.signing-head{margin-bottom:0}.contract-body{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:#1f2937;max-width:100%;font-size:14px;line-height:1.65}.packet-row{border-bottom:1px solid var(--line);color:var(--ink);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.packet-row input{width:auto;margin-top:3px}.packet-row span{gap:4px;display:grid}.packet-row small{color:var(--muted);overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.signing-complete{background:#f0fdf4;border-color:#16a34a59}.signing-complete.declined{background:#fef2f2;border-color:#dc262659}.signing-complete p{color:var(--muted);margin:0;line-height:1.6}@media (max-width:760px){.list-toolbar,.compact-metrics{grid-template-columns:1fr}.related-row,.timeline-list>div{flex-direction:column;align-items:stretch}.template-full-screen{grid-template-columns:1fr;padding:14px}}@media (max-width:1120px){.metrics,.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.estimate-layout,.estimate-workspace,.contracts-workspace,.detail-grid{grid-template-columns:1fr}.estimate-list,.estimate-summary-panel,.contract-list-panel{max-height:none;position:static}.estimate-editor,.lead-create,.assembly-library{grid-area:auto}.line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.estimate-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.mobile-clock{gap:14px;display:grid}.clock-button{border-radius:8px;min-height:92px;font-size:20px}.time-clock-layout{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.time-clock-layout .correction-card{grid-column:2}.clock-status-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:14px;display:flex}.clock-status-line span{color:var(--muted);font-size:13px}.clock-status-line strong{font-size:18px}.current-shift{border-left:3px solid var(--success);background:#f0fdf4;gap:4px;padding:14px;display:grid}.current-shift span{color:var(--muted);font-size:13px}.today-assignment{border:1px solid #bfdbfe;border-left:3px solid var(--brand-2);background:#eff6ff;border-radius:8px;gap:4px;padding:12px;display:grid}.today-assignment span,.today-assignment small{color:#1e40af;font-size:12px}.break-controls{grid-template-columns:minmax(0,1fr) minmax(140px,auto);gap:10px;display:grid}.last-punch{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:5px 12px;padding-top:14px;display:grid}.last-punch span,.last-punch small{color:var(--muted);font-size:12px}.last-punch small{grid-column:1/-1}.field label span{color:var(--muted);font-weight:400}.field-hint{border-left:3px solid var(--accent);color:var(--ink);background:#eff6ff;margin:7px 0 0;padding:9px;font-size:13px}.notice.success{background:#f0fdf4;border-color:#86efac}.notice.error{color:var(--danger);background:#fef2f2;border-color:#fecaca}.responsive-list{width:100%;overflow-x:auto}.responsive-list table{width:100%}.time-review-stats{margin-bottom:18px}.filter-bar{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(6,minmax(120px,1fr)) auto;gap:8px;margin-bottom:18px;padding:12px;display:grid}.filter-bar input,.filter-bar select{width:100%;min-width:0}.time-review-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr)}.correction-list,.period-list{gap:10px;display:grid}.review-item{border-bottom:1px solid var(--line);padding:13px 0}.review-item:last-child{border-bottom:0}.review-item>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-item p{color:var(--muted);margin:7px 0;font-size:13px;line-height:1.5}.review-item small{color:var(--muted);overflow-wrap:anywhere}.review-item .actions{margin-top:10px}.payroll-grid{align-items:start}.payroll-stubs{grid-column:1}.paystub-list{gap:12px;max-width:920px;display:grid}.paystub-card{grid-template-columns:repeat(5,minmax(100px,1fr)) auto;align-items:center;gap:14px;padding:18px;display:grid}.paystub-card>div{gap:4px;display:grid}.paystub-card span{color:var(--muted);font-size:12px}.payroll-toolbar{border:1px solid var(--line);background:#fff;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:flex}.payroll-toolbar>.field{flex:1;max-width:520px}.compact-menu{position:relative}.compact-menu>summary{cursor:pointer;list-style:none}.compact-menu>summary::-webkit-details-marker{display:none}.popover-form{z-index:30;border:1px solid var(--line);width:min(360px,100vw - 32px);box-shadow:var(--shadow-raised);background:#fff;border-radius:6px;gap:10px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.popover-form label,.payroll-worksheet label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.payroll-progress{grid-template-columns:repeat(5,1fr);margin-bottom:14px;padding:16px;display:grid}.payroll-progress>div{color:var(--muted);text-align:center;justify-items:center;gap:6px;font-size:12px;display:grid;position:relative}.payroll-progress>div:before{content:"";background:var(--line);z-index:0;width:100%;height:2px;position:absolute;top:13px;right:50%}.payroll-progress>div:first-child:before{display:none}.payroll-progress span{z-index:1;border:2px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:grid;position:relative}.payroll-progress .complete{color:var(--text)}.payroll-progress .complete:before{background:var(--accent)}.payroll-progress .complete span{border-color:var(--accent);background:var(--accent);color:#fff}.payroll-next{justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;padding:20px;display:flex}.payroll-next h2{margin:8px 0 4px;font-size:18px}.payroll-next p,.section-title p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.metric-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.metric-row>div{border:1px solid var(--line);background:#fff;gap:5px;padding:14px;display:grid}.metric-row span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.metric-row strong{font-size:18px}.payroll-table td{vertical-align:middle}.payroll-table td small{color:var(--muted);margin-top:4px;display:block}.muted{color:var(--muted)}.payroll-drawer{width:min(620px,100%)}.payroll-drawer header p{color:var(--muted);margin:4px 0 0;font-size:12px}.payroll-worksheet{gap:16px;padding:18px;display:grid}.payroll-worksheet fieldset{border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;padding:14px;display:grid}.payroll-worksheet legend{color:var(--text);padding:0 6px;font-size:13px;font-weight:800}.payroll-worksheet .full{grid-column:1/-1}.notice.compact{margin:0;padding:10px 12px;font-size:12px}.paystub-workspace{grid-template-columns:260px minmax(0,720px);align-items:start;gap:14px;display:grid}.paystub-periods{display:grid;overflow:hidden}.paystub-periods button{border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;cursor:pointer;background:#fff;gap:3px;padding:14px;display:grid}.paystub-periods button:last-child{border-bottom:0}.paystub-periods button:hover,.paystub-periods button.active{box-shadow:inset 3px 0 var(--accent);background:#eff6ff}.paystub-periods span,.paystub-periods small{color:var(--muted);font-size:12px}.paystub-detail{overflow:hidden}.paystub-detail>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:20px;display:flex}.paystub-detail header span,.paystub-net span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.paystub-detail h2{margin:5px 0;font-size:20px}.paystub-detail header p{color:var(--muted);margin:0;font-size:13px}.paystub-net{background:#eff6ff;gap:5px;padding:22px;display:grid}.paystub-net strong{color:#1d4ed8;font-size:32px}.paystub-net small{color:var(--muted)}.paystub-breakdown{grid-template-columns:1fr 1fr;gap:28px;padding:22px;display:grid}.paystub-breakdown h3{margin:0 0 10px;font-size:14px}.paystub-breakdown section>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.paystub-breakdown .total{border-top:2px solid var(--text);border-bottom:0;margin-top:4px;font-size:14px}.paystub-detail>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}@media (max-width:760px){.payroll-toolbar{flex-direction:column;align-items:stretch}.payroll-toolbar>.field{max-width:none}.compact-menu>summary,.payroll-toolbar>.btn{width:100%}.popover-form{width:auto;position:fixed;inset:auto 16px 16px}.payroll-progress{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}.payroll-progress strong{font-size:10px}.payroll-next{flex-direction:column;align-items:stretch}.metric-row{grid-template-columns:1fr 1fr}.payroll-worksheet fieldset{grid-template-columns:1fr}.payroll-worksheet .full{grid-column:auto}.paystub-workspace{grid-template-columns:1fr}.paystub-periods{grid-auto-columns:minmax(170px,70vw);grid-auto-flow:column;overflow-x:auto}.paystub-periods button{border-right:1px solid var(--line);border-bottom:0}.paystub-breakdown{grid-template-columns:1fr;gap:20px}.time-clock-layout{grid-template-columns:minmax(0,1fr)}.time-clock-layout .correction-card{grid-column:1}.mobile-clock{padding:16px}.clock-button{width:100%;min-height:96px;font-size:22px}.break-controls{grid-template-columns:1fr}.responsive-list{overflow:visible}.responsive-list table,.responsive-list tbody,.responsive-list tr,.responsive-list td{width:100%;display:block}.responsive-list thead{display:none}.responsive-list tr{border-bottom:1px solid var(--line);padding:11px 0}.responsive-list td{overflow-wrap:anywhere;border:0;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:4px 0;display:grid}.responsive-list td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .btn{grid-column:1/-1}.time-review-grid,.payroll-grid{grid-template-columns:minmax(0,1fr)}.payroll-stubs{grid-column:1}.paystub-card{grid-template-columns:1fr 1fr}.paystub-card .actions{grid-column:1/-1}}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.stat span{color:var(--muted);font-size:12px;font-weight:700;display:block}.stat strong{margin-top:8px;font-size:22px;display:block}@media (max-width:760px){.shell{grid-template-columns:1fr}.sidebar{height:auto;padding:16px;position:static}.logo{margin-bottom:14px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-group{min-width:0}.nav a{overflow-wrap:anywhere;min-width:0}.sidebar-footer{display:none}.topbar{flex-direction:column;align-items:stretch;padding:12px 18px}.topbar-actions,.user-menu{justify-content:space-between;width:100%}.topbar h1,.topbar-title{font-size:18px}.pilot-banner{padding:9px 18px;top:0}.content{padding:22px 18px 50px}.metrics,.action-grid,.form-grid,.line-grid,.stat-grid,.contract-summary,.contract-filters,.estimate-filters,.review-summary-grid,.review-note-row{grid-template-columns:1fr}.span-2{grid-column:auto}.page-head,.line-item-head,.line-toolbar,.editor-footer,.contract-detail-head,.proposal-row,.blocker-row,.item-status-row,.status-action{flex-direction:column;align-items:stretch}.status-action,.review-action{width:100%;min-width:0}.contract-detail-panel{padding:18px}.kv,.kv.compact{grid-template-columns:1fr}.responsive-table table{min-width:920px}.customer-total strong{font-size:24px}}.schedule-page{gap:18px;min-width:0;display:grid}.schedule-page .page-head{margin-bottom:0}.schedule-page .badge{color:#1d4ed8;background:#dbeafe;border-radius:8px;align-items:center;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.schedule-toolbar{box-shadow:none;grid-template-columns:auto minmax(180px,1fr) minmax(180px,1fr) minmax(150px,.7fr);align-items:end;gap:12px;padding:14px;display:grid}.schedule-more-filters{box-shadow:none;padding:12px 14px}.schedule-more-filters summary{cursor:pointer;color:var(--brand-2);font-size:12px;font-weight:800}.schedule-more-filters[open] summary{margin-bottom:12px}.schedule-more-filters>div,.schedule-focus-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.schedule-workspace{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);align-items:start;gap:18px;min-width:0;display:grid}.schedule-board{min-width:0;box-shadow:none}.schedule-side{gap:18px;min-width:0;display:grid}.workspace-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.workspace-tabs button{appearance:none;color:var(--muted);white-space:nowrap;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 14px;font-weight:700}.workspace-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.schedule-agenda-workspace{gap:16px;display:grid}.schedule-status-strip{border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;flex-wrap:wrap;gap:0;display:flex}.schedule-status-strip span{color:var(--muted);border-right:1px solid var(--border);padding:9px 14px;font-size:13px}.schedule-status-strip span:last-child{border-right:0}.schedule-status-strip strong{color:var(--text)}.unscheduled-list--page{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.schedule-crew-form{max-width:520px;margin-top:18px}.secondary-settings{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.secondary-settings>summary{cursor:pointer;font-weight:750}.secondary-settings .schedule-form{max-width:600px;margin-top:14px}.agenda-requests{border-top:1px solid var(--border);padding-top:12px}.agenda-requests>summary{cursor:pointer;font-weight:750}.schedule-drawer-form{min-width:0;padding:18px}.schedule-drawer-form .segmented{align-self:start}.activity-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.drawer-actions{border-top:1px solid var(--border);background:var(--card);z-index:2;justify-content:flex-end;gap:8px;margin:8px -18px -18px;padding:14px 18px;display:flex;position:sticky;bottom:0}.customer-safe-field{border-left:3px solid #2563eb;padding-left:12px}.internal-field{border-left:3px solid #64748b;padding-left:12px}.advanced-fields>summary{cursor:pointer;padding:10px 0;font-weight:750}.advanced-fields-body{gap:14px;display:grid}.estimate-cost-help{color:#334155;background:#eff6ff;border-left:3px solid #2563eb;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.5}.pricing-method-choice{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 12px;padding:0;display:grid}.pricing-method-choice legend{margin-bottom:7px;font-size:12px;font-weight:800}.pricing-method-choice label{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:6px;align-items:flex-start;gap:9px;min-height:74px;padding:11px;display:flex}.pricing-method-choice label.active{background:#eff6ff;border-color:#2563eb}.pricing-method-choice input{margin-top:3px}.pricing-method-choice span,.pricing-method-choice strong,.pricing-method-choice small{display:block}.pricing-method-choice small{color:var(--muted);margin-top:4px;font-weight:500;line-height:1.35}.estimate-library-page{gap:18px;display:grid}.library-rows{border-top:1px solid var(--border);gap:0;margin-top:16px;display:grid}.library-rows article{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:58px;padding:9px 0;display:grid}.library-rows article>div:first-child strong,.library-rows article>div:first-child span{display:block}.library-rows article>div:first-child span{color:var(--muted);margin-top:3px;font-size:12px}.library-unit-form{grid-template-columns:minmax(160px,1fr) minmax(100px,.5fr) auto}.saved-item-form{border:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.saved-item-form label{color:var(--muted);gap:5px;font-size:11px;font-weight:750;display:grid}.saved-item-form>label:nth-child(2),.saved-item-form>label:last-of-type,.saved-item-form .saved-item-costs,.saved-item-form .actions{grid-column:1/-1}.saved-item-costs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (max-width:640px){.pricing-method-choice,.saved-item-form,.saved-item-costs{grid-template-columns:1fr}.saved-item-form>*{grid-column:1!important}.library-rows article{grid-template-columns:minmax(0,1fr) auto}.library-rows article>.actions{grid-column:1/-1}.library-unit-form{grid-template-columns:1fr}}.projects-index,.project-detail-page,.project-overview{gap:18px;min-width:0;display:grid}.project-index-filters{grid-template-columns:minmax(240px,1.5fr) minmax(180px,.8fr) auto auto auto;align-items:end;gap:12px;padding:14px;display:grid}.project-index-filters>label:not(.compact-check){color:var(--muted);gap:5px;font-size:11px;font-weight:750;display:grid}.project-inactive-filter{align-items:center;min-height:40px}.selection-action-bar{background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:9px;padding:10px 12px;display:flex}.selection-action-bar span{margin-right:auto;font-weight:750}.project-index-table{overflow:hidden}.project-index-table .section-title{border-bottom:1px solid var(--border);margin:0}.project-index-table table{min-width:1320px}.project-index-table td>small,.project-index-table td>strong{display:block}.project-index-table td>small{color:var(--muted);margin-top:3px}.project-index-table .attention-indicator{margin:2px 3px 2px 0}.project-name-link{color:var(--text);font-weight:800;text-decoration:none}.project-name-link:hover,.project-name-link:focus-visible{color:var(--accent);text-decoration:underline}.back-link{color:var(--accent);margin-bottom:6px;font-size:12px;font-weight:750;text-decoration:none;display:inline-block}.project-tabs{z-index:20;background:var(--background);position:sticky;top:0}.project-financial-strip{border:1px solid var(--border);background:var(--card);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.project-financial-strip>div{border-right:1px solid var(--border);min-width:0;padding:13px}.project-financial-strip>div:last-child{border-right:0}.project-financial-strip span,.project-financial-strip strong{display:block}.project-financial-strip span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:750}.project-financial-strip strong{margin-top:6px;font-size:15px}.project-status-actions{gap:12px;display:grid}.project-status-actions>summary{cursor:pointer;font-weight:800}.project-status-actions label{gap:5px;display:grid}.record-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.record-detail-list>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,.5fr) 1fr;gap:12px;padding:10px 0;display:grid}.record-detail-list dt{color:var(--muted);font-weight:700}.record-detail-list dd{margin:0;font-weight:700}.upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.upload-row label{gap:5px;display:grid}@media (max-width:900px){.project-index-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.project-financial-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.project-index-filters,.project-financial-strip,.record-detail-list,.upload-row{grid-template-columns:1fr}.project-financial-strip>div{border-right:0;border-bottom:1px solid var(--border)}.project-financial-strip>div:last-child{border-bottom:0}.project-tabs{margin-inline:-14px;padding-inline:14px;top:0}}.schedule-list{gap:8px;display:grid}.schedule-row{border:1px solid var(--line);background:#fff;border-left:4px solid #94a3b8;border-radius:8px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:13px;display:grid}.schedule-row.priority-high{border-left-color:var(--warning)}.schedule-row.priority-critical{border-left-color:var(--danger)}.schedule-date{border-right:1px solid var(--line);gap:3px;padding-right:12px;display:grid}.schedule-date strong{font-size:15px}.schedule-date span,.schedule-detail>span,.schedule-detail small{color:var(--muted);font-size:12px;line-height:1.45}.schedule-detail{gap:5px;min-width:0;display:grid}.schedule-detail>span,.schedule-detail small{overflow-wrap:anywhere}.schedule-row-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.schedule-row-title>strong{overflow-wrap:anywhere}.customer-visible-label{color:#1d4ed8;background:#eff6ff;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:800;display:inline-flex}.schedule-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:220px;display:flex}.schedule-form,.advanced-fields{gap:13px;display:grid}.segmented.compact button{padding:6px 8px;font-size:11px}.check-grid{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-wrap:wrap;gap:8px 14px;padding:9px 10px;display:flex}.check-grid .compact-check{white-space:normal;font-size:12px}.advanced-fields{border-top:1px solid var(--line);padding-top:13px}.conflict-panel{color:#78350f;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;gap:9px;padding:12px;font-size:12px;line-height:1.5;display:grid}.crew-swatches{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.crew-swatches span{border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:6px 8px;font-size:12px;display:inline-flex}.crew-swatches i{border-radius:50%;width:9px;height:9px;display:block}.inline-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.preview-link{color:var(--brand-2);overflow-wrap:anywhere;font-size:12px;font-weight:800}.request-list{gap:10px;display:grid}.request-list article{border-bottom:1px solid var(--line);gap:5px;padding-bottom:11px;display:grid}.request-list article>span{color:var(--muted);font-size:12px}.request-list p{color:#334155;margin:0;font-size:13px;line-height:1.45}.empty{gap:6px;display:grid}.customer-portal-shell{background:#f8fafc;min-height:100vh}.portal-auth{background:#f1f5f9;place-items:center;min-height:100vh;padding:24px;display:grid}.portal-auth-panel{border:1px solid var(--line);width:min(100%,460px);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:22px;padding:28px;display:grid}.portal-brand,.portal-wordmark{align-items:center;gap:11px;display:flex}.portal-brand>span,.portal-wordmark>span{background:var(--brand-2);color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.portal-brand div,.portal-wordmark div{gap:2px;display:grid}.portal-brand small,.portal-wordmark small{color:var(--muted);font-size:11px}.portal-auth h1{margin:0 0 8px;font-size:28px}.portal-auth p{color:var(--muted);margin:0;line-height:1.6}.portal-primary{background:var(--brand-2)}.portal-primary:hover{background:#1d4ed8}.portal-security{border-top:1px solid var(--line);padding-top:14px;font-size:12px}.portal-page{background:#f8fafc;flex-direction:column;min-height:100vh;display:flex}.portal-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:12px max(22px,50vw - 590px);display:flex}.portal-user{align-items:center;gap:12px;display:flex}.portal-user>div{text-align:right;gap:2px;display:grid}.portal-user strong{font-size:12px}.portal-user span{color:var(--muted);font-size:11px}.portal-project-bar{border-bottom:1px solid var(--line);background:#f8fafc;grid-template-columns:220px minmax(0,1fr) auto;align-items:end;gap:18px;padding:16px max(22px,50vw - 590px);display:grid}.portal-project-bar>div:first-child{gap:5px;display:grid}.portal-project-bar>div:first-child>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.portal-project-address{gap:4px;display:grid}.portal-project-address span{color:var(--muted);font-size:12px}.portal-tabs{border-bottom:1px solid var(--line);background:#fff;gap:4px;padding:0 max(22px,50vw - 590px);display:flex;overflow-x:auto}.portal-tabs button{white-space:nowrap;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:6px;padding:13px 11px 10px;font-size:13px;font-weight:800;display:inline-flex}.portal-tabs button.active{border-bottom-color:var(--brand-2);color:var(--brand-2)}.portal-tabs button span{color:#475569;background:#f1f5f9;border-radius:6px;min-width:20px;padding:2px 5px;font-size:10px}.portal-content{flex:1;align-content:start;gap:16px;width:min(100% - 44px,1180px);margin:0 auto;padding:26px 0 48px;display:grid}.portal-loading{border:1px solid var(--line);background:#fff;border-radius:8px;gap:16px;width:min(100% - 44px,800px);margin:50px auto;padding:24px;display:grid}.portal-overview{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:start;gap:18px;display:grid}.portal-summary{border:1px solid var(--line);background:#fff;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.portal-summary>div{border-right:1px solid var(--line);gap:8px;padding:18px;display:grid}.portal-summary>div:last-child{border-right:0}.portal-summary span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.portal-summary strong{text-transform:capitalize;font-size:20px}.portal-panel{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:20px;box-shadow:0 6px 20px #0f172a0d}.portal-panel .section-title button{color:var(--brand-2);background:0 0;border:0;font-size:12px;font-weight:800}.portal-section-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.portal-section-head h1,.portal-panel h2{margin:0 0 6px;font-size:22px}.portal-section-head p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.portal-schedule-list{gap:10px;display:grid}.portal-calendar{grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;padding-bottom:8px;display:grid;overflow-x:auto}.portal-calendar .portal-schedule-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr;align-content:start;min-width:150px;padding:10px}.portal-calendar .portal-schedule-actions{grid-column:1}.portal-schedule-card{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;display:grid}.portal-schedule-card:last-child{border-bottom:0}.portal-date{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;place-items:center;min-height:54px;display:grid}.portal-date strong{font-size:21px;line-height:1}.portal-date span{text-transform:uppercase;font-size:10px;font-weight:800}.portal-schedule-card>div:nth-child(2){gap:5px;min-width:0;display:grid}.portal-schedule-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-schedule-title h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:15px}.portal-schedule-card p{color:#334155;margin:0;font-size:13px;line-height:1.45}.portal-schedule-card>div:nth-child(2)>span,.portal-schedule-card small{color:var(--muted);font-size:12px}.portal-schedule-card small{color:var(--warning);font-weight:700}.portal-directions{color:var(--brand-2);font-size:12px;font-weight:800}.portal-schedule-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.portal-update{border-bottom:1px solid var(--line);padding:13px 0}.portal-update:last-child{border-bottom:0}.portal-update>span{color:var(--muted);font-size:11px}.portal-update h2,.portal-update h3{margin:5px 0;font-size:15px}.portal-update.full h2{font-size:19px}.portal-update p{color:#334155;white-space:pre-wrap;margin:0;line-height:1.6}.portal-milestone{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.portal-milestone>div{gap:3px;display:grid}.portal-milestone span{color:var(--muted);font-size:11px}.portal-document-list{display:grid}.portal-document-list article{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.document-icon{color:#991b1b;background:#fee2e2;border-radius:8px;place-items:center;width:42px;height:42px;font-size:10px;font-weight:900;display:grid}.portal-document-list article>div:nth-child(2){gap:3px;min-width:0;display:grid}.portal-document-list strong{overflow-wrap:anywhere}.portal-document-list span{color:var(--muted);font-size:11px}.portal-empty{text-align:center;color:var(--muted);place-items:center;gap:7px;padding:36px 18px;display:grid}.portal-empty strong{color:#334155}.portal-empty span{max-width:460px;font-size:13px;line-height:1.5}.portal-questions-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:18px;display:grid}.portal-question-form{position:sticky;top:18px}.portal-question-form form{gap:13px;display:grid}.question-thread{border-bottom:1px solid var(--line);gap:10px;padding:14px 0;display:grid}.question-head{justify-content:space-between;gap:12px;display:flex}.question-head>div{gap:3px;display:grid}.question-head span,.question-message span{color:var(--muted);font-size:10px}.question-message{background:#f8fafc;border-left:3px solid #93c5fd;gap:4px;margin-left:20px;padding:10px 12px;display:grid}.question-message.customer{border-left-color:#cbd5e1}.question-message strong{font-size:11px}.question-message p{color:#334155;margin:0;font-size:13px;line-height:1.45}.portal-dialog-backdrop{z-index:80;background:#0f172a8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.portal-dialog{background:#fff;border-radius:8px;gap:14px;width:min(100%,520px);max-height:calc(100vh - 36px);padding:22px;display:grid;overflow-y:auto;box-shadow:0 20px 60px #0f172a40}.portal-dialog h2{margin:0 0 6px;font-size:21px}.portal-dialog p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.portal-footer{border-top:1px solid var(--line);color:var(--muted);background:#fff;justify-content:space-between;gap:18px;padding:18px max(22px,50vw - 590px);font-size:11px;display:flex}.portal-invoice{border-bottom:1px solid var(--line);gap:12px;padding:18px 0;display:grid}.portal-invoice:last-child{border-bottom:0}.portal-invoice-summary{grid-template-columns:minmax(160px,1.6fr) repeat(4,minmax(90px,.7fr)) auto;align-items:center;gap:14px;display:grid}.portal-invoice-summary>div{gap:4px;display:grid}.portal-invoice-summary span,.portal-pay-row span{color:var(--muted);font-size:11px}.portal-pay-row{border:1px solid var(--line);background:#f8fafc;border-radius:8px;justify-content:flex-end;align-items:end;gap:12px;padding:14px;display:flex}.portal-pay-row>div:last-child{justify-items:end;gap:6px;display:grid}@media (max-width:1120px){.schedule-workspace{grid-template-columns:minmax(0,1fr)}.schedule-side{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-side>:first-child{grid-row:span 3}.schedule-toolbar{grid-template-columns:1fr 1fr}}@media (max-width:760px){.schedule-toolbar,.schedule-side{grid-template-columns:minmax(0,1fr)}.schedule-more-filters>div,.schedule-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-toolbar .segmented{grid-template-columns:repeat(4,1fr);width:100%;display:grid}.schedule-row{grid-template-columns:60px minmax(0,1fr);align-items:start}.schedule-actions{grid-column:1/-1;justify-content:stretch;max-width:none}.schedule-actions .btn{flex:1;min-width:78px}.schedule-date{padding-right:8px}.portal-auth{padding:14px}.portal-auth-panel{padding:20px}.portal-header{align-items:flex-start;padding:12px 16px}.portal-user>div{display:none}.portal-project-bar{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 16px}.portal-project-address{grid-area:2/1/auto/-1}.portal-tabs{padding:0 8px}.portal-content{width:min(100% - 28px,1180px);padding-top:16px}.portal-overview,.portal-questions-layout,.portal-summary{grid-template-columns:minmax(0,1fr)}.portal-summary>div{border-right:0;border-bottom:1px solid var(--line)}.portal-summary>div:last-child{border-bottom:0}.portal-panel{padding:16px}.portal-schedule-card{grid-template-columns:50px minmax(0,1fr);align-items:start}.portal-schedule-actions{grid-column:1/-1;justify-content:stretch}.portal-schedule-actions .btn{flex:1}.portal-document-list article{grid-template-columns:40px minmax(0,1fr)}.portal-document-list .btn{grid-column:1/-1;width:100%}.portal-question-form{position:static}.portal-footer{flex-direction:column;padding:16px}.portal-invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-invoice-summary>div:first-child{grid-column:1/-1}.portal-pay-row{flex-direction:column;align-items:stretch}.portal-pay-row>div:last-child{justify-items:stretch}}.assistant-filters{grid-template-columns:minmax(180px,1fr) repeat(2,minmax(150px,220px)) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.assistant-layout{grid-template-columns:minmax(250px,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.assistant-queue{overflow:hidden}.assistant-queue-row{border:0;border-bottom:1px solid var(--line);background:var(--panel);width:100%;min-height:116px;color:var(--ink);text-align:left;cursor:pointer;padding:14px}.assistant-queue-row:hover,.assistant-queue-row.active{box-shadow:inset 3px 0 0 var(--accent);background:#eff6ff}.assistant-queue-row>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.assistant-queue-row span,.assistant-detail-head span,.assistant-meta-grid span{color:var(--muted);font-size:12px}.assistant-queue-row p{margin:10px 0;font-weight:600}.assistant-detail{min-width:0}.assistant-detail-head,.assistant-detail-head>div,.assistant-block .section-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.assistant-detail-head>div{display:block}.assistant-detail-head h2{margin:4px 0 0;font-size:22px}.assistant-meta-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:18px 0;display:grid}.assistant-meta-grid>div{background:var(--panel);gap:5px;padding:12px;display:grid}.assistant-block{border-top:1px solid var(--line);padding:18px 0}.assistant-block h3{margin:0 0 10px;font-size:15px}.assistant-editor{width:100%;min-height:180px;margin:10px 0 14px}.assistant-source-list{gap:10px;display:grid}.assistant-source-list article{border-bottom:1px solid var(--line);padding:14px 0}.assistant-source-list article>div{align-items:center;gap:8px;display:flex}.assistant-source-list dl{grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:6px 10px;margin:10px 0 0;font-size:12px;display:grid}.assistant-source-list dt{color:var(--muted)}.assistant-source-list dd{margin:0}.assistant-resolution,.assistant-assignment,.assistant-category-checks{flex-wrap:wrap;gap:14px;display:flex}.assistant-assignment .field{flex:220px}.assistant-advanced{border-top:1px solid var(--line);color:var(--muted);padding:12px 0}.assistant-settings{max-width:1050px}.assistant-disclosure{color:var(--muted);margin:8px 0;font-style:italic;display:block}.question-related-documents,.question-follow-up{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:14px;display:grid}.question-related-documents a{color:var(--accent);font-weight:600}.question-follow-up textarea{min-height:80px}@media (max-width:860px){.assistant-filters,.assistant-layout{grid-template-columns:1fr}.assistant-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.assistant-filters,.assistant-detail{padding:12px}.assistant-meta-grid,.assistant-source-list dl{grid-template-columns:1fr}.assistant-source-list dt{margin-top:6px}.assistant-detail-head,.assistant-block .section-title{flex-direction:column;align-items:flex-start}.assistant-block .actions>*{width:100%}}:where(a,button,input,select,textarea,summary):focus-visible{box-shadow:var(--focus);outline:none}:where(h1,h2,h3,h4,strong){letter-spacing:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{grid-template-columns:252px minmax(0,1fr);transition:grid-template-columns .16s}.shell.sidebar-is-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{color:var(--ink);border-right:1px solid var(--line);box-shadow:none;background:#fff;padding:18px 12px 12px;overflow-x:hidden}.logo{white-space:nowrap;gap:10px;min-height:42px;margin:0 4px 24px}.logo-mark{background:var(--accent);border-radius:8px;flex:0 0 36px;width:36px;height:36px;font-size:14px}.logo strong{font-size:14px}.logo span{color:var(--muted);font-size:10px}.nav.grouped{grid-template-columns:1fr;gap:9px;display:grid}.nav-group{gap:3px;display:grid}.nav-heading{color:#52637a;text-transform:uppercase;letter-spacing:.08em;text-align:left;background:0 0;border:0;justify-content:space-between;width:100%;padding:5px 9px;font-size:10px;font-weight:800;line-height:1;display:flex}.nav-heading>span:last-child{color:#94a3b8;font-size:13px}.nav-items{gap:2px;display:grid}.nav a{color:#334155;white-space:nowrap;border-radius:6px;align-items:center;gap:10px;min-height:36px;padding:7px 10px;font-size:13px;font-weight:650;display:flex}.nav a:hover{color:var(--ink);background:#f1f5f9}.nav a.active{color:#1d4ed8;background:#e8f0ff}.nav-dot{opacity:.7;border:1.5px solid;border-radius:2px;flex:0 0 8px;width:8px;height:8px}.nav a.active .nav-dot{opacity:1;background:currentColor}.organization-switcher{margin-top:auto;position:relative}.organization-switcher summary{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;list-style:none;display:grid}.organization-switcher summary::-webkit-details-marker{display:none}.user-menu summary::-webkit-details-marker{display:none}.action-menu summary::-webkit-details-marker{display:none}.organization-mark{color:#1d4ed8;background:#eff6ff;border-radius:6px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:850;display:grid}.organization-switcher summary>span:nth-child(2),.organization-switcher>div{gap:2px;min-width:0;display:grid}.organization-switcher strong{text-overflow:ellipsis;font-size:11px;overflow:hidden}.organization-switcher small,.organization-switcher>div span{color:var(--muted);font-size:9px;line-height:1.4}.organization-switcher>div{z-index:30;border:1px solid var(--line);width:220px;box-shadow:var(--shadow-raised);background:#fff;border-radius:8px;padding:12px;position:absolute;bottom:54px;left:0}.sidebar-collapse{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:7px;font-size:11px;display:flex}.sidebar-collapse:hover{background:#f1f5f9}.sidebar-is-collapsed .logo>div:last-child,.sidebar-is-collapsed .nav-heading>span:first-child,.sidebar-is-collapsed .nav-heading>span:last-child,.sidebar-is-collapsed .nav a>span:last-child,.sidebar-is-collapsed .organization-switcher summary>span:not(.organization-mark),.sidebar-is-collapsed .sidebar-collapse span{display:none}.sidebar-is-collapsed .logo{margin-inline:8px}.sidebar-is-collapsed .nav-heading{min-height:5px;padding:0}.sidebar-is-collapsed .nav a{justify-content:center;padding-inline:0}.sidebar-is-collapsed .organization-switcher summary{justify-content:center;padding:7px;display:flex}.topbar{min-height:66px;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;padding:10px 24px}.topbar-title{color:#334155;flex:none;width:180px;font-size:14px}.global-search{width:min(420px,40vw);margin-left:auto;position:relative}.global-search label{border:1px solid var(--line);height:40px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.global-search label:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.global-search input{min-width:0;box-shadow:none;border:0;padding:0;font-size:12px}.search-results{z-index:70;border:1px solid var(--line);max-height:min(480px,70vh);box-shadow:var(--shadow-raised);background:#fff;border-radius:8px;padding:6px;position:absolute;top:46px;left:0;right:0;overflow-y:auto}.search-results a{border-radius:6px;grid-template-columns:90px minmax(0,1fr);align-items:start;gap:10px;padding:9px;display:grid}.search-results a:hover,.search-results a:focus{background:#eff6ff}.search-results a>span:last-child{gap:2px;min-width:0;display:grid}.search-results strong,.search-results small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-results strong{font-size:12px}.search-results small,.search-type{color:var(--muted);font-size:10px}.search-type{text-transform:uppercase;padding-top:2px;font-weight:800}.search-message{color:var(--muted);text-align:center;padding:14px;font-size:12px}.topbar-actions{flex:none;gap:8px}.icon-button{width:36px;height:36px;color:var(--brand);background:0 0;border:1px solid #0000;border-radius:7px;flex:0 0 36px;place-items:center;padding:0;font-weight:850;display:inline-grid}.icon-button:hover{border-color:var(--line);background:#f8fafc}.test-mode-badge{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-items:center;min-height:28px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.user-menu{background:0 0;border:0;padding:0;display:block;position:relative}.user-menu summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.user-menu summary>span:last-child{display:none}.avatar{color:#fff;background:#64748b;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:850;display:grid}.user-menu>div{z-index:70;border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow-raised);background:#fff;border-radius:8px;gap:12px;padding:14px;display:grid;position:absolute;top:44px;right:0}.user-menu>div>span{color:var(--muted);font-size:11px}.quick-signout{min-height:32px;padding-inline:9px}.top-org-name{max-width:170px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.mobile-menu-button,.mobile-nav-backdrop,.mobile-bottom-nav{display:none}.content{width:min(100%,1600px);margin:0 auto;padding:26px 28px 60px}.pilot-banner{text-align:center;padding:7px 28px;font-size:11px;top:66px}.page-head,.page-header{margin-bottom:20px}.page-header,.page-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-header h1,.page-head h2{color:#0f172a;letter-spacing:0;overflow-wrap:anywhere;margin:0 0 6px;font-size:25px;line-height:1.2}.page-header p,.page-head p{max-width:760px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:850;display:block}.card,.table-panel,.chart-panel,.attention-panel{box-shadow:var(--shadow);border-radius:8px}.card-pad,.form-card{padding:18px}.btn{background:var(--accent);border-radius:7px;min-height:38px;padding:8px 13px;font-size:12px}.btn:hover{background:#1d4ed8}.btn.secondary{border:1px solid var(--line);color:#334155;background:#fff}.btn.secondary:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.btn.tertiary{color:#1d4ed8;background:0 0}.btn.small{min-height:31px;padding:5px 9px;font-size:11px}.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.metric,.metric-card{border:1px solid var(--line);min-height:104px;color:var(--ink);box-shadow:none;text-align:left;background:#fff;border-radius:8px;align-items:flex-start;gap:11px;padding:15px;display:flex}button.metric-card{cursor:pointer}button.metric-card:hover,button.metric-card.active{border-color:#93c5fd;box-shadow:inset 0 0 0 1px #bfdbfe}.metric>span,.metric-card>div>span{color:#475569;text-transform:none;letter-spacing:0;font-size:11px;font-weight:700;display:block}.metric strong,.metric-card strong{letter-spacing:0;margin-top:6px;font-size:21px;display:block}.metric small,.metric-card small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.metric-icon{background:#dbeafe;border-radius:50%;flex:0 0 30px;width:30px;height:30px;box-shadow:inset 0 0 0 8px #eff6ff}.metric-icon.green{background:#86efac;box-shadow:inset 0 0 0 8px #f0fdf4}.metric-icon.amber{background:#fcd34d;box-shadow:inset 0 0 0 8px #fffbeb}.metric-icon.red{background:#fca5a5;box-shadow:inset 0 0 0 8px #fef2f2}.metric-icon.violet{background:#c4b5fd;box-shadow:inset 0 0 0 8px #f5f3ff}.metric-icon.slate{background:#cbd5e1;box-shadow:inset 0 0 0 8px #f8fafc}.filter-bar,.estimate-filters,.contract-filters,.list-toolbar{border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-end;gap:14px;padding:13px;display:flex}.filter-fields{flex:1;grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(135px,.8fr));align-items:end;gap:10px;min-width:0;display:grid}.filter-actions{gap:8px;display:flex}.search-field{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fff;border-radius:7px;align-items:center;gap:7px;padding:0 10px;display:flex}.search-field:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.search-field input{box-shadow:none;border:0;padding:0}input,select,textarea{border-radius:7px;min-height:38px;padding:9px 10px;font-size:12px}label{font-size:11px}.table-panel,.chart-panel,.attention-panel{border:1px solid var(--line);background:#fff;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:12px 16px;display:flex}.panel-heading h2{margin:0;font-size:14px}.panel-heading p{color:var(--muted);margin:3px 0 0;font-size:10px}table{table-layout:auto}th{color:#64748b;letter-spacing:.04em;background:#f8fafc;height:32px;padding:7px 11px;font-size:9px}td{min-height:var(--table-row-default);padding:10px 11px;font-size:12px}tbody tr:hover{background:#fafcff}.status{border-radius:5px;padding:4px 7px;font-size:9px}.status.pending,.status.sent,.status.under_review,.status.needs_correction,.status.needs_review,.status.outside_allowed_radius{color:#b45309;background:#fff7ed}.status.approved,.status.paid,.status.active,.status.complete,.status.open,.status.on_site,.status.fully_executed{color:#15803d;background:#ecfdf3}.status.rejected,.status.overdue,.status.declined,.status.voided,.status.failed{color:#b91c1c;background:#fef2f2}.status.draft{color:#475569;background:#f1f5f9}.status.approved_for_sending,.status.viewed,.status.partially_signed,.status.customer_signed{color:#1d4ed8;background:#eff6ff}.segmented{border-radius:7px;gap:2px;padding:3px}.segmented button{border-radius:5px;min-height:32px;padding:6px 12px;font-size:11px}.segmented button.active{color:#1d4ed8;background:#e8f0ff;box-shadow:inset 0 0 0 1px #bfdbfe}.tabs{flex-wrap:nowrap;gap:0;overflow-x:auto}.tabs button,.tabs a{white-space:nowrap;padding:9px 11px;font-size:11px}.tabs button span{background:#f1f5f9;border-radius:5px;margin-left:5px;padding:2px 5px;font-size:9px}.pagination{border-top:1px solid var(--line);min-height:48px;margin:0;padding:8px 12px}.empty-state,.error-state,.analytics-empty{min-height:180px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;padding:28px;display:grid}.empty-state p,.error-state p,.analytics-empty p{max-width:420px;margin:0;font-size:12px;line-height:1.5}.empty-state-mark{color:#2563eb;background:#eff6ff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.error-state{color:#991b1b;background:#fef2f2}.loading-skeleton{gap:12px;padding:20px;display:grid}.list-detail-workspace,.contracts-workspace{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;grid-template-columns:minmax(280px,36%) minmax(0,1fr);align-items:start;gap:0;display:grid;overflow:hidden}.workspace-list,.contract-list-panel{border-right:1px solid var(--line);min-width:0;box-shadow:none;background:#fbfdff}.workspace-detail,.contract-detail-panel{min-width:0;box-shadow:none;border:0;border-radius:0}.activity-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.activity-timeline li{grid-template-columns:18px minmax(0,1fr) auto;gap:8px;padding:9px 0;display:grid;position:relative}.activity-timeline li:not(:last-child):before{content:"";background:var(--line);width:1px;position:absolute;top:22px;bottom:-4px;left:5px}.timeline-dot{background:var(--accent);border:2px solid #fff;border-radius:50%;width:11px;height:11px;margin-top:3px;box-shadow:0 0 0 1px #93c5fd}.activity-timeline p,.activity-timeline time{color:var(--muted);margin:3px 0 0;font-size:10px}.action-menu{position:relative}.action-menu summary{list-style:none}.action-menu>div{z-index:30;border:1px solid var(--line);min-width:190px;box-shadow:var(--shadow-raised);background:#fff;border-radius:7px;gap:4px;padding:6px;display:grid;position:absolute;top:42px;right:0}.action-menu>div>*{justify-content:flex-start;width:100%}.chart-panel{min-height:250px}.analytics-empty>span{color:#93c5fd;font-size:32px}.split-button{align-items:stretch;display:inline-flex}.split-button>.btn{border-radius:6px 0 0 6px}.split-button details{position:relative}.split-button summary{border-left-color:#ffffff59;border-radius:0 6px 6px 0;min-width:36px;padding-inline:9px;list-style:none}.split-button summary::-webkit-details-marker{display:none}.split-button details>div{z-index:40;border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow-raised);background:#fff;border-radius:6px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.trend-card,.funnel-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px}.trend-card{min-height:112px;padding:16px}.trend-card>span{color:var(--muted);font-size:11px;font-weight:700}.trend-card>strong{color:var(--text);margin:8px 0;font-size:22px;display:block}.trend-card small{font-size:11px}.trend-card small.up{color:var(--success)}.trend-card small.down{color:var(--danger)}.trend-card small.neutral{color:var(--muted)}.funnel-card{overflow:hidden}.funnel-card ol{margin:0;padding:0;list-style:none;display:grid}.funnel-card li{border-top:1px solid var(--line);grid-template-columns:minmax(90px,.7fr) minmax(120px,2fr) auto minmax(52px,auto);align-items:center;gap:10px;min-height:44px;padding:8px 14px;font-size:11px;display:grid}.funnel-card li>div{background:#f1f5f9;border-radius:3px;height:12px;overflow:hidden}.funnel-card li i{border-radius:inherit;background:var(--accent);height:100%;display:block}.funnel-card li small{color:var(--muted);text-align:right}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:inline-flex}.chart-legend li>span{border-radius:50%;width:8px;height:8px}.date-range-filter{flex-wrap:wrap;gap:8px;display:flex}.date-range-filter label{color:var(--muted);gap:4px;font-size:10px;font-weight:700;display:grid}.date-range-filter input{min-height:36px}.dialog-backdrop,.drawer-backdrop,.mobile-nav-backdrop{z-index:100;background:#0f172a85;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{width:min(100%,560px);max-height:calc(100dvh - 36px);box-shadow:var(--shadow-raised);background:#fff;border-radius:8px;overflow-y:auto}.dialog>header,.drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.dialog h2,.drawer h2{margin:0;font-size:16px}.dialog-body{padding:18px}.dialog>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.drawer-backdrop{place-items:stretch end;padding:0}.drawer{width:min(420px,100%);height:100%;box-shadow:var(--shadow-raised);background:#fff;overflow-y:auto}.mobile-action-bar{display:none}.estimate-index{gap:14px}.record-list{max-height:720px;display:grid;overflow-y:auto}.record-list-item{border:0;border-bottom:1px solid var(--line);width:100%;min-width:0;color:var(--ink);text-align:left;background:#fff;border-left:3px solid #0000;gap:6px;padding:12px 14px;display:grid}.record-list-item:hover{background:#f8fafc}.record-list-item.active{border-left-color:var(--accent);background:#eff6ff}.record-list-item>div{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.record-list-item>b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.record-list-item>span,.record-list-item>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.record-list-item>div strong{font-size:11px}.estimate-detail{gap:18px;min-width:0;padding:18px;display:grid}.detail-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detail-header h2{margin:0;font-size:18px}.detail-header>div:first-child>strong{margin-top:6px;font-size:13px;display:block}.detail-header p{color:var(--muted);margin:4px 0 0;font-size:10px}.detail-stat-grid{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.detail-stat-grid>div{border-right:1px solid var(--line);gap:5px;min-width:0;padding:12px;display:grid}.detail-stat-grid>div:last-child{border-right:0}.detail-stat-grid span{color:var(--muted);font-size:9px}.detail-stat-grid strong{text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:13px;overflow:hidden}.detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.detail-columns>section{border:1px solid var(--line);border-radius:7px;min-width:0;padding:14px}.summary-list{gap:0;margin:0;display:grid}.summary-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:7px 0;font-size:11px;display:flex}.summary-list>div:last-child{border-bottom:0}.summary-list dt{color:var(--muted)}.summary-list dd{text-align:right;overflow-wrap:anywhere;margin:0}.compact-timeline{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 0;padding:0;list-style:none;display:grid}.compact-timeline li{color:var(--muted);text-align:center;justify-items:center;gap:5px;font-size:9px;display:grid;position:relative}.compact-timeline li:before{content:"";z-index:0;background:var(--line);height:1px;position:absolute;top:5px;left:-50%;right:50%}.compact-timeline li:first-child:before{display:none}.compact-timeline li>span{z-index:1;background:#cbd5e1;border:2px solid #fff;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 1px #cbd5e1}.compact-timeline li.complete>span{background:var(--success);box-shadow:0 0 0 1px #86efac}.compact-timeline time{font-size:8px}.next-action-panel{background:#f8fafc}.next-action-panel p{color:#475569;margin:0 0 12px;font-size:11px;line-height:1.5}.mobile-pricing-summary{display:none}.estimate-summary-panel>summary{list-style:none}.estimate-summary-panel>summary::-webkit-details-marker{display:none}.estimate-summary-content{gap:14px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1120px){.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search{width:min(360px,35vw)}.list-detail-workspace,.contracts-workspace{grid-template-columns:minmax(250px,34%) minmax(0,1fr)}}@media (max-width:760px){body{padding-bottom:64px}.shell,.shell.sidebar-is-collapsed{display:block}.sidebar{display:none}.topbar{grid-template-columns:36px minmax(0,1fr) auto;gap:8px;min-height:58px;padding:9px 12px;display:grid}.mobile-menu-button{display:inline-grid}.topbar-title{display:none}.global-search{width:100%;margin:0}.global-search label{height:38px}.topbar-actions{gap:2px}.topbar-actions>.icon-button,.test-mode-badge{display:none}.quick-signout{min-width:58px;padding-inline:5px;font-size:9px}.top-org-name{color:#0000;pointer-events:none;max-width:calc(100vw - 24px);position:absolute;top:58px;left:12px}.user-menu{width:auto;display:block}.pilot-banner{padding:7px 12px;position:static}.content{padding:18px 14px 34px}.mobile-nav-backdrop{place-items:stretch start;padding:0;display:grid}.mobile-nav{width:min(330px,88vw);height:100%;box-shadow:var(--shadow-raised);background:#fff;padding:12px;overflow-y:auto}.mobile-nav>header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mobile-nav .logo{margin:4px 0 18px}.mobile-nav-links{grid-template-columns:1fr;display:grid}.mobile-bottom-nav{z-index:60;min-height:62px;padding:5px max(5px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));border-top:1px solid var(--line);background:#fffffff7;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0f172a12}.mobile-bottom-nav a,.mobile-bottom-nav button{color:#64748b;background:0 0;border:0;border-radius:6px;align-content:center;place-items:center;gap:4px;min-width:0;font-size:9px;font-weight:750;display:grid}.mobile-bottom-nav .nav-dot{width:9px;height:9px}.mobile-bottom-nav a.active{color:#1d4ed8;background:#eff6ff}.page-header,.page-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.page-header h1,.page-head h2{font-size:22px}.page-actions,.page-head>.actions{justify-content:stretch}.page-actions>*,.page-head>.actions>*{flex:1}.metrics{scroll-snap-type:x mandatory;gap:9px;padding-bottom:3px;display:flex;overflow-x:auto}.metric,.metric-card{scroll-snap-align:start;min-width:150px;min-height:94px}.filter-bar,.estimate-filters,.contract-filters,.list-toolbar{grid-template-columns:1fr;align-items:stretch;display:grid}.filter-fields{grid-template-columns:1fr}.filter-actions{grid-template-columns:repeat(2,1fr);display:grid}.list-detail-workspace,.contracts-workspace{box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr);gap:14px;display:grid;overflow:visible}.workspace-list,.contract-list-panel,.workspace-detail,.contract-detail-panel{border:1px solid var(--line);background:#fff;border-radius:8px}.responsive-table table{min-width:720px}.mobile-action-bar{z-index:25;border:1px solid var(--line);background:#fffffff7;border-radius:8px;gap:8px;padding:9px;display:flex;position:sticky;bottom:68px;box-shadow:0 -4px 18px #0f172a14}.mobile-action-bar>*{flex:1}.record-list{max-height:none}.detail-header{flex-direction:column;align-items:stretch}.detail-stat-grid,.detail-columns{grid-template-columns:1fr}.detail-stat-grid>div{border-right:0;border-bottom:1px solid var(--line)}.detail-stat-grid>div:last-child{border-bottom:0}.estimate-summary-panel{z-index:24;border-color:#bfdbfe;padding:0;position:sticky;bottom:68px}.mobile-pricing-summary{color:#1e3a8a;cursor:pointer;grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:54px;padding:11px 13px;display:grid}.mobile-pricing-summary span:first-child{text-transform:uppercase;font-size:10px;font-weight:800}.mobile-pricing-summary strong{font-size:17px}.estimate-summary-content{border-top:1px solid #dbeafe;padding:0 13px 13px}}.scheduling-calendar{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow);margin:18px 0 22px;overflow:hidden}.calendar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:18px 20px 14px;display:flex}.calendar-header h2{margin:3px 0 0;font-size:20px}.calendar-range-label{color:var(--muted);margin:4px 0 0;font-size:12px}.calendar-actions,.calendar-pager{align-items:center;gap:8px;display:flex}.calendar-pager{border:1px solid var(--line);border-radius:var(--radius-sm);gap:0;overflow:hidden}.calendar-pager button{border:0;border-right:1px solid var(--line);background:var(--panel);width:40px;height:38px;color:var(--brand);font-size:22px}.calendar-pager button:last-child{border-right:0}.calendar-view-tabs{border-bottom:1px solid var(--line);gap:2px;padding:10px 20px 0;display:flex;overflow-x:auto}.calendar-view-tabs button{min-height:40px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:8px 13px;font-weight:750}.calendar-view-tabs button.active{border-bottom-color:var(--brand-2);color:var(--brand-2)}.calendar-filters{border-bottom:1px solid var(--line);background:#f8fafc}.calendar-filters>summary{min-height:42px;color:var(--brand);cursor:pointer;padding:11px 20px;font-weight:750}.calendar-filter-bar{grid-template-columns:repeat(5,minmax(130px,1fr)) auto;align-items:end;gap:10px;padding:0 20px 16px;display:grid}.calendar-filter-bar label{color:var(--muted);gap:5px;font-size:11px;font-weight:750;display:grid}.calendar-layout{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.calendar-main{min-width:0;overflow-x:auto}.calendar-sidebar{background:#f8fafc;min-width:0}.calendar-sidebar>section{border-bottom:1px solid var(--line);padding:16px}.calendar-grid{background:var(--line);gap:1px;min-width:680px;display:grid}.calendar-grid--day{grid-template-columns:1fr;min-width:0}.calendar-grid--work_week{grid-template-columns:repeat(5,minmax(135px,1fr))}.calendar-grid--full_week,.calendar-grid--month{grid-template-columns:repeat(7,minmax(105px,1fr))}.calendar-day{background:var(--panel);min-width:0;min-height:310px;padding:9px}.calendar-grid--day .calendar-day{min-height:420px}.calendar-grid--month .calendar-day{min-height:142px;padding:6px}.calendar-day.is-outside-month{color:var(--muted);background:#f8fafc}.calendar-day.is-today{box-shadow:inset 0 3px 0 var(--brand-2)}.calendar-day>header{justify-content:space-between;align-items:center;min-height:32px;margin-bottom:7px;display:flex}.calendar-add-day{border:1px solid var(--border);background:var(--card);width:26px;height:26px;color:var(--accent);cursor:pointer;border-radius:4px;margin-left:auto;font-size:18px;line-height:1}.calendar-add-day:hover,.calendar-add-day:focus-visible{border-color:var(--accent);background:#eff6ff}.calendar-time-slots{border-top:1px solid var(--border);display:grid}.calendar-time-slots button{border:0;border-bottom:1px solid var(--border);min-height:30px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;padding:4px 7px}.calendar-time-slots button:hover,.calendar-time-slots button:focus-visible{color:var(--accent);background:#eff6ff}.calendar-time-slots span{font-size:10px}.calendar-grid--day .calendar-time-slots button{min-height:34px}.agenda-add{margin-top:8px}.calendar-day>header span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.calendar-day>header strong{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.calendar-day.is-today>header strong{background:var(--brand-2);color:#fff}.calendar-day-events{align-content:start;gap:6px;display:grid}.calendar-event,.calendar-milestone{border:1px solid #bfdbfe;border-left:3px solid var(--brand-2);border-radius:var(--radius-xs);width:100%;min-width:0;color:var(--brand);text-align:left;background:#eff6ff;padding:8px}.calendar-event[draggable=true]{cursor:grab}.calendar-event:active{cursor:grabbing}.calendar-event.has-conflict{border-color:#fcd34d;border-left-color:var(--warning);background:#fffbeb}.calendar-event.type-inspection{background:#f5f3ff;border-left-color:#7c3aed}.calendar-event.type-material_delivery,.calendar-event.type-equipment_delivery{background:#ecfeff;border-left-color:#0891b2}.calendar-event-time,.calendar-event strong,.calendar-event small,.calendar-event-indicators{display:block}.calendar-event-time{color:var(--muted);font-size:10px;font-weight:800}.calendar-event strong{text-overflow:ellipsis;margin-top:2px;font-size:12px;line-height:1.25;overflow:hidden}.calendar-event small{color:var(--muted);text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.calendar-event-indicators{margin-top:5px}.calendar-event-indicators i{border-radius:var(--radius-xs);color:#475569;background:#fffc;margin:2px 3px 0 0;padding:2px 4px;font-size:9px;font-style:normal;font-weight:750;display:inline-block}.calendar-milestone{background:#f5f3ff;border-color:#c4b5fd #c4b5fd #c4b5fd #7c3aed}.calendar-milestone span,.calendar-milestone strong{display:block}.calendar-milestone span{color:#6d28d9;text-transform:uppercase;font-size:9px;font-weight:800}.calendar-milestone strong{margin-top:2px;font-size:11px}.calendar-grid--month .calendar-event,.calendar-grid--month .calendar-milestone{padding:5px}.calendar-grid--month .calendar-event-indicators,.calendar-grid--month .calendar-event small,.calendar-grid--month .calendar-milestone span{display:none}.calendar-agenda{background:#f8fafc;min-width:0}.agenda-day{border-bottom:1px solid var(--line);background:var(--panel);padding:14px 16px}.agenda-day>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.agenda-day h3{margin:0;font-size:15px}.agenda-day>header span{color:var(--muted);font-size:11px}.agenda-day .calendar-event{margin-top:7px}.agenda-milestone{background:#f5f3ff;border-left:3px solid #7c3aed;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:7px;padding:9px;display:grid}.agenda-milestone>span{color:#6d28d9;text-transform:uppercase;font-size:9px;font-weight:800}.agenda-milestone strong,.agenda-milestone small{display:block}.agenda-milestone small{color:var(--muted)}.unscheduled-list{gap:7px;display:grid}.unscheduled-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:9px 0;display:flex}.unscheduled-list article:last-child{border-bottom:0}.unscheduled-list strong,.unscheduled-list small{display:block}.unscheduled-list small{color:var(--muted);margin-top:2px}.calendar-detail-heading{margin-bottom:12px}.calendar-detail-heading strong,.calendar-detail-heading span,.calendar-detail-heading small{display:block}.calendar-detail-heading span,.calendar-detail-heading small{color:var(--muted);margin-top:3px}.calendar-detail dl{gap:7px;margin:0 0 12px;display:grid}.calendar-detail dl>div{grid-template-columns:92px minmax(0,1fr);gap:8px;display:grid}.calendar-detail dt{color:var(--muted);font-size:11px;font-weight:750}.calendar-detail dd{margin:0;font-size:12px}.calendar-visibility-block{border-left:3px solid var(--brand-2);background:#eff6ff;margin-top:11px;padding:10px}.calendar-visibility-block.internal{background:#f1f5f9;border-left-color:#64748b}.calendar-visibility-block strong{font-size:11px}.calendar-visibility-block p{color:#334155;margin:4px 0 0;font-size:12px;line-height:1.45}.calendar-detail-actions{gap:7px;margin-top:12px;display:grid}.customer-notification-review{background:#fffbeb;border-bottom:1px solid #fcd34d;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 20px;display:grid}.customer-notification-review strong,.customer-notification-review span{display:block}.customer-notification-review span{color:#92400e;margin-top:3px;font-size:11px}.conflict-list{gap:8px;padding:0;list-style:none;display:grid}.conflict-list li{border-left:3px solid var(--warning);background:#fffbeb;padding:9px}.conflict-list strong,.conflict-list span{display:block}.conflict-list strong{text-transform:capitalize}.conflict-list span{color:#92400e;margin-top:3px}.calendar-loading{gap:10px;padding:20px;display:grid}.calendar-loading span{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9) 0 0/200% 100%;height:76px;animation:1.2s ease-in-out infinite skeleton-shift}.schedule-board-details>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;padding:12px 16px;font-weight:750;display:flex}.schedule-board-details>summary span{color:var(--muted);font-size:11px;font-weight:600}.schedule-board-details[open]>summary{border-bottom:1px solid var(--line)}@media (max-width:1100px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-main{border-right:0;border-bottom:1px solid var(--line)}.calendar-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.calendar-sidebar>section{border-right:1px solid var(--line)}.calendar-filter-bar{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (max-width:640px){.activity-time-grid{grid-template-columns:1fr}.drawer-actions{grid-template-columns:1fr;display:grid}.schedule-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.schedule-status-strip span{border-bottom:1px solid var(--border)}.workspace-tabs{margin-inline:-14px;padding-inline:14px}.calendar-header{padding:15px 14px 12px;display:grid}.calendar-actions{grid-template-columns:1fr auto 1fr;display:grid}.calendar-actions>.btn{min-width:0;padding-inline:8px}.calendar-view-tabs{padding-left:10px;padding-right:10px}.calendar-view-tabs button:nth-child(3),.calendar-view-tabs button:nth-child(4){display:none}.calendar-view-tabs button[aria-selected=true]{display:block}.calendar-filters>summary{padding-inline:14px}.calendar-filter-bar{grid-template-columns:1fr;padding:0 14px 14px}.calendar-layout,.calendar-sidebar{display:block}.calendar-sidebar>section{border-right:0}.calendar-agenda .calendar-event{min-height:72px;padding:10px}.customer-notification-review{grid-template-columns:1fr;padding-inline:14px}}@media print{.sidebar,.topbar,.pilot-banner,.mobile-bottom-nav,.calendar-actions,.calendar-view-tabs,.calendar-filters,.calendar-sidebar,.schedule-toolbar,.schedule-focus-grid,.schedule-workspace,.customer-notification-review{display:none!important}.content,.scheduling-calendar{width:100%;box-shadow:none;border:0;margin:0;padding:0}.calendar-layout,.calendar-main{border:0;display:block;overflow:visible}.calendar-grid{break-inside:avoid;min-width:0}}
