/* Ascent client portal: additions on top of the shared Ascent OS stylesheet. */
[hidden]{display:none!important}
body{margin:0;background:var(--paper)}
img{max-width:100%}
.boot{min-height:100vh;display:grid;place-items:center}
.boot img{height:22px;opacity:.5;animation:bpulse 1.4s ease-in-out infinite}
.booterr{color:var(--bad);font-size:14px}
@keyframes bpulse{50%{opacity:.15}}
/* login */
.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--paper)}
.lcard{width:min(400px,100%);background:var(--white);border:1px solid var(--line);box-shadow:var(--sh-hi,0 18px 40px rgba(17,17,17,.12));padding:32px 28px;display:grid;gap:18px;border-top:3px solid var(--accent)}
.llogo{height:20px;width:auto;justify-self:start}
[data-theme="dark"] .llogo,[data-theme="dark"] .boot img{filter:invert(1) brightness(1.08)}
.lcard h1{margin:4px 0 0;font-size:26px;letter-spacing:-.03em}
.lcard p{margin:4px 0 0;color:var(--mute);font-size:14px}
.lcard label{display:grid;gap:6px;font-size:12px;color:var(--mute)}
.lcard input{border:1px solid var(--g1);background:var(--white);padding:11px 12px;font:inherit;font-size:15px;color:var(--ink);border-radius:0}
.lcard input:focus{outline:2px solid var(--accent);outline-offset:1px}
.lcard .hint{font-size:12px}
.btn.big{padding:12px 16px;font-size:14px;font-weight:600}
.btn.orange{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.orange:hover{background:#D9501B;border-color:#D9501B}
.btn.sm{padding:5px 10px;font-size:12px}
.btn.busy{opacity:.6}
.btn:disabled{opacity:.55;cursor:default;transform:none!important}
a.btn{text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:6px}
/* chrome */
.linkish{border:0;background:none;padding:4px 6px;cursor:pointer}
.linkish:hover{background:var(--line-2)}
.pulse.off{background:var(--bad)}
.pulse.off::after{border-color:var(--bad)}
.railnote{font-size:12px;color:var(--mute);margin:10px 0 0;line-height:1.45}
.clientpick{border:1px solid var(--g1);background:var(--white);padding:6px 8px;font:inherit;font-size:12.5px;color:var(--ink)}
.user span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banner{margin:20px max(32px,env(safe-area-inset-left,0px)) 0;padding:12px 16px;border:1px solid var(--line);background:var(--white);font-size:13.5px;max-width:1296px;box-sizing:border-box}
.banner.warn{border-color:#F3C08F;background:#FFF7EE}
.banner.bad{border-color:#F1B4AE;background:#FFF1EF}
[data-theme="dark"] .banner.warn{background:rgba(241,95,36,.10);border-color:rgba(241,95,36,.4)}
[data-theme="dark"] .banner.bad{background:rgba(220,60,50,.12);border-color:rgba(220,60,50,.4)}
.empty{padding:22px 20px;color:var(--mute);font-size:13.5px}
.mute{color:var(--mute)}
.kpis.k6{grid-template-columns:repeat(6,minmax(0,1fr))}
/* today */
.ny{grid-template-columns:minmax(0,1fr) auto}
.ny .x{font-size:12.5px;color:var(--mute);margin-top:3px}
.ny:last-child{border-bottom:0}
.fbtn{width:100%;border:0;background:none;padding:2px 0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.fbtn:hover .track{background:var(--line)}
.frow{grid-template-columns:170px minmax(0,1fr) 60px}
.frow .fill,.frow:nth-child(n) .fill{background:var(--g3)}
.frow .fill.acc{background:var(--accent)}
.iav{width:32px;height:32px;flex:none;display:grid;place-items:center;font-size:11.5px;font-weight:600;background:var(--line-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.mwho{display:flex;gap:11px;align-items:center;min-width:0}
.mwho .mn{font-weight:600;font-size:14px}
a.cbtn{color:inherit;text-decoration:none;display:inline-block}
.mt>.stage{justify-self:start}
/* raise */
.pgbig{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pgbig .v{font-size:40px;font-weight:700;letter-spacing:-.04em;line-height:1}
.pgbig .d{color:var(--mute);font-size:13px}
.pgbar{height:12px;background:var(--line-2);margin:16px 0 18px}
.pgbar div{height:100%;background:var(--accent);min-width:2px}
.pgfacts,.witgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.pgfacts div,.witgrid div{display:grid;gap:2px}
.pgfacts b,.witgrid b{font-size:18px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.witgrid .d{font-size:12px;color:var(--mute)}
.witbig{font-size:22px;font-weight:600;margin:0}
.ctbl{min-width:600px}
.srcb{font-size:11.5px;border:1px solid var(--g1);padding:2px 7px;color:var(--ink-2);white-space:nowrap}
.srcb.a{border-color:var(--accent);color:var(--accent-ink)}
tr.noh{cursor:default} tr.noh:hover td{background:none}
/* investors */
.ibar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ibar .chips{flex:1;min-width:0}
.search{border:1px solid var(--g1);background:var(--white);padding:8px 11px;font:inherit;font-size:13px;color:var(--ink);width:240px;max-width:100%;border-radius:0}
.stsel{display:grid;gap:6px}
.stsel select,.noteform textarea{border:1px solid var(--g1);background:var(--white);padding:9px 10px;font:inherit;font-size:14px;color:var(--ink);border-radius:0;width:100%;box-sizing:border-box}
.noteform{display:grid;gap:8px;margin:8px 0 14px}
.noteform textarea{resize:vertical;min-height:56px}
.noteform .btn{justify-self:start}
.drawer .dbody{padding:18px 20px}
.drawer{max-height:calc(100vh - 100px);overflow:auto}
/* reports */
.rpk{grid-template-columns:repeat(4,minmax(0,1fr))}
.rpgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
.rplist{display:grid}
.rprow{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 20px;border-bottom:1px solid var(--line-2)}
.rprow:last-child{border-bottom:0}
.rprow .fi{width:34px;height:40px;border:1px solid var(--g1);background:var(--rail);display:grid;place-items:center;font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.06em;color:var(--mute)}
.rprow.new .fi{border-color:var(--accent);color:var(--accent-ink);background:#FEF1EA}
[data-theme="dark"] .rprow.new .fi{background:rgba(241,95,36,.14);color:var(--accent)}
.rprow .t{font-size:14px;font-weight:600;letter-spacing:-.01em;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rprow .t small{font-size:11px;color:var(--mute);margin-left:-8px}
.rprow .x{font-size:12.5px;color:var(--mute);margin-top:2px}
.rprow .acts{display:flex;gap:6px}
.rprow .btn{padding:6px 10px;font-size:12.5px}
.newtag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#fff;padding:2px 6px;font-weight:600}
.platb{font-family:var(--mono);font-size:10.5px;border:1px solid var(--g1);padding:1px 6px;color:var(--ink-2);font-weight:500}
.seg.sm button{padding:5px 10px;font-size:12px}
.seg:empty{display:none}
.rcsum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--rail)}
.rcsum div{padding:12px 20px;display:grid;gap:2px}
.rcsum div+div{border-left:1px solid var(--line)}
.rcsum .v{font-size:18px;font-weight:600;letter-spacing:-.02em}
/* settings + dialogs */
.sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.setform label{display:grid;gap:6px;font-size:12px;color:var(--mute)}
.setform input{border:1px solid var(--g1);background:var(--white);padding:9px 10px;font:inherit;font-size:14px;color:var(--ink);border-radius:0;width:100%;box-sizing:border-box}
.setform .cin input{border:0}
.setform .acts{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line-2)}
.setform .hint,#conninfo .hint{font-size:12.5px;color:var(--mute)}
#conninfo p{margin:0 0 8px}
.cdlg .acts{display:flex;gap:8px}
.filebox{display:block;border:1px dashed var(--g2);padding:16px;text-align:center;cursor:pointer;font-size:13px;color:var(--ink-2)}
.filebox:hover{border-color:var(--ink)}
.filebox input{display:block;margin:0 auto 6px;font-size:12px;color:var(--mute)}
.imtw{max-height:200px;border:1px solid var(--line)}
.imtw table{min-width:480px;font-size:12.5px}
@media (max-width:1200px){.kpis.k6{grid-template-columns:repeat(3,minmax(0,1fr))}.rpgrid{grid-template-columns:minmax(0,1fr)}.pipe{grid-template-columns:minmax(0,1fr)}.drawer{position:static;max-height:none}}
@media (max-width:880px){.kpis.k6,.rpk{grid-template-columns:repeat(2,minmax(0,1fr))}.rprow{grid-template-columns:30px minmax(0,1fr);padding:12px 16px}.rprow .acts{grid-column:2}.frow{grid-template-columns:110px minmax(0,1fr) 40px}.sgrid{grid-template-columns:minmax(0,1fr)}.banner{margin:16px 16px 0}.user span{display:none}.search{width:100%}.mt{grid-template-columns:62px minmax(0,1fr)}.mt .oc{grid-column:1/-1;justify-content:flex-start}}
