:root{
  --bg:#eef6f5; --card:#fff; --ink:#0f172a; --muted:#64748b; --line:#d3e5e2; --brand:#0b4a46; --accent:#0f766e;
  --pos:#15803d; --neg:#b91c1c; --amber:#b45309; --radius:12px;
}
*{box-sizing:border-box}
html{font-size:15px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.45}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
.topbar{background:var(--brand);color:#fff;display:flex;align-items:center;gap:28px;padding:4px 28px;min-height:64px;position:sticky;top:0;z-index:5}
.topbar .brand{font-weight:700;font-size:1.05rem;letter-spacing:.2px;line-height:1.15;padding:4px 0}
.topbar .brand .owner{display:block;font-size:.8rem;font-weight:600;color:#cbd5e1;letter-spacing:1px}
.topbar .brand small.tag{font-size:.6rem;letter-spacing:.8px;margin-top:0}
.topbar .brand small{display:block;font-weight:400;font-size:.68rem;color:#99d5cd;letter-spacing:.5px;margin-top:-2px}
.topbar nav{display:flex;gap:6px;flex:1}
.topbar nav a{color:#cbd5e1;padding:8px 14px;border-radius:8px;font-weight:500}
.topbar nav a:hover{background:#0f6b64;color:#fff;text-decoration:none}
.topbar nav a.active{background:#0f6b64;color:#fff}
.topbar .who{font-size:.85rem;color:#94a3b8;display:flex;gap:14px;align-items:center}
.topbar form{margin:0}
.linkbtn{background:none;border:0;color:#cbd5e1;cursor:pointer;font:inherit;padding:0}
.linkbtn:hover{color:#fff;text-decoration:underline}
main{max-width:1240px;margin:0 auto;padding:26px 28px 60px}
h1{font-size:1.55rem;margin:0 0 4px} h2{font-size:1.1rem;margin:0 0 12px} h3{font-size:.95rem;margin:0 0 8px}
.sub{color:var(--muted);margin:0 0 20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:20px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}
.g-chart{grid-template-columns:1fr 1.3fr}
@media(max-width:900px){.g2,.g3,.g4,.g5,.g-chart{grid-template-columns:1fr}.topbar{flex-wrap:wrap;height:auto;padding:10px 16px}main{padding:16px}}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;border-top:4px solid var(--accent)}
.tile .l{font-size:.75rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.tile .v{font-size:1.45rem;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.tile .n{font-size:.78rem;color:var(--muted);margin-top:2px}
.t-blue{border-top-color:#0f766e}.t-green{border-top-color:#16a34a}.t-amber{border-top-color:#f59e0b}.t-violet{border-top-color:#7c3aed}.t-teal{border-top-color:#14b8a6}.t-pink{border-top-color:#db2777}
.pos{color:var(--pos)}.neg{color:var(--neg)}.muted{color:var(--muted)}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:left;padding:9px 10px;border-bottom:2px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
th.r,td.r{text-align:right}
tr:hover td{background:#f8fafc}
.tbl-wrap{overflow-x:auto}
.cat{border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:var(--radius);background:var(--card);margin-bottom:16px;overflow:hidden}
.cat-head{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#f8fafc;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px}
.cat-head .t{font-weight:700;font-size:1rem}
.cat-head .s{color:var(--muted);font-size:.85rem}
.cat td.name{min-width:260px;font-weight:500}
.cat td.name small{display:block;color:var(--muted);font-weight:400}
.cat tfoot td{font-weight:700;background:#f8fafc;border-bottom:0}
.totals{background:var(--brand);color:#fff;border-radius:var(--radius);padding:18px 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px}
.totals .l{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8}
.totals .v{font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}
.totals .pos{color:#4ade80}.totals .neg{color:#f87171}
@media(max-width:900px){.totals{grid-template-columns:repeat(2,1fr)}}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}
.b-green{background:#dcfce7;color:#166534}.b-red{background:#fee2e2;color:#991b1b}.b-amber{background:#fef3c7;color:#92400e}
.b-teal{background:#ccfbf1;color:#115e59}.b-grey{background:#e2e8f0;color:#475569}.b-blue{background:#ccfbf1;color:#115e59}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:#1d4ed8;text-decoration:none}
.btn.sec{background:#fff;color:var(--ink);border:1px solid #cbd5e1}.btn.sec:hover{background:#f1f5f9}
.btn.sm{padding:5px 11px;font-size:.85rem}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}
input[type=text],input[type=password],input[type=email],input[type=search],select,textarea,input[type=file]{width:100%;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #5eead4;border-color:var(--accent)}
label{display:block;font-weight:600;font-size:.85rem;margin:12px 0 5px}
.row{display:flex;gap:10px;align-items:flex-end}.row>*{flex:1}.row>.btn{flex:0 0 auto}
.flash{padding:11px 14px;border-radius:8px;margin-bottom:14px;font-weight:500}
.flash.ok{background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}
.warn{background:#fffbeb;border:1px solid #fde68a;color:#78350f;padding:11px 14px;border-radius:8px;margin-bottom:14px;font-size:.9rem}
.note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:11px 14px;border-radius:8px;margin-bottom:14px;font-size:.9rem}
dl.kv{display:grid;grid-template-columns:150px 1fr;gap:9px 14px;margin:0}
dl.kv dt{color:var(--muted);font-size:.85rem}dl.kv dd{margin:0;font-weight:500;word-break:break-word}
.chart-box{position:relative;height:300px}.chart-box.tall{height:380px}
.auth{max-width:400px;margin:9vh auto}
.auth .card{padding:28px}
.lots td{background:#f8fafc;font-size:.85rem;color:#334155}
.lots table th{background:transparent}
.chip{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px;vertical-align:middle}
.toggle{cursor:pointer;color:var(--accent);font-size:.8rem;background:none;border:0;padding:0;font:inherit}
.foot{color:var(--muted);font-size:.78rem;text-align:center;padding:24px 10px}
pre.msg{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:.82rem;margin:8px 0 0}
@media print{
  .topbar,.btns,.foot,.noprint{display:none!important}
  body{background:#fff}main{padding:0;max-width:none}
  .card,.cat,.tile{break-inside:avoid;box-shadow:none}
  .totals{background:#fff;color:#000;border:1px solid #000}.totals .l{color:#444}
  .chart-box{height:240px}
}

.sip{display:inline-block;margin-top:3px;padding:1px 8px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:.72rem;font-weight:700;letter-spacing:.2px}
.t-indigo{border-top-color:#4f46e5}

.alert-red{background:#fee2e2;border:1px solid #f87171;border-left:6px solid #dc2626;color:#991b1b;padding:11px 14px;border-radius:8px;margin-bottom:14px;font-size:.92rem}
.alert-red strong{letter-spacing:.4px}

.otp{font-size:1.5rem;letter-spacing:.3em;text-align:center}
label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.86rem;margin-top:14px}label.check input{width:auto;margin-top:3px}
.wrap-narrow{max-width:640px;margin:0 auto}.steps{padding-left:20px;line-height:1.55}.steps li{margin-bottom:18px}
.qrbox{margin:10px 0;display:inline-block;padding:10px;border:1px solid #d3e5e2;border-radius:14px;background:#fff}.qrbox svg{width:280px;height:280px;display:block;background:#fff}
code.secret{font-size:1.05rem;letter-spacing:.08em;background:#f1f5f9;padding:3px 8px;border-radius:6px}
.codes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.codes code{background:#f1f5f9;border:1px dashed #94a3b8;border-radius:8px;padding:10px;text-align:center;font-size:1.05rem;letter-spacing:.12em}

.tabs-bar{display:flex;gap:6px;margin:0 0 14px;border-bottom:2px solid var(--line)}
.tabs-bar a{padding:9px 16px;border-radius:10px 10px 0 0;font-weight:600;color:var(--muted);text-decoration:none;margin-bottom:-2px;border-bottom:2px solid transparent}
.tabs-bar a.on{color:var(--accent);border-bottom-color:var(--accent);background:#fff}
.print-head{display:none}
.period-tiles{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.period-tiles{grid-template-columns:repeat(2,1fr)}}
.disclaimer{margin-top:14px}
@media print{
  .print-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #0f766e;padding-bottom:8px;margin-bottom:12px}
  .tabs-bar,.period-form,.inv-top,.search{display:none!important}
  table{font-size:10px}.card{border:1px solid #ccc}.tile{border:1px solid #ccc}
  .cg-detail tr,.cg-sum tr{break-inside:avoid}
  .period .card{break-inside:auto}
  .period thead{display:table-header-group}.period tr{break-inside:avoid}
  .period h2,.period h3{break-after:avoid}
  @page{size:A4 landscape;margin:12mm}
}
.btn.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}.btn.danger:hover{background:#991b1b}

/* ---------------- Portfolio PDF (print-only layout) ---------------- */
.pdf-report{display:none}
@media print{
  @page{size:A4;margin:11mm 11mm 17mm}
  .screen-only,.topbar,.inv-top,.foot,.flash{display:none!important}
  body,body.inv{background:#fff!important}
  main,.inv-main{padding:0!important;max-width:none!important;margin:0!important}
  .pdf-report{display:block;font-family:inherit;color:#0f2a2a;font-size:8.6pt;line-height:1.35;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pdf-report *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pdf-hero{display:flex;justify-content:space-between;align-items:center;gap:8mm;padding:7mm 8mm;border-radius:3mm;color:#fff;background:linear-gradient(120deg,#134e4a 0%,#0f766e 60%,#14b8a6 100%)}
  .pdf-owner{font-size:23pt;font-weight:800;letter-spacing:1.5px;line-height:1.05}
  .pdf-firm{font-size:11.5pt;font-weight:700;letter-spacing:5px;color:#99f6e4;margin-top:1mm}
  .pdf-arn{font-size:9pt;margin-top:2.2mm;font-weight:600;letter-spacing:.4px}
  .pdf-tag{font-size:6.6pt;letter-spacing:1.1px;margin-top:1.4mm;color:#ccfbf1;text-transform:uppercase}
  .pdf-contact{text-align:right;border-left:.3mm solid rgba(255,255,255,.35);padding-left:7mm;white-space:nowrap}
  .pdf-contact div+div{margin-top:3mm}
  .pdf-contact span{display:block;font-size:6.5pt;letter-spacing:1.4px;text-transform:uppercase;color:#99f6e4}
  .pdf-contact b{font-size:10.5pt;font-weight:700}
  .pdf-title{margin:8mm 0 5mm}
  .pdf-title h1{margin:0;font-size:31pt;font-weight:800;letter-spacing:4px;line-height:1;color:#0f766e;padding-bottom:3mm;border-bottom:1.3mm solid #14b8a6}
  .pdf-sub{margin-top:3mm;font-size:9.4pt;color:#3f5f5c}
  .pdf-kpis{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4mm;margin-bottom:7mm;break-inside:avoid}
  .pdf-kpis .k{border:.3mm solid #cfe6e2;background:#f3faf9;border-radius:3mm;padding:4mm 5mm}
  .pdf-kpis .k span{display:block;font-size:6.8pt;letter-spacing:1.3px;text-transform:uppercase;color:#4b6b68;font-weight:700}
  .pdf-kpis .k b{display:block;font-size:17pt;margin:1mm 0;letter-spacing:-.3px}
  .pdf-kpis .k em{font-style:normal;font-size:8pt;color:#4b6b68}
  .pdf-kpis .k.main{background:#0f766e;border-color:#0f766e;color:#fff}
  .pdf-kpis .k.main span,.pdf-kpis .k.main em{color:#ccfbf1}.pdf-kpis .k.main b{font-size:21pt}
  .pdf-kpis .k.main em.pos{color:#bbf7d0}.pdf-kpis .k.main em.neg{color:#fecdd3}
  .pdf-report .pos{color:#15803d}.pdf-report .neg{color:#b91c1c}.pdf-report .muted{color:#6b8582}
  .pdf-alloc{break-inside:avoid}
  .pdf-alloc h2,.pdf-h2{margin:0 0 3mm;font-size:13pt;letter-spacing:.4px;color:#0f766e;font-weight:800;text-transform:uppercase}
  .pdf-alloc-grid{display:grid;grid-template-columns:50mm 1fr;gap:6mm;align-items:center}
  .donut{position:relative;width:50mm;height:50mm}.donut svg{width:100%;height:100%;transform:none}
  .donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .donut-c span{font-size:6.2pt;letter-spacing:1px;text-transform:uppercase;color:#4b6b68}.donut-c b{font-size:9.5pt;color:#0f766e}
  .pdf-tbl{width:100%;border-collapse:collapse}
  .pdf-tbl th,.pdf-tbl td{padding:1.6mm 2mm;text-align:left;vertical-align:top}
  .pdf-tbl .r{text-align:right;white-space:nowrap}
  .pdf-tbl thead{display:table-header-group}.pdf-tbl tfoot{display:table-footer-group}
  .pdf-tbl tr{break-inside:avoid;page-break-inside:avoid}
  .pdf-tbl tr.cols th{background:#0f766e;color:#fff;font-size:7pt;letter-spacing:.7px;text-transform:uppercase;font-weight:700}
  .pdf-tbl tbody tr:nth-child(even) td{background:#f4faf9}
  .pdf-tbl tbody td{border-bottom:.2mm solid #dcebe8}
  .pdf-tbl tfoot td{font-weight:800;background:#e3f3f0;border-top:.5mm solid #0f766e}
  .pdf-tbl.alloc td.nm{white-space:nowrap}.pdf-tbl.alloc td.nm i{display:inline-block;width:2.6mm;height:2.6mm;border-radius:50%;margin-right:2mm;vertical-align:-.3mm}
  .pdf-tbl.alloc .sh{white-space:nowrap;font-size:7.6pt}.bar{display:inline-block;width:16mm;height:1.8mm;background:#e1eeec;border-radius:1mm;margin-right:1.5mm;vertical-align:middle;overflow:hidden}.bar span{display:block;height:100%}
  .newpage{break-before:page;page-break-before:always;margin-top:0}
  .pdf-cat{margin-bottom:6mm}.pdf-cat.keep{break-inside:avoid;page-break-inside:avoid}
  .pdf-tbl.hold .cat-row th{background:#e8f5f2;color:#0f4f4a;border-left:2mm solid #0f766e;padding:2.4mm 3mm;font-size:10pt;text-transform:none;letter-spacing:0}
  .cat-row .cn{font-weight:800;font-size:10.8pt}.cat-row .cw{margin-left:3mm;font-weight:500;font-size:7.8pt;color:#4b6b68}.cat-row .cv{float:right;font-weight:800}.cat-row .cv em{font-style:normal;font-size:8.5pt;margin-left:2mm}
  .pdf-tbl.hold td.name{width:44%}.pdf-tbl.hold td.name small{display:block;color:#6b8582;font-size:6.9pt;margin-top:.4mm}
  .pdf-end{break-inside:avoid;margin-top:2mm}
  .pdf-tbl.total td{background:#0f766e;color:#fff;font-weight:700;padding:3mm 3mm;font-size:9pt}.pdf-tbl.total td.pos{color:#bbf7d0}.pdf-tbl.total td.neg{color:#fecdd3}
  .pdf-sign{display:flex;justify-content:space-between;gap:8mm;margin-top:6mm;padding:4mm 5mm;border:.3mm solid #cfe6e2;border-left:2mm solid #14b8a6;border-radius:2mm;font-size:8.3pt;background:#f3faf9}
  .pdf-sign .r{text-align:right}.pdf-sign i{font-size:6.6pt;letter-spacing:.8px;text-transform:uppercase;color:#4b6b68}
  .pdf-disc{margin:4mm 0 0;font-size:6.8pt;color:#6b8582;line-height:1.45}
}

@media print{
  .sip-pdf{display:none!important}
  body.print-sip main>*:not(.sip-pdf){display:none!important}
  body.print-sip .sip-pdf{display:block!important}
  .sip-pdf .pdf-tbl{table-layout:auto}.sip-pdf .pdf-tbl.hold td.name{width:auto;min-width:55mm}.sip-pdf .pdf-tbl th,.sip-pdf .pdf-tbl td{font-size:7.4pt;padding:1.5mm 1.4mm}.sip-pdf .pdf-tbl td:nth-child(n+2){white-space:nowrap}.sip-pdf .pdf-tbl th{white-space:normal}
  .sip-pdf .pdf-tbl tfoot td{background:#e3f3f0}
}
@media print{.sip-pdf .pdf-title{margin:5mm 0 3mm}.sip-pdf .pdf-title h1{font-size:26pt}.sip-pdf .pdf-kpis{margin-bottom:4mm}.sip-pdf .pdf-kpis .k{padding:3mm 4mm}.sip-pdf .pdf-hero{padding:5mm 7mm}.sip-pdf .pdf-disc{margin-top:2.5mm}}
.tform{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 16px;align-items:end}.tform label{margin:0;display:flex;flex-direction:column;gap:4px}.tform .wide{grid-column:1/-1}.tform label.check{flex-direction:row;align-items:center}.tform-btn{display:flex;align-items:flex-end}
.ext-mark{color:#b45309;font-weight:700}
a.folio{color:#0f766e;font-weight:700;text-decoration:none;border-bottom:1px dashed #0f766e}a.folio:hover{color:#0b4a46;background:#e6f6f3}
.posk{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.posk div{background:#f6fbfa;border:1px solid #cfe3e0;border-radius:10px;padding:8px 12px}.posk span{display:block;font-size:.72rem;color:var(--muted)}.posk b{font-size:1.05rem}
.amcbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.amc{display:flex;align-items:center;gap:8px;border:1px solid #cfe3e0;background:#fff;border-radius:12px;padding:6px 12px 6px 6px;cursor:pointer;font:inherit;text-align:left}.amc:hover{border-color:#14b8a6}.amc.on{outline:2px solid #14b8a6;background:#f0fdfa}
.amc i{font-style:normal;width:34px;height:34px;border-radius:9px;color:#fff;font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.amc b{display:block;font-size:.82rem;line-height:1.1}.amc small{color:var(--muted);font-size:.72rem}
.amc-off{display:none!important}.sno{color:var(--muted);font-size:.8rem;width:1%}
.stmt{background:#fff;border:1px solid #9fd3cc;border-radius:6px;overflow:hidden;margin-bottom:16px}
.stmt-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:8px 12px;font-size:.9rem}
.stmt-link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:#0f766e;text-decoration:underline;cursor:pointer}.stmt-back{display:inline-block;margin-right:12px;padding:4px 12px;border-radius:8px;background:#0f766e;color:#fff!important;font-weight:700;font-size:.82rem;text-decoration:none!important}.stmt-back:hover{background:#0b4a46}
.stmt-band{background:linear-gradient(90deg,#0b4a46,#0f766e);color:#fff;padding:10px 12px}.stmt-name{font-weight:700;font-size:1.1rem}.stmt-sub{font-size:.78rem;opacity:.9;margin-top:2px}
.stmt-tbl{width:100%;border-collapse:collapse;font-size:.85rem}.stmt-tbl th{text-align:left;padding:8px 12px;border-bottom:1px solid #0f766e;font-size:.78rem;background:#fff;color:#111}.stmt-tbl th.r,.stmt-tbl td.r{text-align:right}
.stmt-tbl td{padding:6px 12px;background:#d3ece8;border-bottom:1px solid #fff;vertical-align:top}.stmt-tbl tr.hist td{background:#e8f5f3}.stmt-tbl tr.ob td{background:#fff;font-weight:700;border-bottom:1px solid #d5dde5}
.stmt-tbl .dt{white-space:nowrap;text-align:center}.stmt-tbl tr.out td{font-style:italic}.stmt-tbl tr.rev td{opacity:.5;text-decoration:line-through}
.stmt-desc{display:block;color:#475569;font-style:italic;font-size:.76rem;margin-top:2px;font-weight:400}
.stmt-foot{padding:8px 12px;font-size:.85rem;border-top:1px solid #b9ddd8;background:#f3fbf9}.stmt-foot b{color:#0f766e}
.stmt .ob-cur,.stmt .nofy{display:none}.stmt.hide-hist .ob-all,.stmt.hide-hist .hist{display:none}.stmt.hide-hist .ob-cur,.stmt.hide-hist .nofy{display:table-row}

/* ---- side-tab layout ---- */
.inv-shell{display:flex;min-height:100vh;align-items:stretch}
.inv-side{width:264px;flex:0 0 264px;background:linear-gradient(180deg,#073431 0%,#0b4a46 55%,#0f766e 140%);color:#d7f3ef;padding:22px 14px 18px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;overflow-y:auto}
.inv-side .inv-brand{padding:0 8px 14px;border-bottom:1px solid rgba(255,255,255,.14);line-height:1.2}
.inv-side .inv-brand .owner{display:block;font-size:.72rem;letter-spacing:1.2px;color:#b7e5df;font-weight:700}.inv-side .inv-brand b{display:block;font-size:1.12rem;color:#fff;margin:2px 0}.inv-side .inv-brand small{display:block;font-size:.68rem;color:#99d5cd}
.inv-user{padding:0 8px;font-size:.78rem;color:#99d5cd}.inv-user b{display:block;color:#fff;font-size:.95rem;word-break:break-all}
.inv-nav{display:flex;flex-direction:column;gap:4px}
.inv-nav a,.inv-nav .out{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#d7f3ef;font:inherit;font-weight:600;font-size:.92rem;border:0;background:none;width:100%;text-align:left;cursor:pointer;border-left:4px solid transparent}
.inv-nav i{font-style:normal;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:rgba(255,255,255,.1);color:var(--ac,#5eead4);font-size:.95rem;flex:0 0 22px}
.inv-nav a:hover,.inv-nav .out:hover{background:rgba(255,255,255,.1);text-decoration:none}
.inv-nav a.on{background:#fff;color:#0b4a46;border-left-color:var(--ac);box-shadow:0 6px 16px rgba(0,0,0,.2)}.inv-nav a.on i{background:#0f766e;color:#fff}
.inv-nav form{margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.14)}.inv-nav .out{color:#fecaca}.inv-nav .out i{color:#fca5a5}
.inv-sec{margin-top:auto;padding:8px 12px;font-size:.82rem;color:#99d5cd;border-radius:10px}.inv-sec:hover,.inv-sec.on{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.inv-content{flex:1;min-width:0}
.inv-shell .inv-main{max-width:1100px}
.kpi3{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;margin-bottom:18px}
.kcard{background:#fff;border:1px solid #d3e5e2;border-radius:18px;padding:20px 22px;box-shadow:0 6px 22px rgba(15,118,110,.06)}
.kcard .l{display:block;font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;color:#4b6b68;font-weight:700}.kcard b{display:block;font-size:1.9rem;margin:4px 0;letter-spacing:-.5px}.kcard em{font-style:normal;font-size:.84rem;color:#4b6b68}.kcard em.pos{color:#15803d}.kcard em.neg{color:#b91c1c}
.kcard b.pos{color:#15803d}.kcard b.neg{color:#b91c1c}
.kcard.main{background:linear-gradient(135deg,#0b4a46,#0f766e 60%,#14b8a6 130%);color:#fff;border:0;box-shadow:0 14px 30px rgba(11,74,70,.28)}.kcard.main .l,.kcard.main em{color:#c6efe9}.kcard.main em.pos{color:#bbf7d0}.kcard.main em.neg{color:#fecdd3}.kcard.main b{font-size:2.3rem}
.caps{text-transform:uppercase;letter-spacing:1px;color:#0f766e;font-size:.9rem!important}
.alloc-grid{display:grid;grid-template-columns:230px 1fr;gap:26px;align-items:center}
.inv-donut{position:relative;width:220px;height:220px}.inv-donut svg{width:100%;height:100%}
.inv-donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.inv-donut-c span{font-size:.62rem;letter-spacing:1px;text-transform:uppercase;color:#4b6b68}.inv-donut-c b{font-size:1.1rem;color:#0f766e}
.alloc-tbl{width:100%;border-collapse:collapse}.alloc-tbl th{font-size:.7rem;text-transform:uppercase;letter-spacing:.8px;color:#4b6b68;text-align:left;padding:6px 8px;border-bottom:2px solid #d3e5e2}.alloc-tbl th.r,.alloc-tbl td.r{text-align:right}
.alloc-tbl td{padding:9px 8px;border-bottom:1px solid #e6f0ee}.alloc-tbl td.nm{font-weight:600}.alloc-tbl td.nm i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px}
.alloc-tbl td.sh{white-space:nowrap;font-size:.85rem;min-width:150px}.alloc-tbl .bar{display:inline-block;vertical-align:middle;width:80px;height:7px;background:#e2f0ee;border-radius:9px;margin-right:8px;overflow:hidden}.alloc-tbl .bar span{display:block;height:100%}
.alloc-tbl tfoot td{font-weight:800;background:#e8f5f2;border-bottom:0}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;border-bottom:2px solid #d3e5e2}.subtabs a{padding:9px 16px;font-weight:700;font-size:.9rem;color:#4b6b68;border-radius:10px 10px 0 0;margin-bottom:-2px;border-bottom:3px solid transparent}.subtabs a:hover{text-decoration:none;background:#e8f5f2}.subtabs a.on{color:#0f766e;border-bottom-color:#0f766e;background:#fff}
.alert-target{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;margin-bottom:14px;border:1px solid #fbbf24;border-left:6px solid #f59e0b;background:#fffbeb;color:#78350f}
.alert-target.done{border-color:#4ade80;border-left-color:#16a34a;background:#f0fdf4;color:#14532d}.alert-target form{margin:0}
.tform{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 16px;align-items:end}.tform label{font-weight:600;font-size:.85rem;display:flex;flex-direction:column;gap:4px}.tform .wide{grid-column:1/-1}.tform-btn{display:flex;align-items:flex-end}
.meter.big{height:12px}.tgt.done .meter span{background:#16a34a}.tgt.verge .meter span{background:#f59e0b}.tgt .meter span{background:#0f766e}.tgt.late{border-color:#fca5a5}.tgt-nums{margin:4px 0 8px}
.wish.is-done{opacity:.65}.calc-frame{padding:0;overflow:hidden}
.linkbtn{cursor:pointer;color:#0f766e;font-weight:700;margin:4px 0}
@media(max-width:900px){.inv-shell{flex-direction:column}.inv-side{position:static;width:auto;height:auto;flex:none;padding:12px}.inv-nav{flex-direction:row;overflow-x:auto;gap:6px}.inv-nav a,.inv-nav .out{white-space:nowrap;width:auto}.inv-nav form{margin:0;padding:0;border:0}.inv-side .inv-user,.inv-sec{display:none}.kpi3,.alloc-grid{grid-template-columns:1fr}.inv-donut{margin:0 auto}}
@media print{.inv-side{display:none!important}.inv-shell{display:block}}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;border-bottom:2px solid #d3e5e2}.subtabs a{padding:9px 16px;font-weight:700;font-size:.9rem;color:#4b6b68;border-radius:10px 10px 0 0;margin-bottom:-2px;border-bottom:3px solid transparent}.subtabs a:hover{text-decoration:none;background:#e8f5f2}.subtabs a.on{color:#0f766e;border-bottom-color:#0f766e;background:#fff}
.wish.is-done{opacity:.65}.calc-frame{padding:0;overflow:hidden}
.inv-brand small.amfi{color:#5eead4;font-weight:700;letter-spacing:.3px;margin-top:3px}
.inv-brand small.tg{margin-top:3px;font-style:italic}
.dist-shell main{max-width:1240px}
.foot p{margin:0 0 6px}

.wish-pop{position:fixed;inset:0;background:rgba(7,52,49,.55);z-index:90;display:flex;align-items:center;justify-content:center;padding:16px}
.wish-pop-box{background:#fff;border-radius:16px;max-width:520px;width:100%;padding:22px 24px;border-top:6px solid #14b8a6;box-shadow:0 20px 60px rgba(0,0,0,.35);animation:wishglow 2s ease-in-out infinite}
.wish-pop-box h2{margin:0 0 6px;color:#0f766e}.wish-pop-box ul{margin:0 0 16px;padding-left:18px;max-height:260px;overflow:auto}.wish-pop-box li{margin:6px 0}
@keyframes wishglow{0%,100%{box-shadow:0 20px 60px rgba(0,0,0,.35),0 0 0 0 rgba(20,184,166,.0)}50%{box-shadow:0 20px 60px rgba(0,0,0,.35),0 0 28px 6px rgba(20,184,166,.55)}}
.glow-tab{border:2px solid #14b8a6;border-radius:14px;background:#fff;margin-bottom:16px;animation:tabglow 2.2s ease-in-out infinite}
.glow-tab>summary{cursor:pointer;list-style:none;padding:13px 18px;font-weight:800;color:#0f766e;font-size:1.05rem;display:flex;align-items:center;gap:10px}
.glow-tab>summary::-webkit-details-marker{display:none}.glow-tab>summary::after{content:"▾";margin-left:auto}.glow-tab[open]>summary::after{content:"▴"}
.glow-tab .newbadge{background:#f59e0b;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:999px;letter-spacing:.5px}
.glow-tab .glow-body{padding:0 18px 16px}
@keyframes tabglow{0%,100%{box-shadow:0 0 6px 0 rgba(20,184,166,.25)}50%{box-shadow:0 0 22px 5px rgba(20,184,166,.6)}}
@media print{.wish-pop,.glow-tab{display:none!important}}

.ptabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
.ptab{border:1px solid #b9ddd8;background:#fff;color:#0b4a46;border-radius:999px;padding:6px 11px;font:inherit;font-weight:700;font-size:.8rem;cursor:pointer}
.ptab:hover{background:#e6f6f3}.ptab.on{background:#0f766e;color:#fff;border-color:#0f766e}
.ptab.danger{color:#b91c1c;border-color:#fecaca}.ptab.danger.on{background:#b91c1c;color:#fff;border-color:#b91c1c}
.ptab.glow{border-color:#14b8a6;animation:tabglow 2.2s ease-in-out infinite}.ptab.glow:not(.on){background:#f0fdfa}
.ptab .newbadge{background:#f59e0b;color:#fff;font-size:.66rem;padding:1px 7px;border-radius:999px;margin-left:4px}

.amc-logo{display:inline-block;height:18px;max-width:58px;width:auto;object-fit:contain;vertical-align:middle;margin-right:7px;border-radius:3px}
.amc-tile{height:34px;width:70px;object-fit:contain;background:#fff;border-radius:7px;padding:2px 4px;border:1px solid #e2eceb;flex:0 0 auto}
.amc{padding:5px 12px 5px 5px}
.ext-note{background:#fffbeb;border:1px solid #fcd34d;border-left:5px solid #f59e0b;color:#78350f;border-radius:12px;padding:12px 16px;margin:0 0 16px;font-size:.9rem;line-height:1.45}
.ext-btnrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px}
[hidden]{display:none!important}

/* ---- compact rows: more of the portfolio on one screen ---- */
td{padding:7px 10px}
.cat table td,table.holdings td,table.txns td,table.ext td,.period table td{padding:4px 9px;font-size:.82rem;line-height:1.28}
.cat table th,table.holdings th,table.txns th,table.ext th,.period table th{padding:5px 9px;font-size:.66rem}
.cat td.name,table.holdings td.name,table.txns td.name{font-size:.84rem}
.cat td.name small,table.holdings td.name small,table.txns td.name small,table.ext td.name small{font-size:.7rem!important;margin:1px 0 0!important}
.cat table td .badge,table.holdings td .badge{font-size:.66rem;padding:0 6px}
.cat table td .sip,table.holdings td .sip{font-size:.66rem;padding:0 7px;margin-top:2px}
.cat table tfoot td{padding:5px 9px}
.cat-head{padding:8px 16px}
.amc-logo{height:16px;max-width:52px;margin-right:6px}
.stmt-tbl td{padding:3px 12px;font-size:.8rem;line-height:1.25}.stmt-tbl th{padding:6px 12px}.stmt-desc{font-size:.68rem;margin-top:0}
.alloc-tbl td{padding:6px 8px;font-size:.88rem}
.cat td.name{min-width:190px}.cat table td,.cat table th{padding-left:7px;padding-right:7px}.cat table td.r,.cat table th.r{white-space:nowrap}

/* bank details: one row per account, folios as chips that wrap side by side */
.bank-tbl{table-layout:fixed;width:100%}
.bank-tbl col.c-bank{width:13%}.bank-tbl col.c-acct{width:14.5%}.bank-tbl col.c-type{width:8.5%}.bank-tbl col.c-city{width:9%}
.bank-tbl th{font-size:.68rem;letter-spacing:.05em;color:#587370;text-transform:uppercase;padding:8px 8px;line-height:1.25}
.bank-tbl td{vertical-align:top;padding:12px 8px;border-bottom:1px solid #e3eeec}
.bank-tbl tr:last-child td{border-bottom:0}
.bank-tbl .b-name{font-weight:700;color:#0b4a46;overflow-wrap:anywhere}
.bank-tbl .b-acct{font-family:ui-monospace,Consolas,monospace;font-size:.84rem;color:#16302d;white-space:nowrap}
.bank-tbl .b-city{color:#3b5b57;overflow-wrap:anywhere}
.b-type{display:inline-block;background:#e0f5f1;color:#0f766e;font-weight:700;font-size:.74rem;padding:2px 9px;border-radius:999px}
.bank-folios div{display:flex;flex-wrap:wrap;gap:5px}
.bank-folios span{background:#f1f7f6;border:1px solid #d6e4e2;border-radius:7px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace;font-size:.76rem;line-height:1.5;color:#16302d;white-space:nowrap}
@media(max-width:820px){.bank-tbl{table-layout:auto}}
/* data upload tabs */
.up-tabs{margin-top:10px}

/* top-left brand block (distributor and investor side panels) */
.inv-side .inv-brand .firm{display:block;font-size:1.18rem;font-weight:800;letter-spacing:.8px;color:#2cf5da;text-shadow:0 0 10px rgba(44,245,218,.5);margin:0 0 3px}
.inv-side .inv-brand .owner{display:block;font-size:.82rem;font-weight:700;letter-spacing:1.2px;color:#fff}
.inv-side .inv-brand small.amfi{display:block;font-size:.66rem;font-weight:700;letter-spacing:.3px;color:#fff;margin-top:2px}
.inv-side .inv-brand small.arn{display:block;font-size:.68rem;font-weight:600;color:#c9f1ec;margin-top:2px}
.inv-side .inv-brand small.ct{color:#99d5cd}
