/* Inovest shared UI — mirrors Bootstrap 5 naming where possible. Brand: Navy var(--c-primary), Green var(--c-accent) (= "meets the standard" only) */
body{margin:0}
a{color:var(--c-primary)}a:hover{color:var(--c-primary-2)}
.root{font-family:'Cairo','Segoe UI',Tahoma,Arial,sans-serif;color:#0B1A22;background:var(--c-sand);font-size:15px;line-height:1.7}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-sm{width:16px;height:16px}.ic-lg{width:26px;height:26px}
[dir=rtl] .flip{transform:scaleX(-1)}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:24px;box-sizing:border-box}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:800;line-height:1.3;color:var(--c-primary)}
.muted{color:#5B6B75}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;font:700 14.5px 'Cairo',sans-serif;border:1px solid transparent;cursor:pointer;text-decoration:none;box-sizing:border-box;white-space:nowrap;transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-p{background:var(--c-primary);color:#fff}.btn-p:hover{background:var(--c-primary-2);color:#fff}
.btn-o{background:#fff;color:var(--c-primary);border-color:#D5DDE2}.btn-o:hover{border-color:var(--c-primary);color:var(--c-primary)}
.btn-l{background:#fff;color:var(--c-primary)}.btn-l:hover{background:var(--c-sand);color:var(--c-primary)}
.btn-g{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.btn-g:hover{background:rgba(255,255,255,.08);color:#fff}
.btn-d{background:#B42318;color:#fff}.btn-d:hover{background:#8F1B12;color:#fff}
.btn-s{background:var(--c-accent-dark);color:#fff}
.btn-sm{min-height:38px;padding:0 14px;font-size:13.5px}
.bi{width:44px;height:44px;border-radius:999px;border:1px solid #E3E8EB;background:#fff;color:var(--c-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-sizing:border-box;flex:none}
.bi:hover{border-color:var(--c-primary)}
.card{background:#fff;border:1px solid #E6EBEE;border-radius:20px;box-shadow:0 1px 2px rgba(2,39,64,.04),0 8px 24px rgba(2,39,64,.05);box-sizing:border-box;transition:transform .25s,box-shadow .25s}
.lift:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(2,39,64,.10)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:var(--c-sand);color:var(--c-primary-2);font-size:12.5px;font-weight:700;white-space:nowrap}
.ok{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--c-accent-soft);color:var(--c-accent-dark);font-size:12.5px;font-weight:700}
.warn{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#FFF4E0;color:#8A5300;font-size:12.5px;font-weight:700}
.bad{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#FDECEA;color:#B42318;font-size:12.5px;font-weight:700}
.eyebrow{font-size:13px;font-weight:700;color:var(--c-primary-2);margin-bottom:4px}
.link{color:var(--c-primary);font-weight:700;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.pill{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid #E3E8EB;background:#fff;color:var(--c-primary-2);font:700 14px 'Cairo';cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.pill.on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.seg{display:inline-flex;background:#fff;border:1px solid #E3E8EB;border-radius:999px;padding:4px;gap:2px;flex-wrap:wrap}
.seg button{min-height:38px;padding:0 16px;border-radius:999px;border:0;background:none;font:700 14px 'Cairo';color:var(--c-primary-2);cursor:pointer}
.seg button.on{background:var(--c-primary);color:#fff}
.inp{width:100%;box-sizing:border-box;height:46px;border-radius:12px;border:1px solid #D5DDE2;background:#fff;padding-inline:14px;font:500 15px 'Cairo';color:#0B1A22;outline:none}
textarea.inp{height:auto;min-height:110px;padding-block:10px;resize:vertical}
.inp:focus{border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(2,39,64,.12)}
.lbl{display:block;font-weight:700;font-size:13.5px;color:var(--c-primary);margin-bottom:6px}
.chk{display:flex;align-items:center;gap:10px;min-height:36px;cursor:pointer;font-weight:600;font-size:14px}
.chk input{width:18px;height:18px;accent-color:var(--c-primary)}
.hero{position:relative;background:var(--c-primary);color:#fff;overflow:hidden}
.hero h1{color:#fff}
.pat{position:absolute;inset:0;background:url(pattern-grid.svg) center/720px repeat;opacity:.07;pointer-events:none}
.crumb{font-size:13px;color:#A9BCC8}.crumb a{color:#A9BCC8;text-decoration:none}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:start;font-size:12.5px;color:#5B6B75;font-weight:700;padding:12px 14px;background:var(--c-sand);white-space:nowrap}
.tbl td{padding:14px;border-top:1px solid #EEF1F3;vertical-align:middle}
.scrollx{overflow-x:auto}
.av{width:48px;height:48px;border-radius:999px;background:var(--c-primary-2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.tabs{display:flex;gap:4px;border-bottom:1px solid #E3E8EB;overflow-x:auto}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 16px;font:700 14.5px 'Cairo';color:#5B6B75;cursor:pointer;white-space:nowrap}
.tabs button.on{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.overlay{position:fixed;inset:0;background:rgba(2,21,33,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}
.modal{background:#fff;border-radius:24px;max-width:440px;width:100%;padding:28px;box-shadow:0 30px 80px rgba(2,21,33,.35);box-sizing:border-box;max-height:90vh;overflow-y:auto}
.modal-ic{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.toast{position:fixed;bottom:24px;inset-inline-start:24px;background:var(--c-dark);color:#fff;border-radius:14px;padding:14px 18px;display:flex;gap:12px;align-items:center;z-index:110;box-shadow:0 16px 40px rgba(2,21,33,.3);font-weight:600}
.thumb{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--c-primary);display:flex;align-items:center;justify-content:center}
.play{width:56px;height:56px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--c-primary);display:flex;align-items:center;justify-content:center;position:relative}
.dur{position:absolute;bottom:10px;inset-inline-end:10px;background:rgba(2,21,33,.8);color:#fff;font-size:12px;padding:2px 8px;border-radius:6px}
.prog{height:8px;border-radius:9px;background:#E6EBEE;overflow:hidden}.prog > span{display:block;height:100%;background:var(--c-primary);border-radius:9px}
.kpi{padding:20px;display:flex;flex-direction:column;gap:6px}
.kpi .v{font-family:'IBM Plex Mono',monospace;font-size:26px;color:var(--c-primary)}
.side-sticky{position:sticky;top:96px}
.sbtn{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 14px;border-radius:12px;border:0;background:none;font:600 14.5px 'Cairo';color:#C9D6DE;cursor:pointer;text-decoration:none;box-sizing:border-box;white-space:nowrap;text-align:start}
.sbtn:hover{background:rgba(255,255,255,.06);color:#fff}
.sbtn.on{background:#fff;color:var(--c-primary)}
.filters-btn{display:none!important}
.burger{display:none!important}
@media (max-width:1180px){.nav-links{display:none!important}.burger{display:inline-flex!important}}
@media (max-width:900px){.side{display:none!important}.filters-btn{display:inline-flex!important}.side-sticky{position:static}}
@media (max-width:720px){.hide-sm{display:none!important}.h-xl{font-size:32px!important}}
@media (prefers-reduced-motion:reduce){.card,.btn{transition:none}}

/* ===== Colour themes (picked with the palette button, saved in localStorage "inv-theme") ===== */
:root{--c-primary:#022740;--c-dark:#021521;--c-primary-2:#154A6B;--c-dark-2:#0E2A3D;--c-accent:#00A850;--c-accent-dark:#007A3D;--c-accent-soft:#E6F6EE;--c-sand:#F4F6F5}
[data-theme=teal]{--c-primary:#0F4C5C;--c-dark:#082A33;--c-primary-2:#1F7A8C;--c-dark-2:#0D3A45;--c-sand:#F1F6F6}
[data-theme=royal]{--c-primary:#1E3A8A;--c-dark:#0F1B45;--c-primary-2:#2563EB;--c-dark-2:#172B66;--c-sand:#F3F5FA}
[data-theme=burgundy]{--c-primary:#6B1D2F;--c-dark:#3A0F19;--c-primary-2:#9F2B45;--c-dark-2:#521624;--c-sand:#F8F4F4}
[data-theme=graphite]{--c-primary:#1F2937;--c-dark:#0B0F17;--c-primary-2:#4B5563;--c-dark-2:#18202B;--c-sand:#F3F4F6}
[data-theme=olive]{--c-primary:#2F4A1E;--c-dark:#17260E;--c-primary-2:#557A36;--c-dark-2:#243A17;--c-accent:#C27C0E;--c-accent-dark:#8A5300;--c-accent-soft:#FFF4E0;--c-sand:#F5F5EF}
.th-btn{position:fixed;bottom:24px;inset-inline-end:24px;z-index:120;width:52px;height:52px;border-radius:999px;border:0;background:var(--c-primary);color:#fff;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}
.th-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.th-pop{position:fixed;bottom:88px;inset-inline-end:24px;z-index:121;background:#fff;border:1px solid #E6EBEE;border-radius:18px;box-shadow:0 24px 60px rgba(2,21,33,.22);padding:10px;width:220px;font-family:'Cairo',sans-serif}
.th-pop strong{display:block;padding:6px 10px 8px;color:var(--c-primary);font-size:14px}
.th-opt{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;border-radius:12px;cursor:pointer;font:600 14px 'Cairo',sans-serif;color:#0B1A22;text-align:start}
.th-opt:hover{background:#F4F6F5}
.th-opt.on{background:#EEF2F5}
.th-sw{width:26px;height:26px;border-radius:999px;flex:none;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.th-sw i{flex:1}
@media (max-width:720px){.th-btn{bottom:84px}.th-pop{bottom:148px}}
