/* draupr 20.1 — product design system (RTL-first) */
@font-face{font-family:Vazirmatn;src:url("../fonts/Vazirmatn-Regular.cdc140628f11.woff2") format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Vazirmatn;src:url("../fonts/Vazirmatn-Medium.dd2193b32cbe.woff2") format('woff2');font-weight:500 600;font-display:swap}@font-face{font-family:Vazirmatn;src:url("../fonts/Vazirmatn-Bold.7958481fe611.woff2") format('woff2');font-weight:700 800;font-display:swap}
:root{--bg:#f5f6f8;--panel:#fff;--panel-2:#f9fafb;--line:#e5e7eb;--line-strong:#d1d5db;--text:#171a21;--muted:#697386;--subtle:#94a3b8;--brand:#2563eb;--brand-2:#1d4ed8;--brand-soft:#eff6ff;--ok:#08775a;--ok-soft:#ecfdf5;--warn:#a15c05;--warn-soft:#fff7ed;--bad:#c2414b;--bad-soft:#fff1f2;--violet:#6d4aff;--nav:#111827;--nav-2:#172033;--radius:10px;--radius-lg:14px;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.045);--sidebar:264px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Vazirmatn,Tahoma,sans-serif;font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:var(--brand);text-underline-offset:3px}a:hover{color:var(--brand-2)}:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.muted{color:var(--muted)}.small,small{font-size:12px}.nowrap{white-space:nowrap}.text-danger{color:var(--bad)!important}.text-warning{color:var(--warn)!important}
/* shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.app-sidebar{height:100vh;position:sticky;top:0;background:var(--nav);color:#dbe4f0;display:flex;flex-direction:column;padding:14px 10px 10px;z-index:50}.brand-row{display:flex;align-items:center;gap:8px;padding:3px 8px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0;flex:1}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#3b82f6,#6347e8);font:700 23px Georgia}.brand b,.brand small{display:block}.brand b{font-size:16px}.brand small{font-size:10.5px;color:#8da1b9;font-weight:400}.primary-nav{flex:1;overflow:auto;padding:9px 2px 14px;scrollbar-width:thin;scrollbar-color:#35445a transparent}.nav-cluster{padding:6px 0}.nav-cluster+.nav-cluster{border-top:1px solid rgba(255,255,255,.055)}.nav-label{display:block;padding:2px 10px 5px;color:#71839a;font-size:10px;font-weight:700}.nav-link{min-height:36px;display:flex;align-items:center;gap:9px;padding:6px 9px;margin:1px 0;border-radius:7px;color:#c7d2e1;text-decoration:none;font-size:13px}.nav-link i{width:19px;color:#7890ac;font-style:normal;text-align:center}.nav-link:hover{color:#fff;background:rgba(255,255,255,.055)}.nav-link.is-active{color:#fff;background:#263750;box-shadow:inset -3px 0 var(--brand)}.nav-link.is-active i{color:#8ab8ff}.nav-disclosure{border-top:1px solid rgba(255,255,255,.055);padding-top:5px}.nav-disclosure summary{list-style:none;cursor:pointer;color:#8fa1b8;padding:7px 10px;font-size:11.5px;font-weight:600}.nav-disclosure summary::-webkit-details-marker{display:none}.nav-disclosure summary:before{content:'+';display:inline-block;width:18px}.nav-disclosure[open] summary:before{content:'−'}.sidebar-user{border-top:1px solid rgba(255,255,255,.08);padding:11px 7px 2px;display:flex;align-items:center;gap:9px}.avatar{width:30px;height:30px;display:grid;place-items:center;background:#2a3d58;border-radius:50%;font-weight:700}.sidebar-user>span:nth-child(2){min-width:0;flex:1}.sidebar-user b,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user b{font-size:12.5px}.sidebar-user small{color:#8497ad;font-size:10.5px}.icon-btn{border:0;background:transparent;color:inherit;cursor:pointer;border-radius:7px;padding:5px 8px}.icon-btn:hover{background:rgba(127,143,166,.13)}.nav-close,.nav-trigger{display:none}.nav-scrim{display:none}.app-main{min-width:0}.app-topbar{height:68px;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(190px,1fr) minmax(280px,520px) minmax(150px,1fr);align-items:center;gap:20px;padding:8px 28px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-title{display:flex;align-items:center;gap:8px}.eyebrow{display:block;color:var(--subtle);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.topbar-title h1{margin:0;font-size:17px;line-height:1.35}.global-search{height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.global-search:focus-within{border-color:#9bbcf7;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.global-search input{width:100%;min-width:0;border:0;outline:0;background:transparent}.global-search kbd{direction:ltr;border:1px solid var(--line-strong);background:#fff;border-radius:5px;padding:0 5px;color:var(--subtle);font:11px monospace}.today{justify-self:end}.today small,.today b{display:block}.today small{color:var(--subtle);font-size:9px}.today b{font-size:12.5px}.page-canvas{padding:24px 28px 48px}.page-content{width:100%;max-width:1480px;margin:auto;display:flex;flex-direction:column;gap:18px}.flash-stack{padding:14px 28px 0}.flash-stack>*{max-width:1480px;margin:0 auto 8px}
/* page composition */
.workspace-head,.page-header,.page-head,.page-intro,.toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.workspace-head h1,.page-header h1,.page-head h1,.container>h1{margin:0;font-size:22px}.workspace-head p,.page-header p,.page-lead{margin:4px 0 0;color:var(--muted)}.breadcrumb{display:flex;align-items:center;gap:7px;color:var(--subtle);font-size:12px}.breadcrumb a{text-decoration:none}.toolbar-actions,.form-actions,.field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
/* surfaces */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:19px}.card-title,.card h2{margin:0 0 12px;font-size:15px}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-header-row .card-title,.card-header-row h2{margin:0}.stat-card{min-height:122px;display:flex;flex-direction:column;justify-content:center}.stat-label{font-size:11.5px;color:var(--muted);font-weight:500}.stat-value{margin:5px 0;font-size:27px;font-weight:700;line-height:1.25;color:#1e293b}.stat-hint{font-size:11.5px;color:var(--muted)}.site-widget{border-inline-start:4px solid var(--brand)}.callout{background:var(--brand-soft);border-inline-start:4px solid var(--brand);box-shadow:none}.alert-card.alert-danger-border{border-inline-start:4px solid var(--bad)}.notes-box,.item-note{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.empty-state{text-align:center;padding:36px 20px;color:var(--muted)}details{border-radius:9px}details>summary{cursor:pointer;font-weight:600}
/* controls */
.btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 13px;border:1px solid transparent;border-radius:8px;background:#fff;color:#334155;text-decoration:none;font-weight:600;font-size:12.5px;cursor:pointer;transition:.14s ease}.btn:hover{transform:translateY(-1px);color:inherit}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-2);color:#fff}.btn-ghost{border-color:var(--line-strong);background:#fff}.btn-ghost:hover{background:#f8fafc;border-color:#aeb8c5}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn-success{background:var(--ok);color:#fff}.btn-sm{min-height:30px;padding:4px 9px;font-size:11.5px}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=search],input[type=file],select,textarea,.form-control{width:100%;min-height:39px;border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;background:#fff;color:var(--text);transition:.13s}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:0;border-color:#86aef4;box-shadow:0 0 0 3px rgba(37,99,235,.11)}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--brand)}.field,form>p{display:grid;gap:5px;margin:0 0 13px}.field>span,form>p>label,.form-group>label{font-size:11.5px;color:var(--muted);font-weight:600}.form-card{width:100%;max-width:920px}.form-card fieldset{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0 0 14px}.form-card legend{padding:0 8px;color:#334155;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 15px}.field-span-2{grid-column:1/-1}.filter-bar,.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.filter-bar>*:not(button):not(a),.filters>*:not(button):not(a){width:auto;min-width:150px}.filter-q{flex:1!important;min-width:250px!important}.inline-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.checkbox-field{display:flex;align-items:center;gap:8px}.errorlist{list-style:none;margin:3px 0;padding:0;color:var(--bad);font-size:11.5px}
/* data */
.table-scroll{width:100%;overflow:auto;border-radius:9px}.table,table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.table th,table th{padding:9px 11px;text-align:right;color:#667085;background:#f8fafc;border-block:1px solid var(--line);font-size:11px;font-weight:700;white-space:nowrap}.table th:first-child,table th:first-child{border-start-start-radius:8px}.table th:last-child,table th:last-child{border-start-end-radius:8px}.table td,table td{padding:10px 11px;border-bottom:1px solid #edf0f3;vertical-align:middle}.table tbody tr:hover,table tbody tr:hover{background:#fafcff}.link-strong{color:#1f2937;text-decoration:none;font-weight:600}.badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border-radius:999px;padding:3px 8px;background:#eef2f6;color:#475569;font-size:10.5px;font-weight:700}.badge-muted{color:#64748b}.badge-status.badge-draft{background:#f1f5f9}.badge-status.badge-in_progress{background:#e0f2fe;color:#0369a1}.badge-status.badge-submitted{background:#ede9fe;color:#6d28d9}.badge-status.badge-won{background:var(--ok-soft);color:#067455}.badge-status.badge-lost{background:var(--bad-soft);color:#b4233c}.badge-status.badge-cancelled{background:#f1f5f9;color:#64748b}.badge-lg{font-size:12px;padding:5px 10px}.deadline{font-weight:600}.deadline-overdue,.urgency-overdue{color:var(--bad);font-weight:700}.deadline-critical,.urgency-critical{color:#c2410c;font-weight:700}.deadline-soon,.urgency-soon{color:var(--warn)}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;padding-top:14px}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:11.5px}.detail-list dd{margin:0;font-weight:500}.progress,.progress-track{height:8px;background:#e8edf3;border-radius:999px;overflow:hidden}.progress>* ,.progress-track>*{height:100%;display:block;background:linear-gradient(90deg,var(--brand),#14a37f);border-radius:inherit}
/* feedback */
.alert{padding:10px 13px;border:1px solid transparent;border-radius:9px;font-size:12.5px}.alert-info{background:var(--brand-soft);border-color:#dbeafe;color:#1e4f91}.alert-success{background:var(--ok-soft);border-color:#d1fae5;color:#06674f}.alert-warning{background:var(--warn-soft);border-color:#ffedd5;color:#8c4a06}.alert-error,.alert-danger{background:var(--bad-soft);border-color:#ffe4e6;color:#a93643}
/* auth */
.auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 15%,#223c62,#111827 56%)}.auth-card{width:min(410px,calc(100vw - 28px));padding:30px;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.auth-brand{text-align:center;margin-bottom:22px}
/* specialty fallbacks */
.container{width:100%;display:flex;flex-direction:column;gap:16px}.traffic{display:inline-flex;align-items:center;gap:5px;font-weight:700}.traffic-green{color:var(--ok)}.traffic-yellow{color:var(--warn)}.traffic-red{color:var(--bad)}.status-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.source-card,.lesson-card{background:#fff;border:1px solid var(--line);border-inline-start:4px solid var(--violet);border-radius:10px;padding:15px;margin-bottom:12px}.agent-json{direction:ltr;text-align:left;background:#101827;color:#e7edf7;padding:13px;border-radius:9px;max-height:420px;overflow:auto}.rag-shell{max-width:1050px;margin:auto;display:grid;gap:15px}.rag-filters{display:grid;grid-template-columns:2fr 1fr;gap:12px}.answer-text{font-size:15px;line-height:2}.site-grid,.site-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.site-submit-bar{position:sticky;bottom:0;z-index:10;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;justify-content:flex-end;gap:8px}.site-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.site-photo-grid img{width:100%;height:210px;object-fit:cover;border-radius:9px}
/* print */
@media print{.app-sidebar,.app-topbar,.toolbar,.btn,.pagination,.section-jump{display:none!important}.app-shell{display:block}.page-canvas{padding:0}.card{box-shadow:none}.page-content{max-width:none}}
/* responsive */
@media(max-width:1100px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.app-topbar{grid-template-columns:1fr minmax(260px,420px)}.today{display:none}}
@media(max-width:860px){body.nav-open{overflow:hidden}.app-shell{display:block}.app-sidebar{position:fixed;right:0;top:0;width:min(290px,88vw);transform:translateX(105%);transition:transform .2s;box-shadow:-20px 0 45px rgba(0,0,0,.28)}body.nav-open .app-sidebar{transform:none}.nav-scrim{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:45}body.nav-open .nav-scrim{display:block}.nav-close,.nav-trigger{display:inline-flex}.app-topbar{padding:8px 16px}.page-canvas{padding:18px 16px 38px}.flash-stack{padding:12px 16px 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.site-grid,.site-row{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.app-topbar{height:auto;min-height:66px;grid-template-columns:1fr}.global-search{display:none}.topbar-title h1{font-size:15px}.page-canvas{padding:14px 10px 32px}.card{padding:14px;border-radius:11px}.workspace-head,.page-header,.page-head{align-items:stretch}.toolbar-actions>.btn{flex:1}.filter-bar,.filters{align-items:stretch}.filter-bar>*,.filters>*{width:100%!important}.form-grid,.rag-filters,.site-grid,.site-row{grid-template-columns:1fr}.field-span-2{grid-column:auto}.detail-list>div{grid-template-columns:1fr;gap:2px}.stat-card{min-height:100px}.stat-value{font-size:23px}}

/* workflow components */
.section-kicker{display:block;color:var(--brand);font-size:10px;font-weight:700;margin-bottom:2px}.stat-link{text-decoration:none;color:inherit}.stat-link:hover{border-color:#b7cced;box-shadow:0 8px 24px rgba(37,99,235,.08)}.section-jump{position:sticky;top:78px;z-index:20;display:flex;gap:5px;padding:6px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:9px}.section-jump a{flex:1;text-align:center;padding:6px 10px;border-radius:6px;text-decoration:none;color:#475569;font-size:11.5px;font-weight:700}.section-jump a:hover{background:var(--brand-soft);color:var(--brand)}.envelope-section{padding:0;overflow:visible;scroll-margin-top:130px}.envelope-section>.card-header-row{padding:16px 18px;margin:0;border-bottom:1px solid var(--line)}.envelope-list{display:grid}.envelope-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;padding:15px 18px;border-bottom:1px solid var(--line);border-inline-start:3px solid #cbd5e1}.envelope-row:last-child{border-bottom:0}.envelope-row.status-done{border-inline-start-color:var(--ok);background:#fdfffe}.envelope-row.status-in_progress{border-inline-start-color:#0ea5e9}.envelope-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.item-code{direction:ltr;display:inline-flex;padding:2px 6px;background:#f1f5f9;border-radius:5px;color:#64748b;font:600 10px monospace}.badge.required{background:var(--warn-soft);color:var(--warn)}.envelope-copy p{margin:4px 0}.file-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;font-size:11.5px}.file-line a{padding:3px 7px;border:1px solid #dbeafe;background:var(--brand-soft);border-radius:6px;text-decoration:none}.row-actions{display:flex;align-items:flex-start;gap:6px}.row-actions form{margin:0}.editor-pop>summary{list-style:none}.editor-pop>summary::-webkit-details-marker{display:none}.editor-pop[open]{position:static}.editor-panel{position:absolute;z-index:5;right:18px;left:18px;top:58px;padding:14px;background:#fff;border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 16px 40px rgba(15,23,42,.15)}.envelope-row:has(.editor-pop[open]){padding-bottom:245px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}.check-grid label{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);background:var(--panel-2);border-radius:8px}.list-stack{display:grid}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.list-row:last-child{border-bottom:0}.list-row span{display:grid}.list-row small{color:var(--muted)}
@media(max-width:700px){.section-jump{overflow:auto}.section-jump a{min-width:80px}.envelope-row{grid-template-columns:1fr;padding:13px}.row-actions{justify-content:flex-start}.editor-panel{right:13px;left:13px;top:100px}.envelope-row:has(.editor-pop[open]){padding-bottom:410px}.check-grid{grid-template-columns:1fr}}

/* 20.1.1 workflow refinement */
.stat-value.compact{font-size:17px;line-height:1.55}.disclosure-card{margin-top:12px;border:1px solid var(--line);background:var(--panel-2)}.disclosure-card>summary{padding:10px 12px;list-style:none;color:#334155}.disclosure-card>summary::-webkit-details-marker{display:none}.disclosure-card>summary:before{content:'+';display:inline-grid;place-items:center;width:20px;height:20px;margin-inline-end:7px;border-radius:5px;background:#e9eef5}.disclosure-card[open]>summary:before{content:'−'}.panel-form{padding:13px;border-top:1px solid var(--line);background:#fff}.split-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.decision-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.decision-bar h2,.decision-bar p{margin:0}.aging-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.aging-grid>span{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.aging-grid small{color:var(--muted)}.aging-grid b{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{display:grid;gap:5px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.stat span{font-size:11px;color:var(--muted)}.stat strong{font-size:15px}.handover-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:16px;align-items:start}.handover-main,.handover-side{display:grid;gap:16px}.handover-side{position:sticky;top:86px}.checklist-stack{display:grid}.checklist-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.checklist-row:last-child{border-bottom:0}.check-toggle{width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;background:#fff;color:var(--muted);cursor:pointer}.check-toggle.done{background:var(--ok);border-color:var(--ok);color:#fff}.checklist-row span{display:grid}.checklist-row small{color:var(--muted)}.snag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.snag-card{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2)}.snag-card>div{display:flex;justify-content:space-between;gap:8px}.snag-card p{margin:8px 0}.snag-card img{width:100%;height:150px;object-fit:cover;border-radius:7px}.lesson-stack{display:grid;gap:9px}.lesson-stack article,.proposal-row{padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.lesson-stack article b{display:block;margin-top:6px}.lesson-stack article p,.proposal-row p{margin:5px 0;color:var(--muted)}.proposal-row{margin-bottom:8px}.proposal-row small,.proposal-row b{display:block}.danger-zone{border-color:#fecdd3;background:#fffafb}
@media(max-width:1050px){.stats{grid-template-columns:repeat(3,1fr)}.aging-grid{grid-template-columns:repeat(3,1fr)}.handover-layout{grid-template-columns:1fr}.handover-side{position:static}}
@media(max-width:700px){.decision-bar{align-items:stretch;flex-direction:column}.aging-grid,.stats,.snag-grid{grid-template-columns:1fr}.split-actions{flex-direction:column}.split-actions>*{width:100%}}

/* 20.2 — vivid interaction layer */
:root{--bg:#f3f5fb;--panel-2:#f8faff;--line:#e1e6f0;--brand:#5b5ce2;--brand-2:#4546c8;--brand-soft:#eeefff;--violet:#8b5cf6;--cyan:#0891b2;--cyan-soft:#ecfeff;--coral:#ef6a64;--gold:#d79018;--radius:12px;--radius-lg:18px;--shadow:0 2px 4px rgba(31,41,55,.03),0 12px 34px rgba(71,78,132,.08)}
body{background:radial-gradient(circle at 80% -5%,rgba(111,93,240,.09),transparent 28rem),radial-gradient(circle at 5% 90%,rgba(14,165,233,.07),transparent 25rem),var(--bg)}.app-sidebar{background:linear-gradient(180deg,#12172a 0%,#171b35 52%,#111827 100%);box-shadow:-12px 0 35px rgba(15,23,42,.11)}.brand-mark{background:linear-gradient(145deg,#7c5cff,#22b8cf);box-shadow:0 8px 22px rgba(91,92,226,.42)}.nav-link{transition:background .18s,transform .18s,color .18s}.nav-link:hover{transform:translateX(-3px);background:linear-gradient(90deg,rgba(124,92,255,.16),rgba(34,184,207,.08))}.nav-link.is-active{background:linear-gradient(90deg,rgba(91,92,226,.38),rgba(14,165,233,.17));box-shadow:inset -3px 0 #8b7cff,0 8px 20px rgba(0,0,0,.12)}.app-topbar{background:rgba(255,255,255,.86);border-color:rgba(224,228,238,.88);box-shadow:0 8px 25px rgba(42,52,86,.04)}.global-search{background:rgba(247,249,255,.9);border-color:#dde3f0}.global-search:focus-within{background:#fff;border-color:#9e9ff3;box-shadow:0 0 0 4px rgba(91,92,226,.11),0 8px 24px rgba(91,92,226,.08)}
.card{border-color:rgba(220,225,237,.92);box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s,transform .2s}.card:hover{border-color:#d4d9e7;box-shadow:0 4px 8px rgba(31,41,55,.035),0 18px 42px rgba(71,78,132,.1)}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:'';position:absolute;width:80px;height:80px;left:-26px;top:-30px;border-radius:50%;background:linear-gradient(135deg,rgba(91,92,226,.14),rgba(34,184,207,.08))}.btn{border-radius:10px;transition:transform .16s,box-shadow .16s,background .16s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#6869eb,#4d50d2);border-color:transparent;box-shadow:0 7px 18px rgba(91,92,226,.25)}.btn-primary:hover{background:linear-gradient(135deg,#7374f2,#4143bd);box-shadow:0 10px 24px rgba(91,92,226,.34)}.btn-ghost:hover{background:#f7f7ff;border-color:#b9baf0;box-shadow:0 6px 16px rgba(91,92,226,.08)}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=search],input[type=file],select,textarea,.form-control{min-height:43px;border-color:#d9dfeb;background:#fbfcff;border-radius:10px;box-shadow:inset 0 1px 2px rgba(15,23,42,.025);transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}input:hover,select:hover,textarea:hover{border-color:#bfc7d9;background:#fff}input:focus,select:focus,textarea:focus{background:#fff;border-color:#7778e9;box-shadow:0 0 0 4px rgba(91,92,226,.12),0 8px 20px rgba(91,92,226,.07);transform:translateY(-1px)}
.daily-workspace-head{position:relative;padding:8px 4px}.daily-workspace-head:before{content:'';position:absolute;z-index:-1;inset:-24px -28px -30px;background:linear-gradient(110deg,rgba(91,92,226,.07),rgba(14,165,233,.04) 58%,transparent);border-radius:0 0 32px 32px}.daily-workspace-head h1{font-size:25px;margin-top:6px;background:linear-gradient(90deg,#252944,#5b5ce2);background-clip:text;color:transparent}.daily-progress-card{width:210px;padding:13px 15px;border:1px solid rgba(91,92,226,.18);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(238,239,255,.9));box-shadow:0 10px 30px rgba(91,92,226,.11)}.daily-progress-card>span{font-size:11px;color:var(--muted)}.daily-progress-card>strong{float:left;color:var(--brand)}.daily-progress-card .progress-track{clear:both;margin-top:10px;height:7px}.daily-progress-card .progress-track i{width:0;transition:width .35s ease;background:linear-gradient(90deg,#7c5cff,#22b8cf)}
.form-journey{position:sticky;top:77px;z-index:22;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:7px;border:1px solid rgba(220,225,237,.9);border-radius:16px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(42,52,86,.07)}.form-journey a{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 5px;border-radius:10px;text-decoration:none;color:#6b7280;font-size:11px;font-weight:700;transition:.18s}.form-journey a:hover,.form-journey a.is-current{color:var(--brand);background:var(--brand-soft);transform:translateY(-1px)}.form-journey i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#eef1f7;color:#7b8497;font-style:normal}.form-journey a:hover i,.form-journey a.is-current i{background:linear-gradient(135deg,#6d6eeb,#4c9ce8);color:#fff;box-shadow:0 4px 10px rgba(91,92,226,.23)}
.site-daily-form{display:grid;gap:18px}.site-section{position:relative;overflow:hidden;padding:0;scroll-margin-top:145px}.site-section:before{content:'';position:absolute;top:0;right:0;bottom:0;width:5px;background:var(--section-color,var(--brand))}.site-section:after{content:'';position:absolute;width:170px;height:170px;left:-85px;top:-95px;border-radius:50%;background:var(--section-glow,rgba(91,92,226,.055));pointer-events:none}.site-section--main{--section-color:#5b5ce2;--section-glow:rgba(91,92,226,.08)}.site-section--people{--section-color:#0ea5b7;--section-glow:rgba(14,165,183,.08)}.site-section--progress{--section-color:#16a36a;--section-glow:rgba(22,163,106,.08)}.site-section--equipment{--section-color:#d79018;--section-glow:rgba(215,144,24,.09)}.site-section--delay{--section-color:#ef6a64;--section-glow:rgba(239,106,100,.08)}.site-section--hse{--section-color:#e04473;--section-glow:rgba(224,68,115,.08)}.site-section--photos{--section-color:#8b5cf6;--section-glow:rgba(139,92,246,.08)}.site-section-head{display:flex;align-items:center;gap:13px;padding:17px 21px 14px;border-bottom:1px solid #edf0f6;background:linear-gradient(90deg,rgba(250,251,255,.96),#fff)}.site-section-head>div{flex:1}.site-section-head h2{margin:0;font-size:16px;color:#252944}.site-section-head p{margin:2px 0 0;color:var(--muted);font-size:11.5px}.site-section-head .section-kicker{color:var(--section-color)}.section-orb{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,var(--section-color),color-mix(in srgb,var(--section-color),#fff 24%));font-size:19px;box-shadow:0 7px 18px color-mix(in srgb,var(--section-color),transparent 72%)}.section-check{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#eef1f6;color:#a8b0bf;font-weight:800;transition:.2s}.site-section.is-touched .section-check{background:#dcfce7;color:#08775a;box-shadow:0 0 0 4px rgba(16,185,129,.09)}.site-grid,.site-rows{padding:18px 21px 22px}.site-rows{display:grid;gap:10px}.site-row{grid-template-columns:2fr 1fr 1fr;position:relative;padding:13px;border:1px solid #e5e9f2;border-radius:13px;background:linear-gradient(135deg,#fcfdff,#f9faff);transition:border-color .18s,box-shadow .18s,transform .18s}.site-row-progress{grid-template-columns:2fr 1fr 2fr 1fr}.site-row:hover,.site-row:focus-within{border-color:color-mix(in srgb,var(--section-color),#fff 55%);box-shadow:0 8px 24px var(--section-glow);transform:translateY(-1px);background:#fff}.site-field{display:grid;align-content:start;gap:6px}.site-field>span{font-size:11px;color:#667085;font-weight:700}.site-field>span b{color:#ef4444;margin-right:3px}.site-field:focus-within>span{color:var(--section-color)}.site-row .delete-row{align-self:end;display:flex;align-items:center;gap:6px;color:var(--bad);font-size:11px}.site-submit-bar{bottom:10px;align-items:center;justify-content:space-between;padding:12px 14px 12px 18px;border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);box-shadow:0 14px 36px rgba(34,42,74,.18);border-color:rgba(205,211,228,.9)}.site-submit-bar>div{display:grid}.site-submit-bar>div strong{color:#252944}.site-submit-bar>div small{color:var(--muted)}.submit-actions{display:flex;gap:8px}.site-big-btn{min-height:43px;padding-inline:18px}
@media(max-width:900px){.form-journey{grid-template-columns:repeat(4,1fr)}.site-row-progress{grid-template-columns:1fr 1fr}.daily-progress-card{width:180px}}
@media(max-width:620px){.daily-workspace-head:before{inset:-14px -10px -22px}.daily-progress-card{width:100%}.form-journey{top:68px;display:flex;overflow:auto;justify-content:flex-start}.form-journey a{min-width:92px}.site-section-head{padding:14px}.site-section-head p{display:none}.site-grid,.site-rows{padding:13px}.site-row,.site-row-progress{grid-template-columns:1fr}.site-submit-bar{align-items:stretch;flex-direction:column}.site-submit-bar>div{display:none}.submit-actions{width:100%}.submit-actions>*{flex:1}}

/* 20.2.2 — professional form proportions */
.form-page-head{max-width:920px;width:100%;margin-inline:auto}.form-layout{width:100%;display:grid}.form-layout--centered{max-width:920px;margin-inline:auto}.form-shell{width:100%;padding:0;overflow:hidden}.form-shell-head{display:flex;align-items:center;gap:13px;padding:18px 21px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#fafaff,#f5fbff)}.form-shell-head>div{flex:1}.form-shell-head h2{margin:0 0 2px;font-size:16px}.form-shell-head p{margin:0;color:var(--muted);font-size:11.5px}.form-step-badge{padding:4px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:10.5px;font-weight:700}.form-shell>.alert{margin:16px 21px 0}.compact-alert{padding:8px 11px}.form-grid-comfortable{padding:19px 21px 8px;gap:5px 18px}.form-grid-comfortable .field{margin-bottom:11px}.form-grid-comfortable .field>span{color:#4b5565}.required-mark{color:var(--bad);margin-inline-start:3px}.field-compact{max-width:420px}.form-shell-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 21px;border-top:1px solid var(--line);background:#fafbfe}.form-shell-actions>span{display:grid}.form-shell-actions small{color:var(--muted)}.form-centered{max-width:860px!important;margin-inline:auto}.card.form-card.form-centered>h1:first-child,.card.form-card.form-centered>h2:first-child{margin-top:0}
@media(max-width:700px){.form-shell-head{padding:15px}.form-step-badge{display:none}.form-shell>.alert{margin:13px 13px 0}.form-grid-comfortable{grid-template-columns:1fr;padding:15px 13px 5px}.field-compact{max-width:none}.form-shell-actions{align-items:stretch;flex-direction:column;padding:13px}.form-shell-actions>span{display:none}.form-shell-actions .btn{width:100%}}

/* 20.4.0 — Stitch redesign spec (Draupr Architectural OS) */
:root{--bg:#F8FAFC;--panel:#fff;--panel-2:#F8FAFC;--line:#E2E8F0;--line-strong:#CBD5E1;--text:#0F172A;--muted:#334155;--subtle:#64748B;--brand:#3f51b5;--brand-2:#24389c;--brand-soft:#eff4ff;--cyan:#0EA5E9;--cyan-soft:#e0f2fe;--ok:#10B981;--ok-soft:#ecfdf5;--warn:#F59E0B;--warn-soft:#fffbeb;--bad:#EF4444;--bad-soft:#fef2f2;--violet:#6d4aff;--radius:8px;--radius-lg:16px;--shadow:0 4px 12px rgba(15,23,42,.08);--shadow-high:0 12px 24px rgba(15,23,42,.12);--sidebar:280px;--topbar:64px}
body{background:var(--bg)}
@media (prefers-reduced-motion:no-preference){.page-content{animation:draupr-fade-up .4s ease both}@keyframes draupr-fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}
/* light sidebar (Level 1 surface) */
.app-sidebar{background:#fff;color:#334155;border-inline-start:1px solid var(--line);box-shadow:none}
.brand-row{border-bottom:1px solid var(--line)}.brand{color:var(--text)}.brand b{color:var(--text)}.brand small{color:var(--subtle)}
.brand-mark{background:linear-gradient(145deg,#3f51b5,#0EA5E9);box-shadow:0 4px 12px rgba(63,81,181,.28)}
.primary-nav{scrollbar-color:#c5c5d4 transparent}
.nav-label{color:#94A3B8}
.nav-cluster+.nav-cluster{border-top:1px solid var(--line)}
.nav-link{color:#44474e;transition:background .2s ease-in-out,color .2s ease-in-out}.nav-link i{color:#94A3B8}
.nav-link:hover{color:var(--brand);background:var(--brand-soft);transform:none}.nav-link:hover i{color:var(--brand)}
.nav-link.is-active{color:#fff;background:var(--brand);font-weight:700;box-shadow:none}.nav-link.is-active i{color:#cacfff}
.nav-disclosure{border-top:1px solid var(--line)}.nav-disclosure summary{color:var(--subtle)}
.sidebar-user{border-top:1px solid var(--line)}.avatar{background:var(--brand-soft);color:var(--brand)}.sidebar-user small{color:var(--subtle)}
.icon-btn:hover{background:var(--brand-soft);color:var(--brand)}
@media(max-width:860px){.app-sidebar{box-shadow:-20px 0 45px rgba(15,23,42,.14)}}
/* topbar */
.app-topbar{height:var(--topbar);background:#fff;backdrop-filter:none;border-bottom:1px solid var(--line);box-shadow:none}
.global-search{background:#F8FAFC;border-color:var(--line)}
.global-search:focus-within{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(63,81,181,.14)}
.section-jump{top:74px;background:rgba(255,255,255,.96)}.form-journey{top:74px}.handover-side{top:82px}
/* tonal elevation: L1 cards flat, L2 KPI/interactive */
.card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none;transition:box-shadow .2s ease-in-out,border-color .2s ease-in-out}
.card:hover{transform:none;border-color:var(--line);box-shadow:none}
.stat-card{border-color:transparent;box-shadow:var(--shadow)}
.stat-card:after{display:none}
.stat-value{color:var(--brand-2)}
.stat-link:hover{border-color:transparent;box-shadow:var(--shadow-high)}
.stat-link{transition:box-shadow .2s ease-in-out}
.editor-panel{box-shadow:var(--shadow-high)}
/* buttons */
.btn{border-radius:8px;transition:all .2s ease-in-out}
.btn:hover{transform:none}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--brand);border-color:var(--brand);box-shadow:none}
.btn-primary:hover{background:var(--brand-2);border-color:var(--brand-2);box-shadow:0 4px 12px rgba(63,81,181,.28)}
.btn-ghost{border-color:var(--brand);color:var(--brand);background:#fff}
.btn-ghost:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-2);box-shadow:none}
/* inputs */
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=search],input[type=file],select,textarea,.form-control{min-height:41px;border-radius:8px;background:#fff;border-color:var(--line-strong);box-shadow:none}
input:hover,select:hover,textarea:hover{border-color:#94A3B8;background:#fff}
input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(63,81,181,.15);transform:none}
.errorlist{color:var(--bad);font-size:12px}
/* financial tables: sticky header, zebra, tabular numerals */
.table th,table th{position:sticky;top:0;z-index:2;background:#eff4ff;color:#293ca0;border-block:1px solid var(--line)}
.table tbody tr:nth-child(even),table tbody tr:nth-child(even){background:#F8FAFC}
.table tbody tr:hover,table tbody tr:hover{background:var(--brand-soft)}
.table td,table td{font-variant-numeric:tabular-nums}
td.num,th.num,.cell-num{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}
/* status chips */
.badge{border-radius:1rem}
.badge-status.badge-won{background:#d1fae5;color:#047857}
.badge-status.badge-lost{background:#fee2e2;color:#b91c1c}
.badge-status.badge-in_progress{background:var(--cyan-soft);color:#0369a1}
/* forms: 840px centered shells */
.form-card,.form-centered,.form-layout--centered,.form-page-head{max-width:840px}
.form-shell-head{background:linear-gradient(110deg,#f8f9ff,#eff4ff)}
.form-step-badge{background:var(--brand-soft);color:var(--brand)}
/* journey pattern */
.daily-workspace-head h1{background:linear-gradient(90deg,#0F172A,var(--brand));background-clip:text;-webkit-background-clip:text}
.daily-progress-card{border-color:rgba(63,81,181,.2);background:#fff;box-shadow:var(--shadow)}
.daily-progress-card .progress-track i{background:linear-gradient(90deg,#3f51b5,#0EA5E9)}
.form-journey a:hover i,.form-journey a.is-current i{background:linear-gradient(135deg,#3f51b5,#0EA5E9);box-shadow:0 4px 10px rgba(63,81,181,.25)}
.progress>*,.progress-track>*{background:linear-gradient(90deg,#3f51b5,#0EA5E9)}
/* feedback */
.flash-stack .alert{box-shadow:var(--shadow);border-radius:8px}
.skeleton{position:relative;overflow:hidden;background:#E2E8F0;border-radius:8px;min-height:14px;animation:draupr-pulse 1.2s ease-in-out infinite}
@keyframes draupr-pulse{50%{opacity:.55}}
/* auth */
.auth-body{background:radial-gradient(circle at 20% 15%,#293ca0,#0b1c30 62%)}
.auth-card{border-radius:16px}

/* ==== 20.5.0 — multi-fehrest cover sheet + side-by-side OCR review ==== */
.review-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.review-pdf{position:sticky;top:80px;height:calc(100vh - 104px)}.review-pdf iframe{width:100%;height:100%;border:1px solid #E2E8F0;border-radius:12px;background:#fff}.review-pages{display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 104px);overflow-y:auto;padding-inline-end:4px}.review-page-card{scroll-margin-top:80px}.review-textarea{width:100%;font-size:13px;line-height:2;font-family:inherit;resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px;padding:10px 12px;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:8px}.choice-grid label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.choice-grid input[type=checkbox]{accent-color:#3f51b5;width:16px;height:16px}.table tfoot th{background:#eff4ff;font-weight:700}@media (max-width:1100px){.review-split{grid-template-columns:1fr}.review-pdf{position:static;height:420px;order:-1}.review-pages{max-height:none;overflow:visible}}

/* ==== 20.6.0 — M22 page exclusion + one-shot AI OCR enhancement ==== */
.review-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.review-page-card.is-excluded{opacity:.65;background:#FFFBF5;border-style:dashed}
.badge-excluded{background:#fff7ed;color:#b45309;border:1px solid #fed7aa}
.badge-ai{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.badge-ai-manual{background:#eef2ff;color:#3f51b5;border:1px solid #c7d2fe}
.badge-ai-failed{background:#fff1f0;color:#b42318;border:1px solid #fecdca}
.btn-danger-ghost{color:#b42318}
.btn-danger-ghost:hover{background:#fff1f0;border-color:#fecdca;color:#b42318}
