:root{--brand-blue:#317ae0;--brand-blue-2:#335ab9;--brand-navy:#0e2970;--brand-navy-deep:#08194a;--brand-slate:#6b7a99;--bg:#f7f9fc;--surface:#fff;--border:#dce3ee;--text:var(--brand-navy-deep);--muted:#56647f;--accent:var(--brand-blue-2);--accent-text:#fff;--paid:#0c7c56;--approved:var(--brand-blue);--ready:#d99a1c;--accruing:#9dbdf0;--upcoming:#e7ecf4;--stopped:#f1f3f7;--pending:#eef1f6;--net_new-bg:#e3eefc;--net_new-fg:#1f56b0;--upsell-bg:#eceff4;--upsell-fg:#46536f;--referral-bg:#e2e6f1;--referral-fg:var(--brand-navy);--ok-bg:#e1f4ec;--ok-fg:#0c7c56;--warn-bg:#fdf0da;--warn-fg:#8a5200;--error:#b3261e;--error-bg:#fbe9e7;--ok:#0c7c56;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#070f26;--surface:#0e1a3a;--border:#22325a;--text:#e6ecf8;--muted:#9eabc6;--accent:#3b82e8;--accent-text:#fff;--paid:#2fb07f;--approved:#3b82e8;--ready:#e8b04a;--accruing:#2c5fb0;--upcoming:#1a2850;--stopped:#111c3a;--pending:#16234a;--net_new-bg:#17336b;--net_new-fg:#a9c8f8;--upsell-bg:#222c45;--upsell-fg:#b9c3d8;--referral-bg:#1d2a55;--referral-fg:#c4d2f6;--ok-bg:#0f3a2b;--ok-fg:#7fdcb5;--warn-bg:#3a2a0c;--warn-fg:#f2cf85;--error:#ff8a80;--error-bg:#3d1614;--ok:#7fdcb5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3,h4{margin:0;line-height:1.25}h1{letter-spacing:-.01em;color:var(--brand-navy);font-size:26px}@media (prefers-color-scheme:dark){h1{color:var(--text)}}h2{margin-bottom:16px;font-size:17px}h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 8px;font-size:13px}fieldset{border:0;min-width:0;margin:0;padding:0}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-blue);margin:0 0 2px;font-size:12px;font-weight:700}label{flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}input,select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;min-width:0;padding:8px 10px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:8px 14px}button:disabled{opacity:.6;cursor:wait}.btn-primary{background:var(--accent);color:var(--accent-text);font-weight:600}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost.small{padding:4px 10px;font-size:13px}.msg{margin:8px 0 0;font-size:13px}.msg-error{color:var(--error)}.msg-ok{color:var(--ok)}.page{flex-direction:column;gap:20px;max-width:1040px;margin:0 auto;padding:28px 16px 64px;display:flex}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.who{align-items:center;gap:10px;font-size:14px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.banner{background:var(--warn-bg);color:var(--warn-fg);border-radius:10px;padding:10px 14px;font-size:14px}.empty{color:var(--muted);margin:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.stack{flex-direction:column;gap:14px;display:flex}.row-end{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.span-2{grid-column:1/-1}.field-hint{align-self:end;padding-bottom:9px}@media (max-width:640px){.grid-2{grid-template-columns:1fr}}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:380px;padding:28px}.login h1{margin-bottom:20px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:800px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--border);border-radius:14px;flex-direction:column;gap:2px;padding:16px;display:flex}.stat-paid{border-top-color:var(--paid)}.stat-owed{border-top-color:var(--approved)}.stat-accruing{border-top-color:var(--accruing)}.stat-upcoming{border-top-color:var(--upcoming)}.stat-label{color:var(--muted);font-size:13px;font-weight:500}.stat-value{letter-spacing:-.01em;font-size:24px;font-weight:700}.stat-hint{color:var(--muted);font-size:12px}.tag,.status{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.tag-net_new{background:var(--net_new-bg);color:var(--net_new-fg)}.tag-upsell{background:var(--upsell-bg);color:var(--upsell-fg)}.tag-referral{background:var(--referral-bg);color:var(--referral-fg)}.status{background:var(--pending);color:var(--muted);font-weight:500}.status-pending{background:var(--warn-bg);color:var(--warn-fg)}.status-approved{background:var(--ok-bg);color:var(--ok-fg)}.status-rejected{background:var(--error-bg);color:var(--error)}.status-churned{background:var(--upsell-bg);color:var(--upsell-fg)}.status-q-ready{background:var(--warn-bg);color:var(--warn-fg)}.status-q-approved{background:var(--net_new-bg);color:var(--net_new-fg)}.status-q-paid{background:var(--ok-bg);color:var(--ok-fg)}.preview{background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;font-size:14px;display:flex}.deals{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.deal{border:1px solid var(--border);border-radius:12px;padding:14px 16px}.deal-pending{border-color:var(--ready)}.deal-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.deal-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deal-nums{align-items:baseline;gap:12px;display:flex}.timeline{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.chip{border-radius:8px;flex-direction:column;min-width:0;padding:6px 8px;font-size:12px;display:flex}.chip-month{color:inherit;opacity:.8}.chip-amt{text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.chip-accrued{background:var(--accruing);color:var(--brand-navy-deep)}.chip-upcoming{background:var(--upcoming);color:var(--text)}.chip-stopped{background:var(--stopped);color:var(--muted);text-decoration:line-through}.chip-pending{background:var(--pending);color:var(--muted);border:1px dashed var(--border)}@media (prefers-color-scheme:dark){.chip-accrued{color:#eef3ff}}@media (max-width:560px){.timeline{grid-template-columns:repeat(3,minmax(0,1fr))}}.review{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.review fieldset{display:contents}.review input{flex:200px}.deal-more{margin-top:10px}.deal-more summary{cursor:pointer;color:var(--muted);font-size:13px}.facts{grid-template-columns:max-content 1fr;gap:4px 16px;margin:12px 0 0;font-size:14px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.sub{border-top:1px solid var(--border);margin-top:14px}.churn fieldset{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.churn h4{width:100%}.churn p{width:100%;margin:0}.history{flex-direction:column;gap:2px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.history time{color:var(--muted)}.note{border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:13px}.note-warn{background:var(--warn-bg);color:var(--warn-fg)}.chart{align-items:flex-end;gap:12px;height:200px;padding:0 4px;display:flex;overflow-x:auto}.bar-col{flex-direction:column;flex:1 0 64px;align-items:center;gap:6px;max-width:120px;height:100%;display:flex}.bar-val{font-size:12px;font-weight:600}.bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.bar{border-radius:6px 6px 0 0;flex-direction:column;width:100%;min-height:3px;display:flex;overflow:hidden}.bar-upcoming{background:var(--upcoming);background-image:repeating-linear-gradient(45deg,#0000 0 4px,#80808026 4px 8px)}.bar-fill{flex:1}.bar-label{color:var(--muted);white-space:nowrap;font-size:12px}.bar-paid{background:var(--paid)}.bar-approved{background:var(--approved)}.bar-ready{background:var(--ready)}.bar-accruing{background:var(--accruing)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:12px 0 16px;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.sw{border-radius:3px;width:10px;height:10px;display:inline-block}.sw-upcoming{background:var(--upcoming);border:1px solid var(--border)}.quarters{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quarter{border:1px solid var(--border);border-radius:12px;padding:12px 16px}.quarter-ready{border-color:var(--ready)}.quarter-approved{border-color:var(--approved)}.quarter summary{cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.quarter summary::-webkit-details-marker{display:none}.q-name{font-weight:600}.q-total{margin-left:auto;font-size:16px}.lines{border-collapse:collapse;width:100%;margin-top:12px;font-size:14px}.lines th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:4px 8px 4px 0;font-size:12px;font-weight:500}.lines td{border-bottom:1px solid var(--border);padding:6px 8px 6px 0}.num{text-align:right}.q-actions{margin-top:12px}.q-actions fieldset{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.q-actions input{flex:200px}.rules ul{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.rules li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rules p{color:var(--muted);margin:0;font-size:14px}.tabs{gap:4px;margin-top:10px;display:flex}.tabs a,.pills a{color:var(--muted);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:500;text-decoration:none}.tabs a:hover,.pills a:hover{color:var(--text);background:var(--surface)}.tabs a[aria-current=page],.pills a[aria-current=page]{color:var(--text);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}:root{--cat-net_new:var(--brand-blue);--cat-referral:var(--brand-navy);--cat-upsell:var(--brand-slate)}@media (prefers-color-scheme:dark){:root{--cat-net_new:#3b82e8;--cat-referral:#9db4ec;--cat-upsell:#7d8ba8}}.cat-net_new{background:var(--cat-net_new)}.cat-upsell{background:var(--cat-upsell)}.cat-referral{background:var(--cat-referral)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar .pills{gap:4px;display:flex}.toolbar>.muted{flex:1}.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:800px){.stats-3{grid-template-columns:1fr}}.mchart{align-items:flex-end;gap:6px;height:220px;display:flex}.mcol{outline:none;flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;height:100%;display:flex;position:relative}.mval{color:var(--text);white-space:nowrap;min-height:16px;font-size:11px;font-weight:600}.mtrack{border-bottom:1px solid var(--border);flex:1;align-items:flex-end;width:100%;display:flex}.mstack{flex-direction:column;gap:2px;width:100%;max-width:44px;margin:0 auto;display:flex}.mseg{min-height:2px}.mseg:first-child{border-radius:4px 4px 0 0}.mlabel{color:var(--muted);font-size:11px}.tip{z-index:5;background:var(--surface);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:none;position:absolute;bottom:calc(100% - 20px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.mcol:hover .tip,.mcol:focus .tip{display:flex}.mcol:hover .mstack,.mcol:focus .mstack{filter:brightness(1.08)}.as-table{margin-top:12px}.as-table summary{cursor:pointer;color:var(--muted);font-size:13px}.hbars{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hbars li{grid-template-columns:minmax(90px,160px) 1fr auto;align-items:center;gap:12px;font-size:14px;display:grid}.htrack{height:14px;display:flex}.hbar{border-radius:0 4px 4px 0;min-width:3px;height:100%;display:block}.hval{white-space:nowrap;font-weight:600}.hval .muted{font-weight:400}@media (max-width:560px){.hbars li{grid-template-columns:1fr auto}.hbars .htrack{grid-area:2/1/auto/-1}}.table-scroll{overflow-x:auto}.report-table{min-width:680px}.report-table tfoot td{border-bottom:0;padding-top:10px;font-weight:700}@media print{body{background:#fff;font-size:12px}.no-print,.tabs,.toolbar .pills,.as-table summary{display:none!important}.page{gap:12px;max-width:none;padding:0}.panel,.stat{break-inside:avoid;border-color:#ccc}.cat-net_new,.cat-upsell,.cat-referral,.sw{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.panel-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;display:grid}@media (max-width:860px){.panel-row{grid-template-columns:1fr}}.donut-wrap{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.donut{flex:none;width:170px;height:170px}.arc-net_new{stroke:var(--cat-net_new)}.arc-upsell{stroke:var(--cat-upsell)}.arc-referral{stroke:var(--cat-referral)}.arc:hover{stroke-width:28px}.donut-total{fill:var(--text);font-size:22px;font-weight:700}.donut-sub{fill:var(--muted);font-size:10px}.donut-legend{flex-direction:column;flex:1;gap:10px;min-width:180px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.donut-legend li{grid-template-columns:auto 1fr auto;align-items:center;column-gap:8px;display:grid}.dl-name{font-weight:500}.dl-pct{font-size:16px;font-weight:700}.dl-val{grid-column:2/-1;font-size:13px}@media print{.arc{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.row-link{color:inherit;border-bottom:1px dashed var(--border);text-decoration:none}.row-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.edit-link{color:var(--accent);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:600;text-decoration:none}.edit-link:hover{background:var(--net_new-bg)}.back-link{color:var(--accent);font-size:14px;font-weight:500;text-decoration:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel-row-even{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:860px){.panel-row-even{grid-template-columns:1fr}}.report-table.editable{min-width:860px}.cell-edit{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.status-edit{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.cell-select{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:2px 6px;font-size:12px;font-weight:600}.cell-select:hover{border-color:var(--border)}.cell-month{border-radius:6px;width:150px;padding:3px 6px;font-size:13px}.cell-state{white-space:normal;max-width:180px;font-size:11px}@media print{.cell-select,.cell-month{appearance:none;background:0 0;border:0;padding:0}}.channel-new{margin-top:6px}:root{--cmp-old:var(--brand-navy);--cmp-new:var(--brand-blue)}@media (prefers-color-scheme:dark){:root{--cmp-old:#9db4ec;--cmp-new:#3b82e8}}.cmp-old{background:var(--cmp-old)}.cmp-new{background:var(--cmp-new)}.cchart{align-items:flex-end;gap:14px;height:230px;display:flex;overflow-x:auto}.cgroup{flex-direction:column;flex:1 0 84px;align-items:center;gap:6px;height:100%;display:flex}.cbars{border-bottom:1px solid var(--border);flex:1;justify-content:center;align-items:flex-end;gap:2px;width:100%;display:flex}.cbar-slot{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;width:40%;max-width:40px;height:100%;display:flex}.cbar{border-radius:4px 4px 0 0;width:100%;min-height:2px}.cbar-val{white-space:nowrap;font-size:11px;font-weight:600}.diff-down{color:var(--error);font-weight:600}.diff-up{color:var(--ok);font-weight:600}.stat-value.diff-down,.stat-value.diff-up{font-weight:700}.q-actions fieldset{align-items:flex-end}.q-field{flex:0 150px;font-size:12px}.q-field-wide{flex:200px}.q-paid-actual{font-size:13px;font-weight:400}.status-plan{background:var(--referral-bg);color:var(--referral-fg)}.note:not(.note-warn){background:var(--bg);color:var(--text)}.rules .rules-lead{color:var(--text);margin-bottom:12px}.lost-summary{margin:-8px 0 12px}label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}label.check input{width:auto}.cell-sub{color:var(--muted);font-size:11px;display:block}.cell-spend{border-radius:6px;width:130px;padding:3px 6px;font-size:13px}.spend-help{margin:-8px 0 12px}.rate-table{flex-direction:column;gap:10px;display:flex}.rate-head,.rate-cells{grid-template-columns:90px repeat(3,minmax(0,1fr)) 70px;align-items:center;gap:8px;display:grid}.rate-head{color:var(--muted);font-size:12px;font-weight:500}.rate-year{font-weight:600}.rate-hint{margin:2px 0 0;font-size:12px}.client-filter{align-items:center;gap:10px;margin-bottom:12px;display:flex}.client-filter input{flex:0 280px}.sort-link{color:inherit;white-space:nowrap;text-decoration:none}.sort-link:hover{color:var(--text)}th[aria-sort=ascending] .sort-link,th[aria-sort=descending] .sort-link{color:var(--text);font-weight:600}.type-request{background:var(--warn-bg);color:var(--warn-fg);border-radius:8px;margin-top:10px;padding:10px 12px;font-size:14px}.type-request p{margin:0 0 4px}.type-request .review,.case-form label{margin-top:8px}.case-form textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:8px;padding:8px 10px}.case-form .btn-ghost{margin-top:8px}.case-form p{margin:0 0 4px}.row-group td{background:var(--bg)}.row-child td:first-child{padding-left:18px}
