:root{color-scheme:dark;--bg:#14171b;--panel:#1d2228;--line:#3a424d;--text:#e7e9ee;--muted:#b4bdc9;--orange:#ffad59;--red:#ffacb2;--yellow:#f6ce69;--green:#98d9b0}*{box-sizing:border-box}body{margin:0;padding:20px;background:#101216;color:var(--text);font:16px/1.5 'Segoe UI',Arial,sans-serif}#app{max-width:1600px;margin:auto;background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden}h1,h2,h3,p{margin:0}h1{font-size:22px}h2{font-size:20px}h3{font-size:16px}p{color:var(--muted)}header,.records,nav,footer{padding:18px 24px;background:var(--panel);border-bottom:1px solid var(--line)}header,.brand,.heading,.actions{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}.brand{justify-content:start}.logo{background:var(--brand-accent);color:#21170c;padding:9px;border-radius:9px}.brand p,.note,.notice,.warning,footer{font-size:14px}.badge{background:#332a22;color:var(--brand-accent);padding:5px 10px;border-radius:15px;font-size:13px}.records{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.records label{flex:1;min-width:240px}#status{width:100%;font-size:14px;min-height:20px}button,.button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:9px 13px;border-radius:7px;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--brand-accent)}button:disabled{opacity:.5;cursor:wait}.primary,nav button[aria-selected=true]{background:var(--brand-accent);color:#21170c;border-color:var(--brand-accent)}nav{display:flex;gap:10px;flex-wrap:wrap}main{padding:24px}section>.heading{margin-bottom:18px}label{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--muted)}input,select,textarea{font:inherit;color:var(--text);background:#191e24;border:1px solid var(--line);border-radius:6px;padding:9px;min-width:0;width:100%}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}input[readonly]{background:#262c34;color:#d3dae2}input[aria-invalid=true]{border-color:var(--red)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-accent)}input[type=month]{min-width:185px}details,.card{border:1px solid var(--line);border-radius:10px;background:var(--panel);margin:14px 0;padding:16px}summary{font-weight:600;cursor:pointer}details>summary{margin:-16px;padding:16px}details[open]>summary{margin-bottom:10px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}.note{margin:10px 0}.actions{justify-content:start;margin:14px 0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.metric{padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:9px}.metric span{font-size:13px;color:var(--muted)}.metric strong{display:block;font-size:22px;margin:7px 0;overflow-wrap:anywhere}.metric small{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;margin:14px 0;max-width:100%}table{border-collapse:separate;border-spacing:0;min-width:1080px;width:100%;font-size:14px}th,td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}th{background:#282e36;color:#dfe4ec}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--panel);z-index:1;min-width:245px;max-width:285px}th:first-child{background:#282e36;z-index:2}td input:not([type=checkbox]){font-size:14px;min-width:110px;text-align:right;padding:8px 6px;font-variant-numeric:tabular-nums}.fixed-controls{display:flex;align-items:center;gap:7px;margin-top:6px;flex-wrap:wrap}.fixed-controls label{flex-direction:row;align-items:center;font-size:12px}.fixed-controls input[data-fixed-value]{width:130px;min-width:100px}.row-hint{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}.result-row td{background:#29312c;font-weight:600}.result-row td:first-child{background:#29312c}.after-row td{background:#292d34}.negative{color:var(--red)}.estimated{color:var(--yellow);font-size:11px;display:block}#rating{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}#rating button{min-width:43px}.red{color:var(--red);background:#3d252b}.yellow{color:var(--yellow);background:#37301f}.green{color:var(--green);background:#21382b}#rating button[aria-pressed=true]{outline:3px solid var(--text);outline-offset:2px}.rating-box{margin-bottom:18px}.check{display:flex;flex-direction:row;align-items:center;margin:12px 0}.notice,.warning{padding:12px 14px;background:#332d20;border-radius:7px;margin:12px 0;color:var(--yellow)}.member{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.finding{padding:12px 14px;margin:8px 0;border-left:3px solid var(--yellow);background:var(--panel)}.finding.bad{border-color:var(--red)}#prompt{min-height:570px;resize:vertical;line-height:1.6;font-size:14px;margin-top:16px}#pdf-status,#copy-status{font-size:14px;min-height:20px}footer{border-top:1px solid var(--line);border-bottom:0}[hidden]{display:none!important}ul{padding-left:22px}li{margin:5px 0}@media(max-width:900px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:16px}}@media(max-width:550px){body{padding:0}#app{border-radius:0}.fields{grid-template-columns:1fr}header,.records,nav{padding:14px}nav button{font-size:14px}.metrics{gap:8px}.metric strong{font-size:18px}th:first-child,td:first-child{min-width:185px;max-width:200px}.table-wrap{font-size:13px}}

#risk-fields>details{grid-column:1/-1;margin:0}.row-hint{display:none}body.show-help .row-hint{display:block}.history-help{margin:8px 0 14px}

.purpose-details{grid-column:1/-1;width:100%}.purpose-details textarea{width:100%;min-height:150px;resize:vertical;line-height:1.5}

/* The viewport, not an overflow-hidden ancestor, owns sticky positioning. */
#app{overflow:clip}
@media(min-width:1001px){.summary-inner{max-height:calc(100dvh - 36px);overflow-y:auto}}
/* Responsive presentation layer; all financial rows remain available. */
:root{--input-bg:#191e24;--table-head:#282e36;--soft:#34291f;--page-bg:#101216;--readonly-bg:#262c34;--result-bg:#23332b;--after-bg:#252c36;--notice-bg:#332d20}
:root[data-theme=light]{color-scheme:light;--bg:#f3f5f8;--panel:#fff;--line:#c9d0da;--text:#202733;--muted:#546174;--orange:#ffad59;--red:#a92435;--yellow:#795600;--green:#206140;--input-bg:#f8f9fb;--table-head:#e9edf3;--soft:#fff0df;--page-bg:#e9edf2;--readonly-bg:#edf0f5;--result-bg:#e4f1e9;--after-bg:#eaf0f7;--notice-bg:#fff2d1}
body{background:var(--page-bg);font-size:15px}header{padding:18px 24px}.brand{flex:1}.brand p{font-size:12px}.records{padding:14px 24px;gap:8px}.records label{min-width:190px}.records button,.records .button{font-size:13px}.records #status{min-height:0}nav{padding:7px 24px;gap:10px}nav button{padding:8px 12px;font-size:13px;background:transparent;border-color:transparent;border-radius:5px}nav button[aria-selected=true]{background:var(--soft);color:var(--text);border-color:transparent;box-shadow:inset 0 -2px var(--brand-accent)}
main{padding:22px}.analysis-workspace{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;align-items:stretch}.analysis-content{min-width:0}.analysis-content>section{min-width:0}.request-summary{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0;margin-bottom:14px}.summary-inner{position:sticky;top:18px;padding:20px}.eyebrow{text-transform:uppercase;letter-spacing:1.2px;font-size:11px;margin-bottom:12px}.request-summary h2{font-size:18px;overflow-wrap:anywhere}#summary-company{font-size:12px;margin-top:8px;overflow-wrap:anywhere}#summary-amount{display:block;font-size:25px;margin:16px 0 4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#summary-term{font-size:13px}#summary-values{margin:24px 0}#summary-values dt{font-size:12px;color:var(--muted);margin-top:18px}#summary-values dd{margin:4px 0 0;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}#summary-basis{display:inline-block;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:6px;font-size:12px}.request-summary .note{font-size:12px;line-height:1.6}
.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{border-radius:12px}.metric:first-child{border-top:2px solid var(--brand-accent)}details,.card{border-radius:12px}input,select,textarea{background:var(--input-bg)}input[readonly]{background:var(--readonly-bg);color:var(--text)}th,th:first-child{background:var(--table-head);color:var(--text)}.result-row td,.result-row td:first-child{background:var(--result-bg)}.after-row td{background:var(--after-bg)}.notice,.warning{background:var(--notice-bg)}.badge{background:var(--soft);color:var(--text)}.red{background:var(--panel)}.yellow{background:var(--panel)}.green{background:var(--panel)}
.history-chart{margin-top:16px}.history-chart h3{font-size:15px}.revenue-bars{display:flex;gap:12px;align-items:end;overflow-x:auto;padding:18px 0 4px;min-height:138px}.revenue-month{flex:1;min-width:60px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;font-size:12px;font-variant-numeric:tabular-nums}.revenue-month small{white-space:nowrap;font-size:11px;color:var(--muted)}.revenue-bar{width:100%;max-width:42px;background:var(--brand-accent);border-radius:4px 4px 0 0}.history-chart .note{font-size:12px}.table-wrap{background:var(--panel)}.heading>div{min-width:0}.actions{gap:10px}
@media(min-width:1450px){.fields{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.analysis-workspace{grid-template-columns:1fr}.request-summary{grid-row:1;margin-bottom:0;border-top:2px solid var(--brand-accent)}.summary-inner{position:static;display:grid;grid-template-columns:1fr 1fr;gap:4px 22px}.summary-inner>.eyebrow,.summary-inner>.note{grid-column:1/-1}#summary-values{grid-column:2;grid-row:2/7;margin:0}#summary-values dt:first-child{margin-top:0}#summary-basis{justify-self:start}.analysis-content{grid-row:2}}
@media(max-width:600px){body{padding:0}main{padding:12px}.fields{grid-template-columns:1fr}header,.records{padding:14px}nav{padding:6px 10px;gap:4px}nav button{flex:1;font-size:12px;padding:8px;min-width:90px}.records label{min-width:0;flex-basis:100%}.summary-inner{display:block;padding:16px}#summary-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}#summary-values dt{margin:0}#summary-values dd{text-align:right;margin:0}.metrics{grid-template-columns:1fr}.metric{padding:12px}.metric strong{font-size:22px}.fields input,.fields select,.fields textarea,td input:not([type=checkbox]){font-size:16px}.heading>label{width:100%}.actions button{min-height:44px}.table-wrap th:first-child,.table-wrap td:first-child{min-width:160px;max-width:160px}button,.button{min-height:42px}#theme-toggle{font-size:13px}.history-chart{padding:12px}#prompt{min-height:400px}}


/* MESA PJ identity: navy, violet and lavender. */
:root{--brand-primary:#7C3AED;--brand-accent:#A78BFA;--brand-lavender:#C4B5FD;--bg:#0B1220;--panel:#131C2E;--page-bg:#080D19;--line:#33405B;--text:#F5F5FC;--muted:#BBC3D7;--input-bg:#0E1728;--table-head:#1C2841;--soft:#272044;--readonly-bg:#1B2540;--result-bg:#232141;--after-bg:#19243A;--notice-bg:#292337}
:root[data-theme=light]{--brand-primary:#7C3AED;--brand-accent:#6D28D9;--brand-lavender:#7C3AED;--bg:#F5F5FA;--panel:#FFFFFF;--page-bg:#E5E7EB;--line:#CCD0E0;--text:#0B1220;--muted:#526078;--input-bg:#FAFAFE;--table-head:#EEEDF7;--soft:#EDE7FA;--readonly-bg:#F0EFF7;--result-bg:#EDE7FA;--after-bg:#EEF0F8;--notice-bg:#FFF4DC}
body{font-family:Inter,'Segoe UI',Arial,sans-serif}header{padding:22px 26px;background:linear-gradient(115deg,var(--panel),var(--bg));gap:18px}.brand{gap:16px;min-width:0}.brand-symbol{width:58px;height:60px;flex:none;object-fit:contain}.brand-name{font-size:34px;line-height:1.05;font-weight:800;letter-spacing:-1.2px;white-space:nowrap}.brand-name span{color:var(--brand-accent)}.brand .brand-tagline{font-size:10px;line-height:1.6;letter-spacing:2.2px;text-transform:uppercase;margin-top:8px;color:var(--text)}
.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:#FFFFFF}.primary:hover{background:#6D28D9;border-color:#6D28D9}.badge{background:var(--soft);color:var(--brand-lavender)}nav button[aria-selected=true]{background:var(--soft);color:var(--text);box-shadow:inset 0 -2px var(--brand-accent)}.revenue-bar{background:linear-gradient(180deg,var(--brand-accent),var(--brand-primary))}#theme-toggle{border-color:var(--line);background:var(--panel);color:var(--text)}.request-summary{border-color:var(--line)}.eyebrow{color:var(--brand-lavender)}
@media(max-width:600px){header{padding:18px 14px;gap:14px}.brand{flex-basis:100%;gap:12px}.brand-symbol{width:46px;height:50px}.brand-name{font-size:29px}.brand .brand-tagline{font-size:9px;letter-spacing:1.5px}.records{border-top:1px solid var(--line)}}

/* Application navigation overlays the analysis without changing its columns. */
#main-menu{position:fixed;inset:0 auto 0 0;margin:0;width:min(320px,90vw);height:100dvh;max-height:100dvh;padding:24px;background:var(--panel);color:var(--text);border:0;border-right:1px solid var(--line);box-shadow:16px 0 70px #0005}
#main-menu::backdrop{background:#03071299;backdrop-filter:blur(3px)}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.menu-heading strong{font-size:24px}.menu-items{display:grid;gap:10px;margin-top:28px}.menu-items button{text-align:left;padding:14px}.menu-items button[aria-current=page]{background:var(--soft);border-color:var(--brand-accent)}
.workbar{display:flex;align-items:center;gap:18px;padding:12px 24px;border-bottom:1px solid var(--line)}.workbar #status{width:auto;flex:1}.workbar #save{flex-shrink:0}
#app-pages{padding:28px;min-height:60vh}#app-pages h2{margin-bottom:10px}#app-pages h2:focus{outline:none}.record-search{flex:1;max-width:560px}.saved-record{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;margin:12px 0;background:var(--panel);border:1px solid var(--line);border-radius:12px}.saved-record h3{overflow-wrap:anywhere}.saved-record p{font-size:13px;margin-top:6px}.saved-record button{flex-shrink:0}#example-controls{max-width:720px}#example-controls button{margin-top:18px}#appearance-controls,#backup-controls{max-width:720px}header .brand{margin-right:auto}
@media(max-width:600px){#app-pages{padding:16px}.workbar{flex-wrap:wrap;padding:12px 14px;gap:8px}.workbar #status{flex-basis:100%}.saved-record{align-items:stretch;flex-direction:column}#menu-toggle{padding:8px}header .brand{margin-right:0}}

.help-button{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:24px;height:24px;min-width:24px;padding:0;margin-left:7px;border-radius:50%;color:var(--brand-accent);font-size:13px;font-weight:700;cursor:help}#field-help-tooltip{position:fixed;z-index:1000;width:340px;max-width:calc(100vw - 16px);padding:14px 16px;border:1px solid var(--brand-accent);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 8px 32px #0004;font-size:14px;line-height:1.5;pointer-events:none}

#duplicate-dialog{width:560px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:2px solid var(--brand-accent);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 20px 80px #0006}#duplicate-dialog::backdrop{background:#030712aa;backdrop-filter:blur(3px)}#duplicate-dialog h2{margin-bottom:14px}#duplicate-dialog .duplicate-company{margin:18px 0;font-weight:600;color:var(--text);overflow-wrap:anywhere}#duplicate-dialog .actions{margin-bottom:0}#duplicate-notice{border-left:4px solid var(--brand-accent)}

.saved-record .record-product{font-size:18px;font-weight:700;color:var(--text);line-height:1.4;margin-top:10px;overflow-wrap:anywhere}
