:root {
  color-scheme: light;
  --bg: #f4f6f5;
  --surface: #fff;
  --surface-soft: #f8faf9;
  --surface-muted: #eef3f2;
  --navy: #102b32;
  --navy-deep: #082529;
  --ink: #142326;
  --ink-soft: #44575b;
  --muted: #77878a;
  --line: #dfe6e4;
  --line-strong: #cfd9d6;
  --teal: #0d8b80;
  --teal-dark: #086c64;
  --teal-soft: #e2f3f0;
  --orange: #e58a43;
  --orange-soft: #fff1e5;
  --green: #2e9369;
  --green-soft: #e7f6ef;
  --red: #cf5b5b;
  --red-soft: #fbeaea;
  --blue: #4b6f95;
  --shadow-sm: 0 1px 2px rgba(15, 36, 40, .05), 0 4px 14px rgba(15, 36, 40, .04);
  --shadow-md: 0 20px 45px rgba(18, 42, 47, .09);
  --focus: 0 0 0 3px rgba(13, 139, 128, .16);
  --sidebar: 244px;
  font-family: Inter, "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--bg); font-size: 14px; line-height: 1.5; }
body.dark { --bg:#101a1c; --surface:#172426; --surface-soft:#1b2a2d; --surface-muted:#233538; --ink:#eef5f3; --ink-soft:#bdcbc8; --muted:#8da29e; --line:#2c3e40; --line-strong:#3a5052; --teal-soft:#173b39; --orange-soft:#412e24; --green-soft:#1e3b31; --red-soft:#3d292b; color-scheme: dark; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: none; box-shadow: var(--focus); }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
[hidden] { display: none !important; }

.app-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 60; display: flex; width: var(--sidebar); flex-direction: column; padding: 22px 14px 16px; color: #dce8e5; background: var(--navy-deep); }
.app-brand { display: flex; align-items: center; gap: 11px; margin: 0 9px 26px; color: #fff; text-decoration: none; }
.brand-mark { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 10px; color: var(--navy-deep); background: #fff; font-size: 20px; font-weight: 900; }
.brand-copy { display: grid; line-height: 1.1; }
.brand-copy b { font-size: 15px; letter-spacing: .13em; }
.brand-copy small { margin-top: 4px; color: #8fa6a3; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.primary-nav { display: grid; gap: 4px; }
.primary-nav a { display: flex; min-height: 44px; align-items: center; gap: 12px; border-radius: 8px; padding: 0 11px; color: #9fb3b0; font-size: 13px; font-weight: 650; text-decoration: none; transition: .16s ease; }
.primary-nav a svg { width: 17px; height: 17px; }
.primary-nav a:hover { color: #fff; background: rgba(255,255,255,.055); }
.primary-nav a.active { color: #fff; background: rgba(28, 161, 149, .19); box-shadow: inset 3px 0 #2bc0b2; }
.primary-nav a em { min-width: 22px; margin-left: auto; border-radius: 99px; padding: 2px 7px; color: #d9fffb; background: rgba(39, 188, 174, .22); font-size: 10px; font-style: normal; text-align: center; }
.nav-spacer { flex: 1; }
.ai-teaser { display: grid; margin: 8px 4px 14px; border: 1px solid rgba(64, 196, 183, .2); border-radius: 10px; padding: 12px; background: linear-gradient(145deg, rgba(25,101,96,.35), rgba(11,51,54,.5)); }
.ai-teaser span { color: #59cfc4; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ai-teaser b { margin-top: 5px; color: #eefaf8; font-size: 11px; }
.ai-teaser small { margin-top: 2px; color: #809a97; font-size: 9px; }
.bottom-nav { padding-top: 9px; border-top: 1px solid rgba(255,255,255,.08); }
.sidebar-user { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; margin-top: 12px; padding: 11px 8px 0; border-top: 1px solid rgba(255,255,255,.08); }
.sidebar-user > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #08312f; background: #b9e8e2; font-size: 10px; font-weight: 850; }
.sidebar-user div { display: grid; min-width: 0; }
.sidebar-user b { color: #edf5f4; font-size: 10px; white-space: nowrap; }
.sidebar-user small { color: #809593; font-size: 9px; }
.sidebar-user button { border: 0; color: #78918e; background: none; }

.app-shell { min-height: 100vh; margin-left: var(--sidebar); }
.app-topbar { position: sticky; top: 0; z-index: 40; display: flex; height: 68px; align-items: center; justify-content: space-between; gap: 24px; padding: 0 32px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(16px); }
.global-search { display: flex; width: min(440px, 45vw); height: 38px; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; padding: 0 9px 0 12px; color: var(--muted); background: var(--surface-soft); text-align: left; }
.global-search span { flex: 1; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
kbd { border: 1px solid var(--line-strong); border-radius: 5px; padding: 2px 7px; color: var(--muted); background: var(--surface); font: 10px/1.5 inherit; box-shadow: 0 1px 1px rgba(0,0,0,.04); }
.top-actions, .heading-actions, .calculator-actions { display: flex; align-items: center; gap: 9px; }
.sync-status { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.sync-status i, .autosave i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.icon-button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 8px; color: var(--ink-soft); background: var(--surface); }
.notification-button { position: relative; }
.notification-button i { position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; border: 1px solid var(--surface); border-radius: 50%; background: var(--orange); }
.mobile-menu { display: none; }
.button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 8px; padding: 0 14px; font-size: 11px; font-weight: 750; white-space: nowrap; transition: .16s ease; }
.button svg { width: 15px; height: 15px; }
.button.primary { color: #fff; background: var(--teal); box-shadow: 0 5px 14px rgba(13,139,128,.18); }
.button.primary:hover { background: var(--teal-dark); transform: translateY(-1px); }
.button.secondary { border-color: var(--line); color: var(--ink-soft); background: var(--surface); }
.button.secondary:hover { border-color: var(--line-strong); background: var(--surface-soft); }

.app-main { width: min(1560px, 100%); margin: 0 auto; padding: 28px 32px 54px; }
.app-page { display: none; animation: page-in .2s ease; }
.app-page.active { display: block; }
@keyframes page-in { from { opacity: 0; transform: translateY(4px); } }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 5px 0 25px; }
.page-heading h1, .calculator-titlebar h1 { margin: 2px 0 0; color: var(--ink); font-size: 27px; line-height: 1.15; letter-spacing: -.035em; }
.page-heading > div > p:last-child, .calculator-titlebar > div p:last-child { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.eyebrow, .card-kicker { margin: 0; color: var(--teal); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.card { border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: var(--shadow-sm); }
.card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.card-head h2 { margin: 4px 0 0; font-size: 14px; letter-spacing: -.015em; }
.more-button, .text-button { display: inline-flex; align-items: center; gap: 5px; border: 0; color: var(--muted); background: none; font-size: 10px; font-weight: 700; }
.text-button { color: var(--teal); }
.text-button svg { width: 12px; height: 12px; }

.dashboard-kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; margin-bottom: 13px; }
.dashboard-kpi { position: relative; min-height: 122px; overflow: hidden; padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: var(--shadow-sm); }
.dashboard-kpi::after { position: absolute; inset: 0 0 auto; height: 3px; background: var(--kpi-color, var(--teal)); content: ""; }
.dashboard-kpi .kpi-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; color: var(--kpi-color, var(--teal)); background: var(--kpi-soft, var(--teal-soft)); }
.dashboard-kpi .kpi-icon svg { width: 15px; height: 15px; }
.dashboard-kpi > span { position: absolute; top: 20px; left: 56px; color: var(--muted); font-size: 10px; font-weight: 700; }
.dashboard-kpi strong { display: block; margin-top: 17px; font-size: 23px; letter-spacing: -.04em; }
.dashboard-kpi small { display: flex; align-items: center; gap: 4px; margin-top: 4px; color: var(--muted); font-size: 9px; }
.dashboard-kpi small b { color: var(--green); font-weight: 800; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(300px,.8fr); gap: 13px; }
.chart-card, .status-card, .activity-card, .customers-card, .offers-month-card { min-width: 0; padding: 19px; }
.revenue-summary { display: flex; align-items: center; gap: 13px; margin-top: 18px; }
.revenue-summary strong { font-size: 23px; letter-spacing: -.04em; }
.revenue-summary span { color: var(--green); font-size: 9px; font-weight: 700; }
.segmented { display: flex; border-radius: 7px; padding: 3px; background: var(--surface-muted); }
.segmented button { min-height: 26px; border: 0; border-radius: 5px; padding: 0 9px; color: var(--muted); background: transparent; font-size: 9px; }
.segmented button.active { color: var(--ink); background: var(--surface); box-shadow: 0 1px 4px rgba(20,40,44,.08); }
.line-chart { position: relative; height: 226px; margin: 13px 0 0 34px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px 52px); }
.line-chart svg { position: absolute; inset: 0; width: 100%; height: 210px; overflow: visible; }
.line-chart .area { fill: url(#areaFill); stroke: none; }
.line-chart .line { fill: none; stroke: var(--teal); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.line-chart circle { fill: var(--surface); stroke: var(--teal); stroke-width: 2; vector-effect: non-scaling-stroke; }
.chart-y { position: absolute; top: -4px; right: calc(100% + 10px); bottom: 10px; display: flex; flex-direction: column; justify-content: space-between; color: var(--muted); font-size: 8px; }
.chart-x { position: absolute; top: 214px; right: 0; left: 0; display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; }
.donut-wrap { display: grid; place-items: center; }
.donut { display: grid; width: 150px; height: 150px; margin: 22px 0 20px; place-items: center; border-radius: 50%; background: conic-gradient(var(--teal) 0 43%, var(--orange) 43% 75%, var(--navy) 75% 93%, var(--red) 93%); }
.donut::before { grid-area: 1/1; width: 103px; height: 103px; border-radius: 50%; background: var(--surface); content: ""; }
.donut div { z-index: 1; grid-area: 1/1; display: grid; text-align: center; }
.donut b { font-size: 24px; }
.donut span { color: var(--muted); font-size: 9px; }
.legend { display: grid; width: 100%; gap: 9px; margin: 0; padding: 0; list-style: none; }
.legend li { display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; align-items: center; color: var(--muted); font-size: 9px; }
.legend i { width: 7px; height: 7px; border-radius: 50%; }.legend .teal{background:var(--teal)}.legend .orange{background:var(--orange)}.legend .navy{background:var(--navy)}.legend .red{background:var(--red)}
.legend b { color: var(--ink); }
.activity-list { display: grid; margin-top: 10px; }
.activity-item { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; min-height: 55px; border-top: 1px solid var(--line); }
.activity-item:first-child { border-top: 0; }
.activity-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; color: var(--teal); background: var(--teal-soft); }
.activity-icon svg { width: 13px; height: 13px; }
.activity-item p { display: grid; margin: 0; font-size: 10px; }
.activity-item p span { color: var(--ink-soft); }.activity-item p b { color: var(--ink); }.activity-item small { color: var(--muted); font-size: 8px; }
.activity-time { color: var(--muted); font-size: 8px; }
.top-customer-list { display: grid; margin-top: 11px; }
.top-customer-list > div { display: grid; grid-template-columns: 31px 1fr auto; gap: 9px; align-items: center; min-height: 57px; border-top: 1px solid var(--line); }
.top-customer-list > div:first-child { border-top: 0; }
.customer-logo { display:grid; width:31px; height:31px; place-items:center; border-radius:8px; font-size:9px; font-weight:850 }.customer-logo.green{color:#247653;background:#e4f4ec}.customer-logo.blue{color:#456b93;background:#e7eef6}.customer-logo.amber{color:#9b632a;background:#f9eddf}.customer-logo.violet{color:#72548d;background:#f1eafa}
.top-customer-list p { display:grid; margin:0; }.top-customer-list b { font-size:9px; }.top-customer-list small{color:var(--muted);font-size:8px}.top-customer-list strong{font-size:9px}
.activity-card { grid-column: 1 / -1; }
.chart-total { color: var(--muted); font-size: 8px; }
.month-bars { display:flex; height:190px; align-items:flex-end; gap:10px; margin-top:20px; border-bottom:1px solid var(--line); }
.month-bars div { position:relative; display:flex; flex:1; height:100%; align-items:flex-end; justify-content:center; }
.month-bars i { width:min(32px,70%); min-height:8px; border-radius:5px 5px 0 0; background:linear-gradient(180deg,#2ab1a5,var(--teal)); }
.month-bars span { position:absolute; top:calc(100% + 7px); color:var(--muted); font-size:7px; }
.month-bars b { position:absolute; bottom:calc(var(--bar-height, 50%) + 4px); display:none; font-size:7px; }

.data-card { overflow: hidden; }
.table-toolbar { display: flex; align-items: center; gap: 9px; padding: 14px; border-bottom: 1px solid var(--line); }
.search-field { display: flex; min-width: 230px; height: 36px; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 7px; padding: 0 10px; background: var(--surface-soft); }
.search-field svg { width: 14px; color: var(--muted); }.search-field input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font-size:10px; }
.filter-chip { margin-left: auto; color: var(--muted); font-size: 10px; }.filter-chip span{margin-left:5px;border-radius:99px;padding:2px 6px;background:var(--surface-muted)}
.data-table-wrap { overflow-x: auto; }
table { border-collapse: collapse; }
.data-table { width: 100%; min-width: 900px; }
.data-table th, .data-table td { height: 57px; border-bottom: 1px solid var(--line); padding: 0 15px; text-align: left; }
.data-table th { height: 39px; color: var(--muted); background: var(--surface-soft); font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.data-table tbody tr:hover td { background: color-mix(in srgb, var(--teal-soft) 30%, transparent); }
.data-table tbody tr:last-child td { border-bottom: 0; }
.entity-cell { display: flex; align-items: center; gap: 10px; }.entity-cell div{display:grid}.entity-cell b{font-size:10px}.entity-cell small{color:var(--muted);font-size:8px}.table-avatar{display:grid;width:31px;height:31px;place-items:center;border-radius:8px;color:var(--teal-dark);background:var(--teal-soft);font-size:9px;font-weight:850}
.data-table td { color: var(--ink-soft); font-size: 9px; }.data-table td strong{color:var(--ink)}
.status-badge { display:inline-flex; align-items:center; gap:5px; border-radius:99px; padding:4px 8px; font-size:8px; font-style:normal; font-weight:800; white-space:nowrap }.status-badge::before{width:5px;height:5px;border-radius:50%;background:currentColor;content:""}.status-badge.draft{color:#60737a;background:var(--surface-muted)}.status-badge.sent,.status-badge.progress{color:#9b602a;background:var(--orange-soft)}.status-badge.accepted,.status-badge.completed{color:#267b57;background:var(--green-soft)}.status-badge.rejected{color:#ae4545;background:var(--red-soft)}.status-badge.prepared{color:#3e6e95;background:#e6f0f8}
.row-action { border:0; color:var(--muted); background:none; font-weight:900; }
.project-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:13px }.project-stats div{display:grid;border:1px solid var(--line);border-radius:10px;padding:15px;background:var(--surface)}.project-stats span{color:var(--muted);font-size:9px}.project-stats b{margin-top:4px;font-size:20px}.project-stats small{color:var(--green);font-size:8px}
.view-tabs,.pipeline-strip{display:flex}.view-tabs{margin-left:auto;border:1px solid var(--line);border-radius:7px;padding:2px}.view-tabs button{min-height:29px;border:0;border-radius:5px;padding:0 12px;color:var(--muted);background:transparent;font-size:9px}.view-tabs button.active{color:var(--ink);background:var(--surface-muted)}.filter-count{border-radius:99px;padding:1px 5px;color:#fff;background:var(--teal)}
.pipeline-strip { gap: 5px; margin-bottom: 13px; border:1px solid var(--line);border-radius:10px;padding:5px;background:var(--surface) }.pipeline-strip button{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:10px;font-weight:700}.pipeline-strip button b{display:grid;min-width:21px;height:21px;place-items:center;border-radius:99px;background:var(--surface-muted);font-size:8px}.pipeline-strip button.active{color:var(--teal-dark);background:var(--teal-soft)}.pipeline-strip button.active b{color:#fff;background:var(--teal)}

.calculator-page { margin: -28px -32px -54px; }
.calculator-titlebar { display:flex;min-height:87px;align-items:center;justify-content:space-between;gap:20px;padding:14px 25px;border-bottom:1px solid var(--line);background:var(--surface) }.title-row{display:flex;align-items:center;gap:12px}.back-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--ink-soft);background:var(--surface-soft)}.back-button span{font-size:24px;line-height:1}.calculator-titlebar h1{display:flex;align-items:center;gap:9px;font-size:18px}.calculator-titlebar .eyebrow{font-size:8px}.calculator-titlebar > div p:last-child{font-size:9px;margin-top:4px}.autosave{display:flex;align-items:center;gap:7px;margin-right:3px;color:var(--muted);font-size:9px}.split-action svg{margin-left:4px}.calculation-kpis{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:1px;border-bottom:1px solid var(--line);background:var(--line)}.calculation-kpis article{min-height:90px;padding:16px 18px;background:var(--surface)}.calculation-kpis article:first-child{box-shadow:inset 3px 0 var(--teal)}.calculation-kpis span{display:block;color:var(--muted);font-size:9px;font-weight:650}.calculation-kpis strong{display:block;margin-top:7px;color:var(--ink);font-size:18px;line-height:1.05;letter-spacing:-.03em}.calculation-kpis strong span{display:inline;color:inherit;font-size:inherit}.calculation-kpis small{display:block;margin-top:6px;color:var(--muted);font-size:8px}.positive{color:var(--green)!important}
.calculator-workspace{display:grid;grid-template-columns:400px minmax(0,1fr);align-items:start;gap:16px;padding:16px;background:var(--bg)}
.input-panel{position:sticky;top:84px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.input-panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.input-panel-head h2{margin:3px 0 0;font-size:14px}.step-chip{display:grid;width:27px;height:27px;place-items:center;border-radius:7px;color:var(--teal);background:var(--teal-soft);font-size:9px;font-weight:850}
.accordion-section{border-bottom:1px solid var(--line)}.accordion-section:last-child{border-bottom:0}.accordion-trigger{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;border:0;padding:0 16px;color:var(--ink);background:transparent;text-align:left}.accordion-trigger span{display:grid}.accordion-trigger b{font-size:10px}.accordion-trigger small{margin-top:2px;color:var(--muted);font-size:8px}.accordion-trigger i{color:var(--muted);font-style:normal}.accordion-body{display:none;gap:10px;padding:0 16px 16px}.accordion-section.open .accordion-body{display:grid}.accordion-body.flush{padding-right:10px;padding-left:10px}.two-fields,.three-fields{display:grid;gap:9px}.two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.three-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
label{display:grid;gap:5px;min-width:0;color:var(--ink-soft);font-size:8px;font-weight:750}input,select,textarea{width:100%;min-height:37px;border:1px solid var(--line-strong);border-radius:7px;padding:8px 10px;color:var(--ink);background:var(--surface);outline:0;font-size:10px;transition:.15s}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:#aebfbb}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:var(--focus)}
.corner-grid{display:grid;grid-template-columns:72px repeat(6,minmax(42px,1fr));gap:4px;overflow-x:auto}.corner-head,.corner-row.label,.corner-cell{min-width:42px;border:1px solid var(--line);border-radius:6px}.corner-head{padding:6px 3px;color:var(--muted);background:var(--surface-soft);font-size:7px;font-weight:850;text-align:center}.corner-row.label{display:flex;align-items:center;min-width:72px;padding:5px;color:var(--teal-dark);background:var(--teal-soft);font-size:7px;font-weight:800}.corner-cell{gap:3px;padding:3px}.corner-cell span{font-size:6px}.corner-cell input{min-height:28px;padding:3px;text-align:right;font-size:8px}
.results-panel{min-width:0}.offer-document{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.document-head{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:16px 20px;border-bottom:1px solid var(--line)}.document-logo img{width:108px;height:48px;object-fit:contain}.document-meta{display:grid;text-align:right}.document-meta span,.document-parties span{color:var(--muted);font-size:7px;font-weight:850;letter-spacing:.11em}.document-meta strong{margin:3px 0;font-size:13px}.document-meta small{color:var(--muted);font-size:8px}.document-parties{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:17px 20px}.document-parties div{display:grid}.document-parties strong{margin-top:5px;font-size:11px}.document-parties small{margin-top:3px;color:var(--muted);font-size:8px}
.table-wrap{width:100%;overflow-x:auto}.offer-wrap{border-block:1px solid var(--line)}.offer-table{width:100%;min-width:790px}.offer-table th,.offer-table td{height:37px;border-bottom:1px solid var(--line);padding:0 10px;text-align:right;font-size:8px;white-space:nowrap}.offer-table th{height:31px;color:var(--muted);background:var(--surface-soft);font-size:7px;text-transform:uppercase}.offer-table th:first-child,.offer-table td:first-child{width:35px;color:var(--muted);text-align:center}.offer-table th:nth-child(2),.offer-table td:nth-child(2){text-align:left}.offer-table tbody tr:hover td{background:color-mix(in srgb,var(--teal-soft) 25%,transparent)}.offer-table .muted-row td{color:#99a7a5}.offer-table .section-row td{color:var(--teal-dark);background:var(--teal-soft);font-weight:800;text-align:left}.offer-table tfoot td{height:47px;border-bottom:0;color:var(--ink);background:var(--surface-soft);font-size:10px;font-weight:850}.offer-table tfoot td:last-child{color:var(--teal-dark);font-size:13px}
.document-summary{display:grid;grid-template-columns:1fr minmax(260px,.55fr);gap:30px;padding:18px 20px}.document-note b{font-size:9px}.document-note p{max-width:470px;margin:6px 0 0;color:var(--muted);font-size:8px}.price-summary{display:grid}.price-summary p{display:flex;justify-content:space-between;margin:0;padding:4px 0;color:var(--muted);font-size:8px}.price-summary b{color:var(--ink)}.price-summary .grand{margin-top:5px;border-top:1px solid var(--line);padding-top:9px;color:var(--ink);font-weight:800}.price-summary .grand b{color:var(--teal-dark);font-size:12px}
.result-tabs{display:flex;gap:3px;margin-top:14px;border-bottom:1px solid var(--line)}.result-tabs button{min-height:38px;border:0;border-bottom:2px solid transparent;padding:0 13px;color:var(--muted);background:transparent;font-size:9px;font-weight:750}.result-tabs button.active{border-bottom-color:var(--teal);color:var(--teal)}.result-tabs span{margin-left:4px;border-radius:99px;padding:2px 5px;background:var(--surface-muted);font-size:7px}.result-tab-panel{display:none;margin-top:12px}.result-tab-panel.active{display:block}.metric-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.metric-item{min-height:62px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface)}.metric-item span{display:block;color:var(--muted);font-size:7px}.metric-item strong{display:block;margin-top:7px;font-size:10px}.price-details{margin-top:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.price-details summary{padding:13px;color:var(--teal-dark);font-size:9px;font-weight:800;cursor:pointer}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px}.price-grid h3{margin:3px 0 8px;font-size:9px}.table-wrap.small{border:1px solid var(--line);border-radius:7px}.table-wrap.small table{width:100%;min-width:480px}.table-wrap.small th,.table-wrap.small td{border-bottom:1px solid var(--line);padding:6px;text-align:right;font-size:7px}.table-wrap.small th{background:var(--surface-soft)}
.dropzone{display:grid;min-height:190px;place-items:center;align-content:center;gap:7px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted);background:var(--surface);text-align:center}.dropzone>svg{width:28px;height:28px;color:var(--teal)}.dropzone b{color:var(--ink);font-size:10px}.dropzone span{font-size:8px}.file-list,.comment-list{display:grid;gap:7px;margin-top:9px}.file-row,.comment-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--surface)}.file-row>span,.comment-row>span{display:grid;width:32px;height:32px;place-items:center;border-radius:7px;color:var(--teal-dark);background:var(--teal-soft);font-size:8px;font-weight:850}.file-row p,.comment-row p{display:grid;margin:0}.file-row b,.comment-row b{font-size:9px}.file-row small,.comment-row small{color:var(--muted);font-size:7px}.file-row button{border:0;color:var(--muted);background:none}.comment-composer{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:start}.comment-composer>span{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;color:var(--teal-dark);background:var(--teal-soft);font-size:8px;font-weight:850}

.document-browser{display:grid;grid-template-columns:210px 1fr;gap:13px}.folder-panel{display:grid;align-content:start;gap:4px;padding:13px}.folder-panel h3{margin:4px 8px 9px;font-size:11px}.folder-panel button{display:grid;grid-template-columns:17px 1fr auto;gap:8px;align-items:center;min-height:37px;border:0;border-radius:7px;padding:0 9px;color:var(--muted);background:transparent;font-size:9px;text-align:left}.folder-panel button.active{color:var(--teal-dark);background:var(--teal-soft)}.folder-panel button svg{width:14px}.folder-panel button span{font-size:8px}.file-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;padding:14px}.file-card{display:grid;grid-template-columns:37px 1fr auto;gap:10px;align-items:center;min-height:70px;border:1px solid var(--line);border-radius:8px;padding:10px}.file-card>span{display:grid;width:36px;height:40px;place-items:center;border-radius:6px;color:#be4a4a;background:var(--red-soft);font-size:8px;font-weight:850}.file-card>span.dwg{color:#3f7199;background:#e6f0f8}.file-card>span.jpg{color:#9a652a;background:var(--orange-soft)}.file-card p{display:grid;margin:0}.file-card b{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card small{color:var(--muted);font-size:7px}.file-card button{border:0;color:var(--muted);background:transparent}.report-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:13px}.report-hero{grid-row:span 2;min-height:340px;padding:24px;color:#fff;background:linear-gradient(145deg,var(--navy-deep),#114c50)}.report-hero .card-kicker{color:#66d8cf}.report-hero h2{margin:60px 0 0;font-size:35px}.report-hero p{margin:2px 0;color:#93b2af;font-size:10px}.forecast-bars{display:flex;height:125px;align-items:flex-end;gap:12px;margin-top:36px}.forecast-bars i{flex:1;min-height:10px;border-radius:5px 5px 0 0;background:linear-gradient(#36b9ad,#117e76)}.report-stat{display:grid;align-content:center;min-height:130px;padding:20px}.report-stat span{color:var(--muted);font-size:9px}.report-stat strong{margin-top:6px;font-size:22px}.report-stat small{margin-top:6px;color:var(--muted);font-size:8px}.report-table-card{grid-column:2/4;padding:18px}.mini-report-table{width:100%;margin-top:12px}.mini-report-table th,.mini-report-table td{height:36px;border-bottom:1px solid var(--line);font-size:8px;text-align:left}.mini-report-table th{color:var(--muted)}.mini-report-table i{display:block;height:5px;border-radius:99px;background:var(--teal)}
.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:13px}.settings-nav{display:grid;align-content:start;gap:3px}.settings-nav button{display:flex;min-height:40px;align-items:center;justify-content:space-between;border:0;border-radius:7px;padding:0 12px;color:var(--muted);background:transparent;font-size:9px;text-align:left}.settings-nav button.active{color:var(--teal-dark);background:var(--teal-soft);font-weight:750}.settings-nav span{border-radius:99px;padding:2px 6px;background:var(--surface-muted);font-size:7px}.settings-card{padding:0 22px}.settings-section{padding:22px 0;border-bottom:1px solid var(--line)}.settings-section:last-child{border-bottom:0}.settings-section h2{margin:0;font-size:14px}.settings-section>p{margin:4px 0 17px;color:var(--muted);font-size:9px}.logo-upload{display:flex;align-items:center;gap:15px;margin-bottom:18px}.logo-upload img{width:104px;height:57px;border:1px solid var(--line);border-radius:7px;object-fit:contain;background:#fff}.logo-upload div{display:grid}.logo-upload b{font-size:9px}.logo-upload small{color:var(--muted);font-size:8px}.logo-upload button{justify-content:start;padding:4px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-grid .full{grid-column:1/-1}

.command-overlay,.modal-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding-top:12vh;background:rgba(5,20,22,.58);backdrop-filter:blur(4px)}.command-dialog{width:min(590px,calc(100% - 28px));overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:var(--surface);box-shadow:0 30px 90px rgba(0,0,0,.3)}.command-input{display:flex;height:58px;align-items:center;gap:10px;padding:0 15px;border-bottom:1px solid var(--line)}.command-input svg{color:var(--teal)}.command-input input{flex:1;border:0;box-shadow:none!important;background:transparent;font-size:13px}.command-results{display:grid;gap:3px;max-height:360px;overflow-y:auto;padding:8px}.command-item{display:grid;grid-template-columns:33px 1fr auto;gap:10px;align-items:center;min-height:48px;border:0;border-radius:8px;padding:0 10px;color:var(--ink);background:transparent;text-align:left}.command-item:hover,.command-item.active{background:var(--teal-soft)}.command-item>span{display:grid;width:31px;height:31px;place-items:center;border-radius:7px;color:var(--teal);background:var(--surface)}.command-item p{display:grid;margin:0;font-size:10px}.command-item small{color:var(--muted);font-size:8px}.command-item em{color:var(--muted);font-size:8px;font-style:normal}.command-dialog footer{display:flex;gap:16px;padding:9px 15px;border-top:1px solid var(--line);color:var(--muted);font-size:7px}.modal-overlay{align-items:center;padding:20px}.modal{position:relative;width:min(620px,100%);max-height:90vh;overflow-y:auto;border-radius:13px;background:var(--surface);box-shadow:var(--shadow-md)}.modal-close{position:absolute;top:13px;right:13px;display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface)}.modal-close svg{width:14px}.modal-body{padding:24px}.modal-body h2{margin:0;font-size:18px}.modal-body>p{margin:5px 0 18px;color:var(--muted);font-size:9px}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.modal-form .full{grid-column:1/-1}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.version-list{display:grid;gap:8px}.version-item{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px}.version-item>span{display:grid;width:33px;height:33px;place-items:center;border-radius:8px;color:var(--teal-dark);background:var(--teal-soft);font-size:8px;font-weight:850}.version-item p{display:grid;margin:0}.version-item b{font-size:9px}.version-item small{color:var(--muted);font-size:8px}.version-actions{display:flex;gap:5px}.version-actions button{border:1px solid var(--line);border-radius:6px;padding:5px 7px;color:var(--ink-soft);background:var(--surface-soft);font-size:7px}.pdf-preview{padding:22px;background:#dce3e1}.pdf-sheet{width:min(100%,760px);min-height:700px;margin:auto;padding:40px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.15);color:#162426}.toast-region{position:fixed;right:18px;bottom:18px;z-index:120;display:grid;gap:8px}.toast{min-width:240px;border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:8px;padding:11px 13px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-md);font-size:9px;animation:toast-in .2s ease}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}.mobile-scrim{display:none}

@media (max-width:1250px){.sync-status{display:none}.dashboard-grid{grid-template-columns:1fr 330px}.metric-list{grid-template-columns:repeat(4,1fr)}.calculator-workspace{grid-template-columns:360px minmax(0,1fr)}.file-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1020px){:root{--sidebar:72px}.brand-copy,.primary-nav a span,.ai-teaser,.sidebar-user div,.sidebar-user button{display:none}.app-sidebar{padding-inline:10px}.app-brand{justify-content:center;margin-inline:0}.primary-nav a{justify-content:center;padding:0}.primary-nav a em{position:absolute;margin:0 0 28px 29px}.sidebar-user{display:flex;justify-content:center;padding-inline:0}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.status-card,.customers-card{min-height:auto}.calculator-workspace{grid-template-columns:1fr}.input-panel{position:static}.calculation-kpis{grid-template-columns:repeat(3,1fr)}.calculation-kpis article:first-child{grid-column:span 2}.calculator-titlebar{align-items:flex-start;flex-direction:column}.calculator-actions{width:100%;flex-wrap:wrap}.autosave{margin-right:auto}.report-grid{grid-template-columns:1fr 1fr}.report-hero{grid-column:1/-1}.report-table-card{grid-column:1/-1}.document-browser{grid-template-columns:1fr}.folder-panel{display:flex;overflow-x:auto}.folder-panel h3{display:none}.folder-panel button{min-width:max-content}.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow-x:auto}.settings-nav button{min-width:max-content}}
@media (max-width:760px){:root{--sidebar:244px}.app-sidebar{transform:translateX(-100%);transition:.2s}.app-sidebar.open{transform:translateX(0)}.brand-copy,.primary-nav a span,.ai-teaser,.sidebar-user div,.sidebar-user button{display:grid}.primary-nav a{justify-content:flex-start;padding:0 11px}.sidebar-user{display:grid}.app-shell{margin-left:0}.mobile-menu{display:grid}.mobile-scrim.show{position:fixed;inset:0;z-index:55;display:block;background:rgba(0,0,0,.4)}.app-topbar{height:60px;padding:0 14px}.global-search{width:auto;flex:1}.global-search span{display:none}.top-actions>.icon-button,.top-actions>.button{display:none}.app-main{padding:20px 14px 38px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:23px}.heading-actions{width:100%;flex-wrap:wrap}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-grid{display:block}.dashboard-grid>.card{margin-bottom:12px}.chart-card{overflow:hidden}.activity-card{grid-column:auto}.project-stats{grid-template-columns:1fr}.pipeline-strip{overflow-x:auto}.pipeline-strip button{min-width:100px}.table-toolbar{flex-wrap:wrap}.search-field{width:100%;min-width:0}.filter-chip,.view-tabs{margin-left:0}.calculator-page{margin:-20px -14px -38px}.calculator-titlebar{padding:13px}.calculator-actions .button{flex:1}.calculation-kpis{grid-template-columns:1fr 1fr}.calculation-kpis article:first-child{grid-column:span 2}.calculator-workspace{padding:9px}.document-parties,.document-summary{grid-template-columns:1fr}.document-summary{gap:13px}.metric-list{grid-template-columns:repeat(2,1fr)}.price-grid{grid-template-columns:1fr}.file-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr}.report-hero,.report-table-card{grid-column:auto}.settings-grid,.modal-form{grid-template-columns:1fr}.settings-grid .full,.modal-form .full{grid-column:auto}.document-browser{display:block}.folder-panel{margin-bottom:10px}.comment-composer{grid-template-columns:32px 1fr}.comment-composer button{grid-column:2}.top-actions{gap:5px}}
@media (max-width:430px){.dashboard-kpis{grid-template-columns:1fr}.calculation-kpis{grid-template-columns:1fr 1fr}.calculation-kpis article{padding:13px}.calculation-kpis strong{font-size:16px}.two-fields,.three-fields{grid-template-columns:1fr}.document-head{align-items:flex-start}.document-logo img{width:80px}.dashboard-kpi{min-height:108px}}

@media print{.app-sidebar,.app-topbar,.calculator-titlebar,.calculation-kpis,.input-panel,.result-tabs,.result-tab-panel,.toast-region,.modal-close{display:none!important}.app-shell{margin:0}.app-main,.calculator-page{width:100%;margin:0;padding:0;background:#fff}.app-page{display:none!important}.calculator-page{display:block!important}.calculator-workspace{display:block;padding:0;background:#fff}.results-panel{width:100%}.offer-document{border:0;box-shadow:none}.document-head{padding-top:0}.offer-table{min-width:0}.offer-table th,.offer-table td{font-size:7pt}.document-summary{break-inside:avoid}@page{size:A4;margin:13mm}}
