:root{color-scheme:light;--ink:#172026;--muted:#65717b;--line:#d9e0e6;--panel:#fff;--bg:#f3f6f8;--accent:#0f766e;--accent-dark:#0b5f58;--warning:#a16207;--steel:#32424f;--soft:#e9fbf8}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:#172026;color:#f7fafc;padding:22px;display:flex;flex-direction:column;gap:26px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid #5a6873;background:#24313a;font-weight:700}.brand h1,.brand p,.section-heading h2,.panel h3,.plan-card h3{margin:0}.brand h1{font-size:18px}.brand p{margin-top:3px;color:#bcc7cf;font-size:13px}.nav{display:grid;gap:8px}.nav-item,.tab,.plan-button{border:0;cursor:pointer}.nav-item{text-align:left;min-height:42px;padding:0 12px;background:transparent;color:#dbe4ea;border-left:3px solid transparent}.nav-item.active{background:#24313a;border-color:var(--accent);color:#fff}.project-card{margin-top:auto;border:1px solid #465661;padding:14px;background:#202b33}.project-card input{width:100%;margin:8px 0 12px;padding:10px;border:1px solid #5e6f7b;background:#11191f;color:#fff}.status-row{display:flex;justify-content:space-between;gap:10px;color:#cbd5dc;font-size:13px;margin-top:6px}main{padding:28px;overflow:auto}.workspace-section{display:none}.workspace-section.active{display:block}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.section-heading h2{margin-top:4px;font-size:clamp(24px,3vw,38px);line-height:1.08;letter-spacing:0}.eyebrow{color:var(--accent-dark);font-size:12px;font-weight:700;text-transform:uppercase}.secure-badge{border:1px solid #9fd5cf;color:var(--accent-dark);background:var(--soft);padding:8px 10px;font-weight:700;white-space:nowrap}.subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-card{background:#fff;border:1px solid var(--line);padding:18px;display:grid;gap:12px}.plan-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.plan-card h3{font-size:24px}.plan-card p{margin:0;color:var(--muted);line-height:1.45}.plan-button{min-height:38px;background:#eef2f5;color:#25333d;font-weight:700}.plan-card.selected .plan-button{background:var(--accent);color:#fff}.account-grid,.company-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;margin-top:18px}.account-status{border:1px solid var(--line);background:#fbfcfd;padding:14px;margin:12px 0}.checklist{display:grid;gap:10px}.checklist span{border-left:3px solid var(--accent);background:#f8fafb;padding:10px}.dropzone{min-height:210px;display:grid;place-items:center;gap:8px;padding:30px;text-align:center;border:2px dashed #9ab0bf;background:#fff;cursor:pointer}.dropzone input{position:absolute;opacity:0;pointer-events:none}.dropzone.dragover{border-color:var(--accent);background:#effdfa}.drop-icon{width:48px;height:48px;display:grid;place-items:center;color:#fff;background:var(--accent);font-size:32px;line-height:1}.upload-grid,.chat-layout,.result-grid,.bid-grid{display:grid;gap:18px;margin-top:18px}.upload-grid,.chat-layout,.bid-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr)}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1/-1}.panel,.chat-panel{background:var(--panel);border:1px solid var(--line);padding:18px}.form-panel{display:grid;gap:12px}.form-panel label{display:grid;gap:7px;color:#394955;font-weight:700}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.icon-button{width:32px;height:32px;border:1px solid var(--line);background:#fff;cursor:pointer}.primary-button{min-height:42px;border:0;background:var(--accent);color:#fff;padding:0 16px;cursor:pointer;font-weight:700}.primary-button:hover{background:var(--accent-dark)}textarea,input{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px}textarea{min-height:130px;resize:vertical}.file-list,.citation-list,.result-list{display:grid;gap:10px}.file-item,.citation-item,.result-item,.takeoff-status{border:1px solid var(--line);background:#fbfcfd;padding:10px}.file-item strong,.citation-item strong{display:block;overflow-wrap:anywhere}.meta,.muted,.empty-state{color:var(--muted);font-size:14px}.hint-box{border:1px solid #bddbd6;background:var(--soft);color:#25524d;padding:12px;font-size:14px}.chat-panel{min-height:560px;display:grid;grid-template-rows:1fr auto}.chat-messages{display:flex;flex-direction:column;gap:12px;overflow:auto;padding-right:4px}.message{max-width:82%;padding:12px;border:1px solid var(--line);background:#f8fafb;line-height:1.45}.message.user{align-self:flex-end;background:var(--soft);border-color:#b8dfdb}.citation-pill{display:inline-block;margin-top:8px;margin-right:6px;padding:4px 8px;background:#eef2f5;color:var(--steel);font-size:12px;font-weight:700}.chat-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{background:#eef2f5;color:#33434f;font-size:13px}.takeoff-status{color:var(--warning);font-weight:700}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tab{min-height:36px;padding:0 12px;background:#eef2f5;color:#33434f}.tab.active{background:var(--steel);color:#fff}.draft-output{min-height:430px;font-family:"Courier New",monospace;line-height:1.45}@media(max-width:1050px){.subscription-grid{grid-template-columns:1fr}.account-grid,.company-grid{grid-template-columns:1fr}}@media(max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-grid,.chat-layout,.result-grid,.bid-grid{grid-template-columns:1fr}}@media(max-width:560px){main,.sidebar{padding:16px}.section-heading{align-items:flex-start;flex-direction:column}.nav{grid-template-columns:1fr}.chat-form{grid-template-columns:1fr}.message{max-width:100%}}
.lock-banner{margin-top:16px;border:1px solid #8fc7ff;background:#eef7ff;color:#0a3c78;padding:14px;font-weight:700}.lock-banner.attention{border-color:#1687ff;background:#eaf4ff}.about-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}.about-hero{background:#f8fafb}.about-hero h3{font-size:28px;line-height:1.1;margin-bottom:12px}.about-hero p{color:#394955;line-height:1.55;font-size:16px}@media(max-width:920px){.about-layout{grid-template-columns:1fr}}
.price-option{display:grid;gap:2px;margin:0 0 6px;padding:6px;border:1px solid var(--line);background:#fff}.price-option span{display:block;color:var(--muted);font-size:12px}.table-wrap table{min-width:980px}
.vision-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin-bottom:18px}.vision-panel p{margin:8px 0 0;color:var(--muted);line-height:1.45}.vision-results{grid-column:1/-1;display:grid;gap:10px}.vision-item{border:1px solid var(--line);background:#fbfcfd;padding:10px;display:grid;gap:4px}.vision-item span{color:var(--muted);font-size:14px}@media(max-width:700px){.vision-panel{grid-template-columns:1fr}}
.accuracy-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;align-items:start;margin-bottom:18px;border-top:4px solid var(--accent)}
.accuracy-panel p{margin:8px 0 0;color:var(--muted);line-height:1.5}
.accuracy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.accuracy-grid label{display:grid;gap:7px;color:#394955;font-weight:700}
.accuracy-badge{display:inline-block;padding:6px 8px;border:1px solid #8fc7ff;background:#eef7ff;color:#0a3c78;font-weight:800;font-size:12px}
@media(max-width:900px){.accuracy-panel,.accuracy-grid{grid-template-columns:1fr}}
.employee-panel{grid-column:1/-1}.employee-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.employee-list{display:grid;gap:10px}.employee-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fbfcfd;padding:12px}.employee-card div{display:grid;gap:3px}.employee-card span,.employee-card small{color:var(--muted);font-size:13px}.employee-card button{border:1px solid var(--line);background:#fff;min-height:34px;padding:0 10px;cursor:pointer}@media(max-width:900px){.employee-form{grid-template-columns:1fr}.employee-card{align-items:flex-start;flex-direction:column}}
.bid-switcher{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.bid-switcher label{display:grid;gap:5px;color:#cbd5dc;font-size:12px}.bid-switcher select{width:100%;border:1px solid #5e6f7b;background:#11191f;color:#fff;padding:9px}.bid-switcher button{border:1px solid #5e6f7b;background:#24313a;color:#fff;padding:0 10px;cursor:pointer}
.nav{gap:14px}.nav-group{display:grid;gap:6px}.nav-group>span{color:#8fa0ac;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0}.dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dashboard-card{text-align:left;border:1px solid var(--line);background:#fff;padding:16px;display:grid;gap:9px;min-height:150px;cursor:pointer}.dashboard-card span{width:30px;height:30px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:700}.dashboard-card strong{font-size:17px}.dashboard-card small{color:var(--muted);line-height:1.4}.dashboard-card:hover{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.dashboard-metric{font-size:22px;font-weight:700;margin:12px 0;color:var(--steel)}.progress-list{display:grid;gap:10px;margin-top:12px}.progress-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.progress-list span{color:var(--muted)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}}@media(max-width:560px){.dashboard-grid{grid-template-columns:1fr}}
.vision-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.assistant-upload{min-height:42px;display:grid;place-items:center;border:1px solid var(--accent);background:#fff;color:var(--accent-dark);font-weight:700;padding:0 14px;cursor:pointer}.assistant-upload input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}@media(max-width:700px){.vision-actions{justify-content:stretch}.assistant-upload,.vision-actions .primary-button{width:100%}}
.document-preview{margin-top:18px}.file-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.file-item button{border:1px solid var(--accent);background:#fff;color:var(--accent-dark);min-height:34px;padding:0 12px;font-weight:700;cursor:pointer}.file-preview{min-height:420px;border:1px solid var(--line);background:#f8fafb;display:grid;place-items:center;overflow:auto}.file-preview iframe{width:100%;height:620px;border:0;background:#fff}.file-preview img{max-width:100%;height:auto;display:block}.file-preview.empty-state{color:var(--muted);padding:24px;text-align:center}@media(max-width:700px){.file-item{align-items:flex-start;flex-direction:column}.file-preview iframe{height:460px}}
.file-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.file-item.duplicate-file{border-color:#f0c36a;background:#fffaf0}.duplicate-file-note{display:block;margin-top:6px;color:#7a4b00;font-size:12px;font-weight:900}.file-item.duplicate-file [data-remove-duplicate-file]{border-color:#b45309!important;background:#fff8e6!important;color:#5f4200!important}
.clear-project-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(7,17,31,.62);backdrop-filter:blur(3px)}.clear-project-dialog{width:min(540px,100%);display:grid;gap:14px;padding:24px;border:1px solid #8fc7ff;border-radius:12px;background:#fff;color:#07111f;box-shadow:0 28px 70px rgba(0,0,0,.34)}.clear-project-dialog h3,.clear-project-dialog p{margin:0}.clear-project-dialog h3{font-size:26px;line-height:1.12}.clear-project-dialog p{color:#394955;line-height:1.5}.clear-project-summary{display:grid;gap:4px;padding:14px;border:1px solid #f0c36a;border-radius:8px;background:#fff8e6;color:#5f4200}.clear-project-summary strong{font-size:20px}.clear-project-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.danger-button{min-height:42px;padding:0 16px;border:2px solid #b91c1c;border-radius:6px;background:#b91c1c;color:#fff;font-weight:900;cursor:pointer}.danger-button:hover{background:#7f1d1d;border-color:#7f1d1d}.danger-button:disabled{opacity:.6;cursor:not-allowed}
/* Estimator readability and button overlap fixes */
.section-heading,.panel-heading{flex-wrap:wrap}.section-heading .primary-button,.vision-actions .primary-button,.chat-form .primary-button{flex:0 0 auto}.tabs{align-items:center;overflow-x:auto;padding-bottom:4px}.tab{white-space:nowrap;flex:0 0 auto}.bid-grid,.chat-layout,.upload-grid{align-items:start}.draft-output{width:100%;min-width:0;white-space:pre-wrap;overflow:auto}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line)}.table-wrap table{min-width:1180px}.price-option{line-height:1.35}.price-option strong{display:block;margin-bottom:2px}.vision-panel{grid-template-columns:minmax(0,1fr) minmax(220px,auto)}.vision-actions{min-width:220px}.primary-button,.assistant-upload,.tab{white-space:nowrap}.chat-form{grid-template-columns:minmax(0,1fr) auto}@media(max-width:760px){.vision-panel{grid-template-columns:1fr}.vision-actions{min-width:0;width:100%;display:grid}.section-heading .primary-button,.primary-button,.assistant-upload{width:100%}.tabs{display:flex}.bid-grid,.chat-layout,.upload-grid{grid-template-columns:1fr}.chat-form{grid-template-columns:1fr}.table-wrap table{min-width:980px}}

.draft-output{tab-size:2}

/* Blue, black, and white brand theme */
:root{--ink:#111111;--muted:#5f6368;--line:#d7d7d7;--panel:#ffffff;--bg:#f4f7fb;--accent:#1687ff;--accent-dark:#0b5fd7;--warning:#0b5fd7;--steel:#222222;--soft:#eaf4ff}
.sidebar{background:#070707;color:#fff;border-right:4px solid var(--accent)}
.brand-mark{border-color:var(--accent);background:var(--accent);color:#111}
.brand p,.status-row,.bid-switcher label{color:#d8d8d8}
.nav-item{color:#f1f1f1}
.nav-item.active{background:#1b1b1b;border-color:var(--accent);color:#fff}
.project-card{border-color:#333;background:#151515}
.project-card input,.bid-switcher select{border-color:#3b3b3b;background:#0d0d0d;color:#fff}
.bid-switcher button{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}
.eyebrow{color:#0b5fd7}
.secure-badge,.hint-box{border-color:#8fc7ff;color:#111;background:var(--soft)}
.plan-card.selected,.dashboard-card:hover{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
.plan-card.selected .plan-button,.primary-button,.drop-icon,.dashboard-card span,.workflow span{background:var(--accent);color:#fff}
.primary-button:hover{background:var(--accent-dark);color:#fff}
.checklist span{border-left-color:var(--accent);background:#f0f8ff}
.dropzone.dragover{border-color:var(--accent);background:#f0f8ff}
.message.user{background:var(--soft);border-color:#8fc7ff}
.tab.active{background:#111;color:#fff}
.takeoff-status{color:var(--warning)}
.assistant-upload,.file-item button{border-color:var(--accent);color:#111;background:#eef7ff}

/* Presentation polish and depth */
:root{--shadow-sm:0 2px 0 rgba(17,17,17,.08);--shadow-md:0 14px 34px rgba(17,17,17,.10);--shadow-lg:0 24px 60px rgba(17,17,17,.14);--radius:8px}
body{background:linear-gradient(135deg,#f7fbff 0%,#eaf4ff 52%,#f5f8fc 100%);font-size:15px}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(22,135,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(22,135,255,.045) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 72%)}
.app-shell{position:relative;z-index:1}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#050505 0%,#121212 64%,#070707 100%);box-shadow:12px 0 36px rgba(17,17,17,.18)}
.sidebar:before{content:"";position:absolute;inset:0 0 auto 0;height:88px;background:linear-gradient(135deg,rgba(22,135,255,.24),transparent 58%);pointer-events:none}
.brand,.nav,.project-card{position:relative}
.brand{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-mark{border-radius:var(--radius);box-shadow:0 8px 20px rgba(22,135,255,.28)}
.nav-item{border-radius:0 var(--radius) var(--radius) 0;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.nav-item:hover{background:#181818;border-color:rgba(22,135,255,.65);transform:translateX(2px)}
.nav-item.active{box-shadow:inset 0 0 0 1px rgba(22,135,255,.24)}
.project-card{border-radius:var(--radius);box-shadow:0 18px 36px rgba(0,0,0,.24)}
main{padding:34px;max-width:1600px}
.section-heading{padding:22px 24px;background:linear-gradient(135deg,#111 0%,#262626 100%);color:#fff;border:1px solid #1d1d1d;border-top:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.section-heading h2{max-width:980px;color:#fff;text-wrap:balance}
.section-copy{max-width:920px;margin:10px 0 0;color:#e8e8e8;font-size:15px;line-height:1.55}
.section-heading .eyebrow{color:var(--accent)}
.section-heading .secure-badge{box-shadow:none}
.promise-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:-4px 0 22px}
.promise-strip span{border:1px solid #1687ff;background:#111;color:#fff;padding:12px 14px;font-weight:800;box-shadow:var(--shadow-sm);border-radius:var(--radius)}
.promise-strip span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;background:var(--accent);vertical-align:1px}
.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:24px;align-items:stretch;margin-bottom:18px;padding:28px;background:linear-gradient(135deg,#05080c 0%,#0a1320 48%,#113b67 100%);border:1px solid #1687ff;border-top:5px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-lg);color:#fff;position:relative;overflow:hidden}
.dashboard-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,135,255,.18),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 42%);pointer-events:none}
.dashboard-hero-copy,.dashboard-hero-visual{position:relative;z-index:1}
.dashboard-hero-copy{display:flex;flex-direction:column;justify-content:center;min-height:360px}
.dashboard-hero h2{margin:8px 0 14px;max-width:980px;color:#fff;font-size:64px;line-height:.98;letter-spacing:0;text-wrap:balance}
.dashboard-hero p{margin:0;max-width:780px;color:#d9ecff;font-size:18px;line-height:1.58}
.dashboard-hero .eyebrow{color:#8fc7ff}
.dashboard-hero-visual{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;min-height:360px}
.dashboard-hero-visual img{width:min(360px,100%);height:auto;max-height:430px;object-fit:contain;filter:drop-shadow(0 24px 44px rgba(0,0,0,.5))}
.ai-output-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 22px}
.ai-output-grid div{position:relative;overflow:hidden;display:grid;gap:8px;min-height:170px;padding:18px;background:#fff;border:1px solid #8fc7ff;border-radius:var(--radius);box-shadow:var(--shadow-md)}
.ai-output-grid div:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--accent)}
.ai-output-grid span{width:34px;height:34px;display:grid;place-items:center;background:#111;color:#8fc7ff;border-radius:6px;font-weight:900}
.ai-output-grid strong{color:#111;font-size:20px}
.ai-output-grid small{color:var(--muted);line-height:1.5;font-size:14px}
.mascot-panel{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:center;margin:0 0 22px;padding:22px;background:linear-gradient(135deg,#05080c 0%,#0b1420 58%,#102b47 100%);border:1px solid #1687ff;border-radius:var(--radius);box-shadow:var(--shadow-lg);color:#fff;position:relative;overflow:hidden}
.mascot-panel:after{content:"";position:absolute;inset:auto 18px 18px 260px;height:1px;background:linear-gradient(90deg,rgba(22,135,255,.85),transparent);pointer-events:none}
.mascot-panel img{width:220px;height:275px;object-fit:contain;background:#05080c;border:2px solid var(--accent);border-radius:var(--radius);box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 5px rgba(22,135,255,.14)}
.mascot-panel h3{margin:6px 0 8px;color:#fff;font-size:clamp(22px,3vw,34px);line-height:1.05}
.mascot-panel p{margin:0;max-width:880px;color:#d9ecff;line-height:1.58;font-size:16px}
.panel,.chat-panel,.plan-card,.dashboard-card,.dropzone,.account-status,.file-item,.citation-item,.result-item,.takeoff-status,.vision-item,.employee-card,.price-option{border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.panel,.chat-panel,.plan-card,.dashboard-card{box-shadow:var(--shadow-md)}
.panel,.chat-panel{border-color:#d0d0ca}
.dashboard-grid,.subscription-grid,.overview-grid,.account-grid,.company-grid,.upload-grid,.chat-layout,.result-grid,.bid-grid{gap:20px}
.dashboard-card,.plan-card{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.dashboard-card:before,.plan-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--accent)}
.dashboard-card:hover,.plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.dashboard-card.featured-card{background:linear-gradient(180deg,#eaf4ff 0%,#fff 100%);border-color:#1687ff;box-shadow:0 16px 34px rgba(22,135,255,.18)}
.dashboard-card span{border-radius:6px;box-shadow:0 8px 18px rgba(22,135,255,.28)}
.dashboard-card strong,.panel h3,.plan-card h3{color:#111}
.dashboard-metric{padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plan-card.selected{background:linear-gradient(180deg,#f0f8ff 0%,#fff 100%);box-shadow:0 20px 46px rgba(22,135,255,.16)}
.plan-card h3{font-size:clamp(26px,3vw,34px)}
.plan-button,.primary-button,.assistant-upload,.file-item button,.bid-switcher button{border-radius:6px;box-shadow:0 8px 18px rgba(22,135,255,.22);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.plan-button:hover,.primary-button:hover,.assistant-upload:hover,.file-item button:hover,.bid-switcher button:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(17,17,17,.16)}
.plan-button:disabled,.primary-button:disabled,.bid-switcher button:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}
input,textarea,select{border-radius:6px;transition:border-color .16s ease,box-shadow .16s ease}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(22,135,255,.24)}
.dropzone{background:linear-gradient(180deg,#fff 0%,#f0f8ff 100%);border-color:#8fc7ff}
.drop-icon{border-radius:8px}
.table-wrap{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff}
th{background:#151515;color:#fff;border-bottom:3px solid var(--accent)}
td{background:#fff}
tr:hover td{background:#f0f8ff}
.message{border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.message.user{box-shadow:0 8px 18px rgba(22,135,255,.18)}
.lock-banner{border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.secure-badge{border-radius:999px}
@media(max-width:1100px){.dashboard-hero{grid-template-columns:1fr}.dashboard-hero-copy,.dashboard-hero-visual{min-height:auto}.dashboard-hero h2{font-size:54px}.dashboard-hero-visual{min-height:360px}.ai-output-grid{grid-template-columns:1fr}}
@media(max-width:920px){.sidebar{position:relative;height:auto}.section-heading{padding:20px}main{padding:22px}.promise-strip{grid-template-columns:1fr}.mascot-panel{grid-template-columns:160px minmax(0,1fr)}.mascot-panel img{width:160px;height:205px}.mascot-panel:after{inset:auto 18px 18px 198px}}
@media(max-width:680px){.dashboard-hero{padding:20px}.dashboard-hero h2{font-size:40px}.dashboard-hero p{font-size:16px}.dashboard-hero-visual{min-height:300px}.mascot-panel{grid-template-columns:1fr;text-align:left}.mascot-panel img{width:min(210px,100%);height:auto}.mascot-panel:after{display:none}}
@media(max-width:430px){.dashboard-hero h2{font-size:34px}}
@media(max-width:560px){main{padding:16px}.section-heading{padding:18px}.section-copy{font-size:14px}.dashboard-card,.panel,.plan-card{box-shadow:var(--shadow-sm)}}

/* Robot brand logo */
.brand-mark{width:58px;height:58px;overflow:hidden;border:2px solid var(--accent);background:#05080c;color:transparent;padding:0;box-shadow:0 12px 28px rgba(0,0,0,.32),0 0 0 4px rgba(22,135,255,.18)}
.brand-mark img{width:100%;height:100%;display:block;object-fit:cover}
.brand h1{font-size:20px;letter-spacing:0}
.brand p{max-width:170px;line-height:1.25}
.active-bid-panel{position:relative;overflow:hidden;display:grid;gap:16px;padding:0;border:1px solid rgba(143,199,255,.72);background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 20px 48px rgba(17,65,112,.12)}
.active-bid-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 55%,#07111f 100%)}
.active-bid-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px 24px 20px;background:linear-gradient(135deg,#07111f 0%,#0a2746 74%,#0b5fd7 100%);color:#fff}
.active-bid-head .eyebrow{color:#8fc7ff}
.active-bid-head h3{margin:5px 0 6px;color:#fff;font-size:28px}
.active-bid-head p{margin:0;color:#d8ecff;line-height:1.45}
.active-bid-head #newBid{min-width:118px;min-height:42px;border-radius:6px}
.active-bid-panel label{display:grid;gap:7px;color:#394955;font-weight:900}
.active-bid-panel input,.active-bid-panel select{background:#fff;color:var(--ink);border-color:#cfe6ff}
.active-bid-panel.locked input,.active-bid-panel.locked select,.active-bid-panel.locked button{opacity:.58;cursor:not-allowed}
.active-bid-panel>.hint-box{margin:0 24px;border-color:#cfe6ff;background:#eef7ff;color:#0a3c78;font-weight:800}
.active-bid-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:14px;margin:0 24px}
.active-bid-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 24px 24px}
.active-bid-stats span{display:block;min-width:0;padding:12px;border:1px solid #d9e9fa;background:#fff;border-radius:8px;box-shadow:0 10px 24px rgba(17,65,112,.08)}
.active-bid-stats small{display:block;margin-bottom:5px;color:#526273;font-size:11px;font-weight:900;text-transform:uppercase}
.active-bid-stats strong{display:block;color:#07111f;line-height:1.25;overflow-wrap:anywhere}
.identity-panel.locked input,.identity-panel.locked textarea{opacity:.62;cursor:not-allowed;background:#f8fafc}
.status-row.light{color:var(--muted);margin-top:0}
.dashboard-switcher{grid-template-columns:minmax(0,1fr);margin-top:0}
.dashboard-switcher label{color:#394955;font-size:14px}
.dashboard-switcher select{border-color:var(--line);background:#fff;color:var(--ink)}
.dashboard-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-login-panel .muted{margin:0 0 12px}
.dashboard-account-panel{align-content:start;gap:12px}
.dashboard-account-panel .plan-button{margin-top:12px;width:100%}
.dashboard-auth-actions .primary-button{grid-column:1/-1}
.compact-progress{margin-bottom:12px}
.document-bid-panel{margin-bottom:18px;border-top:4px solid var(--accent)}
.bid-document-panel{position:relative;overflow:hidden;display:grid;gap:16px;margin-bottom:18px;padding:0;border:1px solid rgba(143,199,255,.72);background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 20px 48px rgba(17,65,112,.12)}
.bid-document-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 55%,#07111f 100%)}
.bid-storage-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:16px;align-items:end;padding:22px 22px 0}
.bid-document-panel h3{margin:6px 0 6px;font-size:26px}
.bid-document-groups{display:grid;gap:10px;padding:0 22px 22px}
.bid-document-groups.empty-state{margin:0 22px 22px;padding:18px;border:1px dashed #8fc7ff;background:#eef7ff;border-radius:8px}
.bid-document-group{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid #d9e9fa;background:#fff;padding:14px 16px;border-radius:8px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.bid-document-group:hover{transform:translateY(-1px);border-color:#1687ff;box-shadow:0 14px 30px rgba(17,65,112,.14)}
.bid-document-group.active{border-color:#1687ff;background:linear-gradient(180deg,#eef7ff 0%,#fff 100%);box-shadow:inset 5px 0 0 #1687ff,0 14px 30px rgba(17,65,112,.12)}
.bid-document-group strong{display:block;color:#111;line-height:1.2}
.bid-document-group span{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bid-document-group small{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#07111f;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}
@media(max-width:900px){.bid-storage-head,.bid-document-group{grid-template-columns:1fr}.bid-document-group span{white-space:normal}}

/* Documents workspace */
.document-studio{display:grid;gap:16px;margin-bottom:18px;padding:18px;border:1px solid rgba(143,199,255,.72);border-radius:10px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 22px 52px rgba(17,65,112,.12)}
.document-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;color:#07111f}
.document-bid-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.document-bid-fields label{display:grid;gap:7px;color:#07111f;font-weight:900}
.document-bid-fields input,.document-bid-fields select{min-height:44px;border:2px solid #8fc7ff;background:#fff;color:#07111f}
.document-topbar #newBid{min-height:44px;border-radius:6px;min-width:150px}
.document-studio #bidLockNotice{margin:0;border-color:#8fc7ff;background:#eef7ff;color:#0a3c78}
.document-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.document-stats span{min-width:0;padding:11px 12px;border:1px solid #cfe6ff;background:#fff;border-radius:8px;box-shadow:0 8px 18px rgba(17,65,112,.07)}
.document-stats small{display:block;margin-bottom:5px;color:#0b5fd7;font-size:11px;font-weight:900;text-transform:uppercase}
.document-stats strong{display:block;color:#07111f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-dropzone{min-height:270px;border:2px dashed #1687ff;background:linear-gradient(180deg,#fff 0%,#eef7ff 100%);border-radius:10px;box-shadow:none}
.document-dropzone .drop-icon{width:58px;height:58px;border-radius:16px;background:linear-gradient(180deg,#1687ff 0%,#0b5fd7 100%);box-shadow:0 14px 28px rgba(11,95,215,.24)}
.document-dropzone strong{font-size:28px;color:#07111f}
.document-dropzone span:last-child{max-width:620px;color:#405365;line-height:1.45}
.document-dropzone small{max-width:760px;color:#526273;font-weight:800;line-height:1.35}
.document-upload-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:12px 14px;border:1px solid #d9e9fa;background:#fff;border-radius:8px;color:#07111f}
.document-upload-meter strong{font-size:14px}
.document-upload-meter span{color:var(--muted);font-size:13px}
.document-upload-meter .upload-meter-track{grid-column:1/-1}
.document-library-panel{display:block;margin-bottom:18px;padding:22px;box-shadow:0 16px 38px rgba(17,65,112,.09)}
.document-library-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:0}
.document-library-head h3{margin:6px 0;font-size:24px;overflow-wrap:anywhere}
.document-library-head p{margin:0}
.vault-project-select{display:grid;gap:7px;margin-top:6px;color:#07111f;font-weight:900;max-width:440px}
.vault-project-select select{min-height:44px;border:1px solid #cfe6ff;border-radius:6px;background:#fff;color:#07111f;padding:0 12px;font-weight:900}
.document-vault-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.clear-files-button{min-height:40px;padding:0 14px;border:2px solid #1687ff;background:#fff;color:#07111f;border-radius:6px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(17,65,112,.10)}
.clear-files-button:hover{background:#07111f;color:#fff;border-color:#07111f}
.danger-outline-button{min-height:40px;padding:0 14px;border:2px solid #b91c1c;border-radius:6px;background:#fff;color:#7f1d1d;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(127,29,29,.10)}
.danger-outline-button:hover{background:#b91c1c;color:#fff;transform:translateY(-1px);box-shadow:0 14px 28px rgba(127,29,29,.18)}
.danger-outline-button:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}
.document-library-body{display:block;padding:14px 0 0}
.document-library-body .bid-document-groups{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid #d9e9fa}
.document-library-body .bid-document-groups.empty-state{margin:0 0 14px;padding:14px;border:1px dashed #8fc7ff;background:#eef7ff}
.document-library-body .bid-document-group{padding:11px 12px}
.document-library-body .bid-document-group small{min-height:26px}
.document-library-body>.file-list{display:none}
.document-library-body .file-list{max-height:420px;overflow:auto;padding-right:4px}
.document-library-body .file-list.empty-state{padding:0;border:0;background:transparent;color:#405365;font-size:15px;line-height:1.5}
.project-folder-list{display:grid;gap:12px}
.document-library-body .project-folder-list{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid #d9e9fa}
.project-folder{display:grid;gap:0;padding:0!important;border:1px solid #cfe6ff!important;background:#fff!important;border-radius:10px!important;overflow:hidden;text-align:left;box-shadow:0 10px 28px rgba(17,65,112,.08)}
.project-folder.active{border-color:#0b5fd7!important;box-shadow:0 14px 34px rgba(11,95,215,.16)}
.project-folder-head{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:0;border-bottom:1px solid #d9e9fa;background:linear-gradient(180deg,#f8fbff 0%,#eef7ff 100%);color:#07111f;text-align:left;cursor:pointer}
.project-folder.active .project-folder-head{background:linear-gradient(135deg,#07111f 0%,#0b2f57 72%,#0b5fd7 100%);color:#fff}
.project-folder-head-static{cursor:default}
.project-folder-head strong{display:block;color:inherit;font-size:15px;line-height:1.25;overflow-wrap:anywhere}
.project-folder-head span{display:block;margin-top:3px;color:#526273;font-size:12px;font-weight:800}
.project-folder.active .project-folder-head span{color:#cfe6ff}
.project-folder-head small{min-height:28px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #cfe6ff;color:#0a3c78;font-weight:900;white-space:nowrap}
.project-folder-files{display:grid;gap:8px;padding:10px;background:#fff}
.project-folder-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #e1edf8;border-radius:8px;background:#fbfdff}
.project-folder-file strong{display:block;color:#07111f;overflow-wrap:anywhere}
.project-folder-file span{display:block;margin-top:3px;color:#65717b;font-size:12px;font-weight:800}
.project-folder-file-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.project-folder-file-actions button{min-height:32px;padding:0 10px;border:1px solid #b9d9f8;border-radius:7px;background:#fff;color:#0a3c78;font-weight:900;cursor:pointer}
.project-folder-file-actions button:hover{background:#eaf4ff}
.project-folder-file-actions small{color:#65717b;font-weight:800}
.document-import-panel{border-color:rgba(143,199,255,.68);box-shadow:0 16px 38px rgba(17,65,112,.09)}
.document-support-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:start}
.document-import-panel{display:grid;gap:12px}
.document-import-panel textarea{min-height:210px}
.document-import-panel .primary-button{justify-self:start}
.document-preview{margin-top:0}
@media(max-width:1050px){.document-bid-fields,.document-support-grid{grid-template-columns:1fr}.document-topbar,.document-library-head{grid-template-columns:1fr}.document-vault-actions{justify-content:stretch}.document-vault-actions button,.document-topbar #newBid{width:100%}.document-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.document-studio{padding:12px}.document-stats{grid-template-columns:1fr}.document-dropzone{min-height:240px}.document-dropzone strong{font-size:22px}.document-upload-meter{grid-template-columns:1fr}.document-import-panel .primary-button{width:100%}}
.subscription-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.upload-addon-card{background:#111;color:#fff;border:1px solid var(--accent);border-radius:var(--radius);padding:18px;display:grid;gap:12px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.upload-addon-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--accent)}
.upload-addon-card h3{margin:0;color:#fff;font-size:clamp(24px,3vw,30px)}
.upload-addon-card p{margin:0;color:#d9ecff;line-height:1.45}
.upload-addon-card .eyebrow{color:#8fc7ff}
.upload-addon-card .plan-button{background:#fff;color:#111}
.upload-addon-card .plan-button:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}
.upload-addon-card.locked{border-color:#d7d7d7;background:#202020}
.upload-addon-card.locked:after{content:"Subscription required";position:absolute;top:12px;right:12px;border:1px solid #8fc7ff;background:#eef7ff;color:#111;padding:6px 8px;border-radius:999px;font-size:12px;font-weight:800}
.upload-meter{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid #8fc7ff;background:#eef7ff;border-radius:var(--radius)}
.upload-meter strong,.upload-meter span{display:block}
.upload-meter span{color:var(--muted);font-size:13px;margin-top:3px}
.upload-meter-track{height:10px;border-radius:999px;background:#dce9f7;overflow:hidden}
.upload-meter-track span{display:block;height:100%;width:0;background:var(--accent);transition:width .2s ease;margin:0}
@media(max-width:1200px){.subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.subscription-grid{grid-template-columns:1fr}}
.accuracy-service-panel{grid-column:1/-1;border-top:4px solid var(--accent)}
.accuracy-service-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.accuracy-service-list span{display:block;border:1px solid var(--line);background:#f8fbff;padding:12px;border-radius:var(--radius);color:#394955;line-height:1.45}
@media(max-width:1100px){.accuracy-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.accuracy-service-list{grid-template-columns:1fr}}
.simple-company-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:start;margin-top:0}
.simple-company-grid .employee-panel{grid-column:auto}
.company-card{position:relative;overflow:hidden;gap:16px;padding:0;border:1px solid rgba(143,199,255,.72);background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 20px 48px rgba(17,65,112,.12)}
.company-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 55%,#07111f 100%)}
.company-card>.panel-heading{margin:0;padding:22px 22px 18px;background:linear-gradient(135deg,#07111f 0%,#0a2746 74%,#0b5fd7 100%);color:#fff}
.company-card>.panel-heading .eyebrow{color:#8fc7ff}
.company-card>.panel-heading h3{color:#fff;font-size:26px}
.company-card>.hint-box,.company-card>.field-grid,.company-card>label,.company-card>.employee-form,.company-card>.team-list-heading,.company-card>.employee-list{margin-left:22px;margin-right:22px}
.company-card>.employee-list,.company-card>label:last-child{margin-bottom:22px}
.company-card>.hint-box{border-color:#cfe6ff;background:#eef7ff;color:#0a3c78;font-weight:800}
.company-card input,.company-card textarea,.company-card select{border-color:#cfe6ff;background:#fbfdff}
.company-card label{color:#24313a}
.identity-panel .field-grid{padding-top:2px}
.company-record-actions{display:flex;align-items:center;gap:12px;margin:0 22px 22px}
.company-record-actions .primary-button{min-width:170px}
.save-status{color:#0a3c78;font-size:13px;font-weight:900;line-height:1.35}
.employee-panel .employee-form{padding:18px;border:1px solid #d9e9fa;background:#fff;border-radius:8px;box-shadow:0 10px 24px rgba(17,65,112,.08)}
.employee-panel .employee-form label{min-width:0}
.employee-panel #addEmployee{grid-column:1/-1;min-height:44px}
.team-list-heading{display:grid;gap:4px;padding:14px 0 0;border-top:1px solid #d9e9fa}
.team-list-heading strong{color:#07111f;font-size:16px}
.team-list-heading span{color:#526273;font-size:13px;line-height:1.4}
.employee-panel .employee-list{min-height:96px;padding:14px;border:1px solid #d9e9fa;background:#fff;border-radius:8px}
.employee-panel .employee-list.empty-state{display:grid;place-items:center;text-align:center;border-style:dashed;background:#f8fbff;color:#526273;font-weight:800}
.employee-panel .employee-card{padding:14px;border-color:#d9e9fa;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.employee-panel .employee-card strong{color:#07111f;font-size:16px}
.panel-heading.compact{margin-bottom:0}
.panel-heading.compact h3{margin-top:4px}
.field-grid{display:grid;gap:12px}
.field-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.field-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.field-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}
.short-textarea{min-height:82px}
.muted.tight{margin:-6px 0 2px;line-height:1.35}
.simple-employee-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-panel.locked .employee-form{opacity:.6}
.employee-panel.locked input,.employee-panel.locked select,.employee-panel.locked button{cursor:not-allowed}
.auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.auth-actions label{display:grid;gap:6px;color:#394955;font-weight:700}
.auth-actions button{width:100%}
body.signed-in #signupForm,
body.signed-in .dashboard-login-panel,
body.signed-in .access-panel .auth-actions label,
body.signed-in #authEmail,
body.signed-in #authPassword,
body.signed-in #signInAccount,
body.signed-in #dashboardAuthEmail,
body.signed-in #dashboardAuthPassword,
body.signed-in #dashboardSignIn{display:none!important}
body.signed-in #signOutAccount{display:block!important}
body:not(.signed-in) .dashboard-account-panel{display:none!important}
.access-panel{align-self:start;position:relative;overflow:hidden;padding:0;border:1px solid rgba(143,199,255,.72);background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 22px 52px rgba(17,65,112,.14)}
.access-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 48%,#07111f 100%)}
.access-panel .panel-heading.compact{margin:0;padding:22px 22px 20px;background:linear-gradient(135deg,#07111f 0%,#0a2746 70%,#0b5fd7 100%);color:#fff}
.access-panel .panel-heading.compact .eyebrow{color:#8fc7ff}
.access-panel .panel-heading.compact h3{color:#fff;font-size:26px}
.panel-heading.compact{margin-bottom:10px}
.panel-heading.compact h3{margin-top:2px}
.account-status{display:grid;gap:12px;background:#fff;border:1px solid #cfe3f8;border-radius:10px;padding:14px;margin:10px 0 12px;box-shadow:0 10px 24px rgba(9,20,38,.07)}
.access-panel .account-status{margin:18px 18px 14px;padding:16px;border-radius:8px;border-color:#8fc7ff;box-shadow:0 14px 32px rgba(17,65,112,.10)}
.account-status.is-active{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border-color:#8fc7ff}
.account-status-locked{background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);border-color:#dbe5f0}
.account-status-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.account-status-top strong{display:block;margin-top:4px;color:#111;font-size:20px;line-height:1.15}
.account-subline{display:block;margin-top:6px;color:#516173;font-size:13px;font-weight:800;line-height:1.35}
.status-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#e8f5ff;color:#0b5fd7;border:1px solid #8fc7ff;font-weight:900;font-size:12px;text-transform:uppercase}
.status-pill.locked{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.account-status-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-status-mini span{display:block;min-width:0;border:1px solid #dbe5f0;background:#fff;padding:10px;border-radius:8px}
.account-status-mini small{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:4px}
.account-status-mini strong{display:block;color:#111;font-size:13px;line-height:1.25;overflow-wrap:anywhere}
.account-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-status-grid div{border:1px solid var(--line);background:#fff;padding:10px;border-radius:6px;min-width:0}
.account-status-grid small{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:4px}
.account-status-grid strong{display:block;color:#111;font-size:13px;line-height:1.25;overflow-wrap:anywhere}
.auth-status-card{border:1px solid #dbe5f0;background:#f8fbff;color:#34495e;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.4}
.access-panel .auth-status-card{margin:0 18px 14px;border-color:#cfe6ff;background:#eef7ff;color:#0a3c78;font-weight:800}
.access-panel .auth-actions{margin:0 18px 14px;padding:14px;border:1px solid #d9e9fa;background:#fff;border-radius:8px;box-shadow:0 10px 24px rgba(17,65,112,.08)}
.access-panel .auth-actions label{color:#24313a}
.access-panel .auth-actions input{border-color:#cfe6ff;background:#fbfdff}
.access-panel>.muted.tight{margin:0 18px 18px;padding:11px 12px;border:1px solid #e4eef8;background:#fff;border-radius:8px;color:#526273}
.subscription-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);gap:18px;align-items:stretch;margin-bottom:20px;padding:26px;border:1px solid rgba(143,199,255,.72);border-radius:10px;background:linear-gradient(135deg,#07111f 0%,#0c2746 68%,#0b5fd7 100%);color:#fff;box-shadow:0 22px 52px rgba(17,65,112,.18)}
.subscription-hero .eyebrow{color:#8fc7ff}
.subscription-hero h2{margin:6px 0 10px;color:#fff;font-size:clamp(34px,4vw,54px);line-height:1.02}
.subscription-hero p{max-width:850px;margin:0;color:#d9ecff;font-size:17px;line-height:1.55}
.trial-card{display:grid;align-content:center;gap:8px;padding:18px;border:1px solid rgba(143,199,255,.62);background:rgba(255,255,255,.08);border-radius:10px}
.trial-card strong{font-size:32px;color:#fff;line-height:1}
.trial-card span{color:#d9ecff;line-height:1.45}
.subscription-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;margin-bottom:18px}
.subscription-grid .plan-card{position:relative;overflow:hidden;min-height:auto;padding:24px;border:1px solid rgba(143,199,255,.72);border-radius:10px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 18px 44px rgba(17,65,112,.10)}
.subscription-grid .plan-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#cfe6ff}
.subscription-grid .plan-card.selected{border-color:#1687ff;box-shadow:0 22px 52px rgba(11,95,215,.18),inset 0 0 0 2px rgba(22,135,255,.28)}
.subscription-grid .plan-card.selected:before{background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 58%,#07111f 100%)}
.plan-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.plan-card-head strong{color:#405365;font-size:13px;line-height:1.35;text-align:right}
.subscription-grid .plan-card h3{margin-top:14px;font-size:44px;color:#07111f}
.subscription-grid .plan-card h3 small{font-size:18px;color:#526273}
.subscription-grid .plan-card p{color:#405365}
.plan-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 8px}
.plan-features span{min-height:42px;padding:10px;border:1px solid #d9e9fa;background:#fff;border-radius:8px;color:#263746;font-size:13px;font-weight:800;line-height:1.35}
.subscription-grid .plan-button{min-height:44px;border-radius:6px}
.subscription-addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 18px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ghost-button{min-height:42px;border:1px solid #8fc7ff;background:transparent;color:#fff;padding:0 16px;border-radius:6px;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(22,135,255,.16);transition:transform .16s ease,background .16s ease}
.ghost-button:hover{background:rgba(22,135,255,.18);transform:translateY(-1px)}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}
.impact-grid div{border:1px solid #b9d9fb;background:rgba(255,255,255,.92);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-sm);display:grid;gap:6px}
.impact-grid strong{font-size:15px;color:#111}
.impact-grid span{color:var(--muted);font-size:13px;line-height:1.45}
.demo-readiness-panel{border-top:4px solid var(--accent)}
.readiness-score{font-size:28px;font-weight:900;color:#111;margin:12px 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.readiness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.readiness-list span{border:1px solid var(--line);background:#f8fbff;color:#394955;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:800}
@media(max-width:1050px){.simple-company-grid{grid-template-columns:1fr}.active-bid-body,.active-bid-stats{grid-template-columns:1fr}.field-grid.two-col,.field-grid.three-col,.field-grid.four-col,.simple-employee-form{grid-template-columns:1fr}}
@media(max-width:1150px){.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.auth-actions,.account-status-grid,.impact-grid,.readiness-list{grid-template-columns:1fr}.hero-actions .primary-button,.hero-actions .ghost-button{width:100%}}
@media(max-width:900px){.subscription-hero,.subscription-grid,.subscription-addon{grid-template-columns:1fr}.trial-card{align-content:start}.plan-card-head{display:grid}.plan-card-head strong{text-align:left}.plan-features{grid-template-columns:1fr}.subscription-addon .plan-button{width:100%}}

/* Softer premium dashboard finish */
body{background:radial-gradient(circle at 18% 8%,rgba(22,135,255,.16),transparent 28%),linear-gradient(135deg,#f8fbff 0%,#eef6ff 45%,#ffffff 100%)}
body:before{background-image:linear-gradient(rgba(22,135,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(22,135,255,.032) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.22),transparent 68%)}
main{padding:30px}
.dashboard-hero{padding:30px;background:linear-gradient(135deg,#06090f 0%,#0b1726 54%,#0d4d89 100%);border:1px solid rgba(22,135,255,.62);border-top:0;box-shadow:0 24px 70px rgba(5,14,27,.20),0 0 0 1px rgba(255,255,255,.08) inset}
.dashboard-hero:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.08);border-radius:6px;pointer-events:none}
.dashboard-hero h2{max-width:900px}
.dashboard-hero p{color:#e7f3ff}
.dashboard-hero-visual img{filter:drop-shadow(0 24px 44px rgba(0,0,0,.42))}
.promise-strip{gap:14px}
.promise-strip span{background:rgba(7,13,22,.96);border-color:rgba(22,135,255,.45);box-shadow:0 10px 24px rgba(17,17,17,.10)}
.ai-output-grid div,.impact-grid div,.dashboard-card,.panel,.plan-card{background:rgba(255,255,255,.94);border-color:rgba(143,199,255,.55);box-shadow:0 14px 36px rgba(17,65,112,.08)}
.ai-output-grid div,.impact-grid div,.dashboard-card{backdrop-filter:blur(8px)}
.ai-output-grid div:hover,.impact-grid div:hover,.dashboard-card:hover{border-color:#1687ff;box-shadow:0 20px 46px rgba(22,135,255,.16);transform:translateY(-2px)}
.ai-output-grid strong{font-size:19px}
.impact-grid strong{font-size:16px}
.dashboard-grid{align-items:stretch}
.dashboard-card{min-height:165px}
.dashboard-card.featured-card{background:linear-gradient(180deg,#e9f5ff 0%,rgba(255,255,255,.96) 100%);box-shadow:0 20px 46px rgba(22,135,255,.16)}
.overview-grid{align-items:start}
@media(max-width:680px){main{padding:16px}.dashboard-hero{padding:18px}.dashboard-hero:after{inset:10px}.dashboard-card{min-height:auto}}

/* Client presentation polish */
:root{--premium-blue:#1687ff;--premium-blue-dark:#0759c7;--premium-ink:#07111f;--premium-line:#c8dff7}
body{background:radial-gradient(circle at 18% 6%,rgba(22,135,255,.18),transparent 30%),radial-gradient(circle at 84% 12%,rgba(0,0,0,.08),transparent 28%),linear-gradient(135deg,#f7fbff 0%,#edf6ff 48%,#fff 100%)}
main{padding:32px 34px 40px}
.workspace-section{max-width:1480px;margin:0 auto}
.sidebar{border-right:5px solid var(--premium-blue);box-shadow:18px 0 42px rgba(5,17,32,.18)}
.brand{align-items:flex-start}
.brand h1{font-size:22px}
.nav-group>span{color:#9cb8d6}
.nav-item{min-height:44px;font-weight:800}
.dashboard-hero{min-height:520px;padding:38px;background:linear-gradient(135deg,#03070d 0%,#07111f 44%,#084b86 100%);border-color:rgba(22,135,255,.72);box-shadow:0 30px 90px rgba(5,17,32,.26),0 0 0 1px rgba(255,255,255,.08) inset}
.dashboard-hero-copy{min-height:440px}
.dashboard-hero h2{font-size:clamp(48px,5vw,82px);max-width:940px;line-height:.95}
.dashboard-hero p{max-width:830px;font-size:19px;color:#eaf5ff}
.dashboard-hero-visual img{width:min(420px,100%);max-height:500px}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;max-width:920px}
.hero-proof span{display:block;border:1px solid rgba(143,199,255,.42);background:rgba(255,255,255,.08);color:#dbeeff;border-radius:8px;padding:12px;line-height:1.35}
.hero-proof strong{display:block;color:#fff;margin-bottom:4px}
.ghost-dark-button{min-height:42px;border:1px solid #111;background:#111;color:#fff;padding:0 16px;border-radius:6px;font-weight:900;cursor:pointer;white-space:nowrap}
.promise-strip span{display:flex;align-items:center;min-height:54px;font-size:14px;text-transform:uppercase;letter-spacing:0;font-weight:900}
.ai-output-grid div{min-height:190px;padding:22px}
.ai-output-grid strong{font-size:22px}
.impact-grid div{padding:18px;min-height:150px}
.impact-grid strong{font-size:17px}
.dashboard-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:4px}
.dashboard-card{min-height:188px;padding:20px}
.dashboard-card strong{font-size:19px}
.dashboard-card small{font-size:14px}
.dashboard-card.featured-card{background:linear-gradient(180deg,#dff0ff 0%,#fff 100%);border-color:#1687ff}
.dashboard-bottom{grid-template-columns:minmax(320px,520px);margin-top:22px}
.dashboard-login-panel,.dashboard-account-panel{border-top:4px solid var(--premium-blue)}
.dashboard-metric{font-size:24px;color:#07111f}
.section-heading{background:linear-gradient(135deg,#07111f 0%,#111 58%,#063a6d 100%);box-shadow:0 20px 54px rgba(5,17,32,.18)}
.panel,.chat-panel,.plan-card,.dashboard-card,.upload-addon-card{border-color:rgba(143,199,255,.62);box-shadow:0 16px 42px rgba(17,65,112,.10)}

.start-guide{position:relative;display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);gap:20px;align-items:stretch;margin:18px 0;padding:0;overflow:hidden;background:#fff;border:1px solid rgba(143,199,255,.72);box-shadow:0 20px 48px rgba(17,65,112,.12)}
.start-guide:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,#1687ff 0%,#0b5fd7 58%,#07111f 100%)}
.start-guide[hidden]{display:none!important}
.start-guide h3,.start-guide p{margin:0}
.start-guide-copy{position:relative;z-index:1;padding:24px 22px 24px 28px;background:linear-gradient(135deg,#07111f 0%,#0a2746 72%,#0b5fd7 100%);color:#fff}
.start-guide-copy .eyebrow{color:#8fc7ff}
.start-guide-copy h3{margin-top:6px;color:#fff;font-size:26px;line-height:1.1}
.start-guide p{margin-top:8px;color:#d8ecff;line-height:1.48}
.start-guide-dismiss{margin-top:18px;min-height:38px;border-color:#8fc7ff!important;background:rgba(255,255,255,.96)!important;color:#07111f!important}
.start-guide-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:18px}
.start-guide-steps:before{content:"";position:absolute;left:42px;right:42px;top:48px;height:2px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 100%);opacity:.75}
.start-guide-steps button{position:relative;z-index:1;min-height:126px;text-align:left;border:1px solid #cfe6ff;background:#fff;border-radius:0;padding:18px 12px 14px;cursor:pointer}
.start-guide-steps button:first-child{border-radius:8px 0 0 8px}
.start-guide-steps button:last-child{border-radius:0 8px 8px 0}
.start-guide-steps span{width:42px;height:42px;display:grid;place-items:center;margin-bottom:14px;border-radius:50%;background:#07111f;color:#fff;font-size:12px;font-weight:900;box-shadow:0 0 0 5px #fff,0 0 0 7px #8fc7ff}
.start-guide-steps strong,.start-guide-steps small{display:block}
.start-guide-steps strong{color:#07111f}
.start-guide-steps small{margin-top:5px;color:#526273;line-height:1.35}
.upload-success{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0;padding:14px 16px;border:1px solid #8fc7ff;background:#eaf4ff;border-radius:8px;color:#0a3c78;box-shadow:0 12px 28px rgba(17,65,112,.08)}
.upload-success[hidden]{display:none!important}
.upload-success strong{color:#07111f}
.upload-success span{flex:1;color:#405365}
.upload-success button{min-height:36px;border:0;background:#1687ff;color:#fff;border-radius:6px;padding:0 12px;font-weight:800;cursor:pointer}
.plan-card{padding:22px;min-height:260px}
.plan-card h3{font-size:36px}
.plan-card p{font-size:15px}
.client-form-panel{position:relative;overflow:hidden;padding:0;border:1px solid rgba(143,199,255,.72);border-top:0;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 22px 52px rgba(17,65,112,.12)}
.client-form-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 58%,#07111f 100%)}
.client-form-panel>.panel-heading{margin:0;padding:22px 22px 14px}
.client-form-panel>label,.client-form-panel>button,.client-form-panel>p{margin-left:22px;margin-right:22px}
.client-form-panel>p{margin-bottom:22px}
.client-form-panel input{border-color:#cfe6ff;background:#fbfdff}
.document-bid-panel,.bid-document-panel,.accuracy-panel,.vision-panel{box-shadow:0 18px 46px rgba(17,65,112,.10)}
.dropzone{min-height:240px;border:2px dashed #1687ff;background:linear-gradient(180deg,#fff 0%,#eaf4ff 100%);box-shadow:0 18px 46px rgba(17,65,112,.08)}
.dropzone strong{font-size:24px;color:#07111f}
.dropzone span:not(.drop-icon){max-width:720px;line-height:1.45}
.drop-icon{width:58px;height:58px}
.accuracy-panel h3,.vision-panel h3{font-size:24px}
.auth-status-card,.hint-box,.lock-banner{line-height:1.45}
@media(max-width:1400px){.start-guide{grid-template-columns:1fr}.start-guide-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;align-items:center}.start-guide-copy .eyebrow,.start-guide-copy h3,.start-guide-copy p{grid-column:1}.start-guide-dismiss{grid-column:2;grid-row:1/4;margin-top:0}.start-guide-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.start-guide-steps button{min-height:132px}}
@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-proof{grid-template-columns:1fr}.dashboard-bottom{grid-template-columns:1fr}}
@media(max-width:1200px){.start-guide{grid-template-columns:1fr}.start-guide-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.start-guide-steps:before{display:none}.start-guide-steps button,.start-guide-steps button:first-child,.start-guide-steps button:last-child{border-radius:8px}}
@media(max-width:900px){main{padding:22px}.dashboard-hero{min-height:auto}.dashboard-hero-copy{min-height:auto}.ghost-dark-button{width:100%}}
@media(max-width:680px){main{padding:16px}.dashboard-hero h2{font-size:42px}.dashboard-hero p{font-size:16px}.dashboard-card{min-height:auto}.dropzone strong{font-size:20px}.start-guide-steps{grid-template-columns:1fr}.upload-success{align-items:flex-start;flex-direction:column}.upload-success button{width:100%}}

/* Estimator accuracy control presentation */
#takeoffs .section-heading{position:relative;overflow:hidden;margin-bottom:18px;padding:24px;border:1px solid rgba(143,199,255,.66);border-radius:12px;background:linear-gradient(135deg,#07111f 0%,#0b2f57 58%,#0b5fd7 100%);box-shadow:0 20px 54px rgba(11,47,87,.22)}
#takeoffs .section-heading:after{content:"";position:absolute;right:-90px;bottom:-120px;width:280px;height:280px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 62%)}
#takeoffs .section-heading>div,#takeoffs .section-heading .primary-button{position:relative;z-index:1}
#takeoffs .section-heading .eyebrow{color:#8fc7ff}
#takeoffs .section-heading h2{max-width:900px;color:#fff}
#takeoffs .section-copy{max-width:900px;color:#d8ecff;line-height:1.55}
#takeoffs .section-heading .primary-button{background:#fff;color:#0b5fd7;box-shadow:0 12px 28px rgba(0,0,0,.22)}
#takeoffs .section-heading .primary-button:hover{background:#eaf4ff;color:#07111f}
#takeoffs .panel{border-radius:12px}
.accuracy-panel{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:22px;position:relative;overflow:hidden;padding:0;border:1px solid rgba(143,199,255,.72);border-top:0;background:linear-gradient(135deg,#07111f 0%,#0c2746 38%,#fff 38%,#fff 100%)}
.accuracy-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--premium-blue)}
.accuracy-overview{position:relative;z-index:1;padding:24px;color:#fff}
.accuracy-overview .eyebrow{color:#8fc7ff}
.accuracy-overview h3{margin:6px 0 10px;color:#fff;font-size:28px}
.accuracy-overview p{margin:0;color:#d8ecff;line-height:1.55}
.accuracy-grid{position:relative;z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px 24px 0 0}
.accuracy-grid label{min-width:0;gap:6px;padding:14px;border:1px solid #d9e9fa;background:#f8fbff;border-radius:8px;color:#07111f}
.accuracy-grid label span{font-size:14px;font-weight:900}
.accuracy-grid label small{min-height:34px;color:#65717b;font-size:12px;line-height:1.35;font-weight:700}
.accuracy-grid input{background:#fff}
.accuracy-review-note{grid-column:2;position:relative;z-index:1;margin:0 24px 24px 0;padding:14px 16px;border:1px solid #8fc7ff;background:#eaf4ff;border-radius:8px;display:grid;gap:4px}
.accuracy-review-note strong{color:#07111f;font-size:15px}
.accuracy-review-note span{color:#405365;line-height:1.4}
@media(max-width:1050px){.accuracy-panel{grid-template-columns:1fr;background:linear-gradient(180deg,#07111f 0%,#0c2746 310px,#fff 310px,#fff 100%)}.accuracy-grid{padding:0 24px}.accuracy-review-note{grid-column:auto;margin:0 24px 24px}}
@media(max-width:680px){.accuracy-panel{background:linear-gradient(180deg,#07111f 0%,#0c2746 360px,#fff 360px,#fff 100%)}.accuracy-overview{padding:20px}.accuracy-grid{grid-template-columns:1fr;padding:0 16px}.accuracy-review-note{margin:0 16px 16px}.accuracy-grid label small{min-height:auto}}

/* Chat mascot assistant presence */
.chat-layout-full{grid-template-columns:1fr}
.chat-panel{overflow:hidden;padding:0;grid-template-rows:auto 1fr auto}
.chat-buddy-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px 24px 22px;background:linear-gradient(135deg,#07111f 0%,#0a2746 58%,#0b5fd7 100%);border-bottom:1px solid rgba(143,199,255,.55);color:#fff}
.chat-buddy-avatar{position:relative;width:190px;height:190px;border:2px solid #1687ff;border-radius:14px;background:#02070d;overflow:hidden;box-shadow:0 24px 48px rgba(0,0,0,.38),0 0 0 6px rgba(22,135,255,.14)}
.chat-buddy-avatar:before{content:"";position:absolute;inset:7px;border:1px solid rgba(143,199,255,.42);border-radius:8px;z-index:2;pointer-events:none}
.chat-buddy-avatar:after{content:"";position:absolute;right:12px;bottom:12px;width:13px;height:13px;border-radius:50%;background:#27d17f;box-shadow:0 0 0 0 rgba(39,209,127,.5);animation:listeningPulse 1.8s ease-out infinite;z-index:3}
.chat-buddy-avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 44%;transform:scale(1.04)}
.chat-buddy-header .eyebrow{color:#8fc7ff}
.chat-buddy-header h3{margin:4px 0 6px;color:#fff;font-size:22px;line-height:1.1}
.chat-buddy-header p{margin:0;max-width:820px;color:#d8ecff;line-height:1.45}
.listening-pill{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 11px;border:1px solid rgba(143,199,255,.58);border-radius:999px;background:rgba(255,255,255,.10);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;white-space:nowrap}
.listening-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:#27d17f}
.chat-context-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px;background:#f4f9ff;border-bottom:1px solid rgba(143,199,255,.55)}
.chat-context-bar span{display:grid;gap:2px;min-width:0;padding:10px 12px;border:1px solid #cfe6ff;background:#fff;border-radius:8px}
.chat-context-bar strong{color:#07111f;font-size:12px;text-transform:uppercase}
.chat-context-bar small{color:#405365;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-messages{min-height:390px;padding:18px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.message{border-radius:12px}
.message.assistant{position:relative;margin-left:8px;border-color:#cfe6ff;background:#fff;box-shadow:0 10px 24px rgba(17,65,112,.08)}
.message.assistant:before{content:"";position:absolute;left:-8px;top:18px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #cfe6ff}
.message.assistant:after{content:"";position:absolute;left:-6px;top:19px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}
.welcome-message{max-width:920px}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 12px;background:#f8fbff}
.chat-suggestions button{min-height:36px;border:1px solid #8fc7ff;background:#fff;color:#0a3c78;border-radius:999px;padding:0 12px;font-weight:800;cursor:pointer}
.chat-suggestions button:hover{background:#eaf4ff;border-color:#1687ff}
.chat-form{padding:0 18px 18px;background:#f8fbff}
.chat-panel.locked .chat-buddy-avatar:after{background:#9aa6b2;animation:none;box-shadow:none}
.chat-panel.locked .listening-pill{opacity:.65}
.chat-panel.locked .chat-suggestions button{opacity:.6;cursor:not-allowed}
@keyframes listeningPulse{0%{box-shadow:0 0 0 0 rgba(39,209,127,.55)}70%{box-shadow:0 0 0 11px rgba(39,209,127,0)}100%{box-shadow:0 0 0 0 rgba(39,209,127,0)}}
@media(max-width:760px){.chat-buddy-header{grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:start;padding:18px}.chat-buddy-avatar{width:116px;height:116px}.listening-pill{grid-column:1/-1;justify-content:center}.chat-buddy-header h3{font-size:19px}.chat-buddy-header p{font-size:13px}.chat-context-bar{grid-template-columns:1fr;padding:12px 14px}.chat-messages{padding:14px}.chat-suggestions{padding:0 14px 12px}.chat-form{padding:0 14px 14px}}

/* Project-wide action visibility pass */
button,.assistant-upload,.dashboard-card,.dropzone{position:relative}
button:focus-visible,.assistant-upload:focus-visible,.dashboard-card:focus-visible,.dropzone:focus-visible,.tab:focus-visible{outline:3px solid rgba(22,135,255,.38);outline-offset:3px}
.primary-button,.plan-card.selected .plan-button,.upload-success button,.bid-switcher button,.vision-actions .primary-button,#generateBid,#generateBidDocuments,#runTakeoff,#runScope,#saveProfile,#dashboardSignIn,#signInAccount,#addEmployee,#indexText{border:1px solid #063a6d!important;background:linear-gradient(180deg,#1687ff 0%,#0b5fd7 100%)!important;color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.22);box-shadow:0 12px 28px rgba(11,95,215,.28),inset 0 1px 0 rgba(255,255,255,.18)!important}
.primary-button:hover,.plan-card.selected .plan-button:hover,.upload-success button:hover,.bid-switcher button:hover,.vision-actions .primary-button:hover,#generateBid:hover,#generateBidDocuments:hover,#runTakeoff:hover,#runScope:hover,#saveProfile:hover,#dashboardSignIn:hover,#signInAccount:hover,#addEmployee:hover,#indexText:hover{background:linear-gradient(180deg,#0b5fd7 0%,#084b9b 100%)!important;box-shadow:0 16px 34px rgba(11,95,215,.34),inset 0 1px 0 rgba(255,255,255,.16)!important}
.plan-button,.ghost-button,.ghost-dark-button,.assistant-upload,.file-item button,.chat-suggestions button,.employee-card button,#newBid,#dashboardSignOut,#signOutAccount,#addUploadBoost{border:2px solid #1687ff!important;background:#fff!important;color:#07111f!important;box-shadow:0 8px 18px rgba(17,65,112,.12)!important;font-weight:900}
.plan-button:hover,.ghost-button:hover,.ghost-dark-button:hover,.assistant-upload:hover,.file-item button:hover,.chat-suggestions button:hover,.employee-card button:hover,#newBid:hover,#dashboardSignOut:hover,#signOutAccount:hover,#addUploadBoost:hover{background:#07111f!important;border-color:#07111f!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 14px 28px rgba(7,17,31,.22)!important}
.section-heading .ghost-button,.dashboard-hero .ghost-button{border-color:#8fc7ff!important;background:rgba(255,255,255,.96)!important;color:#07111f!important}
.section-heading .ghost-button:hover,.dashboard-hero .ghost-button:hover{background:#fff!important;color:#07111f!important;border-color:#fff!important;box-shadow:0 16px 34px rgba(0,0,0,.24)!important}
.tab{border:2px solid #cfe6ff;background:#fff;color:#07111f;font-weight:900;box-shadow:0 6px 14px rgba(17,65,112,.08)}
.tab:hover{border-color:#1687ff;background:#eaf4ff;color:#07111f}
.tab.active{border-color:#07111f;background:#07111f;color:#fff;box-shadow:0 10px 22px rgba(7,17,31,.22)}
.nav-item{border:1px solid rgba(255,255,255,.08);border-left:4px solid transparent;background:rgba(255,255,255,.03);font-weight:800}
.nav-item:hover{background:#202a35;border-color:rgba(143,199,255,.55);border-left-color:#8fc7ff;color:#fff}
.nav-item.active{background:linear-gradient(90deg,#0b5fd7 0%,#122033 100%);border-color:#1687ff;color:#fff;box-shadow:0 10px 24px rgba(22,135,255,.25)}
.dashboard-card{border-width:2px;background:#fff}
.dashboard-card:hover{border-color:#07111f;box-shadow:0 18px 40px rgba(17,65,112,.16),inset 0 0 0 2px #1687ff}
.dashboard-card:after,.chat-suggestions button:after{content:"";position:absolute;right:12px;top:12px;width:8px;height:8px;border-radius:50%;background:#1687ff;opacity:.85}
.icon-button{border:2px solid #07111f;background:#fff;color:#07111f;font-weight:900;border-radius:6px;box-shadow:0 6px 14px rgba(17,65,112,.10)}
.icon-button:hover{background:#07111f;color:#fff}
button:disabled,.primary-button:disabled,.plan-button:disabled,.assistant-upload:disabled{background:#d5dde6!important;border-color:#aeb9c5!important;color:#627083!important;text-shadow:none!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important}
.primary-button,.plan-card.selected .plan-button,.upload-success button,.bid-switcher button,.vision-actions .primary-button,#generateBid,#generateBidDocuments,#runTakeoff,#runScope,#saveProfile,#dashboardSignIn,#signInAccount,#addEmployee,#indexText{background-color:#0b5fd7!important}
.nav-item{background:#101820!important}
.nav-item:hover{background:#17263a!important}
.nav-item.active{background:#0b5fd7!important}
.dashboard-card,.dashboard-card.featured-card{background-color:#fff!important}
.chat-suggestions button{background-color:#fff!important}
.start-guide-steps button{border-color:#d9e9fa!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;color:#07111f!important;box-shadow:0 10px 24px rgba(17,65,112,.08)!important;font-weight:900}
.start-guide-steps button span{background:#07111f!important;color:#fff!important}
.start-guide-steps button strong{color:#07111f!important}
.start-guide-steps button small{color:#526273!important}
.start-guide-steps button:hover{background:linear-gradient(180deg,#eef7ff 0%,#fff 100%)!important;border-color:#1687ff!important;color:#07111f!important;transform:translateY(-2px);box-shadow:0 16px 34px rgba(17,65,112,.16)!important}
.start-guide-steps button:hover span{background:#1687ff!important;color:#fff!important;box-shadow:0 0 0 5px #fff,0 0 0 7px #1687ff}
.employee-login-button,#createEmployeeLogin,#dashboardCreateEmployeeLogin{grid-column:1/-1;min-height:42px;border:2px solid #07111f!important;background:#fff7d1!important;color:#07111f!important;font-weight:900;box-shadow:0 10px 24px rgba(177,125,0,.18)!important;cursor:pointer}

/* Build my Bid final package desk */
select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px}
.employee-login-button:hover,#createEmployeeLogin:hover,#dashboardCreateEmployeeLogin:hover{background:#ffd84d!important;border-color:#07111f!important;color:#07111f!important;transform:translateY(-1px);box-shadow:0 14px 30px rgba(177,125,0,.28)!important}
.dashboard-grid .dashboard-card span{width:auto;min-width:58px;padding:0 8px}
#bid .section-heading{position:relative;overflow:hidden;align-items:flex-end;margin-bottom:20px;padding:28px;border:1px solid rgba(143,199,255,.7);border-radius:14px;background:linear-gradient(135deg,#050b14 0%,#0b2f57 58%,#0b5fd7 100%);box-shadow:0 24px 62px rgba(7,17,31,.26)}
#bid .section-heading:after{content:"";position:absolute;right:-90px;top:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 62%);border:1px solid rgba(255,255,255,.14)}
#bid .section-heading>div,#bid .section-heading .primary-button{position:relative;z-index:1}
#bid .section-heading .eyebrow{color:#8fc7ff}
#bid .section-heading h2{max-width:880px;color:#fff}
#bid .section-copy{max-width:900px;color:#dceeff;line-height:1.55}
#bid .section-heading .primary-button{min-width:180px;background:#fff!important;color:#0b5fd7!important;text-shadow:none!important;border-color:#fff!important;box-shadow:0 18px 34px rgba(0,0,0,.18)}
#bid .build-bid-flow{display:grid;gap:18px}
#bid .build-step{position:relative;display:grid;gap:16px;overflow:hidden;border:1px solid #bddbf7;border-radius:14px;background:#fff;box-shadow:0 18px 46px rgba(17,65,112,.10)}
#bid .build-step:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0b5fd7 0%,#1687ff 64%,#07111f 100%)}
#bid .build-step-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:20px 22px 0}
#bid .build-step-head>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#07111f;color:#fff;font-weight:950;box-shadow:0 0 0 5px #eef7ff}
#bid .build-step-head strong{display:block;color:#07111f;font-size:22px;line-height:1.15}
#bid .build-step-head small{display:block;margin-top:5px;color:#526273;font-weight:800;line-height:1.4}
#bid .bid-package-grid{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);gap:16px;margin:0;padding:0 20px 20px}
#bid .bid-readiness-panel,#bid .bid-cost-panel,#bid .bid-controls-panel,#bid .bid-output-panel{border-radius:12px;box-shadow:none}
#bid .bid-readiness-panel,#bid .bid-cost-panel{display:grid;align-content:start;gap:14px;min-width:0;padding:18px;border:1px solid #d6e9fb;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
#bid .panel-kicker h3{margin:4px 0 6px;color:#07111f;font-size:22px}
#bid .panel-kicker p{margin:0;color:#526273;line-height:1.4}
#bid .bid-package-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#bid .bid-package-status>div:not(.bid-readiness-issues),#bid .bid-cost-story>div{display:grid;align-content:center;gap:5px;min-width:0;min-height:84px;padding:13px;border:1px solid #d9e9fa;border-radius:10px;background:#fff}
#bid .bid-package-status strong,#bid .bid-cost-story strong{color:#07111f;font-size:20px;line-height:1.15;overflow-wrap:anywhere}
#bid .bid-package-status span,#bid .bid-cost-story span{color:#526273;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
#bid .bid-cost-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#bid .bid-cost-story small{color:#526273;font-size:12px;font-weight:800;line-height:1.3}
#bid .bid-cost-story .cost-total{grid-column:1/-1;min-height:96px;border-color:#1687ff;background:linear-gradient(135deg,#07111f 0%,#0b2f57 70%,#0b5fd7 100%)}
#bid .bid-cost-story .cost-total span,#bid .bid-cost-story .cost-total small{color:#dceeff}
#bid .bid-cost-story .cost-total strong{color:#fff;font-size:28px}
#bid .bid-controls-panel{display:grid;gap:14px;margin:0 20px 20px;padding:18px;border:1px solid #d6e9fb;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
#bid .bid-controls-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #d9e9fa}
#bid .bid-controls-title h3{margin:0;color:#07111f;font-size:22px}
#bid .bid-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#bid .bid-controls-panel label{display:grid;gap:7px;margin:0;padding:13px;border:1px solid #d9e9fa;background:#fff;border-radius:10px;color:#07111f;font-weight:900}
#bid .bid-control-grid .wide-control{grid-column:1/-1}
#bid .bid-controls-panel input,#bid .bid-controls-panel select,#bid .bid-controls-panel textarea{border-color:#aacdeb;background:#fff;color:#07111f}
#bid .bid-controls-panel textarea.short-textarea{min-height:96px}
#bid .bid-controls-panel #estimatorNotes{min-height:132px}
#bid .bid-controls-panel .hint-box{margin:0;padding:12px 14px;border:1px solid #8fc7ff;border-radius:10px;background:#eaf4ff;color:#0a3c78;font-size:13px;font-weight:850}
#bid .bid-output-panel{margin:0 20px 20px;padding:0;overflow:hidden;border:1px solid #d6e9fb;background:#fff}
#bid .bid-output-panel .panel-heading{margin:0;padding:18px 20px;border-bottom:1px solid #d9e9fa;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
#bid .bid-output-panel .panel-heading h3{font-size:24px}
#bid .document-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
#bid #sendAdminReview{min-height:40px;padding:0 15px}
#bid .bid-output-panel .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:14px 18px;border-bottom:1px solid #d9e9fa;background:#f8fbff}
#bid .bid-output-panel .tab{min-height:38px;border-radius:999px;white-space:nowrap}
#bid .document-guide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin:0;padding:13px 18px;border-bottom:1px solid #d9e9fa;background:#fff}
#bid .document-guide strong{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#07111f;color:#fff;font-size:12px;text-transform:uppercase;white-space:nowrap}
#bid .document-guide span{color:#405365;font-size:14px;line-height:1.4}
#bid .admin-review-status{min-height:0;margin:0;padding:0;color:#0a3c78;font-size:13px;font-weight:900}
#bid .admin-review-status.success,#bid .admin-review-status.sending,#bid .admin-review-status.error{margin:14px 18px;padding:14px 16px;border-radius:12px;border:1px solid;font-size:14px;line-height:1.35;box-shadow:0 10px 24px rgba(5,11,20,.08)}
#bid .admin-review-status.success{background:#e9fbf1;border-color:#7bdca1;color:#0c5d2f}
#bid .admin-review-status.sending{background:#edf6ff;border-color:#82c2ff;color:#074b86}
#bid .admin-review-status.error{background:#fff1f2;border-color:#f3a0aa;color:#9f1239}
#bid .bid-output-panel .draft-output{min-height:640px;padding:32px 38px;border:0;border-radius:0;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);color:#172433;font-family:Arial,Helvetica,sans-serif!important;font-size:15px;line-height:1.7;letter-spacing:0;white-space:pre-wrap;tab-size:4}
.bid-readiness-issues{grid-column:1/-1;display:grid;gap:7px;padding:13px;border:1px solid #f0bd70;border-radius:10px;background:#fff8e8;color:#07111f}
.bid-readiness-issues strong{color:#7a4b00;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.bid-readiness-issues span{display:block;padding:7px 9px;border-radius:7px;background:#fff;color:#5d3b00;font-weight:850;line-height:1.25}
.bid-readiness-issues small{color:#7a4b00;font-weight:900}
.bid-readiness-issues.ready{border-color:#9ad6a7;background:#eefbf1}
.bid-readiness-issues.ready strong{color:#17612a}
.bid-readiness-issues.ready span{color:#17612a}
@media(max-width:1180px){#bid .bid-package-grid{grid-template-columns:1fr}#bid .bid-cost-story{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#bid .section-heading{padding:22px}#bid .section-heading .primary-button{width:100%}#bid .bid-control-grid{grid-template-columns:1fr}#bid .build-step-head{align-items:start}#bid .bid-package-grid{padding:0 14px 14px}#bid .bid-controls-panel,#bid .bid-output-panel{margin:0 14px 14px}#bid .document-review-actions{justify-content:flex-start}}
@media(max-width:620px){#bid .build-step-head{grid-template-columns:1fr;padding:16px 16px 0}#bid .bid-package-status,#bid .bid-cost-story{grid-template-columns:1fr}#bid .bid-output-panel .tabs{display:grid;grid-template-columns:1fr 1fr}#bid .document-guide{grid-template-columns:1fr;padding:12px 14px}#bid .document-guide strong{width:max-content}#bid .bid-output-panel .draft-output{min-height:460px;padding:16px}}

/* Takeoff accuracy controls */
.accuracy-control-group{display:grid;gap:10px;padding:14px;border:1px solid #d9e9fa;background:#f8fbff;border-radius:10px}
.accuracy-control-group>strong{color:#07111f;font-size:13px;text-transform:uppercase}
.accuracy-control-group label{padding:0!important;border:0!important;background:transparent!important}
.accuracy-control-group-wide{grid-column:1/-1}
.takeoff-accuracy-review{margin-bottom:18px;background:linear-gradient(180deg,#fff 0%,#f4f9ff 100%);box-shadow:0 18px 46px rgba(17,65,112,.10)}
.accuracy-review-status{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #8fc7ff;border-radius:999px;background:#eaf4ff;color:#0a3c78;font-size:12px;font-weight:900;text-transform:uppercase}
.takeoff-accuracy-board{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,.8fr);gap:12px;align-items:stretch}
.accuracy-readiness,.accuracy-metrics>div,.accuracy-issues{min-width:0;padding:14px;border:1px solid #cfe6ff;border-radius:10px;background:#fff}
.accuracy-readiness{display:grid;align-content:center;gap:6px;background:linear-gradient(135deg,#07111f 0%,#0b2f57 72%,#0b5fd7 100%);color:#fff}
.accuracy-readiness.is-clean{background:linear-gradient(135deg,#07111f 0%,#103f30 72%,#1f9d55 100%)}
.accuracy-readiness span,.accuracy-metrics span,.accuracy-issues>span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.accuracy-readiness span,.accuracy-readiness small{color:#cfe6ff}.accuracy-readiness strong{font-size:22px;line-height:1.1;color:#fff}
.accuracy-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.accuracy-metrics>div{display:grid;gap:5px}.accuracy-metrics span,.accuracy-issues>span{color:#526273}.accuracy-metrics strong{color:#07111f;font-size:22px;line-height:1.1;overflow-wrap:anywhere}.accuracy-metrics small,.accuracy-issues small{color:#65717b;line-height:1.35}
.accuracy-issues{display:grid;align-content:start;gap:8px}.accuracy-issues strong{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 9px;border:1px solid #f0c36a;background:#fff8e6;color:#5f4200;border-radius:7px;font-size:12px;line-height:1.25}.accuracy-issues strong small{font-size:11px;color:#7a4b00;font-weight:900}
.takeoff-accuracy-board.empty-state{display:block;padding:16px;border:1px dashed #8fc7ff;border-radius:10px;background:#f8fbff;color:#526273}
@media(max-width:1100px){.takeoff-accuracy-board{grid-template-columns:1fr}.accuracy-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.accuracy-metrics{grid-template-columns:1fr}.accuracy-control-group-wide{grid-column:auto}}

/* Compact accuracy control board */
#takeoffs .accuracy-panel{grid-template-columns:minmax(240px,.36fr) minmax(0,.64fr);gap:14px;margin-bottom:14px;background:#fff}
#takeoffs .accuracy-overview{padding:18px 20px;background:linear-gradient(135deg,#07111f 0%,#0c2746 100%);border-radius:10px;margin:14px 0 14px 14px}
#takeoffs .accuracy-overview h3{margin:4px 0 8px;font-size:22px}
#takeoffs .accuracy-overview p{font-size:13px;line-height:1.42;color:#e8f4ff}
#takeoffs .accuracy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 18px 0 0}
#takeoffs .accuracy-control-group{gap:8px;padding:11px;border:1px solid #b9d9f8;background:#f7fbff;border-radius:8px}
#takeoffs .accuracy-control-group>strong{font-size:12px;letter-spacing:.02em;color:#07111f}
#takeoffs .accuracy-control-group-wide{grid-column:auto}
#takeoffs .accuracy-grid label{gap:4px}
#takeoffs .accuracy-grid label span{font-size:13px;color:#07111f}
#takeoffs .accuracy-grid label small{min-height:auto;font-size:12px;line-height:1.3;color:#405365}
#takeoffs .accuracy-grid input{min-height:38px;padding:9px 10px;border-color:#aacdeb;background:#fff;color:#07111f;font-size:13px}
#takeoffs .accuracy-review-note{grid-column:2;margin:0 18px 18px 0;padding:10px 12px;border:1px solid #7bbcff;background:#eaf4ff;border-radius:8px;grid-template-columns:auto 1fr;align-items:center}
#takeoffs .accuracy-review-note strong{font-size:13px;color:#07111f;white-space:nowrap}
#takeoffs .accuracy-review-note span{font-size:12px;line-height:1.3;color:#263947}
#takeoffs .accuracy-review-note small{display:block;margin-top:4px;color:#0b5fd7;font-weight:800}
#takeoffs .accuracy-review-note .ghost-button{justify-self:end;min-height:36px;padding:0 12px;font-size:12px}
@media(max-width:1150px){#takeoffs .accuracy-grid{grid-template-columns:1fr 1fr}#takeoffs .accuracy-control-group-wide{grid-column:1/-1}}
@media(max-width:1050px){#takeoffs .accuracy-panel{grid-template-columns:1fr}#takeoffs .accuracy-overview{margin:14px 14px 0}#takeoffs .accuracy-grid{padding:0 18px}#takeoffs .accuracy-review-note{grid-column:auto;margin:0 18px 18px}}
@media(max-width:680px){#takeoffs .accuracy-overview{padding:16px;margin:14px 14px 0}#takeoffs .accuracy-grid{grid-template-columns:1fr;padding:0 14px}#takeoffs .accuracy-control-group-wide{grid-column:auto}#takeoffs .accuracy-review-note{grid-template-columns:1fr;margin:0 14px 14px}}

/* Takeoff results table polish */
#takeoffs .accuracy-panel{display:grid;grid-template-columns:minmax(270px,.34fr) minmax(0,.66fr);gap:0;padding:0;border:1px solid #9fcfff;border-radius:12px;background:linear-gradient(135deg,#07111f 0%,#08294d 33%,#f7fbff 33%,#fff 100%);box-shadow:0 24px 60px rgba(17,65,112,.16);overflow:hidden}
#takeoffs .accuracy-panel:before{height:6px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 46%,#ffffff 100%)}
#takeoffs .accuracy-overview{display:grid;align-content:start;gap:12px;margin:0;padding:26px 24px 28px;background:transparent;border-radius:0;color:#fff}
#takeoffs .accuracy-overview .eyebrow{width:max-content;padding:6px 10px;border:1px solid rgba(143,199,255,.44);border-radius:999px;background:rgba(143,199,255,.12);color:#cfe6ff}
#takeoffs .accuracy-overview h3{margin:0;font-size:28px;line-height:1.08;color:#fff}
#takeoffs .accuracy-overview p{max-width:36ch;margin:0;color:#d8ecff;font-size:14px;line-height:1.55}
#takeoffs .accuracy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px 22px 0 22px}
#takeoffs .accuracy-control-group{position:relative;display:grid;align-content:start;gap:12px;min-width:0;padding:16px;border:1px solid #c9e2fb;border-radius:10px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);box-shadow:0 10px 26px rgba(17,65,112,.08)}
#takeoffs .accuracy-control-group:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:10px 10px 0 0;background:#1687ff}
#takeoffs .accuracy-control-group>strong{display:flex;align-items:center;gap:8px;margin-bottom:2px;color:#07111f;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
#takeoffs .accuracy-control-group>strong:before{content:"";width:9px;height:9px;border-radius:50%;background:#1687ff;box-shadow:0 0 0 4px #eaf4ff}
#takeoffs .accuracy-grid label{display:grid;gap:5px;min-width:0;padding:0!important;border:0!important;background:transparent!important;color:#07111f}
#takeoffs .accuracy-grid label span{color:#07111f;font-size:13px;font-weight:900}
#takeoffs .accuracy-grid label small{min-height:auto;color:#526273;font-size:12px;font-weight:700;line-height:1.35}
#takeoffs .accuracy-grid input{min-height:42px;padding:10px 11px;border:1px solid #a8cff4;border-radius:7px;background:#fff;color:#07111f;font-size:13px;box-shadow:inset 0 1px 0 rgba(7,17,31,.04)}
#takeoffs .accuracy-grid input:focus{outline:0;border-color:#1687ff;box-shadow:0 0 0 3px rgba(22,135,255,.16)}
#takeoffs .accuracy-control-group-wide{grid-column:auto}
#takeoffs .accuracy-review-note{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:14px 22px 22px;padding:14px 16px;border:1px solid #8fc7ff;border-radius:10px;background:linear-gradient(180deg,#eaf4ff 0%,#f8fbff 100%);box-shadow:0 12px 30px rgba(17,65,112,.10)}
#takeoffs .accuracy-review-note strong{display:block;margin-bottom:3px;color:#07111f;font-size:14px;font-weight:900}
#takeoffs .accuracy-review-note span{display:block;color:#405365;font-size:12px;line-height:1.35}
#takeoffs .accuracy-review-note small{display:block;margin-top:5px;color:#0b5fd7;font-size:12px;font-weight:900}
#takeoffs .accuracy-review-note .ghost-button{justify-self:end;min-height:38px;padding:0 14px;border-color:#0b5fd7!important;background:#07111f!important;color:#fff!important;font-size:12px}
#takeoffs .accuracy-control-group .accuracy-review-note{grid-column:auto;display:grid;grid-template-columns:1fr;gap:10px;align-items:start;margin:2px 0 0;padding:12px;border:1px solid #8fc7ff;border-radius:9px;background:linear-gradient(180deg,#eaf4ff 0%,#f8fbff 100%);box-shadow:none}
#takeoffs .accuracy-control-group .accuracy-review-note strong{display:block;margin:0 0 4px;color:#07111f;font-size:13px;line-height:1.2}
#takeoffs .accuracy-control-group .accuracy-review-note span{display:block;color:#334b5f;font-size:12px;line-height:1.4}
#takeoffs .accuracy-control-group .accuracy-review-note small{display:block;margin-top:6px;color:#0b5fd7;font-size:12px;font-weight:900;line-height:1.35}
#takeoffs .accuracy-control-group .accuracy-review-note .ghost-button{width:100%;justify-self:stretch;min-height:36px;margin-top:2px}
@media(max-width:1220px){#takeoffs .accuracy-grid{grid-template-columns:1fr 1fr}#takeoffs .accuracy-control-group-wide{grid-column:1/-1}}
@media(max-width:1050px){#takeoffs .accuracy-panel{grid-template-columns:1fr;background:#fff}#takeoffs .accuracy-overview{background:linear-gradient(135deg,#07111f 0%,#08294d 100%)}#takeoffs .accuracy-review-note{grid-column:auto}}
@media(max-width:680px){#takeoffs .accuracy-grid{grid-template-columns:1fr;padding:16px 14px 0}#takeoffs .accuracy-review-note{grid-template-columns:1fr;margin:14px}.accuracy-review-note .ghost-button,#takeoffs .accuracy-review-note .ghost-button{width:100%;justify-self:stretch}}
#takeoffs .panel:has(#takeoffRows){padding:0;overflow:hidden;background:#fff;border:1px solid #b9d9f8;box-shadow:0 18px 46px rgba(17,65,112,.12)}
#takeoffs .panel:has(#takeoffRows):before{content:"Reviewable takeoff lines";display:block;padding:16px 18px;border-bottom:1px solid #d9e9fa;background:linear-gradient(135deg,#07111f 0%,#0b2f57 72%,#0b5fd7 100%);color:#fff;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}

/* Accuracy controls refined presentation */
#takeoffs .accuracy-panel{grid-template-columns:minmax(260px,.32fr) minmax(0,.68fr);gap:0;border:1px solid #9fcfff;border-radius:14px;background:#fff;box-shadow:0 22px 54px rgba(17,65,112,.14)}
#takeoffs .accuracy-panel:before{height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 54%,#07111f 100%)}
#takeoffs .accuracy-overview{padding:24px;background:linear-gradient(160deg,#07111f 0%,#09233f 62%,#0b5fd7 140%);border-right:1px solid rgba(143,199,255,.34)}
#takeoffs .accuracy-overview .eyebrow{padding:0;border:0;background:transparent;color:#8fc7ff}
#takeoffs .accuracy-overview h3{font-size:26px;line-height:1.08}
#takeoffs .accuracy-overview p{max-width:34ch;color:#dceeff;font-size:13px;line-height:1.5}
#takeoffs .accuracy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}
#takeoffs .accuracy-control-group{gap:13px;padding:16px;border:1px solid #d5e9fb;border-radius:10px;background:#fbfdff;box-shadow:0 8px 22px rgba(17,65,112,.07)}
#takeoffs .accuracy-control-group:before{height:3px;background:#1687ff}
#takeoffs .accuracy-control-group>strong{font-size:12px;color:#07111f}
#takeoffs .accuracy-grid label span{font-size:13px}
#takeoffs .accuracy-grid label small{color:#526273;font-size:12px;line-height:1.35}
#takeoffs .accuracy-grid input{min-height:42px;border-color:#b8d9f8;border-radius:8px;background:#fff}
#takeoffs .accuracy-control-group-wide{grid-column:1/-1}
#takeoffs .accuracy-control-group .accuracy-review-note{margin:0;padding:12px;border-color:#a7d2fb;background:linear-gradient(180deg,#eef7ff 0%,#fff 100%)}
#takeoffs .accuracy-control-group .accuracy-review-note .ghost-button{width:auto;justify-self:start;min-width:132px}
@media(max-width:1050px){#takeoffs .accuracy-panel{grid-template-columns:1fr}#takeoffs .accuracy-overview{border-right:0;border-bottom:1px solid rgba(143,199,255,.34)}#takeoffs .accuracy-overview p{max-width:62ch}}
@media(max-width:720px){#takeoffs .accuracy-grid{grid-template-columns:1fr;padding:14px}#takeoffs .accuracy-control-group-wide{grid-column:auto}#takeoffs .accuracy-control-group .accuracy-review-note .ghost-button{width:100%}}

/* Compact estimator controls layout */
#takeoffs .accuracy-panel{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:16px;border-radius:12px;background:#fff}
#takeoffs .accuracy-overview{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(0,1fr);gap:10px 18px;align-items:center;padding:18px 22px;background:linear-gradient(135deg,#07111f 0%,#08294d 72%,#0b5fd7 100%);border-right:0;border-bottom:1px solid rgba(143,199,255,.46)}
#takeoffs .accuracy-overview .eyebrow{grid-row:1;color:#8fc7ff}
#takeoffs .accuracy-overview h3{grid-row:2;margin:0;font-size:23px}
#takeoffs .accuracy-overview p{grid-column:2;grid-row:1/3;max-width:none;margin:0;color:#e4f2ff;font-size:13px;line-height:1.42}
#takeoffs .accuracy-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;padding:16px}
#takeoffs .accuracy-control-group{min-height:0;padding:14px;gap:10px}
#takeoffs .accuracy-control-group-wide{grid-column:auto}
#takeoffs .accuracy-control-group>strong{margin-bottom:0}
#takeoffs .accuracy-grid label{gap:4px}
#takeoffs .accuracy-grid input{min-height:40px}
#takeoffs .schedule-labor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#takeoffs .labor-notes-compact{margin-top:2px}
#takeoffs .labor-notes-compact textarea{min-height:70px;padding:10px 11px;border:1px solid #b8d9f8;border-radius:8px;background:#fff;color:#07111f;font:inherit;resize:vertical}
#takeoffs .labor-notes-compact textarea:focus{outline:0;border-color:#1687ff;box-shadow:0 0 0 3px rgba(22,135,255,.16)}
#takeoffs .accuracy-control-group .accuracy-review-note{gap:8px;padding:11px;margin-top:0}
#takeoffs .accuracy-control-group .accuracy-review-note span{font-size:11px;line-height:1.3}
#takeoffs .accuracy-control-group .accuracy-review-note small{margin-top:4px}
@media(max-width:1180px){#takeoffs .accuracy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#takeoffs .accuracy-control-group-wide{grid-column:1/-1}}
@media(max-width:960px){#takeoffs .schedule-labor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#takeoffs .accuracy-overview{grid-template-columns:1fr;padding:16px}#takeoffs .accuracy-overview p{grid-column:1;grid-row:auto}#takeoffs .accuracy-grid{grid-template-columns:1fr;padding:14px}#takeoffs .accuracy-control-group-wide{grid-column:auto}#takeoffs .schedule-labor-grid{grid-template-columns:1fr}}
#takeoffs .price-option{margin:0 0 7px;padding:9px 10px;border-color:#cfe6ff;background:#fff;box-shadow:none}
#takeoffs .price-option:last-child{margin-bottom:0}
#takeoffs #takeoffRows .empty-state{padding:22px;color:#405365;background:#f8fbff;text-align:center;font-weight:800}
@media(max-width:760px){#takeoffs .panel:has(#takeoffRows):before{padding:14px 16px}}

/* Takeoff review workflow */
#takeoffs .accuracy-badge.needs-review{border-color:#d98b00;background:#fff3cd;color:#7a4b00}
#takeoffs .accuracy-badge.reviewed{border-color:#79c68a;background:#e9f9ed;color:#17612a}
.takeoff-item-main{display:grid;gap:7px;min-width:180px}
.takeoff-item-main strong{color:#07111f;line-height:1.2}
.source-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:26px;padding:0 8px;border-radius:999px;border:1px solid #8fc7ff;background:#eaf4ff;color:#0a3c78;font-size:12px;font-weight:900;line-height:1.2}
.source-pill.missing{border-color:#f0c36a;background:#fff8e6;color:#5f4200}
.takeoff-qty,.takeoff-money{display:block;color:#07111f;white-space:nowrap}
.takeoff-review-stack{display:grid;gap:9px;min-width:210px}
.accuracy-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:28px;padding:0 9px;border-radius:999px;border:1px solid #8fc7ff;background:#eaf4ff;color:#0a3c78;font-size:12px;font-weight:900;text-transform:uppercase;line-height:1.2}
.accuracy-badge.needs{border-color:#f0c36a;background:#fff8e6;color:#5f4200}
.accuracy-badge.ready{border-color:#8fc7ff;background:#eaf4ff;color:#0a3c78}
.accuracy-badge.reviewed{border-color:#a8ddb2;background:#f1fbf3;color:#17612a}
.review-issue-list{display:grid;gap:6px;margin-top:9px}
.review-issue-list span{display:block;padding:7px 8px;border:1px solid #f0c36a;background:#fff8e6;color:#5f4200;border-radius:6px;font-size:12px;font-weight:800;line-height:1.25}
.review-issue-list.reviewed span{border-color:#a8ddb2;background:#f1fbf3;color:#245b30}
.review-note{padding:8px 9px;border:1px solid #cfe6ff;background:#f8fbff;border-radius:7px;color:#334b5f;font-size:12px;font-weight:800;line-height:1.35}
.review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.review-actions button{min-height:32px;padding:0 10px;border:1px solid #0b5fd7;background:#fff;color:#0b5fd7;border-radius:6px;font-size:12px;font-weight:900;cursor:pointer}
.review-actions button:hover{background:#eaf4ff}
.review-actions button[data-approve-takeoff]{border-color:#17612a;color:#17612a}
.review-actions button[data-approve-takeoff]:hover{background:#e9f9ed}
.fitting-detail{display:grid;gap:6px;margin-top:6px;color:#405365;font-size:12px;line-height:1.35;font-weight:800}
.fitting-detail>span{color:#526273;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.fitting-detail strong{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;max-width:230px;padding:6px 8px;border:1px solid #cfe6ff;border-radius:7px;background:#f8fbff;color:#07111f;font-size:12px;line-height:1.2}
.fitting-detail em{font-style:normal;color:#0b5fd7;font-weight:900;white-space:nowrap}
.fitting-detail.needs-review{width:max-content;max-width:100%;padding:7px 9px;border:1px solid #f0c36a;border-radius:7px;background:#fff8e6;color:#5f4200}

/* Reviewable takeoff lines: estimator-friendly row design */
.takeoff-item-main{gap:10px;min-width:260px}
.takeoff-item-title{display:grid;gap:3px}
.takeoff-item-title strong{font-size:16px;color:#07111f}
.takeoff-item-title span{color:#526273;font-size:12px;font-weight:800;line-height:1.35}
.takeoff-breakdown{display:grid;gap:8px;padding:10px;border:1px solid #d9e9fa;border-radius:8px;background:linear-gradient(180deg,#fbfdff 0%,#f4f9ff 100%)}
.takeoff-breakdown>span{color:#526273;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.takeoff-breakdown>div{display:grid;gap:6px}
.takeoff-breakdown strong{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid #cfe6ff;border-radius:7px;background:#fff;color:#07111f}
.takeoff-breakdown small{min-width:0;color:#20384e;font-size:12px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.takeoff-breakdown em{font-style:normal;color:#0b5fd7;font-weight:900;white-space:nowrap}
.takeoff-breakdown.needs-review{display:inline-block;width:max-content;max-width:100%;border-color:#f0c36a;background:#fff8e6;color:#5f4200;font-weight:900}
.takeoff-breakdown-structured>div{gap:8px}
.takeoff-detail-card{display:grid;gap:9px;padding:10px;border:1px solid #cfe6ff;border-radius:8px;background:#fff;box-shadow:0 8px 18px rgba(17,65,112,.06)}
.takeoff-detail-primary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #e2f0fd}
.takeoff-detail-primary span{min-width:0;color:#07111f;font-size:13px;font-weight:950;line-height:1.25;text-transform:capitalize;overflow-wrap:anywhere}
.takeoff-detail-primary strong{display:block;padding:0;border:0;background:transparent;color:#0b5fd7;font-size:15px;font-weight:950;white-space:nowrap}
.takeoff-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.takeoff-detail-field{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid #dcebf8;border-radius:7px;background:#f8fbff}
.takeoff-detail-field small{color:#526273;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.takeoff-detail-field strong{display:block;padding:0;border:0;background:transparent;color:#07111f;font-size:12px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.takeoff-detail-field.missing{border-color:#f0c36a;background:#fff8e6}
.takeoff-detail-field.missing strong{color:#6d4b00}
.takeoff-unit-cell span{display:inline-grid;place-items:center;min-width:42px;min-height:30px;border-radius:999px;background:#eef7ff;border:1px solid #cfe6ff;color:#0a3c78;font-weight:900}
.takeoff-quantity-cell{min-width:92px}
.takeoff-quantity-cell small,.takeoff-total-cell span{display:block;margin-top:3px;color:#65717b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.takeoff-qty{font-size:20px}
.takeoff-money{font-size:18px;color:#07111f}
.takeoff-total-cell{min-width:130px}
#takeoffs .price-comparison-table{display:grid;gap:0;overflow:hidden;border:1px solid #d9e9fa;border-radius:10px;background:#fff}
#takeoffs .price-comparison-head,#takeoffs .price-option{display:grid;grid-template-columns:minmax(140px,1fr) minmax(86px,.46fr) minmax(96px,.52fr) minmax(220px,1.55fr) minmax(96px,.44fr);gap:0;align-items:stretch;min-width:0}
#takeoffs .price-comparison-head{background:#eef7ff;border-bottom:1px solid #cfe6ff}
#takeoffs .price-comparison-head span{padding:9px 10px;color:#0a3c78;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
#takeoffs .price-option{width:100%;margin:0;padding:0;border:0;border-top:1px solid #edf4fb;background:#fff;text-align:left;font:inherit;cursor:pointer}
#takeoffs .price-option:first-of-type{border-top:0}
#takeoffs .price-option:hover{background:#f8fbff}
#takeoffs .price-option.selected{background:#eef7ff;box-shadow:inset 4px 0 0 #0b5fd7}
#takeoffs .price-option strong,#takeoffs .price-option span,#takeoffs .price-option em,#takeoffs .price-option p,#takeoffs .price-option b{min-width:0;padding:10px;border-right:1px solid #edf4fb;overflow-wrap:anywhere}
#takeoffs .price-option strong{display:flex;align-items:center;color:#07111f;line-height:1.2}
#takeoffs .price-option span,#takeoffs .price-option em{display:grid;align-content:center;gap:2px;color:#07111f;font-style:normal;font-weight:900;line-height:1.2}
#takeoffs .price-option small{display:block;color:#526273;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
#takeoffs .price-option p{display:flex;align-items:center;margin:0;color:#526273;font-size:12px;font-weight:800;line-height:1.3}
#takeoffs .price-option b{display:flex;align-items:center;justify-content:center;border-right:0;color:#0a3c78;font-size:10.5px;font-weight:950;text-transform:uppercase;letter-spacing:.02em}
#takeoffs .price-option b:before{content:"";display:none}
#takeoffs .price-option b{white-space:nowrap}
#takeoffs .price-option.selected b{color:#fff}
#takeoffs .price-option.selected b::after{content:"";display:none}
#takeoffs .price-option.selected b{align-self:center;justify-self:center;width:max-content;max-width:calc(100% - 10px);padding:5px 8px;border-radius:999px;background:#0b5fd7}
#takeoffs .pricing-scope-line{display:block;margin-top:-4px;color:#405365;font-size:12px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}
.takeoff-source-cell{min-width:130px}
.takeoff-review-cell{min-width:240px}
.takeoff-review-stack{gap:10px}
.review-actions{display:flex;flex-wrap:wrap;gap:8px}
.review-actions button{min-height:32px;border:1px solid #b9d9f8;background:#fff;color:#0a3c78;border-radius:7px;font-weight:900;cursor:pointer}
.review-actions button:hover{background:#eaf4ff}

/* Roomier schedule and labor controls */
#takeoffs .estimator-input-control{grid-column:1/-1;padding:18px;gap:14px;background:linear-gradient(180deg,#fff 0%,#f4f9ff 100%)}
#takeoffs .estimator-input-control>strong{font-size:13px}
#takeoffs .schedule-labor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#takeoffs .estimator-input-control label{padding:12px!important;border:1px solid #d5e9fb!important;border-radius:9px!important;background:#fff!important}
#takeoffs .labor-notes-compact{margin-top:0}
#takeoffs .labor-notes-compact textarea{min-height:92px;padding:11px 12px;border:1px solid #b8d9f8;border-radius:8px;background:#fff;color:#07111f;font:inherit;resize:vertical}
@media(max-width:760px){#takeoffs .schedule-labor-grid{grid-template-columns:1fr}#takeoffs .estimator-input-control{padding:14px}}
#runTakeoff.is-generating{opacity:.86;cursor:wait!important;box-shadow:0 0 0 4px rgba(22,135,255,.14),0 12px 28px rgba(11,95,215,.24)!important}
#takeoffs .generating-state{color:#0a3c78!important;background:#eef7ff!important}

/* Accuracy controls: three clean side-by-side cards */
#takeoffs .accuracy-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#takeoffs .accuracy-control-group-wide,#takeoffs .estimator-input-control{grid-column:auto}
#takeoffs .estimator-input-control{padding:14px;gap:10px;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
#takeoffs .schedule-labor-grid{grid-template-columns:1fr;gap:10px}
#takeoffs .labor-notes-compact textarea{min-height:82px}
@media(max-width:1180px){#takeoffs .accuracy-grid{grid-template-columns:1fr 1fr}#takeoffs .estimator-input-control{grid-column:1/-1}#takeoffs .schedule-labor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#takeoffs .labor-notes-compact{grid-column:1/-1}}
@media(max-width:760px){#takeoffs .accuracy-grid{grid-template-columns:1fr}#takeoffs .estimator-input-control{grid-column:auto}#takeoffs .schedule-labor-grid{grid-template-columns:1fr}}

/* Reviewable takeoff lines: final card format */
#takeoffs .takeoff-lines-panel{overflow:hidden;background:#f5f9fd}
.takeoff-card-list{display:grid;gap:12px;padding:14px;background:#f5f9fd}
.takeoff-card-list>.empty-state{padding:22px;border:1px solid #d9e9fa;border-radius:10px;background:#fff;text-align:center}
.takeoff-review-card{display:grid;gap:14px;min-width:0;padding:16px;border:1px solid #cfe6ff;border-left:5px solid #0b5fd7;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(17,65,112,.11)}
.takeoff-review-card.needs-review-row{border-left-color:#d79a0b;background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.takeoff-review-card.reviewed-row{border-left-color:#1f9d55;background:linear-gradient(180deg,#fff 0%,#f8fff9 100%)}
.takeoff-review-card.ready-row{border-left-color:#0b5fd7}
.takeoff-card-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.62fr);gap:14px;align-items:start;min-width:0}
.takeoff-card-main{min-width:0}
.takeoff-card-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0}
.takeoff-card-summary>div{display:grid;gap:4px;padding:10px;border:1px solid #d9e9fa;border-radius:8px;background:#f8fbff}
.takeoff-card-summary span,.takeoff-card-pricing>span{color:#526273;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.takeoff-card-summary strong{min-width:0;color:#07111f;font-size:18px;font-weight:950;line-height:1.15;overflow-wrap:anywhere}
.takeoff-card-summary small{color:#65717b;font-size:12px;font-weight:800;line-height:1.3}
.takeoff-card-lower{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.62fr);gap:14px;align-items:start;min-width:0}
.takeoff-card-pricing{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid #d9e9fa;border-radius:10px;background:#fbfdff}
.takeoff-card-review{min-width:0}
.takeoff-card-review .takeoff-review-stack{min-width:0}
@media(max-width:1180px){.takeoff-card-header,.takeoff-card-lower{grid-template-columns:1fr}.takeoff-card-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.takeoff-card-list{padding:8px}.takeoff-review-card{padding:13px}.takeoff-card-summary,.takeoff-detail-grid{grid-template-columns:1fr}}

/* Clean rebuild: Documents and Takeoffs pages */
#upload.documents-page,#takeoffs.takeoffs-page{display:none}
#upload.documents-page.active,#takeoffs.takeoffs-page.active{display:block}
#upload.documents-page .documents-hero,#takeoffs.takeoffs-page .takeoffs-hero{padding:24px;border:1px solid #9fcfff;border-radius:12px;background:linear-gradient(135deg,#07111f 0%,#0b2f57 64%,#0b5fd7 100%);box-shadow:0 22px 54px rgba(11,47,87,.2)}
#upload.documents-page .documents-hero h2,#takeoffs.takeoffs-page .takeoffs-hero h2{color:#fff}
#upload.documents-page .documents-hero .section-copy,#takeoffs.takeoffs-page .takeoffs-hero .section-copy{max-width:900px;color:#d8ecff}
#upload.documents-page .documents-hero .eyebrow,#takeoffs.takeoffs-page .takeoffs-hero .eyebrow{color:#8fc7ff}
.docs-command-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:16px;margin-bottom:16px;align-items:stretch}
.docs-command-panel,.docs-vault-panel,.docs-preview-panel,.docs-notes-panel,.takeoff-control-board,.takeoff-review-panel,.takeoff-lines-panel{border:1px solid #cfe6ff;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(17,65,112,.1)}
.docs-command-panel{display:grid;gap:14px;padding:18px;align-content:start}
.docs-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.docs-project-row label,.docs-project-select{display:grid;gap:7px;color:#07111f;font-weight:900}
.docs-project-row input,.docs-project-select select{min-height:44px;border:1px solid #b8d9f8;border-radius:8px;background:#fff;color:#07111f;padding:0 12px;font-weight:900}
.docs-project-row button{min-height:44px;padding:0 14px;border:0;border-radius:8px;background:#07111f;color:#fff;font-weight:900;cursor:pointer}
.docs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.docs-stats span{min-width:0;padding:11px;border:1px solid #d9e9fa;border-radius:8px;background:#f8fbff}
.docs-stats small{display:block;margin-bottom:4px;color:#0b5fd7;font-size:11px;font-weight:900;text-transform:uppercase}
.docs-stats strong{display:block;color:#07111f;overflow-wrap:anywhere}
.docs-dropzone{position:relative;overflow:hidden;min-height:250px;display:grid;place-items:center;gap:10px;padding:28px;border:2px dashed #1687ff;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#eef7ff 100%);text-align:center;cursor:pointer;box-shadow:0 16px 38px rgba(17,65,112,.09)}
.docs-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.docs-dropzone.dragover{border-color:#07111f;background:#eaf4ff}
.docs-dropzone.locked{opacity:.68;cursor:not-allowed}
.docs-dropzone strong{color:#07111f;font-size:26px}
.docs-dropzone span:last-child{max-width:760px;color:#405365;line-height:1.45}
.docs-upload-panel{display:grid;grid-template-rows:auto 1fr;gap:12px;min-width:0}
.upload-type-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:14px;align-items:end;padding:14px;border:1px solid #cfe6ff;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(17,65,112,.08)}
.upload-type-bar strong{display:block;margin-top:3px;color:#07111f;font-size:18px;line-height:1.15}
.upload-type-bar small{display:block;margin-top:4px;color:#526273;font-weight:800;line-height:1.35}
.upload-type-bar label{display:grid;gap:6px;color:#07111f;font-size:12px;font-weight:950;text-transform:uppercase}
.upload-type-bar select{width:100%;min-height:42px;border:1px solid #b8d9f8;border-radius:8px;background:#fff;color:#07111f;padding:0 10px;font-weight:900;text-transform:none}
.docs-upload-meter{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:13px 14px;border:1px solid #d9e9fa;border-radius:10px;background:#fff;color:#07111f}
.docs-upload-meter span{color:#65717b;font-size:13px}
.docs-upload-meter .upload-meter-track{grid-column:1/-1}
.docs-upload-success{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px;border:1px solid #8fc7ff;border-radius:10px;background:#eef7ff;color:#07111f}
.docs-upload-success[hidden]{display:none}
.docs-upload-success button{min-height:38px;border:0;border-radius:7px;background:#0b5fd7;color:#fff;font-weight:900;padding:0 12px;cursor:pointer}
.docs-workspace-grid{display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(360px,.88fr);gap:16px;margin-bottom:16px;align-items:start}
.docs-vault-panel,.docs-preview-panel,.docs-notes-panel{padding:18px}
.docs-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin-bottom:14px}
.docs-panel-head h3{margin:4px 0 0;color:#07111f;font-size:24px}
.docs-panel-note{margin:5px 0 0;color:#526273;font-size:13px;font-weight:800;line-height:1.35}
.docs-panel-head.compact{margin-bottom:0;align-items:end}
.docs-panel-head .docs-project-select{min-width:220px}
.docs-panel-head .docs-project-select select{width:100%}
.docs-vault-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.docs-vault-actions button{min-height:38px;border-radius:7px;font-weight:900}
.docs-vault-body{display:grid;gap:12px;margin-top:14px}
.docs-vault-body>.file-list{display:none}
.docs-vault-body .bid-document-groups{padding:0;margin:0;border:0}
.docs-vault-body .bid-document-groups.empty-state{padding:16px;border:1px dashed #8fc7ff;border-radius:10px;background:#eef7ff;color:#0a3c78}
.docs-vault-body .project-folder{border:1px solid #cfe6ff!important;border-radius:10px!important;box-shadow:none!important}
.docs-vault-body .project-folder-head{padding:14px;border-bottom:1px solid #d9e9fa}
.docs-vault-body .project-folder-file{grid-template-columns:minmax(0,1fr) auto;border-radius:8px}
.docs-vault-body .vault-doc-groups{padding:0;background:transparent}
.docs-vault-body .vault-doc-group{box-shadow:0 8px 20px rgba(17,65,112,.06)}
.docs-preview-panel .file-preview{min-height:560px;border:1px solid #d9e9fa;border-radius:10px;background:#f8fbff}
.docs-preview-panel .file-preview iframe{height:620px}
.docs-notes-panel{display:grid;gap:12px}
.docs-notes-panel textarea{min-height:170px;border:1px solid #b8d9f8;border-radius:8px}
.docs-notes-panel .primary-button{justify-self:start;border-radius:8px}
#takeoffs.takeoffs-page .takeoff-control-board{display:grid;grid-template-columns:minmax(260px,.32fr) minmax(0,.68fr);overflow:hidden;margin-bottom:16px}
#takeoffs.takeoffs-page .takeoff-control-intro{padding:24px;background:linear-gradient(160deg,#07111f 0%,#09233f 70%,#0b5fd7 140%);color:#fff}
#takeoffs.takeoffs-page .takeoff-control-intro h3{margin:6px 0 10px;color:#fff;font-size:28px;line-height:1.08}
#takeoffs.takeoffs-page .takeoff-control-intro p{margin:0;color:#d8ecff;line-height:1.5}
#takeoffs.takeoffs-page .takeoff-control-intro .eyebrow{color:#8fc7ff}
.takeoff-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}
.takeoff-control-card{display:grid;align-content:start;gap:12px;min-width:0;padding:15px;border:1px solid #d5e9fb;border-radius:10px;background:#fbfdff}
.takeoff-control-card>strong{color:#07111f;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.takeoff-control-card label{display:grid;gap:5px;min-width:0;color:#07111f;font-weight:900}
.takeoff-control-card label span{font-size:13px}
.takeoff-control-card label small{color:#526273;font-size:12px;font-weight:700;line-height:1.35}
.takeoff-control-card input,.takeoff-control-card textarea{min-height:42px;border:1px solid #a8cff4;border-radius:8px;background:#fff;color:#07111f;padding:10px 11px}
.takeoff-control-card textarea{min-height:82px;resize:vertical}
.takeoff-save-card{display:grid;gap:10px;padding:12px;border:1px solid #8fc7ff;border-radius:9px;background:#eef7ff}
.takeoff-save-card span,.takeoff-save-card small{display:block;color:#405365;font-size:12px;line-height:1.35}
.takeoff-save-card small{color:#0b5fd7;font-weight:900}
.takeoff-save-card .ghost-button{width:100%;min-height:36px;border-color:#0b5fd7;background:#07111f;color:#fff}
.takeoff-labor-card .schedule-labor-grid{display:grid;grid-template-columns:1fr;gap:10px}
.takeoff-review-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}
.takeoff-review-panel,.takeoff-lines-panel{padding:18px}
.takeoff-lines-head{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:12px}
.takeoff-lines-head h3{margin:4px 0;color:#07111f;font-size:24px}
.takeoff-lines-head p{margin:0;color:#526273;font-weight:800;line-height:1.4}
#takeoffs.takeoffs-page .takeoff-card-list{display:grid;gap:12px;padding:0;background:transparent}
#takeoffs.takeoffs-page .takeoff-review-card{box-shadow:0 12px 28px rgba(17,65,112,.09)}
#takeoffs.takeoffs-page .takeoff-card-header{grid-template-columns:1fr}
#takeoffs.takeoffs-page .takeoff-card-summary{grid-template-columns:repeat(3,minmax(220px,1fr))}
#takeoffs.takeoffs-page .takeoff-card-lower{grid-template-columns:1fr}
#takeoffs.takeoffs-page .takeoff-card-pricing,#takeoffs.takeoffs-page .takeoff-card-review{width:100%;min-width:0}
#takeoffs.takeoffs-page .takeoff-card-pricing *{max-width:100%;overflow-wrap:anywhere}
@media(max-width:1180px){.docs-command-grid,.docs-workspace-grid,#takeoffs.takeoffs-page .takeoff-control-board,.takeoff-review-layout{grid-template-columns:1fr}.takeoff-control-grid{grid-template-columns:1fr 1fr}.docs-project-row{grid-template-columns:1fr}.docs-project-row button{width:100%}}
@media(max-width:760px){.docs-stats,.takeoff-control-grid,.takeoff-card-summary{grid-template-columns:1fr}.docs-panel-head{grid-template-columns:1fr}.docs-upload-meter,.docs-upload-success{grid-template-columns:1fr;display:grid}.docs-vault-actions button,.docs-notes-panel .primary-button{width:100%}.docs-dropzone strong{font-size:22px}.upload-type-bar{grid-template-columns:1fr}}

/* Final page rebuild guardrails: prevent sideways drift and card overlap */
main{overflow-x:hidden}
#upload.documents-page,#takeoffs.takeoffs-page{max-width:100%;overflow-x:hidden}
#upload.documents-page .documents-hero,#takeoffs.takeoffs-page .takeoffs-hero{display:grid!important;grid-template-columns:1fr!important;gap:14px;align-items:start;justify-content:start;overflow:hidden;min-width:0}
#upload.documents-page .documents-hero:after,#takeoffs.takeoffs-page .takeoffs-hero:after{display:none}
#upload.documents-page .documents-hero>div,#takeoffs.takeoffs-page .takeoffs-hero>div{min-width:0;max-width:100%}
#upload.documents-page .documents-hero h2,#takeoffs.takeoffs-page .takeoffs-hero h2{max-width:980px;overflow-wrap:anywhere}
#takeoffs.takeoffs-page .takeoffs-hero .primary-button{justify-self:start;width:auto;max-width:100%;white-space:normal}
#takeoffs.takeoffs-page .takeoff-project-lock{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px) auto;
  gap:16px;
  align-items:center;
  margin:14px 0 16px;
  padding:16px;
  border:1px solid #9fcfff;
  border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  box-shadow:0 16px 36px rgba(17,65,112,.10);
}
#takeoffs.takeoffs-page .takeoff-project-lock h3{
  margin:4px 0 5px;
  color:#07111f;
  font-size:24px;
  line-height:1.1;
}
#takeoffs.takeoffs-page .takeoff-project-lock p{
  margin:0;
  color:#405365;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}
#takeoffs.takeoffs-page .takeoff-project-controls{
  display:grid;
  gap:8px;
}
#takeoffs.takeoffs-page .takeoff-project-controls label{
  display:grid;
  gap:5px;
  color:#526273;
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#takeoffs.takeoffs-page .takeoff-project-controls select{
  width:100%;
  min-height:42px;
  padding:0 38px 0 12px;
  border:2px solid #1687ff;
  border-radius:10px;
  background:#fff;
  color:#07111f;
  font-size:15px;
  font-weight:950;
  box-shadow:0 0 0 3px rgba(22,135,255,.10);
}
#takeoffs.takeoffs-page .takeoff-project-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(74px,1fr));
  gap:8px;
  min-width:250px;
}
#takeoffs.takeoffs-page .takeoff-project-stats span{
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid #d9e9fa;
  border-radius:10px;
  background:#fff;
}
#takeoffs.takeoffs-page .takeoff-project-stats small{
  color:#0b5fd7;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#takeoffs.takeoffs-page .takeoff-project-stats strong{
  color:#07111f;
  font-size:20px;
  line-height:1;
}
#takeoffs.takeoffs-page .takeoff-control-board{grid-template-columns:1fr!important;overflow:hidden}
#takeoffs.takeoffs-page .takeoff-control-intro{padding:20px 22px}
#takeoffs.takeoffs-page .takeoff-control-intro h3{max-width:760px}
#takeoffs.takeoffs-page .takeoff-control-intro p{max-width:940px}
#takeoffs.takeoffs-page .takeoff-control-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}
#takeoffs.takeoffs-page .takeoff-control-card{height:auto;align-self:start}
#takeoffs.takeoffs-page .takeoff-control-card input,#takeoffs.takeoffs-page .takeoff-control-card textarea{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
#takeoffs.takeoffs-page .takeoff-review-layout{grid-template-columns:1fr!important}
#takeoffs.takeoffs-page .takeoff-review-panel,#takeoffs.takeoffs-page .takeoff-lines-panel{min-width:0;overflow:hidden}
#takeoffs.takeoffs-page .takeoff-accuracy-board{min-width:0}
#takeoffs.takeoffs-page .accuracy-metrics{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
#takeoffs.takeoffs-page .accuracy-metrics>div{min-width:0}
#takeoffs.takeoffs-page .takeoff-card-list{min-width:0;overflow:hidden}
#takeoffs.takeoffs-page .takeoff-review-card{min-width:0;max-width:100%;overflow:hidden}
#takeoffs.takeoffs-page .takeoff-card-header,#takeoffs.takeoffs-page .takeoff-card-lower{grid-template-columns:1fr!important;min-width:0}
#takeoffs.takeoffs-page .takeoff-card-main,#takeoffs.takeoffs-page .takeoff-item-main,#takeoffs.takeoffs-page .takeoff-breakdown,#takeoffs.takeoffs-page .takeoff-breakdown>div{min-width:0;max-width:100%}
#takeoffs.takeoffs-page .takeoff-card-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;min-width:0}
#takeoffs.takeoffs-page .takeoff-card-summary>div{min-width:0;max-width:100%}
#takeoffs.takeoffs-page .source-pill{width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#takeoffs.takeoffs-page .takeoff-detail-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
#takeoffs.takeoffs-page .price-option,#takeoffs.takeoffs-page .price-option *{min-width:0;max-width:100%;overflow-wrap:anywhere}
#takeoffs.takeoffs-page .review-actions button{white-space:normal}
#upload.documents-page .docs-workspace-grid{grid-template-columns:minmax(340px,.82fr) minmax(460px,1.18fr)}
#upload.documents-page .docs-preview-panel .file-preview{min-height:620px}
#upload.documents-page .docs-preview-panel .file-preview iframe{height:720px}
#upload.documents-page .active-project-vault .project-folder{border:0!important;background:transparent!important}
#upload.documents-page .active-project-vault .project-folder-files{padding:0;background:transparent}
#upload.documents-page .active-project-vault .project-folder-file{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px;border:1px solid #cfe6ff;border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(17,65,112,.07)}
#upload.documents-page .active-project-vault .project-folder-file strong{font-size:15px;line-height:1.25;overflow-wrap:anywhere}
#upload.documents-page .active-project-vault .project-folder-file span{line-height:1.35;overflow-wrap:anywhere}
#upload.documents-page .active-project-vault .project-folder-file-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:150px}
#upload.documents-page .docs-upload-success{display:grid;grid-template-columns:auto minmax(0,1fr) max-content;gap:8px 14px;align-items:center;min-width:0}
#upload.documents-page .docs-upload-success strong{white-space:nowrap}
#upload.documents-page .docs-upload-success span{min-width:0;overflow-wrap:anywhere;line-height:1.35}
#upload.documents-page .docs-upload-success button{justify-self:end;white-space:normal;max-width:220px}
.docs-required-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin:14px 0 16px;padding:14px 16px;border:1px solid #9fcfff;border-left:5px solid #0b5fd7;border-radius:10px;background:#eef7ff;color:#07111f;box-shadow:0 10px 24px rgba(17,65,112,.08)}
.docs-required-note strong{font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;color:#0a3c78;white-space:nowrap}
.docs-required-note span{font-size:14px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:1180px){#upload.documents-page .docs-workspace-grid{grid-template-columns:1fr}#takeoffs.takeoffs-page .takeoff-project-lock{grid-template-columns:1fr}#takeoffs.takeoffs-page .takeoff-project-stats{min-width:0}#takeoffs.takeoffs-page .takeoff-control-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media(max-width:760px){#takeoffs.takeoffs-page .takeoffs-hero .primary-button{width:100%}#takeoffs.takeoffs-page .takeoff-project-stats,#takeoffs.takeoffs-page .takeoff-control-grid,#takeoffs.takeoffs-page .accuracy-metrics,#takeoffs.takeoffs-page .takeoff-card-summary,#takeoffs.takeoffs-page .takeoff-detail-grid{grid-template-columns:1fr!important}#takeoffs.takeoffs-page .takeoff-project-controls .ghost-button{width:100%}#upload.documents-page .docs-preview-panel .file-preview{min-height:320px}#upload.documents-page .active-project-vault .project-folder-file,#upload.documents-page .docs-upload-success,.docs-required-note{grid-template-columns:1fr}#upload.documents-page .docs-upload-success strong,.docs-required-note strong{white-space:normal}#upload.documents-page .docs-upload-success button{justify-self:stretch;max-width:none}#upload.documents-page .active-project-vault .project-folder-file-actions{justify-content:flex-start;min-width:0}#upload.documents-page .active-project-vault .project-folder-file-actions button{flex:1 1 120px}}

/* Documents page final layout pass: simpler control flow, fewer crowded panels */
#upload.documents-page .docs-command-grid{
  grid-template-columns:1fr!important;
  gap:14px;
  margin-bottom:14px;
}
#upload.documents-page .docs-command-panel{
  display:grid;
  gap:0;
  padding:0;
  overflow:hidden;
}
#upload.documents-page .docs-command-panel .docs-panel-head.compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,360px);
  gap:18px;
  align-items:end;
  margin:0;
  padding:18px;
  background:linear-gradient(135deg,#07111f 0%,#0b2f57 72%,#0b5fd7 100%);
}
#upload.documents-page .docs-command-panel .docs-panel-head.compact h3{
  color:#fff;
  font-size:24px;
}
#upload.documents-page .docs-command-panel .docs-panel-head.compact .eyebrow{
  color:#8fc7ff;
}
#upload.documents-page .docs-command-panel .docs-project-select{
  min-width:0;
  color:#dcefff;
}
#upload.documents-page .docs-command-panel .docs-project-select select{
  min-height:44px;
  border-color:rgba(143,199,255,.62);
  background:#fff;
}
#upload.documents-page .docs-project-row{
  grid-template-columns:minmax(0,1fr) max-content;
  padding:16px 18px 12px;
}
#upload.documents-page .docs-stats{
  padding:0 18px 18px;
}
#upload.documents-page #bidLockNotice{
  margin:0 18px 18px;
}
#upload.documents-page .docs-dropzone{
  min-height:190px;
  padding:24px;
}
#upload.documents-page .docs-dropzone .drop-icon{
  width:42px;
  height:42px;
  font-size:28px;
}
#upload.documents-page .docs-upload-meter{
  margin:0;
}
#upload.documents-page .docs-workspace-grid{
  grid-template-columns:minmax(500px,1.08fr) minmax(420px,.92fr)!important;
  gap:16px;
}
#upload.documents-page .docs-vault-panel,
#upload.documents-page .docs-preview-panel{
  padding:0;
  overflow:hidden;
}
#upload.documents-page .docs-vault-panel>.docs-panel-head,
#upload.documents-page .docs-preview-panel>.docs-panel-head{
  margin:0;
  padding:16px 18px;
  border-bottom:1px solid #d9e9fa;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
}
#upload.documents-page .docs-vault-actions{
  justify-content:flex-end;
}
#upload.documents-page .docs-vault-body{
  margin:0;
  padding:16px;
  background:#fff;
}
#upload.documents-page .docs-preview-panel .file-preview{
  min-height:640px;
  margin:16px;
}
#upload.documents-page .docs-preview-panel .file-preview iframe{
  height:760px;
}
#upload.documents-page .docs-preview-panel .file-preview img{
  width:100%;
  max-height:none;
  object-fit:contain;
}

/* Document Vault cleanup after preview expansion */
#upload.documents-page .docs-vault-panel>.docs-panel-head{
  grid-template-columns:1fr;
  gap:12px;
}
#upload.documents-page .docs-vault-panel>.docs-panel-head h3{
  font-size:22px;
}
#upload.documents-page .docs-vault-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  justify-content:stretch;
}
#upload.documents-page .docs-vault-actions button{
  width:100%;
  min-height:40px;
  white-space:normal;
}
#upload.documents-page .active-project-vault .project-folder{
  display:block;
}
#upload.documents-page .vault-doc-groups{
  gap:14px;
}
#upload.documents-page .vault-doc-group{
  border:1px solid #cfe6ff;
  border-radius:12px;
  background:#fff;
}
#upload.documents-page .vault-doc-group-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  padding:13px 14px;
  background:linear-gradient(180deg,#f8fbff 0%,#eef7ff 100%);
}
#upload.documents-page .vault-doc-group-head strong{
  font-size:16px;
}
#upload.documents-page .vault-doc-group-head span{
  font-size:12px;
  line-height:1.3;
}
#upload.documents-page .active-project-vault .project-folder-file{
  grid-template-columns:1fr;
  gap:10px;
  align-items:start;
  padding:13px;
}
#upload.documents-page .vault-doc-title{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
#upload.documents-page .vault-doc-type{
  justify-self:start;
}
#upload.documents-page .active-project-vault .project-folder-file-actions{
  justify-content:flex-start;
  min-width:0;
}
#upload.documents-page .active-project-vault .project-folder-file-actions button{
  min-height:34px;
  min-width:92px;
}
#upload.documents-page .docs-notes-panel{
  padding:16px 18px;
}
@media(max-width:980px){
  #upload.documents-page .docs-command-panel .docs-panel-head.compact,
  #upload.documents-page .docs-workspace-grid{
    grid-template-columns:1fr!important;
  }
  #upload.documents-page .docs-project-row,
  #upload.documents-page .docs-stats{
    grid-template-columns:1fr;
  }
  #upload.documents-page .docs-project-row button,
  #upload.documents-page .docs-vault-actions button{
    width:100%;
  }
  #upload.documents-page .docs-panel-head{
    grid-template-columns:1fr;
  }
  #upload.documents-page .docs-vault-actions{
    justify-content:stretch;
  }
}

/* Takeoff line organization: estimator review sheet layout */
#takeoffs.takeoffs-page .takeoff-review-card{gap:0;padding:0;border-radius:12px;overflow:hidden;background:#fff}
#takeoffs.takeoffs-page .takeoff-line-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:16px 18px;border-bottom:1px solid #d9e9fa;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
#takeoffs.takeoffs-page .takeoff-line-kicker{display:block;margin-bottom:4px;color:#0b5fd7;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
#takeoffs.takeoffs-page .takeoff-line-top h4{margin:0;color:#07111f;font-size:22px;line-height:1.08}
#takeoffs.takeoffs-page .takeoff-line-top p{margin:5px 0 0;color:#526273;font-size:13px;font-weight:800;line-height:1.35}
#takeoffs.takeoffs-page .takeoff-line-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;justify-content:flex-start;min-width:128px}
#takeoffs.takeoffs-page .takeoff-line-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
#takeoffs.takeoffs-page .takeoff-line-actions button{min-height:30px;padding:0 9px;border:1px solid #b9d9f8;border-radius:7px;background:#fff;color:#0a3c78;font-size:12px;font-weight:900;cursor:pointer}
#takeoffs.takeoffs-page .takeoff-line-actions button:hover{background:#eaf4ff}
#takeoffs.takeoffs-page .takeoff-line-actions button[data-approve-takeoff]{border-color:#17612a;color:#17612a}
#takeoffs.takeoffs-page .takeoff-line-actions button[data-approve-takeoff]:hover{background:#e9f9ed}
#takeoffs.takeoffs-page .takeoff-card-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px;padding:14px 18px;border-bottom:1px solid #e2f0fd;background:#fbfdff}
#takeoffs.takeoffs-page .takeoff-card-summary>div{padding:12px;border-radius:9px;background:#fff}
#takeoffs.takeoffs-page .takeoff-section-grid{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1.05fr);gap:14px;padding:16px 18px 18px}
#takeoffs.takeoffs-page .takeoff-section{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid #d9e9fa;border-radius:10px;background:#fbfdff}
#takeoffs.takeoffs-page .takeoff-section>span{color:#526273;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
#takeoffs.takeoffs-page .takeoff-section-quantity{grid-column:1/-1;background:#fff}
#takeoffs.takeoffs-page .takeoff-card-pricing{grid-column:1/-1}
#takeoffs.takeoffs-page .takeoff-card-review{grid-column:1/-1;background:#fff}
#takeoffs.takeoffs-page .takeoff-item-main{min-width:0}
#takeoffs.takeoffs-page .takeoff-item-title{display:none}
#takeoffs.takeoffs-page .takeoff-breakdown-simple{display:grid;gap:0;min-width:0;max-width:100%;overflow:hidden;border:1px solid #cfe6ff;border-radius:10px;background:#fff}
#takeoffs.takeoffs-page .takeoff-breakdown-head,#takeoffs.takeoffs-page .takeoff-breakdown-row{display:grid;min-width:0;align-items:stretch}
#takeoffs.takeoffs-page .pipe-breakdown-simple .takeoff-breakdown-head,#takeoffs.takeoffs-page .pipe-breakdown-simple .takeoff-breakdown-row{grid-template-columns:minmax(110px,1fr) minmax(130px,1fr) minmax(92px,120px)}
#takeoffs.takeoffs-page .fitting-breakdown-simple .takeoff-breakdown-head,#takeoffs.takeoffs-page .fitting-breakdown-simple .takeoff-breakdown-row{grid-template-columns:minmax(130px,1.25fr) minmax(95px,1fr) minmax(115px,1fr) minmax(72px,90px)}
#takeoffs.takeoffs-page .takeoff-breakdown-head span{min-width:0;padding:9px 10px;border-right:1px solid #cfe6ff;background:#eef7ff;color:#0a3c78;font-size:11px;font-weight:950;line-height:1.15;text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere}
#takeoffs.takeoffs-page .takeoff-breakdown-head span:last-child{border-right:0}
#takeoffs.takeoffs-page .takeoff-breakdown-row strong{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:11px 10px;border-top:1px solid #e2f0fd;border-right:1px solid #e2f0fd;background:#fff;color:#07111f;font-size:13px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
#takeoffs.takeoffs-page .takeoff-breakdown-row strong:last-child{border-right:0;color:#0b5fd7;white-space:nowrap}
#takeoffs.takeoffs-page .takeoff-breakdown-row strong small{display:none;color:#526273;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
#takeoffs.takeoffs-page .takeoff-review-stack{min-width:0}
#takeoffs.takeoffs-page .review-issue-list{margin-top:0}
#takeoffs.takeoffs-page .review-actions{margin-top:4px}
@media(max-width:980px){#takeoffs.takeoffs-page .takeoff-section-grid,#takeoffs.takeoffs-page .takeoff-card-summary{grid-template-columns:1fr!important}#takeoffs.takeoffs-page .takeoff-line-top{grid-template-columns:1fr}#takeoffs.takeoffs-page .takeoff-line-status{align-items:flex-start}#takeoffs.takeoffs-page .takeoff-line-actions{justify-content:flex-start}}
@media(max-width:760px){#takeoffs.takeoffs-page .takeoff-breakdown-head,#takeoffs .price-comparison-head{display:none}#takeoffs.takeoffs-page .pipe-breakdown-simple .takeoff-breakdown-row,#takeoffs.takeoffs-page .fitting-breakdown-simple .takeoff-breakdown-row,#takeoffs .price-option{grid-template-columns:1fr}#takeoffs.takeoffs-page .takeoff-breakdown-row strong,#takeoffs .price-option strong,#takeoffs .price-option span,#takeoffs .price-option em,#takeoffs .price-option p,#takeoffs .price-option b{border-right:0;white-space:normal}#takeoffs.takeoffs-page .takeoff-breakdown-row strong small{display:block}#takeoffs .price-option b{place-items:start}}


/* Scope review workspace */
.scope-page .scope-hero{align-items:flex-end}
.scope-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.scope-actions .ghost-button{min-height:42px;padding:0 14px;border:1px solid #8fc7ff;background:#fff;color:#07111f;border-radius:6px;font-weight:900;cursor:pointer}
.scope-actions .ghost-button:hover{background:#eef7ff;border-color:#1687ff}
.scope-review-board{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;margin-bottom:18px}
.scope-review-intro,.scope-review-next{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border-color:#b9d9f8}
.scope-review-intro h3,.scope-review-next h3{margin:5px 0 8px;font-size:24px}
.scope-review-intro p,.scope-review-next p{margin:0;color:#405365;line-height:1.5}
.scope-review-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.scope-review-chips span{min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid #8fc7ff;border-radius:999px;background:#eef7ff;color:#0a3c78;font-size:12px;font-weight:900}
.scope-review-next ul{margin:10px 0 0;padding-left:20px;color:#405365;line-height:1.55;font-weight:800}
.scope-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.scope-result-card{display:grid;gap:14px;min-width:0;border-color:#b9d9f8;background:#fff}
.scope-requirements-card{grid-column:1/-1}
.scope-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding-bottom:12px;border-bottom:1px solid #d9e9fa}
.scope-card-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#07111f;color:#8fc7ff;font-weight:950}
.scope-card-head h3{margin:0 0 4px;color:#07111f;font-size:22px}
.scope-card-head p{margin:0;color:#526273;line-height:1.4;font-size:14px}
.scope-page .result-list{gap:10px}
.scope-page .result-item{border-color:#d9e9fa;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);line-height:1.45}
.scope-page .empty-state{padding:16px;border:1px dashed #8fc7ff;border-radius:8px;background:#eef7ff;color:#405365}
@media(max-width:980px){.scope-review-board,.scope-result-grid{grid-template-columns:1fr}.scope-actions{justify-content:flex-start}.scope-actions .primary-button,.scope-actions .ghost-button{width:100%}}

/* Public dashboard refresh */
#dashboard{max-width:1280px;margin:0 auto}
#dashboard .public-dashboard-hero{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:30px;margin-bottom:18px;padding:34px;background:radial-gradient(circle at 78% 20%,rgba(22,135,255,.30),transparent 30%),linear-gradient(135deg,#02050a 0%,#07111f 48%,#0a4d8b 100%);border:1px solid rgba(143,199,255,.70);border-radius:12px;box-shadow:0 30px 86px rgba(5,17,32,.28),0 0 0 1px rgba(255,255,255,.08) inset}
#dashboard .public-dashboard-hero:after{inset:18px;border-color:rgba(255,255,255,.10);border-radius:10px}
#dashboard .dashboard-hero-copy{min-height:430px;justify-content:center}
#dashboard .dashboard-hero h2{max-width:980px;font-size:clamp(46px,5.4vw,78px);line-height:.96;color:#fff;text-wrap:balance}
#dashboard .dashboard-hero p{max-width:860px;color:#e8f5ff;font-size:18px;line-height:1.58}
#dashboard .hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
#dashboard .hero-actions button{min-height:46px}
#dashboard .dashboard-hero-visual{min-height:420px;align-items:end}
#dashboard .dashboard-hero-visual img{width:min(440px,100%);max-height:510px;object-fit:contain;filter:drop-shadow(0 28px 50px rgba(0,0,0,.46))}
#dashboard .hero-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;max-width:980px}
#dashboard .hero-proof span{min-width:0;border:1px solid rgba(143,199,255,.48);background:rgba(255,255,255,.09);border-radius:10px;padding:13px;color:#dcefff}
#dashboard .hero-proof strong{font-size:14px;color:#fff}
.dashboard-command-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px}
.dashboard-command-strip div{position:relative;display:grid;gap:8px;min-height:176px;padding:20px;border:1px solid rgba(143,199,255,.70);border-radius:10px;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);box-shadow:0 18px 42px rgba(17,65,112,.10);overflow:hidden}
.dashboard-command-strip div:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 58%,#07111f 100%)}
.dashboard-command-strip span{width:max-content;max-width:100%;padding:6px 10px;border-radius:999px;background:#eaf4ff;color:#0a3c78;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:0}
.dashboard-command-strip strong{color:#07111f;font-size:20px;line-height:1.22}
.dashboard-command-strip small{color:#405365;font-size:14px;line-height:1.5}
#dashboard .dashboard-bottom{grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);align-items:stretch;margin-top:18px}
#dashboard .dashboard-login-panel,#dashboard .dashboard-account-panel{border-top:0;border-left:5px solid #1687ff;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
#dashboard .dashboard-login-panel h3,#dashboard .dashboard-account-panel h3{font-size:26px;margin-bottom:6px}
#dashboard .dashboard-auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
#dashboard .dashboard-auth-actions .primary-button,#dashboard .dashboard-auth-actions .employee-login-button{grid-column:auto;min-height:44px}
#dashboard .auth-status-card{border-color:#cfe6ff;background:#eef7ff;color:#0a3c78;font-weight:800}
@media(max-width:1200px){#dashboard .public-dashboard-hero{grid-template-columns:1fr}#dashboard .dashboard-hero-copy,#dashboard .dashboard-hero-visual{min-height:auto}.dashboard-command-strip{grid-template-columns:1fr}#dashboard .dashboard-bottom{grid-template-columns:1fr}}

/* Subscription visual upgrade: compact header and premium plan cards */
#subscribe{
  max-width:1340px;
  padding-bottom:24px;
}
#subscribe .subscription-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);
  gap:18px;
  align-items:stretch;
  min-height:0;
  margin-bottom:18px;
  padding:24px;
  border:1px solid rgba(143,199,255,.78);
  border-radius:14px;
  background:
    radial-gradient(circle at 88% 10%,rgba(22,135,255,.38),transparent 24%),
    linear-gradient(135deg,#02050a 0%,#07111f 50%,#0b5fd7 100%);
  box-shadow:0 24px 58px rgba(5,17,32,.22),inset 0 1px 0 rgba(255,255,255,.10);
}
#subscribe .subscription-hero:before{
  content:"";
  position:absolute;inset:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  pointer-events:none;
}
#subscribe .subscription-hero-copy{
  position:relative;
  z-index:1;
  display:grid;
  align-content:center;
  gap:12px;
}
#subscribe .subscription-hero-copy>.eyebrow{
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border:1px solid rgba(143,199,255,.46);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#dcefff;
  letter-spacing:0;
  text-transform:none;
}
#subscribe .subscription-hero h2{
  max-width:820px;
  margin:0;
  color:#fff;
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.02;
}
#subscribe .subscription-hero p{
  max-width:790px;
  margin:0;
  color:#e5f3ff;
  font-size:16px;
  line-height:1.5;
}
#subscribe .trial-card{
  position:relative;
  z-index:1;
  display:grid;
  align-content:center;
  gap:8px;
  min-height:130px;
  padding:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
#subscribe .trial-card strong{
  display:block;
  color:#fff;
  font-size:clamp(28px,3vw,40px);
  line-height:1;
}
#subscribe .trial-card span{
  display:block;
  color:#dcefff;
  line-height:1.4;
}
#subscribe .subscription-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:20px;
  align-items:stretch;
}
#subscribe .subscription-grid .plan-card{
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto auto 1fr auto;
  gap:12px;
  overflow:hidden;
  padding:0;
  border-radius:16px;
  border:1px solid rgba(143,199,255,.72);
  background:#fff;
  box-shadow:0 22px 54px rgba(17,65,112,.12);
}
#subscribe .subscription-grid .plan-card:before{
  height:7px;
  background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 52%,#07111f 100%);
}
#subscribe .plan-card-head{
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:0;
  min-height:106px;
  padding:20px 22px;
  background:linear-gradient(135deg,#07111f 0%,#10243a 100%);
}
#subscribe .plan-card-head .eyebrow{
  display:block;
  color:#8fc7ff;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1;
  text-transform:none;
  letter-spacing:0;
}
#subscribe .plan-card-head strong{
  display:block;
  margin-top:8px;
  max-width:100%;
  color:#e8f5ff;
  font-size:13px;
  line-height:1.35;
  text-align:left;
  overflow-wrap:anywhere;
}
#subscribe .subscription-grid .plan-card h3{
  margin:0;
  padding:16px 22px 0;
  color:#07111f;
  font-size:clamp(38px,3.2vw,50px);
  line-height:1;
  overflow-wrap:anywhere;
}
#subscribe .subscription-grid .plan-card h3 small{
  color:#526273;
  font-size:15px;
}
#subscribe .subscription-grid .plan-card p{
  margin:0;
  padding:0 22px;
  color:#33485a;
  font-size:14px;
  line-height:1.42;
  overflow-wrap:anywhere;
}
#subscribe .plan-metrics{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:0 22px;
}
#subscribe .plan-metrics span{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:10px;
  border-color:#cfe6ff;
  border-radius:10px;
  background:#eef7ff;
  color:#405365;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
#subscribe .plan-metrics strong{
  display:inline-block;
  font-size:24px;
  color:#07111f;
  line-height:1;
}
#subscribe .plan-features{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin:0;
  padding:0 22px;
}
#subscribe .plan-features span{
  min-height:0;
  padding:9px 10px;
  border-color:#e0edf8;
  background:#fff;
  font-size:13px;
  line-height:1.32;
  overflow-wrap:anywhere;
}
#subscribe .subscription-grid .plan-button{
  width:calc(100% - 44px);
  margin:2px 22px 22px;
  min-height:48px;
  border-radius:10px;
  font-size:15px;
}
#subscribe .subscription-addon-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0 20px;
}
#subscribe .subscription-addon-grid .subscription-addon{
  margin:0;
  min-width:0;
  min-height:0;
  padding:18px;
  border-radius:14px;
  border:1px solid rgba(143,199,255,.54);
  background:linear-gradient(135deg,#07111f 0%,#0a2746 70%,#0b5fd7 100%);
  box-shadow:0 18px 46px rgba(5,17,32,.18);
}
#subscribe .subscription-addon h3{font-size:24px}
#subscribe .subscription-addon p{max-width:760px;color:#dcefff}
#subscribe .subscription-addon .plan-button{min-height:44px;border-radius:8px}
@media(max-width:1160px){
  #subscribe .subscription-hero{grid-template-columns:1fr;min-height:0}
  #subscribe .subscription-grid{grid-template-columns:1fr}
  #subscribe .subscription-addon-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  #subscribe .subscription-hero{padding:22px}
  #subscribe .plan-metrics{grid-template-columns:1fr}
}
@media(max-width:760px){#dashboard .public-dashboard-hero{padding:22px}#dashboard .dashboard-hero h2{font-size:40px}#dashboard .hero-proof{grid-template-columns:1fr}#dashboard .dashboard-auth-actions{grid-template-columns:1fr}#dashboard .dashboard-auth-actions .primary-button,#dashboard .dashboard-auth-actions .employee-login-button{width:100%}.dashboard-command-strip div{min-height:auto}}

/* Dashboard brand badge fit */
#dashboard .public-dashboard-hero .dashboard-hero-copy>.eyebrow{display:inline-flex;align-self:flex-start;width:auto;max-width:min(100%,430px);padding:7px 12px;border:1px solid rgba(143,199,255,.55);border-radius:999px;background:rgba(255,255,255,.10);color:#dcefff;font-size:13px;font-weight:900;line-height:1.2;text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;box-shadow:0 10px 24px rgba(0,0,0,.14)}
@media(max-width:560px){#dashboard .public-dashboard-hero .dashboard-hero-copy>.eyebrow{max-width:300px;border-radius:10px;font-size:12px}}

/* Dashboard premium rebuild */
#dashboard{max-width:1320px;margin:0 auto;color:#07111f}
.dashboard-showcase{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:30px;align-items:stretch;margin-bottom:18px;padding:34px;border:1px solid rgba(143,199,255,.68);border-radius:18px;background:radial-gradient(circle at 82% 22%,rgba(22,135,255,.34),transparent 28%),linear-gradient(135deg,#02050a 0%,#07111f 48%,#0b4d89 100%);box-shadow:0 34px 90px rgba(5,17,32,.28);overflow:hidden}
.dashboard-showcase:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.10);border-radius:14px;pointer-events:none}
.dashboard-showcase-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:500px;max-width:900px}
.dashboard-brand-lockup{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;max-width:100%;padding:8px 12px;border:1px solid rgba(143,199,255,.52);border-radius:999px;background:rgba(255,255,255,.10);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.dashboard-brand-lockup img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid rgba(143,199,255,.55)}
.dashboard-brand-lockup strong,.dashboard-brand-lockup span{display:block;line-height:1.1}
.dashboard-brand-lockup strong{color:#fff;font-size:15px}
.dashboard-brand-lockup span{color:#cfe6ff;font-size:12px;font-weight:800}
.dashboard-showcase h2{margin:18px 0 14px;max-width:940px;color:#fff;font-size:clamp(48px,5.6vw,84px);line-height:.94;letter-spacing:0;text-wrap:balance}
.dashboard-showcase p{margin:0;max-width:790px;color:#eaf5ff;font-size:19px;line-height:1.56}
.dashboard-hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.dashboard-hero-actions button{min-height:48px;border-radius:8px}
.dashboard-trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.dashboard-trust-row span{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid rgba(143,199,255,.44);border-radius:999px;background:rgba(255,255,255,.08);color:#dcefff;font-size:13px;font-weight:900}
.dashboard-mascot-card{position:relative;z-index:1;display:grid;align-items:end;justify-items:center;min-height:500px;padding:22px 18px 0;border:1px solid rgba(143,199,255,.34);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 100%);overflow:hidden}
.dashboard-mascot-card img{width:min(440px,100%);max-height:520px;object-fit:contain;filter:drop-shadow(0 30px 48px rgba(0,0,0,.46))}
.mascot-callout{position:absolute;right:18px;bottom:18px;display:grid;gap:2px;max-width:260px;padding:13px 15px;border:1px solid rgba(143,199,255,.52);border-radius:14px;background:rgba(2,5,10,.82);box-shadow:0 16px 34px rgba(0,0,0,.30)}
.mascot-callout strong{color:#fff;font-size:18px;line-height:1.15}
.mascot-callout span{color:#8fc7ff;font-size:14px;font-weight:900}
.dashboard-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px}
.dashboard-flow-grid button{position:relative;display:grid;gap:10px;min-height:188px;padding:22px;text-align:left;border:1px solid rgba(143,199,255,.70);border-radius:14px;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);box-shadow:0 18px 42px rgba(17,65,112,.10);cursor:pointer;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.dashboard-flow-grid button:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#1687ff 0%,#8fc7ff 58%,#07111f 100%)}
.dashboard-flow-grid button:hover{transform:translateY(-2px);border-color:#1687ff;box-shadow:0 24px 54px rgba(22,135,255,.16)}
.dashboard-flow-grid span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#07111f;color:#fff;font-weight:900;box-shadow:0 10px 22px rgba(7,17,31,.20)}
.dashboard-flow-grid strong{color:#07111f;font-size:22px;line-height:1.18}
.dashboard-flow-grid small{color:#405365;font-size:14px;line-height:1.5}
#dashboard .dashboard-start-card{border-radius:16px;box-shadow:0 20px 52px rgba(17,65,112,.12)}
#dashboard .dashboard-access-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:18px;margin-top:18px}
#dashboard .dashboard-login-panel,#dashboard .dashboard-account-panel{border:1px solid rgba(143,199,255,.70);border-left:0;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 18px 42px rgba(17,65,112,.10)}
.dashboard-panel-head{display:grid;gap:4px;margin-bottom:10px}
.dashboard-panel-head h3{margin:0;color:#07111f;font-size:28px;line-height:1.1}
#dashboard .dashboard-auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
#dashboard .dashboard-auth-actions label{min-width:0}
#dashboard .dashboard-auth-actions .primary-button,#dashboard .dashboard-auth-actions .employee-login-button{grid-column:auto;min-height:44px;border-radius:8px}
#dashboard .auth-status-card{border-color:#cfe6ff;background:#eef7ff;color:#0a3c78;font-weight:900}
@media(max-width:1180px){.dashboard-showcase{grid-template-columns:1fr}.dashboard-showcase-copy,.dashboard-mascot-card{min-height:auto}.dashboard-mascot-card{padding-top:18px}.dashboard-flow-grid,#dashboard .dashboard-access-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-showcase{padding:22px;border-radius:14px}.dashboard-showcase:before{inset:10px}.dashboard-showcase h2{font-size:42px}.dashboard-showcase p{font-size:16px}.dashboard-brand-lockup{border-radius:14px}.dashboard-trust-row span{width:100%;justify-content:center}.dashboard-mascot-card{min-height:340px}.mascot-callout{position:relative;right:auto;bottom:auto;margin-top:-18px}.dashboard-flow-grid button{min-height:auto}.dashboard-hero-actions button,#dashboard .dashboard-auth-actions button{width:100%}#dashboard .dashboard-auth-actions{grid-template-columns:1fr}}

/* Mascot hero stage refinement */
.dashboard-mascot-card{isolation:isolate;align-items:end;min-height:500px;padding:18px 10px 0;background:radial-gradient(circle at 50% 32%,rgba(22,135,255,.28),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.035) 100%);border-color:rgba(143,199,255,.48);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 24px 54px rgba(0,0,0,.18)}
.dashboard-mascot-card:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(143,199,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(143,199,255,.08) 1px,transparent 1px);background-size:44px 44px;opacity:.42;mask-image:linear-gradient(180deg,rgba(0,0,0,.78),transparent 86%)}
.dashboard-mascot-card:after{content:"";position:absolute;left:8%;right:8%;bottom:-34px;z-index:-1;height:140px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(22,135,255,.36),rgba(22,135,255,.08) 48%,transparent 70%);filter:blur(2px)}
.dashboard-mascot-card img{position:relative;z-index:1;display:block;width:min(560px,112%);height:auto;max-width:none;max-height:none;object-fit:contain;object-position:center bottom;margin:0 auto -6px;transform:none;filter:drop-shadow(0 30px 48px rgba(0,0,0,.50))}
.mascot-callout{z-index:2;right:22px;bottom:22px;background:rgba(2,7,14,.88);backdrop-filter:blur(10px)}
@media(max-width:1180px){.dashboard-mascot-card{min-height:440px}.dashboard-mascot-card img{width:min(520px,100%);margin-bottom:0}}
@media(max-width:760px){.dashboard-mascot-card{min-height:360px;padding:14px 8px 18px}.dashboard-mascot-card img{width:min(420px,108%)}.mascot-callout{max-width:100%;margin:8px 10px 0}}

/* Dashboard mascot space correction */
.dashboard-showcase{align-items:center;padding:28px;gap:24px}
.dashboard-showcase-copy{min-height:0;padding:18px 0}
.dashboard-mascot-card{min-height:0;height:100%;align-items:center;padding:10px 10px 0;aspect-ratio:1 / 1.06}
.dashboard-mascot-card img{width:min(590px,118%);max-height:calc(100% + 28px);margin:-18px auto -10px;object-fit:contain;object-position:center center}
.mascot-callout{bottom:16px;right:16px}
@media(max-width:1180px){.dashboard-showcase{align-items:stretch}.dashboard-mascot-card{height:auto;min-height:360px;aspect-ratio:auto}.dashboard-mascot-card img{width:min(520px,100%);max-height:430px;margin:-10px auto 0}}
@media(max-width:760px){.dashboard-showcase{padding:18px}.dashboard-mascot-card{min-height:300px;padding:8px}.dashboard-mascot-card img{width:min(390px,112%);max-height:340px;margin:-6px auto 0}}

/* Compact dashboard hero final fit */
.dashboard-showcase{grid-template-columns:minmax(0,1.12fr) minmax(280px,.72fr);align-items:center;gap:22px;padding:24px 26px;margin-bottom:14px;min-height:0}
.dashboard-showcase:before{inset:12px;border-radius:12px}
.dashboard-showcase-copy{min-height:0;padding:8px 0;max-width:820px}
.dashboard-showcase h2{max-width:760px;margin:14px 0 10px;font-size:clamp(38px,4.2vw,64px);line-height:1}
.dashboard-showcase p{max-width:680px;font-size:17px;line-height:1.45}
.dashboard-hero-actions{margin-top:18px}
.dashboard-brand-lockup{padding:6px 10px}
.dashboard-brand-lockup img{width:30px;height:30px}
.dashboard-mascot-card{height:auto;min-height:0;aspect-ratio:1 / .88;padding:8px;border-radius:14px;align-items:end}
.dashboard-mascot-card img{width:min(390px,104%);max-height:360px;margin:0 auto -8px;object-position:center bottom}
.mascot-callout{right:12px;bottom:12px;padding:10px 12px;max-width:210px}
.mascot-callout strong{font-size:16px}.mascot-callout span{font-size:13px}
.dashboard-flow-grid{gap:14px;margin-bottom:14px}.dashboard-flow-grid button{min-height:142px;padding:18px}.dashboard-flow-grid span{width:36px;height:36px;border-radius:10px}.dashboard-flow-grid strong{font-size:19px}.dashboard-flow-grid small{font-size:13px;line-height:1.4}
@media(max-width:1180px){.dashboard-showcase{grid-template-columns:1fr}.dashboard-mascot-card{min-height:280px;aspect-ratio:auto}.dashboard-mascot-card img{width:min(380px,100%);max-height:330px;margin:0 auto -8px}}
@media(max-width:760px){.dashboard-showcase{padding:18px}.dashboard-showcase h2{font-size:36px}.dashboard-showcase p{font-size:15px}.dashboard-mascot-card{min-height:250px}.dashboard-mascot-card img{width:min(330px,106%);max-height:290px}.mascot-callout{position:absolute;right:10px;bottom:10px;margin:0}.dashboard-flow-grid button{min-height:auto}}

/* Dashboard hero screen-fit nudge */
.dashboard-showcase{grid-template-columns:minmax(0,1.18fr) minmax(260px,.66fr);gap:18px;padding:20px 22px;margin-bottom:12px;border-radius:16px}
.dashboard-showcase:before{inset:10px}
.dashboard-showcase-copy{padding:4px 0}
.dashboard-showcase h2{max-width:700px;margin:12px 0 8px;font-size:clamp(34px,3.8vw,58px);line-height:1.02}
.dashboard-showcase p{max-width:620px;font-size:16px;line-height:1.4}
.dashboard-hero-actions{margin-top:14px}.dashboard-hero-actions button{min-height:42px}
.dashboard-brand-lockup{padding:5px 9px}.dashboard-brand-lockup img{width:28px;height:28px}.dashboard-brand-lockup strong{font-size:14px}.dashboard-brand-lockup span{font-size:11px}
.dashboard-mascot-card{aspect-ratio:1 / .82;padding:6px;max-height:330px}
.dashboard-mascot-card img{width:min(350px,100%);max-height:310px;margin:0 auto -6px}
.mascot-callout{padding:8px 10px;right:10px;bottom:10px;max-width:190px}.mascot-callout strong{font-size:15px}.mascot-callout span{font-size:12px}
.dashboard-flow-grid button{min-height:126px;padding:15px}.dashboard-flow-grid span{width:32px;height:32px}.dashboard-flow-grid strong{font-size:18px}.dashboard-flow-grid small{font-size:12.5px}
@media(max-width:1180px){.dashboard-mascot-card{max-height:none;min-height:250px}.dashboard-mascot-card img{width:min(340px,100%);max-height:295px}}
@media(max-width:760px){.dashboard-showcase{padding:16px}.dashboard-showcase h2{font-size:32px}.dashboard-mascot-card{min-height:220px}.dashboard-mascot-card img{width:min(300px,104%);max-height:260px}}

/* Document Vault grouping by detected file role */
.vault-project-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #d9e9fa;background:linear-gradient(180deg,#f8fbff 0%,#eef7ff 100%)}
.vault-project-summary strong{color:#07111f;font-size:16px;overflow-wrap:anywhere}
.vault-project-summary span{color:#526273;font-size:12px;font-weight:900;text-align:right}
.vault-doc-groups{display:grid;gap:12px;padding:12px;background:#fff}
.vault-doc-group{border:1px solid #d9e9fa;border-radius:10px;background:#fbfdff;overflow:hidden}
.vault-doc-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid #e1edf8;background:#f8fbff}
.vault-doc-group-head strong{display:block;color:#07111f;font-size:15px;line-height:1.2}
.vault-doc-group-head span{display:block;margin-top:2px;color:#65717b;font-size:12px;font-weight:800}
.vault-doc-group-head small{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#07111f;color:#fff;font-weight:900}
.vault-doc-group .project-folder-files{padding:10px}
.vault-doc-row{grid-template-columns:minmax(0,1fr) auto;background:#fff!important}
.vault-doc-row>div:first-child{min-width:0}
.vault-doc-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vault-doc-type{display:inline-flex!important;align-items:center;width:auto!important;margin:0!important;padding:4px 8px;border-radius:999px;background:#eaf4ff;color:#0a3c78!important;font-size:11px!important;font-weight:900!important;white-space:nowrap}
#upload.documents-page .active-project-vault .vault-project-summary{display:none!important}
@media(max-width:720px){.vault-project-summary,.vault-doc-group-head,.vault-doc-row{display:grid;grid-template-columns:1fr}.vault-project-summary span{text-align:left}.vault-doc-row .project-folder-file-actions{justify-content:flex-start}}

/* Dashboard hero copy balance */
.dashboard-showcase{grid-template-columns:minmax(0,1.15fr) minmax(270px,.68fr);align-items:center}
.dashboard-showcase p{max-width:720px;font-size:16px;line-height:1.48}
.dashboard-mascot-card{max-height:350px;aspect-ratio:1 / .9;align-items:end}
.dashboard-mascot-card img{width:min(365px,102%);max-height:330px;margin:0 auto -7px}
@media(max-width:1180px){.dashboard-showcase p{max-width:760px}.dashboard-mascot-card{max-height:none;min-height:270px}.dashboard-mascot-card img{width:min(355px,100%);max-height:310px}}
@media(max-width:760px){.dashboard-showcase p{font-size:15px;line-height:1.42}.dashboard-mascot-card{min-height:230px}.dashboard-mascot-card img{width:min(310px,104%);max-height:270px}}

/* Dashboard Start Here guide polish */
#dashboard .dashboard-start-card{display:grid;grid-template-columns:minmax(230px,.48fr) minmax(0,1.52fr);gap:0;margin:14px 0;padding:0;border:1px solid rgba(143,199,255,.62);border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(17,65,112,.10);overflow:hidden}
#dashboard .dashboard-start-card:before{width:0;background:none}
#dashboard .dashboard-start-card .start-guide-copy{display:grid;grid-template-columns:1fr;align-content:center;padding:18px 20px;background:linear-gradient(135deg,#07111f 0%,#0a2746 68%,#0b5fd7 100%)}
#dashboard .dashboard-start-card .start-guide-copy h3{font-size:22px;margin-top:5px}
#dashboard .dashboard-start-card .start-guide-copy p{font-size:14px;line-height:1.42;color:#d8ecff}
#dashboard .dashboard-start-card .start-guide-dismiss{justify-self:start;margin-top:14px;min-height:34px;padding:0 12px;border-radius:8px}
#dashboard .dashboard-start-card .start-guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
#dashboard .dashboard-start-card .start-guide-steps:before{display:none}
#dashboard .dashboard-start-card .start-guide-steps button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:start;min-height:108px;padding:13px;border:1px solid #d9e9fa!important;border-radius:10px!important;background:#fff!important;box-shadow:0 8px 20px rgba(17,65,112,.07)!important}
#dashboard .dashboard-start-card .start-guide-steps span{grid-row:1/3;width:34px;height:34px;margin:0;border-radius:10px;box-shadow:none;background:#07111f!important;color:#fff!important;font-size:11px}
#dashboard .dashboard-start-card .start-guide-steps strong{font-size:15px;line-height:1.15}
#dashboard .dashboard-start-card .start-guide-steps small{font-size:12px;line-height:1.34;margin-top:2px}
#dashboard .dashboard-start-card .start-guide-steps button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(22,135,255,.14)!important}
@media(max-width:1180px){#dashboard .dashboard-start-card{grid-template-columns:1fr}#dashboard .dashboard-start-card .start-guide-copy{grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}#dashboard .dashboard-start-card .start-guide-copy .eyebrow,#dashboard .dashboard-start-card .start-guide-copy h3,#dashboard .dashboard-start-card .start-guide-copy p{grid-column:1}#dashboard .dashboard-start-card .start-guide-dismiss{grid-column:2;grid-row:1/4;margin-top:0}}
@media(max-width:820px){#dashboard .dashboard-start-card .start-guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#dashboard .dashboard-start-card .start-guide-copy{grid-template-columns:1fr}#dashboard .dashboard-start-card .start-guide-dismiss{grid-column:1;grid-row:auto;margin-top:12px;width:100%}#dashboard .dashboard-start-card .start-guide-steps{grid-template-columns:1fr}#dashboard .dashboard-start-card .start-guide-steps button{min-height:auto}}

/* Start Here guide compact card redesign */
#dashboard .dashboard-start-card{max-width:980px;margin:14px auto 16px;display:grid;grid-template-columns:1fr;gap:0;border-radius:16px;border:1px solid rgba(143,199,255,.62);background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);box-shadow:0 18px 42px rgba(17,65,112,.11);overflow:hidden}
#dashboard .dashboard-start-card .start-guide-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;padding:18px 20px;background:linear-gradient(135deg,#07111f 0%,#0b2f57 72%,#0b5fd7 100%)}
#dashboard .dashboard-start-card .start-guide-copy .eyebrow{grid-column:1;color:#8fc7ff}
#dashboard .dashboard-start-card .start-guide-copy h3{grid-column:1;margin:2px 0 0;font-size:24px;line-height:1.1;color:#fff}
#dashboard .dashboard-start-card .start-guide-copy p{grid-column:1;margin:0;color:#d8ecff;font-size:14px;line-height:1.4;max-width:620px}
#dashboard .dashboard-start-card .start-guide-dismiss{grid-column:2;grid-row:1/4;margin:0;min-height:36px;padding:0 13px;border-radius:8px;white-space:nowrap}
#dashboard .dashboard-start-card .start-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;background:transparent}
#dashboard .dashboard-start-card .start-guide-steps button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;min-height:92px;padding:14px;text-align:left;border:1px solid #d9e9fa!important;border-radius:12px!important;background:#fff!important;box-shadow:0 8px 22px rgba(17,65,112,.07)!important}
#dashboard .dashboard-start-card .start-guide-steps span{grid-row:1/3;width:32px;height:32px;margin:0;border-radius:10px;box-shadow:none!important;background:#07111f!important;color:#fff!important;font-size:11px}
#dashboard .dashboard-start-card .start-guide-steps strong{font-size:15px;line-height:1.15;color:#07111f!important}
#dashboard .dashboard-start-card .start-guide-steps small{font-size:12px;line-height:1.32;color:#526273!important;margin:0}
#dashboard .dashboard-start-card .start-guide-steps button:hover{transform:translateY(-1px);border-color:#1687ff!important;box-shadow:0 14px 28px rgba(22,135,255,.14)!important}
@media(max-width:720px){#dashboard .dashboard-start-card{max-width:none}#dashboard .dashboard-start-card .start-guide-copy{grid-template-columns:1fr}#dashboard .dashboard-start-card .start-guide-dismiss{grid-column:1;grid-row:auto;width:100%;margin-top:4px}#dashboard .dashboard-start-card .start-guide-steps{grid-template-columns:1fr}}

/* Hide visual project-name label while keeping the input accessible */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand h1{display:flex;align-items:center;min-height:32px}
.brand-wordmark-only{align-items:flex-start}
.brand-wordmark{display:block;max-width:100%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.42))}
.text-wordmark{color:#fff;font-weight:950;letter-spacing:0;line-height:.92;text-transform:uppercase}
.text-wordmark b{color:#1687ff;font-weight:950}
.brand-mark img{object-fit:cover}
.dashboard-brand-lockup{gap:12px;padding:9px 14px;border-radius:18px;overflow:hidden}
.dashboard-brand-lockup-wordmark{padding:10px 16px}
.dashboard-brand-lockup .dashboard-brand-icon{width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover}
.dashboard-brand-lockup strong{display:block;line-height:1}
.dashboard-brand-lockup .dashboard-wordmark{display:block;max-width:100%;border:0;border-radius:0;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35));font-size:clamp(24px,2.3vw,38px);white-space:normal;overflow-wrap:anywhere}
.dashboard-brand-lockup span:not(.sr-only){margin-top:2px}
.dashboard-mascot-card img[src*="dashboard-mascot-v3"]{width:100%;height:100%;max-height:none;margin:0;object-fit:cover;object-position:center center;border-radius:10px}
@media(max-width:760px){.brand-wordmark{font-size:19px}.dashboard-brand-lockup{align-self:stretch;border-radius:14px}.dashboard-brand-lockup .dashboard-wordmark{font-size:28px}.dashboard-brand-lockup .dashboard-brand-icon{width:38px;height:38px;flex-basis:38px}.dashboard-mascot-card img{object-position:center center}}
.docs-project-field{gap:0!important}

/* Make editable project name field obvious */
.docs-project-field{position:relative;display:block!important}
.docs-project-field:after{content:"Edit";position:absolute;right:10px;top:50%;transform:translateY(-50%);padding:3px 7px;border-radius:999px;background:#eaf4ff;color:#0a3c78;font-size:11px;font-weight:900;pointer-events:none}
.docs-project-field input{padding-right:54px!important;border:2px solid #1687ff!important;background:linear-gradient(180deg,#fff 0%,#eef7ff 100%)!important;box-shadow:0 0 0 3px rgba(22,135,255,.10),0 10px 22px rgba(17,65,112,.08)!important;cursor:text}
.docs-project-field input:focus{outline:none;border-color:#07111f!important;box-shadow:0 0 0 4px rgba(22,135,255,.22),0 14px 28px rgba(17,65,112,.12)!important;background:#fff!important}
.docs-project-field input:hover{border-color:#0b5fd7!important;background:#fff!important}

/* Takeoff accuracy review estimator board */
#takeoffs .takeoff-review-panel{border-color:rgba(143,199,255,.70);box-shadow:0 18px 44px rgba(17,65,112,.10)}
#takeoffs .readiness-board-pro{display:grid;grid-template-columns:1fr;gap:10px}
#takeoffs .readiness-summary-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-radius:12px;background:linear-gradient(135deg,#07111f 0%,#0b2f57 70%,#0b5fd7 100%);color:#fff}
#takeoffs .readiness-summary-card.clear{background:linear-gradient(135deg,#07111f 0%,#123f31 70%,#15803d 100%)}
#takeoffs .readiness-summary-card span,#takeoffs .readiness-metric-row span{display:block;color:#bde3ff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
#takeoffs .readiness-summary-card strong{display:block;margin-top:3px;color:#fff;font-size:20px;line-height:1.1}
#takeoffs .readiness-summary-card small{display:block;margin-top:4px;color:#dcefff;font-size:12px;line-height:1.35}
#takeoffs .readiness-summary-card em{flex:0 0 auto;display:grid;place-items:center;min-width:70px;min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-style:normal;font-weight:900}
#takeoffs .readiness-metric-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#takeoffs .readiness-metric-row div{min-width:0;padding:10px 11px;border:1px solid #d9e9fa;border-radius:10px;background:#fff}
#takeoffs .readiness-metric-row span{color:#0b5fd7}
#takeoffs .readiness-metric-row strong{display:block;margin-top:5px;color:#07111f;font-size:18px;line-height:1.1;overflow-wrap:anywhere}
#takeoffs .readiness-issue-list{border:1px solid #d9e9fa;border-radius:12px;background:#fff;overflow:hidden}
#takeoffs .readiness-list-head{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fbff;border-bottom:1px solid #d9e9fa}
#takeoffs .readiness-list-head strong{color:#07111f;font-size:14px}
#takeoffs .readiness-list-head span{color:#526273;font-size:12px;font-weight:900;text-align:right}
#takeoffs .readiness-issue-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid #edf4fb}
#takeoffs button.readiness-issue-row{width:100%;border-right:0;border-bottom:0;border-left:0;background:#fff;text-align:left;cursor:pointer}
#takeoffs button.readiness-issue-row:hover{background:#fff8f8}
#takeoffs button.readiness-issue-row:focus-visible{outline:3px solid rgba(22,135,255,.35);outline-offset:-3px}
#takeoffs .readiness-issue-row:first-of-type{border-top:0}
#takeoffs .readiness-issue-row strong{color:#7f1d1d;font-size:13px;line-height:1.25;overflow-wrap:anywhere}
#takeoffs .readiness-issue-row span{color:#5b3030;font-size:12px;font-weight:800}
#takeoffs .readiness-issue-row small{display:grid;place-items:center;min-width:30px;height:26px;padding:0 8px;border-radius:999px;background:#b42318;color:#fff;font-size:12px;font-weight:900}
#takeoffs .readiness-issue-row.clear strong{color:#14532d}#takeoffs .readiness-issue-row.clear span{color:#31543d}#takeoffs .readiness-issue-row.clear small{background:#15803d}
.issue-jump-highlight{animation:issueJumpPulse 2.2s ease-out}
@keyframes issueJumpPulse{0%,100%{box-shadow:none}15%,75%{box-shadow:0 0 0 4px rgba(22,135,255,.24),0 0 0 8px rgba(180,35,24,.14)}}
@media(max-width:1120px){#takeoffs .readiness-metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){#takeoffs .readiness-summary-card,#takeoffs .readiness-list-head,#takeoffs .readiness-issue-row{grid-template-columns:1fr;display:grid;text-align:left}#takeoffs .readiness-summary-card em{justify-self:start}#takeoffs .readiness-metric-row{grid-template-columns:1fr!important}#takeoffs .readiness-list-head span{text-align:left}#takeoffs .readiness-issue-row small{justify-self:start}}

/* Clean project document vault */
#upload.documents-page .clean-document-vault{
  display:grid;
  gap:14px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
}
#upload.documents-page .vault-clean-summary{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #cfe6ff;
  border-radius:12px;
  background:linear-gradient(180deg,#f8fbff 0%,#eef7ff 100%);
}
#upload.documents-page .vault-clean-summary>div:first-child{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
#upload.documents-page .vault-clean-summary strong{
  min-width:0;
  color:#07111f;
  font-size:18px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
#upload.documents-page .vault-clean-summary span{
  color:#405365;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}
#upload.documents-page .vault-count-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(104px,1fr));
  gap:8px;
}
#upload.documents-page .vault-count-strip button{
  display:grid;
  gap:2px;
  min-width:0;
  padding:9px 8px;
  border:1px solid #d9e9fa;
  border-radius:9px;
  background:#fff;
  color:#526273;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  overflow-wrap:anywhere;
  text-align:left;
  cursor:pointer;
}
#upload.documents-page .vault-count-strip button.has-files{
  border-color:#8fc7ff;
  color:#0a3c78;
}
#upload.documents-page .vault-count-strip button.active{
  border-color:#07111f;
  background:#07111f;
  color:#fff;
  box-shadow:0 10px 22px rgba(17,65,112,.18);
}
#upload.documents-page .vault-count-strip button:hover{
  border-color:#1687ff;
  background:#eef7ff;
}
#upload.documents-page .vault-count-strip button.active:hover{
  background:#07111f;
}
#upload.documents-page .vault-count-strip strong{
  font-size:17px;
  line-height:1;
}
#upload.documents-page .clean-document-vault .vault-doc-groups{
  display:grid;
  gap:12px;
  padding:0;
  background:transparent;
}
#upload.documents-page .clean-vault-group{
  border:1px solid #cfe6ff;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(17,65,112,.07);
  overflow:hidden;
}
#upload.documents-page .vault-filter-empty{
  display:grid;
  gap:4px;
  padding:16px;
  border:1px dashed #8fc7ff;
  border-radius:12px;
  background:#eef7ff;
}
#upload.documents-page .vault-filter-empty strong{
  color:#07111f;
}
#upload.documents-page .vault-filter-empty span{
  color:#405365;
  font-size:13px;
  font-weight:800;
}
#upload.documents-page .clean-vault-group .vault-doc-group-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid #d9e9fa;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
#upload.documents-page .clean-vault-group .vault-doc-group-head strong{
  color:#07111f;
  font-size:16px;
  line-height:1.2;
}
#upload.documents-page .clean-vault-group .vault-doc-group-head span{
  display:block;
  margin-top:3px;
  color:#526273;
  font-size:12px;
  font-weight:800;
  line-height:1.3;
}
#upload.documents-page .clean-vault-group .vault-doc-group-head small{
  display:grid;
  place-items:center;
  min-width:32px;
  height:30px;
  border-radius:999px;
  background:#07111f;
  color:#fff;
  font-weight:950;
}
#upload.documents-page .vault-file-list{
  display:grid;
  gap:8px;
  padding:10px;
}
#upload.documents-page .vault-file-row{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
  min-width:0;
  padding:12px;
  border:1px solid #e1edf8;
  border-radius:10px;
  background:#fbfdff;
}
#upload.documents-page .vault-file-row.duplicate-file{
  border-color:#f6b4b4;
  background:#fff8f8;
}
#upload.documents-page .vault-file-row.needs-sorting-file{
  border-color:#f3c36f;
  background:#fffaf0;
}
#upload.documents-page .vault-file-main{
  display:grid;
  gap:4px;
  min-width:0;
}
#upload.documents-page .vault-file-main strong{
  color:#07111f;
  font-size:15px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
#upload.documents-page .vault-file-main span{
  color:#65717b;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}
#upload.documents-page .vault-file-main em{
  justify-self:start;
  max-width:100%;
  padding:6px 9px;
  border-radius:8px;
  background:#fee2e2;
  color:#7f1d1d;
  font-size:11px;
  line-height:1.25;
  font-style:normal;
  font-weight:900;
  overflow-wrap:anywhere;
}
#upload.documents-page .vault-file-main em.category-warning{
  background:#fff3cd;
  color:#6f4300;
}
#upload.documents-page .vault-category-select{
  display:grid;
  gap:5px;
  min-width:0;
}
#upload.documents-page .vault-category-select small{
  color:#526273;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
#upload.documents-page .vault-category-select select{
  width:100%;
  min-height:36px;
  border:1px solid #b8d9f8;
  border-radius:8px;
  background:#fff;
  color:#07111f;
  font-weight:900;
  padding:0 9px;
}
#upload.documents-page .vault-file-controls{
  display:grid;
  grid-template-columns:minmax(180px,260px) minmax(0,1fr);
  gap:10px;
  align-items:end;
  padding-top:10px;
  border-top:1px solid #e6f1fb;
}
#upload.documents-page .vault-file-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
}
#upload.documents-page .vault-file-actions button{
  min-height:34px;
  padding:0 10px;
  border:1px solid #b9d9f8;
  border-radius:8px;
  background:#fff;
  color:#0a3c78;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
#upload.documents-page .vault-file-actions button[data-remove-doc-file]{
  border-color:#f2b8b5;
  color:#7f1d1d;
}
#upload.documents-page .vault-file-actions button:hover{
  background:#eaf4ff;
}
#upload.documents-page .vault-file-actions small{
  color:#65717b;
  font-size:12px;
  font-weight:850;
}
#upload.documents-page .bid-document-groups.empty-state{
  display:grid;
  gap:4px;
  padding:16px;
}
#upload.documents-page .bid-document-groups.empty-state strong{
  color:#07111f;
}
#upload.documents-page .bid-document-groups.empty-state span{
  color:#405365;
  font-weight:800;
}
@media(max-width:1240px){
  #upload.documents-page .docs-workspace-grid{grid-template-columns:1fr!important}
  #upload.documents-page .vault-count-strip{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
}
@media(max-width:1500px){
  #upload.documents-page .docs-workspace-grid{
    grid-template-columns:1fr!important;
  }
  #upload.documents-page .docs-preview-panel .file-preview{
    min-height:420px;
  }
  #upload.documents-page .docs-preview-panel .file-preview iframe{
    height:560px;
  }
}
@media(max-width:760px){
  #upload.documents-page .vault-clean-summary>div:first-child,
  #upload.documents-page .vault-file-row,
  #upload.documents-page .clean-vault-group .vault-doc-group-head{
    grid-template-columns:1fr;
    display:grid;
  }
  #upload.documents-page .vault-count-strip{grid-template-columns:repeat(2,minmax(100px,1fr))}
  #upload.documents-page .vault-file-controls{grid-template-columns:1fr}
  #upload.documents-page .vault-file-actions{justify-content:flex-start}
  #upload.documents-page .vault-file-actions button{flex:1 1 120px}
}

/* Step 3 document vault final layout */
#upload.documents-page .docs-vault-panel{
  border-color:#b9d9f8;
  background:#f7fbff;
}
#upload.documents-page .docs-vault-panel>.docs-panel-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(180deg,#07111f 0%,#10233b 100%);
  color:#fff;
}
#upload.documents-page .docs-vault-panel>.docs-panel-head .eyebrow,
#upload.documents-page .docs-vault-panel>.docs-panel-head .docs-panel-note{
  color:#b8dcff;
}
#upload.documents-page .docs-vault-panel>.docs-panel-head h3{
  color:#fff;
  font-size:24px;
  line-height:1.15;
}
#upload.documents-page .docs-vault-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
#upload.documents-page .docs-vault-actions button{
  min-height:38px;
  width:auto;
  border-radius:9px;
  background:#fff;
}
#upload.documents-page .docs-vault-body{
  padding:14px;
  background:#f7fbff;
}
.project-health-card{
  display:grid;
  gap:0;
  margin:12px 0 0;
}
.project-health-card.compact{
  margin:0 0 12px;
}
.project-health-button{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #b9d9f8;
  border-radius:12px;
  background:#f8fbff;
  color:#07111f;
  text-align:left;
  cursor:pointer;
}
.project-health-button.needs{
  border-color:#f3c36f;
  background:#fffaf0;
}
.project-health-button.ready{
  border-color:#8fc7ff;
  background:#eef7ff;
}
.project-health-button.clear{
  border-color:#9ed6b2;
  background:#f2fff6;
}
.project-health-button small{
  display:block;
  color:#0b5fd7;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.project-health-button strong{
  display:block;
  margin-top:2px;
  color:#07111f;
  font-size:17px;
  line-height:1.15;
}
.project-health-button em{
  display:block;
  margin-top:3px;
  color:#526273;
  font-size:12px;
  font-style:normal;
  font-weight:850;
  line-height:1.35;
}
.project-health-button>span{
  display:grid;
  place-items:center;
  min-width:76px;
  min-height:34px;
  padding:0 10px;
  border-radius:999px;
  background:#07111f;
  color:#fff;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.project-health-preview{
  display:none;
  flex-wrap:wrap;
  gap:6px;
}
.project-health-preview span{
  padding:5px 8px;
  border:1px solid #d9e9fa;
  border-radius:999px;
  background:#fff;
  color:#405365;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
}
.project-health-overlay{
  position:fixed;
  inset:0;
  z-index:1300;
  display:grid;
  justify-items:end;
  background:rgba(7,17,31,.58);
  backdrop-filter:blur(4px);
}
.project-health-drawer{
  width:min(760px,100%);
  height:100%;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  gap:14px;
  padding:22px;
  border-left:1px solid #8fc7ff;
  background:#fff;
  color:#07111f;
  overflow:auto;
  box-shadow:-28px 0 70px rgba(0,0,0,.28);
}
.project-health-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #d9e9fa;
}
.project-health-head h3{
  margin:4px 0;
  color:#07111f;
  font-size:30px;
  line-height:1.08;
}
.project-health-head p{
  margin:0;
  color:#526273;
  font-size:13px;
  font-weight:850;
}
.project-health-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.project-health-metrics span,
.health-check-list div,
.health-clear-row{
  display:grid;
  gap:3px;
  padding:10px;
  border:1px solid #d9e9fa;
  border-radius:10px;
  background:#f8fbff;
}
.project-health-metrics small,
.health-check-list strong{
  color:#0b5fd7;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.project-health-metrics strong{
  color:#07111f;
  font-size:22px;
  line-height:1;
}
.health-drawer-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  gap:12px;
}
.health-drawer-grid section{
  min-width:0;
  padding:14px;
  border:1px solid #cfe6ff;
  border-radius:12px;
  background:#fff;
}
.health-drawer-grid h4{
  margin:0 0 10px;
  color:#07111f;
  font-size:15px;
}
.health-check-list,
.health-issue-list{
  display:grid;
  gap:8px;
}
.health-check-list div.missing{
  border-color:#f3c36f;
  background:#fffaf0;
}
.health-check-list div.ok{
  border-color:#9ed6b2;
  background:#f2fff6;
}
.health-check-list span,
.health-clear-row span{
  color:#405365;
  font-size:12px;
  font-weight:850;
}
.health-issue-list button{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:10px;
  border:1px solid #f3c36f;
  border-radius:10px;
  background:#fffaf0;
  color:#07111f;
  text-align:left;
  cursor:pointer;
}
.health-issue-list button strong{
  overflow-wrap:anywhere;
  font-size:13px;
  line-height:1.25;
}
.health-issue-list button span{
  color:#0b5fd7;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.project-health-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  padding-top:12px;
  border-top:1px solid #d9e9fa;
}
@media(max-width:760px){
  .project-health-button,
  .health-drawer-grid,
  .project-health-head{
    grid-template-columns:1fr;
  }
  .project-health-button>span{
    justify-self:start;
  }
  .project-health-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .project-health-actions button{
    width:100%;
  }
}
#upload.documents-page .clean-document-vault{
  gap:12px;
}
#upload.documents-page .vault-clean-summary{
  gap:10px;
  padding:12px;
  border:1px solid #b9d9f8;
  background:#fff;
  box-shadow:0 10px 24px rgba(17,65,112,.06);
}
#upload.documents-page .vault-overview-title{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:2px;
}
#upload.documents-page .vault-overview-title small{
  color:#526273;
  font-size:12px;
  font-weight:900;
  line-height:1.3;
}
#upload.documents-page .vault-project-picker{
  position:relative;
  display:grid;
  gap:2px;
  max-width:500px;
}
#upload.documents-page .vault-project-picker span{
  color:#0b5fd7;
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#upload.documents-page .vault-project-picker select{
  width:100%;
  min-height:38px;
  padding:0 34px 0 0;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  color:#07111f;
  font-size:clamp(22px,2.35vw,30px);
  font-weight:950;
  line-height:1.05;
  box-shadow:none;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
#upload.documents-page .vault-project-picker select:focus{
  outline:none;
  border-color:#1687ff;
  background:#eef7ff;
  box-shadow:0 0 0 4px rgba(22,135,255,.14);
}
#upload.documents-page .vault-project-picker:after{
  content:"";
  position:absolute;
  right:8px;
  bottom:14px;
  width:8px;
  height:8px;
  border-right:2px solid #1687ff;
  border-bottom:2px solid #1687ff;
  transform:rotate(45deg);
  pointer-events:none;
}
#upload.documents-page .vault-filter-panel{
  display:grid;
  gap:8px;
}
#upload.documents-page .vault-filter-panel>span{
  color:#526273;
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#upload.documents-page .vault-count-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#upload.documents-page .vault-count-strip button{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  min-width:0;
  padding:7px 10px;
  border-radius:999px;
  text-transform:none;
}
#upload.documents-page .vault-count-strip button strong{
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#eaf4ff;
  color:#0a3c78;
  font-size:13px;
}
#upload.documents-page .vault-count-strip button span{
  color:inherit;
  font-size:12px;
  line-height:1;
}
#upload.documents-page .vault-count-strip button.active strong{
  background:#1687ff;
  color:#fff;
}
#upload.documents-page .clean-vault-group{
  border-color:#cfe6ff;
  box-shadow:none;
}
#upload.documents-page .clean-vault-group .vault-doc-group-head{
  padding:13px 14px;
  background:#eef7ff;
}
#upload.documents-page .vault-file-list{
  gap:0;
  padding:0;
}
#upload.documents-page .vault-file-row{
  grid-template-columns:minmax(0,1fr) minmax(260px,330px);
  gap:14px;
  align-items:center;
  padding:14px;
  border:0;
  border-top:1px solid #e1edf8;
  border-radius:0;
  background:#fff;
}
#upload.documents-page .vault-file-row.needs-sorting-file{
  background:#fffaf0;
}
#upload.documents-page .vault-file-row:first-child{
  border-top:0;
}
#upload.documents-page .vault-file-title{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  align-items:start;
  min-width:0;
}
#upload.documents-page .vault-file-title strong{
  display:block;
  margin-bottom:0;
  overflow-wrap:anywhere;
}
#upload.documents-page .vault-file-title span{
  display:block;
}
#upload.documents-page .vault-file-role{
  display:inline-flex!important;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 4px;
  padding:3px 8px;
  border:1px solid #b9d9f8;
  border-radius:999px;
  background:#eef7ff;
  color:#0a3c78!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1.1;
}
#upload.documents-page .vault-file-controls{
  grid-template-columns:1fr;
  gap:8px;
  align-items:stretch;
  padding-top:0;
  border-top:0;
}
#upload.documents-page .vault-file-actions{
  justify-content:flex-end;
}
#upload.documents-page .vault-file-actions button{
  min-height:32px;
}
#upload.documents-page .empty-vault .vault-filter-empty{
  margin-top:12px;
  border:1px dashed #b9d9f8;
  border-radius:12px;
  background:#fff;
}
@media(max-width:760px){
  #upload.documents-page .docs-vault-panel>.docs-panel-head,
  #upload.documents-page .vault-file-row{
    grid-template-columns:1fr;
  }
  #upload.documents-page .docs-vault-actions,
  #upload.documents-page .vault-file-actions{
    justify-content:flex-start;
  }
  #upload.documents-page .docs-vault-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  #upload.documents-page .docs-vault-actions button,
  #upload.documents-page .vault-file-actions button{
    width:100%;
  }
  #upload.documents-page .vault-count-strip button{
    flex:1 1 calc(50% - 8px);
  }
  #upload.documents-page .vault-project-picker{
    max-width:none;
  }
}

/* Estimator takeoff review drawer */
.takeoff-review-overlay{position:fixed;inset:0;z-index:1200;display:grid;justify-items:end;background:rgba(7,17,31,.58);backdrop-filter:blur(4px)}
.takeoff-review-drawer{width:min(720px,100%);height:100%;display:grid;grid-template-rows:auto auto 1fr auto auto auto;gap:14px;padding:22px;border-left:1px solid #8fc7ff;background:#fff;color:#07111f;box-shadow:-28px 0 70px rgba(0,0,0,.28);overflow:auto}
.takeoff-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #d9e9fa}
.takeoff-drawer-head h3{margin:4px 0 4px;color:#07111f;font-size:30px;line-height:1.08}
.takeoff-drawer-head p{margin:0;color:#526273;font-size:13px;font-weight:850}
.takeoff-drawer-head .icon-button{border-radius:8px;color:#07111f;font-size:20px;font-weight:900}
.takeoff-drawer-flags{display:grid;gap:8px;padding:12px;border:1px solid #f0c36a;border-radius:10px;background:#fff8e6;color:#5f4200}
.takeoff-drawer-flags strong{font-size:15px;color:#5f4200}
.takeoff-drawer-flags div{display:flex;flex-wrap:wrap;gap:6px}
.takeoff-drawer-flags span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;color:#7a4b00;font-size:12px;font-weight:900}
.takeoff-drawer-flags small{color:#5f4200;font-weight:900}
.takeoff-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.takeoff-drawer-grid label,.takeoff-breakdown-editor,.takeoff-note-editor{display:grid;gap:6px;color:#07111f;font-size:13px;font-weight:950}
.takeoff-drawer-grid input,.takeoff-drawer-grid select,.takeoff-breakdown-editor textarea,.takeoff-note-editor textarea{min-width:0;border:1px solid #a8cff4;border-radius:8px;background:#fff;color:#07111f;padding:10px 11px}
.takeoff-breakdown-editor small{color:#526273;font-size:12px;font-weight:800;line-height:1.35}
.takeoff-breakdown-editor textarea{min-height:112px;font-family:Arial,Helvetica,sans-serif}
.takeoff-note-editor textarea{min-height:92px;font-family:Arial,Helvetica,sans-serif}
.takeoff-exclude-toggle{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #d9e9fa;border-radius:10px;background:#f8fbff;color:#405365;font-size:13px;font-weight:900;line-height:1.35}
.takeoff-exclude-toggle input{width:18px;height:18px;flex:0 0 auto}
.takeoff-drawer-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:4px}
.takeoff-review-card.excluded-takeoff-row{border-left-color:#65717b;background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%)}
.accuracy-badge.excluded{border-color:#9aa6af;background:#eef2f5;color:#32424f}
@media(max-width:760px){.takeoff-review-overlay{justify-items:stretch}.takeoff-review-drawer{width:100%;padding:18px}.takeoff-drawer-grid{grid-template-columns:1fr}.takeoff-drawer-actions .primary-button,.takeoff-drawer-actions .ghost-button{width:100%}}

/* Blueprint Buddy finished brand logo */
.brand-wordmark-only{
  display:grid;
  gap:4px;
  align-items:start;
  padding-bottom:12px;
}
.brand-wordmark-only:empty{display:none}
.brand-wordmark-only .brand-text-fallback{
  display:block;
}
.brand-wordmark-only .brand-text-fallback h1{
  margin:0;
  color:#fff;
  font-size:20px;
  line-height:1;
}
.brand-wordmark-only .brand-text-fallback p{
  max-width:190px;
  margin:4px 0 0;
  color:#cfe6ff;
  font-size:12px;
  line-height:1.25;
}
.brand-logo-image{
  display:block;
  width:min(212px,100%);
  height:auto;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.34),0 0 0 1px rgba(143,199,255,.38);
}
.dashboard-brand-lockup-wordmark{
  display:block;
  width:min(400px,100%);
  max-width:100%;
  padding:8px;
  border:1px solid rgba(143,199,255,.44);
  border-radius:16px;
  background:rgba(255,255,255,.10);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
  overflow:hidden;
  backdrop-filter:blur(10px);
}
.dashboard-brand-lockup .dashboard-wordmark-art{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  border:0;
  border-radius:12px;
  object-fit:contain;
  background:#fff;
}
.dashboard-mascot-card{
  padding:18px;
  gap:12px;
  align-content:center;
  align-items:center;
  justify-items:center;
  min-height:0;
  max-height:none;
  height:auto;
  aspect-ratio:auto;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 24%,rgba(22,135,255,.34),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.045) 100%);
}
.dashboard-logo-frame{
  position:relative;
  width:min(430px,100%)!important;
  padding:10px;
  border:1px solid rgba(143,199,255,.62);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(143,199,255,.07));
  box-shadow:0 26px 68px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.08);
  transform:none;
  overflow:hidden;
}
@media(min-width:1181px){
  .dashboard-showcase{
    grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);
  }
  .dashboard-logo-frame{
    width:min(400px,100%)!important;
  }
}
.dashboard-logo-frame:before{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:-1;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(22,135,255,.34),transparent 58%);
  filter:blur(12px);
}
.dashboard-mascot-card .dashboard-logo-showcase{
  display:block;
  width:100%;
  max-width:none;
  max-height:none;
  height:auto;
  margin:0;
  border-radius:18px;
  object-fit:contain;
  object-position:center center;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.24);
  filter:none;
}
@media(max-width:1180px){
  .dashboard-showcase{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .dashboard-showcase-copy{
    width:100%;
    min-width:0;
  }
  .dashboard-logo-frame{width:min(390px,100%)}
  .dashboard-mascot-card{min-height:0;max-height:none}
}
@media(max-width:760px){
  .dashboard-showcase{
    grid-template-columns:1fr;
    gap:16px;
  }
  .dashboard-showcase-copy{
    width:100%;
    min-width:0;
  }
  .brand-logo-image{width:min(190px,100%)}
  .dashboard-brand-lockup-wordmark{width:min(280px,100%);padding:7px}
  .dashboard-logo-frame{width:min(310px,100%)}
  .dashboard-logo-frame{padding:8px;border-radius:18px;transform:none}
  .dashboard-mascot-card .dashboard-logo-showcase{border-radius:14px}
  .dashboard-mascot-card{min-height:0;max-height:none}
}
