*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#0C0C0C;--off:#F7F4F0;--warm:#FEFCFA;--sand:#EDE8DF;--sand2:#DDD7CC;
  --rose:#C0455A;--rose2:#E08898;--rose3:#F5D0D8;--rose4:#FBF0F2;
  --blue:#2B5FAD;--blue2:#5B8EC4;--blue3:#EEF3FF;
  --muted:#7A737A;--border:rgba(0,0,0,.08);--text:#18181B;
}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',sans-serif;background:var(--off);color:var(--text);min-height:100vh;overflow-x:hidden}
button{font-family:inherit;cursor:pointer}

/* ══ ORG BAR ══ */
.org-bar{background:#080808;height:40px;display:flex;align-items:center;padding:0 40px;gap:0;border-bottom:1px solid rgba(255,255,255,.05)}
.ob-label{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-right:14px}
.ob-btn{font-size:12px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.32);padding:4px 18px;border-radius:4px;border:none;background:transparent;transition:.15s}
.ob-btn.on{background:var(--rose);color:#fff}
.ob-btn:hover:not(.on){color:rgba(255,255,255,.72);background:rgba(255,255,255,.07)}
.ob-meta{margin-left:auto;font-size:10px;color:rgba(255,255,255,.55);font-family:'IBM Plex Sans',sans-serif}
.lang-switch{display:flex;gap:2px;margin-left:18px;background:rgba(255,255,255,.06);border-radius:100px;padding:3px}
.lang-btn{font-size:9.5px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.45);padding:4px 10px;border-radius:100px;border:none;background:transparent;transition:.15s}
.lang-btn.on{background:var(--rose);color:#fff}
.lang-btn:hover:not(.on){color:rgba(255,255,255,.8)}

/* ══ MAIN NAV — sticky ══ */
.mnav{
  background:var(--black);height:50px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;
  position:sticky;top:0;z-index:300;
}
.mnav-logo{font-family:'IBM Plex Sans',sans-serif;font-size:17px;font-weight:700;color:#fff;letter-spacing:-.02em}
.mnav-logo em{color:var(--rose2);font-style:normal}
.mnav-pills{display:flex;gap:2px;background:rgba(255,255,255,.06);border-radius:100px;padding:4px}
.mpill{font-size:12px;font-weight:500;color:rgba(255,255,255,.72);padding:5px 14px;border-radius:100px;border:none;background:transparent;transition:.15s;letter-spacing:.01em}
.mpill.on{background:var(--rose);color:#fff;font-weight:600}
.mpill:hover:not(.on){color:rgba(255,255,255,.78)}
.mnav-r{display:flex;align-items:center;gap:10px}
.live{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--rose2)}
.ldot{width:6px;height:6px;border-radius:50%;background:var(--rose2);animation:blink 2s infinite}
.load-dot{width:8px;height:8px;border-radius:50%;background:transparent;transition:.3s}
.load-dot.loading{background:var(--rose2);animation:blink .6s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.18}}

/* ══ FILTER BAR — sticky под nav ══ */
.fbar{
  background:var(--sand);border-bottom:1px solid var(--border);
  height:46px;display:flex;align-items:center;padding:0 40px;gap:0;
  overflow-x:auto;
  position:sticky;top:50px;z-index:200;
}
.fbar::-webkit-scrollbar{display:none}
.fg{display:flex;align-items:center;gap:0}
.fg-pills{display:flex;gap:2px}
.fb-sep{width:1px;height:20px;background:var(--border);margin:0 16px;flex-shrink:0}
.fg-lbl{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-right:8px;flex-shrink:0}
.ftag{font-size:11.5px;font-weight:500;color:var(--muted);padding:4px 12px;border-radius:100px;border:1px solid transparent;transition:.15s;white-space:nowrap}
.ftag.on{background:var(--rose);color:#fff;border-color:var(--rose);font-weight:600}
.ftag:hover:not(.on){background:var(--sand2);color:var(--text)}

/* ══ PAGES ══ */
.page{display:none}.page.on{display:block}

/* ══ COVER ══ */
.cover{background:var(--black);padding:52px 40px 44px;display:grid;grid-template-columns:1fr 300px;gap:0;position:relative;overflow:hidden;min-height:280px}
.cover-bg{display:none}
.cover-bg::after{content:'';position:absolute;right:34px;top:30px;width:160px;height:160px;border:1px solid rgba(255,255,255,.05);border-radius:50%}
.cv-l{padding-right:48px;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:18px;position:relative;z-index:1}
.cv-tag{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rose2);display:flex;align-items:center;gap:8px}
.cv-tag::before{content:'';width:18px;height:1px;background:var(--rose2)}
.cv-h{font-family:'IBM Plex Sans',sans-serif;font-size:54px;font-weight:700;color:#fff;line-height:.9;letter-spacing:-.04em}
.cv-h em{color:var(--rose2);font-style:normal;display:block}
.cv-p{font-size:13px;color:rgba(255,255,255,.72);line-height:1.8;font-weight:300}
.cv-nums{display:flex;gap:30px;padding-top:4px}
.cn-v{font-family:'IBM Plex Sans',sans-serif;font-size:32px;font-weight:700;letter-spacing:-.04em;line-height:1;color:#fff}
.cn-v.r{color:var(--rose2)}.cn-l{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:4px}
.cv-r{padding-left:36px;display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:1}
.cr-ttl{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:14px}
.cr-subttl{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.38);margin:2px 0 6px}
.cr-subttl-gap{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.od-row{display:flex;align-items:baseline;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.od-row:last-child{border-bottom:none}
.od-nm{font-size:12px;color:rgba(255,255,255,.75)}.od-v{font-family:'IBM Plex Sans',sans-serif;font-size:18px;font-weight:700;color:#fff}
.od-v.r{color:var(--rose2)}.od-u{font-size:9px;color:rgba(255,255,255,.55);margin-left:4px}
.od-bar{height:11px;background:rgba(255,255,255,.08);border-radius:100px;display:flex;overflow:hidden;margin-top:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.ob-f{background:var(--rose);height:100%}.ob-m{background:rgba(91,142,196,.55);height:100%}
.od-bl{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;font-family:'IBM Plex Sans',sans-serif;color:rgba(255,255,255,.78);font-weight:700}.od-share-title{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:12px}

/* ══ TICKER ══ */
.ticker{background:var(--rose);height:40px;display:flex;overflow:hidden;align-items:center}
.tick-inner{display:flex;animation:tick 50s linear infinite;white-space:nowrap}
@keyframes tick{0%{transform:translateX(0)}100%{transform:translateX(-25%)}}
.ti{display:inline-flex;align-items:center;gap:6px;padding:0 20px;border-right:1px solid rgba(255,255,255,.18)}
.ti-l{font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ti-v{font-size:12px;font-weight:800;color:#fff;font-family:'IBM Plex Sans',sans-serif}

/* ══ BIG STATS ══ */
.bstats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sand);border-bottom:1px solid var(--border)}
.bst{padding:22px 26px 18px;border-right:1px solid var(--border)}
.bst:last-child{border-right:none}
.bst-l{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}
.bst-v{font-family:'IBM Plex Sans',sans-serif;font-size:38px;font-weight:700;letter-spacing:-.04em;line-height:1;margin-bottom:4px}
.bst-v.r{color:var(--rose)}.bst-v.d{color:var(--text)}
.bst-s{font-size:11px;color:var(--muted)}
.bst-d{display:inline-flex;align-items:center;gap:3px;margin-top:6px;font-size:10px;font-weight:700;font-family:'IBM Plex Sans',sans-serif;padding:2px 8px;border-radius:100px}
.bst-d.pos{background:rgba(192,69,90,.1);color:var(--rose)}.bst-d.neu{background:rgba(0,0,0,.05);color:var(--muted)}

/* ══ SECTION ══ */
.sec{padding:36px 40px 0}.sec+.sec{padding-top:0}
.sec-ttl{display:flex;align-items:center;gap:12px;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.sec-ttl::after{content:'';flex:1;height:1px;background:var(--border)}

/* ══ CARDS ══ */
.c{background:var(--warm);border:1px solid var(--border);border-radius:14px;padding:18px}
.c.dk{background:var(--black);border-color:transparent;color:#fff}
.c.bl{background:var(--rose4);border-color:rgba(192,69,90,.1)}
.c.rs{background:var(--rose);border-color:transparent}
.c.sd{background:var(--sand)}
.ct{font-size:8px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.dk .ct{color:rgba(255,255,255,.65)}.rs .ct{color:rgba(255,255,255,.55)}.bl .ct{color:var(--rose)}
.ch{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text)}
.dk .ch{color:#fff}.rs .ch{color:#fff}

/* GIANT */
.gn{font-family:'IBM Plex Sans',sans-serif;font-size:52px;font-weight:700;letter-spacing:-.04em;line-height:.9}
.gn.r{color:var(--rose)}.gn.w{color:#fff}.gn.d{color:var(--text)}
.gn-s{font-size:12px;margin-top:7px;color:var(--muted)}
.dk .gn-s{color:rgba(255,255,255,.72)}.rs .gn-s{color:rgba(255,255,255,.6)}.bl .gn-s{color:var(--rose)}

/* SPLIT BARS */
.sbar{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.05)}
.sbar:last-child{border-bottom:none}.dk .sbar{border-bottom-color:rgba(255,255,255,.05)}
.sbn{font-size:11px;color:#555;width:140px;flex-shrink:0;line-height:1.3}.dk .sbn{color:rgba(255,255,255,.78)}
.sbt{flex:1;height:6px;border-radius:3px;overflow:hidden;background:var(--sand2);display:flex}.dk .sbt{background:rgba(255,255,255,.07)}
.sbf{background:var(--rose);height:100%}.sbm{background:var(--blue2);height:100%}
.sbp{display:flex;gap:4px;min-width:64px;justify-content:flex-end}
.spf{font-size:10px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;color:var(--rose)}
.spm{font-size:10px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;color:var(--blue2)}

/* RBAR */
.rb{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.rb:last-child{border-bottom:none}
.rbn{font-size:11px;color:rgba(255,255,255,.48);width:108px;flex-shrink:0;line-height:1.2}
.rbt{flex:1;height:4px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden}
.rbf{height:100%;background:var(--rose2);border-radius:2px}
.rbp{font-size:10px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;color:var(--rose2);width:34px;text-align:right}

/* SCORE ROW */
.sr{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.05)}
.sr:last-child{border-bottom:none}.dk .sr{border-bottom-color:rgba(255,255,255,.05)}
.srl{font-size:11.5px;color:#555}.dk .srl{color:rgba(255,255,255,.78)}
.srv{display:flex;gap:10px}
.svf{font-size:12px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;color:var(--rose)}
.svm{font-size:12px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;color:var(--blue2)}

/* INSIGHT */
.ins{background:var(--rose4);border:1px solid var(--rose3);border-radius:8px;padding:9px 12px;margin-top:10px}
.ins-t{font-size:11px;font-weight:700;color:var(--rose);margin-bottom:2px}
.ins-b{font-size:11px;color:#8B3A4E;line-height:1.65}

/* RH PAIR */
.rhp{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.rhi{background:rgba(255,255,255,.13);border-radius:8px;padding:10px 12px}
.rhv{font-family:'IBM Plex Sans',sans-serif;font-size:24px;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1}
.rhl{font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:3px}
.rs-note{background:rgba(255,255,255,.1);border-radius:7px;padding:8px 12px;margin-top:9px;font-size:11px;color:rgba(255,255,255,.7);line-height:1.6}

/* TREND BLOCK */
.tblk{background:var(--black);border-radius:14px;padding:26px 34px;display:grid;grid-template-columns:210px 1fr;gap:32px;align-items:center;margin-bottom:12px}
.tey{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:9px}
.tbig{font-family:'IBM Plex Sans',sans-serif;font-size:64px;font-weight:700;color:var(--rose2);line-height:.88;letter-spacing:-.04em}
.tbig span{font-size:24px}
.tctx{font-size:12px;color:rgba(255,255,255,.65);margin-top:10px;line-height:1.8;font-weight:300}
.tleg{display:flex;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.tl{display:flex;align-items:center;gap:4px;font-size:11px;color:rgba(255,255,255,.72)}
.tln{width:12px;height:2px;border-radius:1px}

/* CPR ROW */
.cpr-row{display:flex;justify-content:space-around;align-items:center;margin-top:8px;gap:8px;text-align:center}
.cpr-lbl{font-size:8.5px;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}
.cpr-v{font-family:'IBM Plex Sans',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.03em}
.cpr-v.r{color:var(--rose2)}.cpr-v.b{color:var(--blue2)}
.cpr-div{font-size:22px;color:rgba(255,255,255,.08)}

/* GRIDS */
.g2{display:grid;grid-template-columns:1.55fr 1fr;gap:12px;margin-bottom:12px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}
.g2b{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:12px}
.g22{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.g23{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}
.pb{padding-bottom:44px}
.vstack{display:flex;flex-direction:column;gap:12px}

/* LEGEND */
.lgnd{display:flex;gap:10px;margin-bottom:11px}
.lg{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);font-weight:500}
.lgsq{width:8px;height:8px;border-radius:2px}

/* ══ MAP ══ */
.map-wrap{background:var(--warm);border:1px solid var(--border);border-radius:14px;padding:16px;position:relative}
.map-hdr{margin-bottom:10px}
.map-ttl{font-size:8px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.map-sub{font-size:13px;font-weight:600;color:var(--text);margin-top:2px}
.map-btns{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.mbtn{font-size:11px;font-weight:500;color:var(--muted);padding:4px 12px;border-radius:100px;border:1px solid var(--border);background:var(--warm);transition:.15s}
.mbtn.on{background:var(--rose);color:#fff;border-color:var(--rose)}
.mbtn:hover:not(.on){background:var(--sand);color:var(--text)}
#kz-map{width:100%;height:auto;min-height:200px}
.map-leg{display:flex;align-items:center;gap:16px;margin-top:10px;flex-wrap:wrap}
.ml{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted)}
.ml-sq{width:14px;height:8px;border-radius:2px}
.mtt{position:absolute;background:rgba(10,10,10,.96);color:#fff;border-radius:10px;padding:12px 16px;font-size:11.5px;pointer-events:none;z-index:999;min-width:190px;display:none;box-shadow:0 8px 32px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.06)}
.mtt-nm{font-weight:700;color:var(--rose2);margin-bottom:7px;font-size:12.5px}
.mtt-r{display:flex;justify-content:space-between;gap:16px;margin-bottom:3px}
.mtt-l{color:rgba(255,255,255,.72);font-size:10px}.mtt-v{font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:11px;color:#fff}
.mtt-badge{display:inline-block;background:var(--rose);color:#fff;font-size:9px;font-weight:700;padding:2px 7px;border-radius:4px;margin-top:5px}

/* ══ MFO ══ */
.mfo-pg{padding:52px 40px}
.mfo-badge{display:inline-flex;align-items:center;gap:8px;background:var(--rose4);border:1px solid var(--rose3);border-radius:8px;padding:8px 14px;font-size:12px;color:var(--rose);font-weight:600;margin-bottom:28px}
.mfo-h{font-family:'IBM Plex Sans',sans-serif;font-size:44px;font-weight:700;letter-spacing:-.04em;margin-bottom:10px}
.mfo-p{font-size:14px;color:var(--muted);font-weight:300;line-height:1.75;max-width:500px;margin-bottom:36px}
.mfo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:640px}

/* FOOTER */
footer{background:var(--black);padding:18px 40px 16px;display:flex;flex-direction:column;gap:12px;margin-top:0}
.ft-row1{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.ft-row2{display:flex;justify-content:flex-start;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.ft-b{font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:rgba(255,255,255,.5)}
.ft-m{font-size:10px;color:rgba(255,255,255,.5);font-family:'IBM Plex Sans',sans-serif}
.ft-contact{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.65);font-size:10px;font-weight:600;letter-spacing:.01em;font-family:'IBM Plex Sans',sans-serif;text-decoration:none;white-space:nowrap}
.ft-contact svg{flex:0 0 auto}

/* date dropdown instead of many date pills */
.date-select{
  appearance:none;
  -webkit-appearance:none;
  min-width:136px;
  height:28px;
  padding:0 34px 0 14px;
  border-radius:999px;
  border:1px solid rgba(192,69,90,.22);
  background:#FEFCFA;
  color:#2C2525;
  font:700 12px 'JetBrains Mono',monospace;
  outline:none;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(0,0,0,.04), inset 0 0 0 1px rgba(255,255,255,.5);
}
#f-dates{position:relative;display:flex;align-items:center}
#f-dates:after{content:'⌄';position:absolute;right:13px;top:4px;color:#C0455A;font-size:14px;pointer-events:none;font-weight:800}
#mfo-f-dates{position:relative;display:flex;align-items:center}
#mfo-f-dates:after{content:'⌄';position:absolute;right:13px;top:4px;color:#C0455A;font-size:14px;pointer-events:none;font-weight:800}
.live{display:none!important}
/* v4 helper charts */
.sb{display:grid;grid-template-columns:150px 1fr 74px;gap:10px;align-items:center;margin:10px 0;font-size:12px}.sb-l{color:#4f4a48}.sb-bar{height:9px;background:#eee8e0;border-radius:999px;overflow:hidden;display:flex}.sb-f{background:#C0455A;height:100%}.sb-m{background:#5B8EC4;height:100%}.sb-v{display:flex;justify-content:space-between;gap:6px;font-size:11px}.sb-v b{color:#C0455A}.sb-v em{font-style:normal;color:#5B8EC4}
.sb-rate-track{display:flex;flex-direction:column;gap:4px;justify-content:center}
.sb-rate-bar{height:9px;background:#eee8e0;border-radius:999px;overflow:hidden}
.sb-rate-f{display:block;height:100%;background:#C0455A;border-radius:999px}
.sb-rate-m{display:block;height:100%;background:#5B8EC4;border-radius:999px}
.sr{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.055);gap:10px}.srl{font-size:12px;color:#4f4a48}.srv{display:flex;gap:12px;font-size:12px;font-weight:700}.svf{color:#C0455A}.svm{color:#5B8EC4}.rbr{display:grid;grid-template-columns:110px 1fr 48px;gap:10px;align-items:center;margin:11px 0}.rbr-n{font-size:11px;color:rgba(255,255,255,.68);line-height:1.25}.rbr-bar{height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.rbr-bar span{display:block;height:100%;background:#E08898;border-radius:999px}.rbr-v{font-size:11px;font-weight:800;color:#E08898;text-align:right}.load-dot{display:none!important}

/* Credit structure extended layout */
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}
.chart-card.tall{min-height:430px}
.chart-card{min-height:120px}
.empty{font-size:12px;color:#aaa;padding:16px 0}
.empty{font-size:13px;color:var(--muted);padding:16px 0}
.own-head{display:grid;grid-template-columns:1fr 110px 110px;gap:14px;margin:14px 0 10px;color:#8a8380;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.own-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.055)}
.own-label{font-size:13px;color:#34302e;line-height:1.15}
.own-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.own-cell{position:relative;height:22px;background:rgba(0,0,0,.035);border-radius:7px;overflow:hidden}
.own-bar{display:block;height:100%;border-radius:7px}.own-bar.r{background:var(--rose)}.own-bar.b{background:var(--blue2)}
.own-cell b{position:absolute;right:7px;top:4px;font-size:10px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.ins-list{margin-top:12px}.ins-line{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(192,69,90,.16)}
.ins-line b{font-size:12px;color:#7e3543;font-weight:800}.ins-line span{font-size:14px;color:#26201f;font-weight:750;text-align:right}
@media (max-width:1200px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.own-row{grid-template-columns:1fr}.own-head{display:none}}
@media (max-width:760px){.g4{grid-template-columns:1fr}}





/* ── CR PAGE LAYOUT ─────────────────────────────────────────────────────── */

/* РЯД 1: все 4 карточки одинаковой высоты */
.cr-row4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;align-items:stretch}
.cr-row4 .c{display:flex;flex-direction:column}
.cr-row4 .c svg{flex:1;width:100%}

/* РЯД 2: каждая колонка — flex, карточки по контенту, не растягиваются */
.cr-row-bottom{display:grid;grid-template-columns:1fr 1.55fr 1fr 1fr;gap:10px;margin-bottom:12px;align-items:start}
.cr-col-left{display:flex;flex-direction:column;gap:10px}
.cr-col-trend{display:flex;flex-direction:column}
.cr-col-right{display:flex;flex-direction:column;gap:10px}

/* Все карточки по высоте контента — без пустого пространства */
.cr-card-sm,.cr-card-fit{min-height:0;height:fit-content}
.cr-row4 svg,.cr-row-bottom svg{max-width:100%;display:block}

@media(max-width:1400px){
  .cr-row4{grid-template-columns:repeat(2,1fr)}
  .cr-row-bottom{grid-template-columns:1fr 1.4fr;grid-template-rows:auto auto}
}
@media(max-width:900px){
  .cr-row4{grid-template-columns:1fr}
  .cr-row-bottom{grid-template-columns:1fr}
}

/* Ряд 2 — компактный padding */
.cr-col-left .c,.cr-col-right .c,.cr-col-trend{padding:14px 16px}
#cr-insights .ins-row{padding:6px 0;font-size:11px}


/* ── CREDIT STRUCTURE HEIGHT FIX v16 ─────────────────────────────────────
   Выравнивание карточек на странице "Кредитная структура":
   1) первый ряд — одинаковая высота всех 4 карточек;
   2) второй ряд — нижние границы карточек совпадают с черным графиком;
   3) правые мини-графики уменьшены и не выходят за границы.
*/
.cr-row4{
  align-items:stretch !important;
  grid-template-columns:1.08fr 1.08fr 1fr 1fr;
}
.cr-row4 .cr-card-sm{
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
  box-sizing:border-box;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden;
}
.cr-row4 .cr-card-sm > div[id^="cr-"]{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:center;
}
.cr-row4 .cr-card-sm svg{
  width:100% !important;
  max-height:210px !important;
}

.cr-row-bottom{
  align-items:stretch !important;
  grid-template-columns:1fr 1.55fr 1fr 1fr;
}
.cr-col-left,
.cr-col-right{
  height:360px !important;
  min-height:360px !important;
  max-height:360px !important;
  display:grid !important;
  grid-template-rows:118px 232px !important;
  gap:10px !important;
}
.cr-col-trend{
  height:360px !important;
  min-height:360px !important;
  max-height:360px !important;
  box-sizing:border-box;
  overflow:hidden;
}
.cr-col-left .c,
.cr-col-right .c{
  margin-bottom:0 !important;
  box-sizing:border-box;
  overflow:hidden;
}
.cr-col-left .c:first-child,
.cr-col-right .c:first-child{
  height:118px !important;
  min-height:118px !important;
  max-height:118px !important;
  padding:12px 14px !important;
}
.cr-col-left .c:last-child,
.cr-col-right .c:last-child{
  height:232px !important;
  min-height:232px !important;
  max-height:232px !important;
  padding:12px 14px !important;
}
.cr-col-right .ct,
.cr-col-left .ct{
  margin-bottom:5px !important;
}
.cr-col-right .ch,
.cr-col-left .ch{
  margin-bottom:6px !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
.cr-row-bottom svg{
  max-height:170px !important;
}
.cr-col-trend svg{
  max-height:255px !important;
}
#cr-subject-svg svg,
#cr-biz-svg svg{
  max-height:58px !important;
}
#cr-subject-own svg,
#cr-biz-own svg{
  max-height:145px !important;
}
#cr-insights .ins-row{
  padding:6px 0 !important;
  font-size:11px !important;
}


/* ── CREDIT STRUCTURE LAYOUT FIX v29 ─────────────────────────────────────
   Цель: сохранить сетку v16, но увеличить сами диаграммы и выровнять
   нижние границы во втором ряду с черным графиком.
*/
.cr-row4{
  grid-template-columns:1.08fr 1.08fr 1fr 1fr !important;
  align-items:stretch !important;
}
.cr-row4 .cr-card-sm{
  height:330px !important;
  min-height:330px !important;
  max-height:330px !important;
  overflow:hidden !important;
}
.cr-row4 .cr-card-sm svg{
  max-height:245px !important;
}

.cr-row-bottom{
  grid-template-columns:1fr 1.55fr 1fr 1fr !important;
  align-items:stretch !important;
}
.cr-col-left,
.cr-col-right{
  height:440px !important;
  min-height:440px !important;
  max-height:440px !important;
  display:grid !important;
  grid-template-rows:170px 260px !important;
  gap:10px !important;
}
.cr-col-trend{
  height:440px !important;
  min-height:440px !important;
  max-height:440px !important;
  overflow:hidden !important;
}
.cr-col-left .c:first-child,
.cr-col-right .c:first-child{
  height:170px !important;
  min-height:170px !important;
  max-height:170px !important;
  padding:12px 14px !important;
}
.cr-col-left .c:last-child,
.cr-col-right .c:last-child{
  height:260px !important;
  min-height:260px !important;
  max-height:260px !important;
  padding:12px 14px !important;
}
.cr-row-bottom svg{
  max-height:215px !important;
}
.cr-col-trend svg{
  max-height:335px !important;
}
#cr-gesv-svg svg,
#cr-subject-svg svg,
#cr-biz-svg svg{
  max-height:108px !important;
}
#cr-subject-own svg,
#cr-biz-own svg{
  max-height:190px !important;
}
#cr-insights .ins-row{
  padding:9px 0 !important;
  font-size:12px !important;
}


/* Overview layout adjustment v33 */
.bst{min-height:118px;display:flex;flex-direction:column;justify-content:flex-start}
.bst-note{margin-top:10px;max-width:260px;font-size:11px;line-height:1.35;color:rgba(20,22,26,.52);font-weight:600}
.ov-dyn-row{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;margin-bottom:12px;align-items:stretch}
.ov-dyn-row .tblk{margin-bottom:0;height:100%;box-sizing:border-box}
.ov-side-metrics{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-height:100%}
.ov-mini-card{min-height:0}
.ov-mini-card .gn{font-size:46px;line-height:1}
.ov-mini-card .cpr-row{min-height:74px}
.ov-overview-row{display:grid;grid-template-columns:minmax(420px,1.65fr) minmax(260px,.95fr) minmax(260px,.95fr) minmax(300px,1.05fr);gap:12px;align-items:stretch;padding-bottom:44px}
.ov-sector-card{min-width:0}
.ov-overview-row .c{min-height:300px;box-sizing:border-box}
.ov-overview-row .rs{min-height:300px}
@media (max-width:1400px){
  .ov-dyn-row{grid-template-columns:1fr}
  .ov-side-metrics{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ov-overview-row{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .bstats{grid-template-columns:1fr 1fr}
  .ov-side-metrics{grid-template-columns:1fr}
  .ov-overview-row{grid-template-columns:1fr}
}

/* Overview layout v34: KPI row + charts exactly as requested */
.ov-kpi-row{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  background:var(--sand);
  border-bottom:1px solid var(--border);
}
.ov-kpi-row .bst{
  min-height:150px;
  padding:22px 26px 20px;
  border-right:1px solid var(--border);
  box-sizing:border-box;
}
.ov-kpi-row .bst:nth-child(6){border-right:none}
.ov-kpi-row .bst-soft{background:rgba(192,69,90,.06)}
.ov-kpi-row .bst-v{font-size:38px;line-height:.95}
.ov-kpi-row .bst-note{margin-top:auto;padding-top:12px;font-size:12px;line-height:1.35;color:rgba(20,22,26,.68);font-weight:600;max-width:none}
.ov-kpi-row .gn{font-family:'IBM Plex Sans',sans-serif;font-size:38px;line-height:.95;font-weight:700;letter-spacing:-.04em;margin:8px 0 4px}
.ov-kpi-row .gn span{font-size:18px !important}
.ov-kpi-row .ins{margin-top:6px;padding:0;border:0;background:transparent}
.ov-kpi-row .ins-b{font-size:10px;line-height:1.3;color:var(--rose);font-weight:700}
.ov-kpi-row .cpr-row-kpi{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin:6px 0 4px}
.ov-kpi-row .cpr-v{font-size:30px;line-height:1;font-family:'IBM Plex Sans',sans-serif;font-weight:700}

.ov-main-row{
  display:grid;
  grid-template-columns:minmax(560px,1.7fr) minmax(270px,.75fr) minmax(230px,.55fr) minmax(300px,.8fr);
  gap:12px;
  align-items:stretch;
  margin-bottom:12px;
}
.ov-main-row .tblk{margin-bottom:0;min-height:300px;box-sizing:border-box}
.ov-main-row .c{min-height:300px;box-sizing:border-box}
.ov-main-row .rs{min-height:300px}
.ov-sector-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding-bottom:44px}
.ov-sector-row .ov-sector-card{min-height:300px;box-sizing:border-box}

/* hide old overview row helpers if cached classes remain */
.ov-side-metrics{display:none !important}

@media (max-width:1500px){
  .ov-kpi-row{grid-template-columns:repeat(3,1fr) !important}
  .ov-main-row{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .ov-kpi-row{grid-template-columns:1fr 1fr !important}
  .ov-main-row{grid-template-columns:1fr}
}

/* v35 overview layout: move industry up, remove crossed-out lower charts */
.ov-trend-row{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-bottom:12px;
}
.ov-trend-row .ov-trend-card{
  min-height:330px;
  margin-bottom:0;
}
.ov-analysis-row{
  display:grid;
  grid-template-columns:minmax(520px,1.6fr) minmax(320px,1fr) minmax(250px,.72fr) minmax(310px,.95fr);
  gap:12px;
  align-items:stretch;
  padding-bottom:44px;
}
.ov-analysis-row .c{
  min-height:300px;
  box-sizing:border-box;
}
.ov-analysis-row .ov-sector-card{
  min-height:300px;
}
/* contract card - now consistent with other KPI cards, no special accent */
.ov-kpi-row .bst:nth-child(6){
}
.ov-kpi-row .bst:nth-child(6) .cpr-row-kpi{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(192,69,90,.14);
}
.ov-kpi-row .bst:nth-child(6) .cpr-v{
  font-size:36px;
}
.ov-kpi-row .bst:nth-child(6) .bst-note{
  margin-top:10px;
  padding:9px 12px;
  border-radius:12px;
  background:rgba(192,69,90,.10);
  color:rgba(120,37,55,.90);
}
@media (max-width:1400px){
  .ov-analysis-row{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .ov-analysis-row{grid-template-columns:1fr;}
}




/* ═══════════════════════════════════════════════════════════════════════════
   OVERVIEW — Modern compact layout
   ═══════════════════════════════════════════════════════════════════════════ */

.ov-main-sec { padding-top: 4px !important; }

/* KPI strip */
.ov-kpi-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  background: var(--warm);
  border: 1px solid var(--border);
  border-radius: 14px;
  margin-bottom: 12px;
  overflow: hidden;
}
.bst {
  padding: 14px 16px;
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.bst:last-child { border-right: none; }
.bst-l   { font-size: 9.5px; font-weight: 700; letter-spacing:.06em; text-transform:uppercase; color:#888; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bst-v   { font-size: 24px; font-weight: 800; line-height: 1; }
.bst-s   { font-size: 10.5px; color: #777; margin-top: 1px; }
.bst-d   { font-size: 10.5px; font-weight: 600; }
.bst-note{ font-size: 9.5px; color: #aaa; margin-top: 6px; border-top: 1px solid var(--border); padding-top: 5px; line-height: 1.3; }

/* contracts KPI */
.bst-contracts { }
.bst-contracts-body { display:flex; align-items:center; gap:8px; margin:4px 0 2px; }
.bst-citem { display:flex; flex-direction:column; align-items:center; gap:2px; }
.bst-citem-v { font-size:22px; font-weight:800; line-height:1; }
.bst-citem-v.r { color:var(--rose); }
.bst-citem-v.b { color:var(--blue2); }
.bst-citem-lbl { font-size:9px; font-weight:600; color:#999; text-transform:uppercase; letter-spacing:.05em; }
.bst-cdiv { font-size:14px; color:#bbb; padding-top:4px; }

/* ── Row 1: trend | donut | balance — 3 колонки ─────────────────────────── */
.ov-row1 {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
  align-items: stretch;
}

/* Trend card */
.ov-trend-card {
  background: #0C0C0C;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  display: grid;
  grid-template-columns: 160px 1fr;
  overflow: hidden;
}
.ov-trend-kicker {
  padding: 18px 16px;
  border-right: 1px solid rgba(255,255,255,.07);
  display: flex;
  flex-direction: column;
}
.ov-tk-label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 6px;
}
.ov-trend-body { padding: 14px 14px 12px; }
.ov-trend-body .tleg { display:flex; flex-direction:column; gap:3px; margin-bottom:4px; }
.ov-trend-body .tl   { font-size: 10px; }

.ov-donut-card { }
.ov-balance-card { }

/* ── Row 2: отраслевой — компактный ─────────────────────────────────────── */
.ov-row2 { margin-bottom: 10px; }

@media(max-width:1200px) {
  .ov-row1 { grid-template-columns: 1fr 1fr; }
  .ov-kpi-row { grid-template-columns: repeat(3,1fr); }
  .bst:nth-child(3) { border-right: none; }
  .bst:nth-child(4) { border-top: 1px solid var(--border); }
}
@media(max-width:900px) {
  .ov-row1 { grid-template-columns: 1fr; }
  .ov-trend-card { grid-template-columns: 1fr; }
  .ov-kpi-row { grid-template-columns: repeat(2,1fr); }
}

/* Balance card — stretch content vertically */
.ov-balance-card { display: flex; flex-direction: column; }
.ov-balance-card #ov-splits { flex: 1; display: flex; flex-direction: column; justify-content: space-around; }
.ov-balance-card .sb { margin-bottom: 6px; }

/* ──────────────────────────────────────────
   Overview v48: compact all-industries row
   ────────────────────────────────────────── */
.ov-sector-profile-row{
  display:grid;
  grid-template-columns:1fr 290px;
  gap:10px;
  align-items:stretch;
  margin-bottom:12px;
}
.ov-sector-profile-row .ov-sector-card{
  overflow:visible;
}
.ov-sector-profile-row .ov-industry-profile-card{
  background:var(--warm);
  overflow:visible;
  min-width:0;
}
.sector-compact{
  margin-top:10px;
  overflow:visible;
}
.industry-profile-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}
.ip-line{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:8px;
  align-items:center;
  padding:7px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.ip-line b{
  display:block;
  font-size:20px;
  line-height:1;
  color:#16161A;
  font-weight:800;
}
.ip-line span{
  display:block;
  margin-top:3px;
  font-size:11px;
  color:rgba(20,22,26,.68);
  line-height:1.28;
  font-weight:600;
  white-space:normal;
  word-break:break-word;
}
.ip-ico{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(192,69,90,.12);
  color:var(--rose);
  font-size:13px;
  font-weight:800;
}
.ip-ico.rose{background:rgba(192,69,90,.13);color:var(--rose)}
.ip-ico.blue{background:rgba(91,142,196,.15);color:var(--blue2)}
.ip-sep{height:4px}
.ip-focus{
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.05);
}
.ip-focus small{
  display:block;
  font-size:9.5px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(20,22,26,.52);
  font-weight:800;
  margin-bottom:7px;
}
.ip-focus b{
  display:block;
  font-size:12px;
  line-height:1.3;
  white-space:normal;
  word-break:break-word;
}
.ip-focus.rose-soft{background:rgba(192,69,90,.07);color:var(--rose)}
.ip-focus.blue-soft{background:rgba(91,142,196,.08);color:var(--blue)}
@media(max-width:1200px){
  .ov-sector-profile-row{grid-template-columns:1fr}
  .sector-compact{max-height:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   BORROWERS PAGE
   ═══════════════════════════════════════════════════════════════════════════ */
.bor-sec { padding-top: 12px !important; }

/* Row 1: 3 equal cols, start aligned */
.bor-row1 { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:10px; align-items:start; }

.bor-age-big { font-size:36px; font-weight:800; color:var(--rose); line-height:1; margin:6px 0 2px; }
.bor-age-sub { font-size:11px; color:#777; margin-bottom:10px; }
.bor-age-row { display:flex; gap:8px; }
.bor-age-item { flex:1; text-align:center; padding:8px 6px; border-radius:8px; }
.bor-age-item.r { background:rgba(192,69,90,.07); }
.bor-age-item.b { background:rgba(91,142,196,.08); }
.bor-age-v { font-size:20px; font-weight:800; line-height:1; }
.bor-age-item.r .bor-age-v { color:var(--rose); }
.bor-age-item.b .bor-age-v { color:var(--blue2); }
.bor-age-l { font-size:9px; color:#888; margin-top:3px; text-transform:uppercase; letter-spacing:.04em; }

.bor-youth-v { font-size:36px; font-weight:800; color:var(--rose); line-height:1; margin:6px 0 2px; }
.bor-youth-sub { font-size:11px; color:var(--rose); margin-bottom:6px; }
.bor-youth-note { font-size:10px; color:#777; line-height:1.4; }

.bor-gap-v { font-size:30px; font-weight:800; color:#3e3a38; line-height:1; margin:6px 0 2px; }
.bor-gap-sub { font-size:10px; color:#888; margin-bottom:6px; }
.bor-gap-note { font-size:10px; color:#777; line-height:1.4; }

/* Row 2: buckets */
.bor-row2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; align-items:start; }

/* Row 3: staff bor + staff od only */
.bor-row3 { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; align-items:start; }

@media(max-width:1200px) {
  .bor-row1 { grid-template-columns:1fr 1fr; }
  .bor-kpi-col { grid-column:span 2; flex-direction:row; }
  .bor-row3 { grid-template-columns:1fr 1fr; }
}
@media(max-width:900px) {
  .bor-row1,.bor-row2,.bor-row3 { grid-template-columns:1fr; }
  .bor-kpi-col { flex-direction:column; }
}

/* Borrowers cover KPIs */
.bor-cov-kpis { display:flex; gap:28px; margin-top:20px; }
.bor-cov-kpi { }
.bor-cov-kpi-tag { font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:4px; }
.bor-cov-kpi-v { font-size:28px; font-weight:800; color:rgba(255,255,255,.92); line-height:1; }
.bor-cov-kpi-v.r { color:var(--rose2); }
.bor-cov-kpi-lbl { font-size:11px; color:rgba(255,255,255,.55); margin-top:2px; }

/* Age KPI card */
.bor-akpi-row { display:flex; flex-direction:column; gap:10px; }
.bor-akpi { padding:10px 12px; background:var(--warm); border:1px solid var(--border); border-radius:10px; }
.bor-akpi-tag { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#888; margin-bottom:4px; }
.bor-akpi-v { font-size:22px; font-weight:800; color:#3e3a38; line-height:1; }
.bor-akpi-v.r { color:var(--rose); }
.bor-akpi-sub { font-size:10px; color:#777; margin-top:2px; }
.bor-akpi-note { font-size:10px; color:#aaa; margin-top:4px; }
.bor-akpi-pair { display:flex; gap:8px; margin-top:6px; }
.bak-f { font-size:13px; font-weight:700; color:var(--rose); background:rgba(192,69,90,.08); padding:3px 8px; border-radius:6px; }
.bak-m { font-size:13px; font-weight:700; color:var(--blue2); background:rgba(91,142,196,.1); padding:3px 8px; border-radius:6px; }

/* Age strip bars inside kpi card */
.bor-age-strip { display:flex; align-items:center; gap:8px; margin-bottom:5px; }
.bor-age-strip-lbl { font-size:10px; color:#555; width:36px; flex-shrink:0; }
.bor-age-strip-bar { flex:1; height:10px; background:#f0ece6; border-radius:3px; overflow:hidden; }
.bor-age-strip-bar span { display:block; height:100%; border-radius:3px; transition:width .3s; }
.bor-age-strip-v { font-size:10px; font-weight:700; color:var(--rose); width:38px; text-align:right; flex-shrink:0; }

/* Fix cr-ttl on dark covers — make visible */
.cover .cr-ttl { color:rgba(255,255,255,.72) !important; }

/* Age KPI card — larger fonts */
.bor-age-kpi-card { }
.bor-akpi-tag { font-size:12px !important; font-weight:700; }
.bor-akpi-v { font-size:28px !important; }
.bor-akpi-sub { font-size:13px !important; }
.bor-akpi-note { font-size:13px !important; color:#666 !important; }
.bak-f, .bak-m { font-size:16px !important; padding:4px 10px !important; }
.bor-akpi { padding:12px 14px !important; }

/* Row bottom: 4 charts in one row — equal heights */
.bor-row-bottom {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:10px;
  align-items:start;
}


/* Borrowers page readability fix: keep existing data/rendering, adjust only layout sizes */
.bor-row1{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  margin-bottom:14px !important;
}
.bor-row-bottom{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  margin-bottom:14px !important;
}
.bor-row1 > .c,
.bor-row-bottom > .c{
  min-height:330px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:visible !important;
}
.bor-row1 > .c > div[id$='svg'],
.bor-row-bottom > .c > div[id$='svg']{
  width:100% !important;
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
}
.bor-row1 svg,
.bor-row-bottom svg{
  max-height:235px !important;
}
.bor-age-kpi-card{
  min-height:330px !important;
}
#bor-age-kpi{
  flex:1 1 auto !important;
  overflow:visible !important;
}
.bor-akpi-row{
  gap:8px !important;
}
.bor-akpi{
  padding:10px 12px !important;
  min-height:0 !important;
}
.bor-akpi-tag{
  font-size:10px !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
.bor-akpi-v{
  font-size:25px !important;
  line-height:1.05 !important;
  white-space:normal !important;
}
.bor-akpi-sub,
.bor-akpi-note{
  font-size:11px !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.bak-f,.bak-m{
  font-size:13px !important;
  padding:3px 8px !important;
}
@media(max-width:1300px){
  .bor-row-bottom{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:900px){
  .bor-row1,.bor-row-bottom{grid-template-columns:1fr !important;}
}

/* QUALITY: one-row layout for NPL/GESV block */
.q-one-row{
  display:grid;
  grid-template-columns:1.05fr 1.05fr 1fr 1fr 1fr;
  gap:12px;
  align-items:stretch;
  margin-bottom:12px;
}
.q-stack{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-width:0}
.q-one-row>.c,.q-stack>.c{margin-bottom:0;min-width:0}
.q-card-tall{min-height:392px;display:flex;flex-direction:column}
.q-card-small{min-height:190px;display:flex;flex-direction:column}
.q-card-tall>div[id],.q-card-small>div[id]{flex:1;display:flex;align-items:center}
@media (max-width: 1500px){
  .q-one-row{grid-template-columns:1fr 1fr 1fr;}
}


/* QUALITY: improved GESV KPI card + larger chart typography */
#page-ql .ct{font-size:10px;line-height:1.25}
#page-ql .ch{font-size:15px;line-height:1.35}
#page-ql .tl{font-size:13px}
#page-ql .sr{padding:8px 0}
#page-ql .srl{font-size:13.5px}
#page-ql .svf,#page-ql .svm{font-size:14px}
#page-ql .empty{font-size:13px}
.q-gesv-card{min-height:168px;padding-bottom:16px}
.qg-wrap{display:flex;flex-direction:column;gap:12px}
.qg-top{display:grid;grid-template-columns:1fr auto 1fr 1.05fr;gap:10px;align-items:stretch}
.qg-metric,.qg-gap{border-radius:12px;padding:12px 14px;border:1px solid rgba(0,0,0,.04);background:#faf7f3}
.qg-f{background:rgba(192,69,90,.10)}
.qg-m{background:rgba(91,142,196,.12)}
.qg-gap{background:var(--rose4)}
.qg-lbl{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.qg-val{font-family:'IBM Plex Sans',sans-serif;font-size:30px;font-weight:800;line-height:1;color:var(--text);letter-spacing:-.04em}
.qg-f .qg-val{color:var(--rose)}
.qg-m .qg-val{color:var(--blue2)}
.qg-gap .qg-val{font-size:28px;color:#111}
.qg-gap .qg-val span{font-size:13px;letter-spacing:0;font-weight:800;color:var(--muted)}
.qg-arrow{display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:800;color:rgba(0,0,0,.25)}
.qg-bars{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.qg-row{display:grid;grid-template-columns:18px 1fr 52px;gap:8px;align-items:center;font-size:12px;font-weight:800;color:#665f5b}
.qg-row b{font-size:12px;text-align:right;font-family:'IBM Plex Sans',sans-serif}
html[lang="kk"] .qg-row{grid-template-columns:74px 1fr 52px}
html[lang="kk"] .qg-row span{white-space:nowrap}
.qg-track{height:9px;background:#eee7e2;border-radius:999px;overflow:hidden}
.qg-track i{display:block;height:100%;border-radius:999px}
.qg-fi{background:var(--rose)}
.qg-mi{background:var(--blue2)}
.qg-note{font-size:12.5px;line-height:1.45;color:#6b625e;background:rgba(0,0,0,.025);border-radius:10px;padding:9px 12px}
@media(max-width:1200px){.qg-top{grid-template-columns:1fr 1fr}.qg-arrow{display:none}}

/* v70: Quality page dark labels fix — only text color/size for NPL labels */
#page-ql .cover .cn-l {
  color: rgba(255,255,255,.72) !important;
  font-size: 11px !important;
}
#page-ql .rhl {
  color: rgba(255,255,255,.72) !important;
  font-size: 10.5px !important;
}

/* ══ REGIONS — restored analytics v71 ══ */
.reg-top{align-items:stretch}
.reg-card{padding:18px;background:var(--warm)}
.reg-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.reg-card-title{font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--text);margin-top:3px;line-height:1.08}
.reg-reset{border:1px solid var(--border);background:var(--warm);color:var(--muted);font-size:10px;font-weight:700;border-radius:999px;padding:5px 9px;white-space:nowrap}
.reg-reset:hover{background:var(--sand);color:var(--text)}
.reg-card-big{background:var(--rose);border-radius:12px;padding:14px 16px;color:white;margin-bottom:10px}
.reg-card-big span{display:block;font-size:42px;font-weight:850;letter-spacing:-.05em;line-height:.92}
.reg-card-big em{display:block;font-style:normal;font-size:11px;color:rgba(255,255,255,.76);margin-top:7px}
.reg-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.reg-mini{border-radius:10px;padding:10px 11px;background:#F7F4F0;min-height:58px}
.reg-mini.rose{background:var(--rose4)}.reg-mini.blue{background:var(--blue3)}
.reg-mini b{display:block;font-size:18px;font-weight:800;line-height:1.05;letter-spacing:-.03em}.reg-mini.rose b{color:var(--rose)}.reg-mini.blue b{color:var(--blue2)}
.reg-mini span{display:block;font-size:10px;font-weight:600;color:var(--muted);margin-top:5px}
.reg-split-title{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.reg-split{height:16px;border-radius:999px;overflow:hidden;background:var(--sand);display:flex;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.reg-split i{display:block;background:var(--rose);height:100%}.reg-split b{display:block;background:var(--blue2);height:100%}
.reg-split-lbl{display:flex;justify-content:space-between;margin-top:5px;font-size:11px;font-weight:800}.reg-split-lbl span{color:var(--rose)}.reg-split-lbl em{font-style:normal;color:var(--blue2)}
.reg-npl-box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:12px}
.reg-npl-box div{background:#F7F4F0;border-radius:9px;padding:10px 8px;text-align:center}.reg-npl-box b{display:block;font-size:15px;font-weight:850;color:var(--text);line-height:1}.reg-npl-box span{display:block;font-size:9px;color:var(--muted);font-weight:600;margin-top:5px;line-height:1.2}
.reg-row{align-items:start}.reg-row .c{min-height:0}.reg-npl-top{min-height:216px}
#reg-od-split,#reg-npl-split,#reg-npl-f,#reg-npl-m,#reg-kz-f,#reg-kz-m{margin-top:8px;min-height:300px}

/* Regions: use the same visual grammar as "Отраслевой анализ — все отрасли" */
.reg-metric-row{
  margin-bottom:12px;
}
.reg-metric-row .ov-sector-card{
  overflow:visible;
}
.reg-sector-compact{
  margin-top:10px;
  overflow:visible;
}
.ip-focus.neutral-soft{
  background:rgba(22,22,26,.045);
  color:#22242A;
}
.reg-metric-row .industry-profile-list{
  margin-top:18px;
}

/* Regions summary filters/KPI */
.reg-kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:8px 0 12px;
}
.reg-kpi-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  min-height:78px;
  box-shadow:0 1px 4px rgba(0,0,0,.035);
}
.reg-kpi-card .rk-l{
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:7px;
}
.reg-kpi-card .rk-v{
  font-size:25px;
  line-height:1;
  font-weight:900;
  color:var(--text);
  letter-spacing:-.04em;
}
.reg-kpi-card.rose .rk-v{color:var(--rose)}
.reg-kpi-card.blue .rk-v{color:var(--blue2)}
.reg-kpi-card .rk-s{
  font-size:11px;
  color:var(--muted);
  margin-top:7px;
  line-height:1.25;
  white-space:normal;
}
.reg-filter-line{
  display:flex;
  align-items:center;
  gap:12px;
  margin:2px 0 12px;
}
.reg-filter-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}
.reg-select{
  min-width:260px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(192,69,90,.24);
  background:#FEFCFA;
  color:#2C2525;
  font:700 12px 'IBM Plex Sans',system-ui,sans-serif;
  padding:0 14px;
  outline:none;
  cursor:pointer;
}
/* smaller typography for the last six region charts */
.reg-sector-compact svg text{font-size:5.2px!important}
.reg-sector-compact svg text[font-weight="800"]{font-size:5.6px!important}
.reg-metric-row .ct{font-size:11px!important}
.reg-metric-row .ch{font-size:9px!important}
.reg-metric-row .lgnd{font-size:9px!important}
.reg-metric-row .industry-profile-list{gap:8px;margin-top:12px}
.reg-metric-row .ip-line{padding:5px 0;grid-template-columns:28px 1fr;gap:6px}
.reg-metric-row .ip-line b{font-size:12px}
.reg-metric-row .ip-line span{font-size:9.5px}
.reg-metric-row .ip-ico{width:22px;height:22px;font-size:8px}
.reg-metric-row .ip-focus{padding:8px 9px}
.reg-metric-row .ip-focus small{font-size:8.5px}
.reg-metric-row .ip-focus b{font-size:10.5px;line-height:1.2}
@media(max-width:1200px){.reg-kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.reg-kpi-grid{grid-template-columns:1fr}.reg-filter-line{align-items:flex-start;flex-direction:column}.reg-select{width:100%}}


.sector-mobile-only{display:none;margin-top:10px;overflow:visible}
.sector-desktop-only{display:block}
.pdf-btn{
    border:none;
    border-radius:9px;
    padding:6px 12px;
    cursor:pointer;
    background:#C0455A;
    color:white;
    font-weight:600;
    font-size:12.5px;
}

.pdf-menu{
    position:absolute;
    right:20px;
    top:60px;
    background:white;
    border-radius:12px;
    padding:8px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
    z-index:9999;
    min-width:220px;
}

.pdf-menu button{
    display:block;
    width:100%;
    margin:4px 0;
    border:none;
    background:#F5F2EF;
    padding:10px;
    border-radius:8px;
    cursor:pointer;
}
/* MFO v76: same header/filter logic as BVU */
#mfo .cover{margin-top:0}
#mfo-fbar{position:sticky;top:50px;z-index:200}
#mfo .cv-h em{display:block}
#mfo .g3.mfo-extra-grid{margin-top:14px;align-items:stretch}
#mfo .g3.mfo-extra-grid .c{min-height:320px}
#mfo .sb-v{min-width:76px;text-align:right}
#mfo .date-select{min-width:126px}
#mfo .map-wrap{position:relative}

/* MFO v77 fixes */
#mfo .fbar{background:var(--ivory);border-bottom:1px solid rgba(0,0,0,.06)}
#mfo .cover{margin-top:0}
#mfo .ticker span{display:inline-flex;align-items:center;padding:0 26px;height:40px;border-right:1px solid rgba(255,255,255,.15);font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6)}
#mfo .ticker span b{margin-left:6px;color:#fff;font-weight:800;font-size:12px;letter-spacing:normal;text-transform:none;font-family:'IBM Plex Sans',sans-serif}
#mfo .cv-r .od-share-title{margin-top:24px}
#mfo .cv-r{min-width:360px}
#mfo .ftag{cursor:pointer}


/* MFO v78: hide BVU page navigation and make filter bar fully opaque while scrolling */
#mfo-fbar{
  position:sticky !important;
  top:50px !important;
  z-index:295 !important;
  background:#EEE7DC !important;
  background-color:#EEE7DC !important;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 1px 0 rgba(0,0,0,.08), 0 8px 18px rgba(0,0,0,.05) !important;
}
#mfo-fbar::before{
  content:'';
  position:absolute;
  inset:0;
  background:#EEE7DC;
  z-index:-1;
}
#mfo .cover{
  position:relative;
  z-index:1;
}


/* MFO final fixes: keep BVU untouched */
#mfo .fbar{
  position:sticky!important;
  top:50px!important;
  z-index:290!important;
  background:#EDE8DF!important;
  border-bottom:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.06)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#mfo .cover{min-height:300px;}
#mfo .cn-l{color:rgba(255,255,255,.68)!important;}
#mfo .cr-ttl{color:rgba(255,255,255,.72)!important;}
#mfo .cr-subttl{color:rgba(255,255,255,.5)!important;}
#mfo .od-share-title{color:rgba(255,255,255,.70)!important;}
#mfo .od-nm{color:rgba(255,255,255,.78)!important;}
#mfo .od-u{color:rgba(255,255,255,.48)!important;}
#mfo .cv-p{color:rgba(255,255,255,.72)!important;}
#mfo .mfo-extra-grid .c{min-height:260px;}
#mfo #mfo-sector-bars-all .sbn,
#mfo #mfo-sector-bars .sbn{width:210px;}
#mfo .sb{grid-template-columns:160px 1fr 64px;}
#mfo .ins-line b{line-height:1.3;}
#mfo .ins-line span{line-height:1.3;}

/* v80 MFO fixes: opaque sticky filter and readable cover labels */
#mfo-fbar{background:#EEE8DE!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; opacity:1!important;}
#mfo .cn-l{color:rgba(255,255,255,.82)!important;}
#mfo .cv-r .cr-ttl,#mfo .cv-r .od-share-title{color:rgba(255,255,255,.78)!important;}
#mfo .od-u{color:rgba(255,255,255,.58)!important;}
#mfo .od-v{color:rgba(255,255,255,.88)!important;}
#mfo .od-v.r{color:#F39AAC!important;}

/* MFO v81 — 3-page structure */
#mfo-nav-pills{display:none}
#mfo .c-dark{background:#0C0C0C;color:#fff;border-color:rgba(255,255,255,.08)}
#mfo .c-dark .ct,#mfo .c-dark .ch{color:rgba(255,255,255,.78)}
#mfo .mfo-trend-flex{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:stretch;min-height:280px}
#mfo .mfo-trend-kpi{border-right:1px solid rgba(255,255,255,.12);padding:24px 18px 18px 6px}
#mfo .mfo-trend-l{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.45);font-weight:800;margin-bottom:10px}
#mfo .mfo-trend-v{font-size:48px;line-height:1;font-weight:900;color:#F39AAC;margin-bottom:14px}
#mfo .mfo-trend-s{font-size:12px;line-height:1.6;color:rgba(255,255,255,.68)}
#mfo #mfo-trend-overview svg,#mfo #mfo-region-trend-total svg,#mfo #mfo-region-trend-overdue svg{height:280px!important}
#mfo #mfo-sector-overview .sb{grid-template-columns:220px 1fr 74px}
#mfo #mfo-sector-bars-credit .sb{grid-template-columns:220px 1fr 74px}
#mfo .g4 .c{min-height:270px}
#mfo .g4.mfo-row4 .c{min-height:300px;display:flex;flex-direction:column}
#mfo .g4.mfo-row4 .c > div[id]{flex:1;display:flex;align-items:center;min-height:0}
#mfo .g4.mfo-row4 .c > div[id] > svg{width:100%}
#mfo .mfo-extra-grid .c{min-height:260px}
#mfo #mfo-region-bars-regions .sb{grid-template-columns:170px 1fr 74px}
#mfo #mfo-region-overdue-f .sb,#mfo #mfo-region-overdue-m .sb{grid-template-columns:170px 1fr 74px}
#mfo .map-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;position:relative;box-shadow:0 1px 0 rgba(0,0,0,.02)}
#mfo .cv-r .cv-h{font-family:'IBM Plex Sans',sans-serif}
@media(max-width:1200px){#mfo .mfo-trend-flex{grid-template-columns:1fr}#mfo .mfo-trend-kpi{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}}

#mfo .mfo-overview-row{display:grid;grid-template-columns:2fr .95fr 1.05fr;gap:12px;margin-bottom:12px;align-items:stretch}
#mfo .mfo-overview-row .c{min-height:310px}
#mfo #mfo-region-fshare .sb,#mfo #mfo-region-mshare .sb{grid-template-columns:155px 1fr 70px}
#mfo .mfo-region-select{min-width:260px}
@media(max-width:1200px){#mfo .mfo-overview-row{grid-template-columns:1fr}}

/* MFO v83 overview polish: same visual rhythm as BVU overview */
#mfo .mfo-overview-row{grid-template-columns:minmax(520px,1.85fr) minmax(280px,.85fr) minmax(320px,1fr)!important;align-items:stretch!important;gap:12px!important}
#mfo .mfo-trend-card{min-height:330px!important;overflow:hidden!important}
#mfo .mfo-trend-flex{display:grid!important;grid-template-columns:150px 1fr!important;gap:18px!important;align-items:center!important;height:270px!important}
#mfo .mfo-trend-kpi{border-right:1px solid rgba(255,255,255,.10);height:100%;padding:28px 14px 0 0!important}
#mfo #mfo-trend-overview{width:100%!important;min-width:0!important}
@media(max-width:1200px){#mfo .mfo-overview-row{grid-template-columns:1fr!important}#mfo .mfo-trend-flex{grid-template-columns:1fr!important;height:auto!important}#mfo .mfo-trend-kpi{border-right:none!important;border-bottom:1px solid rgba(255,255,255,.10);padding-bottom:16px!important}}

/* MFO detailed industry list */
.mfo-sec-head{display:grid;grid-template-columns:minmax(190px,1fr) 70px 70px;gap:8px;align-items:center;margin:4px 0 8px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.mfo-sec-head b:nth-child(2){color:var(--rose)}
.mfo-sec-head b:nth-child(3){color:var(--blue)}
.mfo-sec-row{display:grid;grid-template-columns:minmax(190px,1fr) 1.7fr 58px 58px;gap:8px;align-items:center;margin:7px 0}
.mfo-sec-name{font-size:12px;line-height:1.15;color:#2f2a28;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mfo-sec-bar{height:12px;border-radius:999px;overflow:hidden;background:#eee7df;display:flex}
.mfo-sec-f{background:var(--rose);height:100%}.mfo-sec-m{background:var(--blue);height:100%}
.mfo-sec-val{font-size:12px;font-weight:800;text-align:right}.mfo-sec-val.r{color:var(--rose)}.mfo-sec-val.b{color:var(--blue)}

/* MFO v90 — trend block identical to BVU overview trend */
#mfo .mfo-trend-card{
  background:#0C0C0C!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:14px!important;
  display:grid!important;
  grid-template-columns:160px 1fr!important;
  overflow:hidden!important;
  min-height:310px!important;
  color:#fff!important;
}
#mfo .mfo-trend-card .ov-trend-kicker{
  padding:18px 16px!important;
  border-right:1px solid rgba(255,255,255,.07)!important;
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
}
#mfo .mfo-trend-card .ov-tk-label{
  font-size:9.5px!important;
  font-weight:700!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.35)!important;
  margin-bottom:6px!important;
}
#mfo .mfo-trend-card .tbig,
#mfo .mfo-trend-card .mfo-trend-v{
  font-size:58px!important;
  line-height:.95!important;
  font-weight:900!important;
  color:#F39AAC!important;
  margin:0 0 18px 0!important;
  letter-spacing:-.055em!important;
}
#mfo .mfo-trend-card .tctx,
#mfo .mfo-trend-card .mfo-trend-s{
  font-size:13px!important;
  line-height:1.75!important;
  color:rgba(255,255,255,.72)!important;
}
#mfo .mfo-trend-card .ov-trend-body{
  padding:14px 14px 12px!important;
  min-width:0!important;
}
#mfo .mfo-trend-card .tleg{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  margin:0 0 22px 0!important;
}
#mfo .mfo-trend-card .tl{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:10px!important;
  color:rgba(255,255,255,.78)!important;
  font-weight:700!important;
  line-height:1.1!important;
}
#mfo .mfo-trend-card .tln{
  width:18px!important;
  height:2px!important;
  border-radius:10px!important;
  flex:0 0 18px!important;
}
#mfo #mfo-trend-overview{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin-top:0!important;
}
@media(max-width:1200px){
  #mfo .mfo-trend-card{grid-template-columns:1fr!important;}
  #mfo .mfo-trend-card .ov-trend-kicker{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;}
}


/* v91 MFO overview polish: cover, industry sizing, gender balance cards */
#mfo .cover{
  grid-template-columns:minmax(0,1fr) 420px!important;
  padding-right:56px!important;
  overflow:hidden!important;
}
#mfo .cv-r{
  min-width:0!important;
  width:420px!important;
  padding-left:30px!important;
  box-sizing:border-box!important;
}
#mfo .cv-r .od-row{gap:18px!important;}
#mfo .cv-r .od-v{
  white-space:nowrap!important;
  min-width:116px!important;
  text-align:right!important;
}
#mfo .cv-r .od-u{white-space:nowrap!important;}
#mfo .cv-r .od-bar{width:100%!important;}
#mfo .mfo-balance-mini{display:grid;gap:8px;margin-top:26px;}
#mfo .mfo-mini-card{
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.055);
  border-radius:12px;
  background:rgba(192,69,90,.055);
}
#mfo .mfo-mini-card.blue{background:rgba(91,142,196,.06);}
#mfo .mfo-mini-card.violet{background:rgba(160,123,205,.07);}
#mfo .mfo-mini-card .mini-ico{
  width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:900;color:#C0455A;background:rgba(192,69,90,.13);
}
#mfo .mfo-mini-card.blue .mini-ico{color:#3f7fb8;background:rgba(91,142,196,.13);}
#mfo .mfo-mini-card.violet .mini-ico{color:#7f61b1;background:rgba(160,123,205,.14);}
#mfo .mfo-mini-card .mini-text{min-width:0;line-height:1.22;}
#mfo .mfo-mini-card .mini-text b{display:block;font-size:12px;color:#5f2a35;margin-bottom:3px;}
#mfo .mfo-mini-card .mini-text span{display:block;font-size:10.5px;color:#7b7470;}
#mfo .mfo-mini-card .mini-val{font-size:14px;font-weight:900;color:#151515;white-space:nowrap;}
@media(max-width:1200px){#mfo .cover{grid-template-columns:1fr!important;padding-right:40px!important}#mfo .cv-r{width:auto!important;padding-left:0!important}}


/* v92 MFO overview: match BVU sector block geometry and fix cover clipping */
#mfo .cover{
  grid-template-columns:minmax(0,1fr) 360px!important;
  padding-right:40px!important;
  overflow:hidden!important;
}
#mfo .cv-r{
  width:360px!important;
  min-width:0!important;
  padding-left:24px!important;
  box-sizing:border-box!important;
}
#mfo .cv-r .od-v{min-width:104px!important;font-size:18px!important;}
#mfo .cv-r .od-u{font-size:10px!important;}
#mfo .cv-r .cr-ttl{font-size:8.5px!important;line-height:1.25!important;}



/* v96: ФИНАЛЬНАЯ фиксация пропорции графика/профиля МФО — точно как у БВУ.
   Правило размещено в самом конце файла с максимальной специфичностью,
   чтобы гарантированно выиграть каскад независимо от прочих правил выше. */
#mfo div.ov-row2.ov-sector-profile-row.mfo-sector-profile-row{
  display:grid !important;
  grid-template-columns:1fr 290px !important;
  gap:12px !important;
}
#mfo div.ov-row2.ov-sector-profile-row.mfo-sector-profile-row > div.c.ov-sector-card{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}
#mfo div.ov-row2.ov-sector-profile-row.mfo-sector-profile-row > div.c.ov-industry-profile-card{
  width:290px !important;
  min-width:290px !important;
  max-width:290px !important;
  flex:none !important;
}
@media(max-width:1200px){
  #mfo div.ov-row2.ov-sector-profile-row.mfo-sector-profile-row{grid-template-columns:1fr !important}
  #mfo div.ov-row2.ov-sector-profile-row.mfo-sector-profile-row > div.c.ov-industry-profile-card{width:auto !important;min-width:0 !important;max-width:none !important}
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE  ≤ 768px  — v2, полная перезапись с максимальным приоритетом
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── VIEWPORT GUARD: минимальная ширина убрана ─────────────────── */
  body { min-width: 0 !important; overflow-x: hidden; }

  /* ── TOP BARS ──────────────────────────────────────────────────── */
  .org-bar  { padding: 0 14px !important; gap: 6px !important; }
  .ob-meta  { display: none !important; }

  /* Перенесённый блок "Экспорт PDF" в org-bar: прижат максимально вправо */
  .org-bar #pdf-export-wrap { margin-left: auto !important; position: relative; flex: none; }
  .org-bar #pdf-export-wrap .pdf-btn { padding: 4px 10px !important; font-size: 9.5px !important; border-radius: 7px !important; white-space: nowrap; }
  .org-bar #pdf-export-wrap .pdf-menu { top: 30px !important; right: 0 !important; left: auto !important; }

  .mnav { padding: 0 14px !important; height: auto !important; min-height: 48px !important;
          flex-wrap: wrap !important; gap: 6px !important; padding-top: 8px !important; padding-bottom: 8px !important; }
  .mnav-pills { gap: 1px !important; padding: 3px !important; }
  .mpill  { font-size: 10px !important; padding: 5px 9px !important; }
  .mnav-r { gap: 4px !important; }
  .mnav-logo { font-size: 14px !important; }
  .lang-switch { margin-left: 0 !important; }
  .lang-btn { font-size: 8px !important; padding: 3px 6px !important; }

  /* PDF-кнопка: убираем слово "Экспорт" */
  #export-pdf-btn .pdf-lbl,
  .pdf-btn .pdf-label,
  button[onclick*="exportPDF"] span:last-child { display: none !important; }

  /* ── FILTER BAR ─────────────────────────────────────────────────── */
  .fbar { padding: 8px 14px !important; height: auto !important;
          flex-wrap: wrap !important; gap: 8px 12px !important; overflow: visible !important; }
  .fbar-sep { display: none !important; }
  .fpill { font-size: 10px !important; padding: 4px 9px !important; }
  .fbar-label { font-size: 9px !important; letter-spacing: .08em !important; }
  .fsel, .fbar select { font-size: 11px !important; padding: 4px 6px !important; }

  /* ── PAGE PADDING ───────────────────────────────────────────────── */
  .page-body, [class*="page-"] { padding-left: 0 !important; padding-right: 0 !important; }
  .section-wrap, .pg-wrap { padding: 0 14px !important; }

  /* ── COVER / HERO ───────────────────────────────────────────────── */
  .cover {
    display: flex !important; flex-direction: column !important;
    padding: 24px 18px 22px !important; min-height: auto !important; gap: 18px !important;
    grid-template-columns: none !important;
  }
  .cover-bg { display: none !important; }
  .cv-l, .cv-r { width: 100% !important; padding: 0 !important; }
  .cv-h { font-size: 32px !important; line-height: 1 !important; }
  .cv-h em { font-size: 28px !important; }
  .cv-h1 { font-size: 26px !important; line-height: 1.1 !important; }
  .cv-fbp, .cv-sub { font-size: 12px !important; line-height: 1.55 !important; }
  .cv-gap { font-size: 12px !important; }

  /* KPI inline в cover */
  .cv-kpi-row, .cv-kpi-wrap { display: flex !important; flex-wrap: wrap !important; gap: 10px 18px !important; margin-top: 10px !important; }
  .cv-kpi { min-width: 0 !important; }

  /* OD block внутри cover */
  .cr-ttl { font-size: 10px !important; }
  .od-row  { padding: 6px 0 !important; }
  .od-v    { font-size: 14px !important; }
  .od-u    { font-size: 8px !important; }

  /* ── TICKER ─────────────────────────────────────────────────────── */
  .ticker { height: 36px !important; }
  .ti  { padding: 0 12px !important; }
  .ti-l { font-size: 7px !important; }
  .ti-v { font-size: 10px !important; }
  #mfo .ticker span   { padding: 0 12px !important; font-size: 7px !important; }
  #mfo .ticker span b { font-size: 10px !important; }

  /* ── TREND CHART: больше места снизу, чтобы график не обрезался ──── */
  .cTrend-wrap { height: 240px !important; padding-bottom: 14px !important; }

  /* ── ОТРАСЛЕВОЙ ГРАФИК: на мобильной показываем горизонтальный вариант ── */
  .sector-desktop-only { display: none !important; }
  .sector-mobile-only { display: block !important; }

  /* ── ЗАЁМЩИКИ: KPI-ряд в cover (Наиб/Наим доля Ж, Ядро аудитории, Разрыв) ──
     на мобильной 2x2 сетка вместо тесной flex-строки, чтобы значения типа
     "36–50" и "6.3 п.п." не переносились по словам/буквам ─────────────── */
  .bor-cov-kpis { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px 16px !important; }
  .bor-cov-kpi-v { font-size: 22px !important; white-space: nowrap; }

  /* ── РЕГИОНЫ: карта + сводка (g23.reg-top) → 1 колонка: карта сверху,
     карточка "Сводка по регионам" и топ NPL-регионов ниже ─────────────── */
  .g23.reg-top { display: grid !important; grid-template-columns: 1fr !important; }

  /* ── РЕГИОНЫ: g22.reg-row (два графика динамики) → 1 колонка, друг за другом ── */
  .g22.reg-row { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }

  /* ── ALL GRIDS → 1 COLUMN ───────────────────────────────────────── */
  /* Эти правила переопределяют ВСЕ многоколоночные раскладки */
  .g2, .g2b, .g3, .g4,
  .ov-main-row, .ov-analysis-row, .ov-row2, .ov-kpi-row,
  .bor-row1, .bor-row2, .bor-row3, .bor-row-bottom,
  .qg-top, .reg-npl-box, .reg-mini-grid, .reg-kpi-grid,
  .cr-row4, .bstats,
  .own-row, .rhp,
  #mfo .mfo-overview-row, #mfo .mfo-trend-flex, #mfo .g3, #mfo .g4,
  #mfo .mfo-credit-row, #mfo .mfo-balance-row, #mfo .mfo-reg-row,
  #mfo .mfo-reg-kpi-row, [class*="mfo-row"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
  }

  /* g4 — 2 колонки на мобильном (достаточно места для 2) */
  .g4 { grid-template-columns: 1fr 1fr !important; }
  .bstats { grid-template-columns: 1fr 1fr !important; }
  .reg-kpi-grid { grid-template-columns: 1fr 1fr !important; }
  .rhp { grid-template-columns: 1fr 1fr !important; }

  /* min-height сброс — на мобильном высота по содержимому */
  .ov-main-row .c, .ov-main-row .tblk, .ov-main-row .rs,
  .ov-analysis-row .c, .ov-analysis-row .ov-sector-card { min-height: auto !important; }

  /* ── TBLK (тренд-блок) ─────────────────────────────────────────── */
  .tblk {
    grid-template-columns: 1fr !important; display: grid !important;
    padding: 20px 16px !important; gap: 14px !important;
  }
  .tbig { font-size: 42px !important; }
  .tbig span { font-size: 18px !important; }
  .tctx { font-size: 11px !important; line-height: 1.7 !important; }
  .tey  { font-size: 8px !important; }

  /* ── CARDS ──────────────────────────────────────────────────────── */
  .c { padding: 16px 14px !important; }
  .ct { font-size: 11px !important; }

  /* ── SPLIT BARS ─────────────────────────────────────────────────── */
  .sbn { width: 90px !important; font-size: 10px !important; }

  /* ── GIANT NUMBERS ──────────────────────────────────────────────── */
  .gn { font-size: 30px !important; }
  .gn-s { font-size: 10px !important; margin-top: 4px !important; }

  /* ── QUALITY PAGE ───────────────────────────────────────────────── */
  .qg-arrow { display: none !important; }
  .qg-top { gap: 8px !important; }

  /* ── REGIONS PAGE ───────────────────────────────────────────────── */
  .reg-filter-line { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
  .reg-select { width: 100% !important; max-width: 100% !important; }
  .reg-map-wrap, #kz-map { width: 100% !important; max-width: 100% !important; }

  /* ── MFO SPECIFIC ───────────────────────────────────────────────── */
  #mfo .mfo-trend-kpi { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; padding-bottom: 14px !important; }
  #mfo .mfo-overview-row { min-width: 0 !important; }
  #mfo .g3.mfo-extra-grid .c { min-height: auto !important; }
  #mfo .cv-h { font-size: 26px !important; }
  #mfo .cv-h em { font-size: 24px !important; }

  /* ── OWN DIST ───────────────────────────────────────────────────── */
  .own-head { display: none !important; }

  /* ── SECTOR PROFILE ─────────────────────────────────────────────── */
  .ov-sector-profile-row,
  #mfo .ov-sector-profile-row,
  div[class*="sector-profile"] { grid-template-columns: 1fr !important; }
  .ov-industry-profile-card,
  #mfo .ov-industry-profile-card { width: auto !important; min-width: 0 !important; max-width: none !important; flex: none !important; }

  /* ── SVG/CANVAS: не вылезать за экран ──────────────────────────── */
  svg, canvas { max-width: 100% !important; }

  /* ── FOOTER ─────────────────────────────────────────────────────── */
  footer, .hm-footer { padding: 14px 18px !important; }
  .ft-row1 { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .ft-b { font-size: 12px !important; }
  .ft-m, .ft-contact { font-size: 9px !important; }
  .ft-contact svg { width: 13px !important; height: 13px !important; max-width: 13px !important; flex: none !important; }
}

/* ── ≤ 480px: ещё агрессивнее ───────────────────────────────────── */
@media (max-width: 480px) {
  .g4  { grid-template-columns: 1fr !important; }
  .bstats { grid-template-columns: 1fr 1fr !important; }
  .reg-kpi-grid { grid-template-columns: 1fr 1fr !important; }
  .tbig { font-size: 36px !important; }
  .gn   { font-size: 26px !important; }
  .cv-h { font-size: 28px !important; }
  .mpill { font-size: 9px !important; padding: 4px 7px !important; }
  .c { padding: 12px 12px !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   MOBILE TARGETED FIXES v3 — точечные исправления проблемных мест
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* 1. БИГ-СТАТС ПАНЕЛЬ: 6 колонок → 2 колонки (вместо 1) */
  .bstats.ov-kpi-row {
    grid-template-columns: 1fr 1fr !important;
    background: var(--sand) !important;
  }
  .ov-kpi-row .bst {
    min-height: auto !important;
    padding: 16px 14px !important;
    border-right: none !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .ov-kpi-row .bst:nth-child(even) { border-left: 1px solid var(--border) !important; }
  .ov-kpi-row .bst-v { font-size: 26px !important; }
  .ov-kpi-row .bst-note { font-size: 10px !important; padding-top: 8px !important; }
  .ov-kpi-row .gn { font-size: 26px !important; }
  .ov-kpi-row .cpr-row-kpi { min-height: 40px !important; }
  .ov-kpi-row .cpr-v { font-size: 22px !important; }

  /* 2. КРЕДИТЫ: cr-row4 (4 карточки объекты/цели/сроки/обеспечение) → 1 колонка */
  .cr-row4 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .cr-card-sm { min-height: auto !important; }

  /* 3. КРЕДИТЫ: cr-row-bottom → 1 колонка */
  .cr-row-bottom {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* 4. КАЧЕСТВО: q-one-row (5 карточек) → 1 колонка */
  .q-one-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .q-stack { grid-template-rows: auto auto !important; }
  .q-card-tall { min-height: auto !important; }
  .q-card-small { min-height: auto !important; }
  .q-card-tall > div[id], .q-card-small > div[id] { align-items: flex-start !important; }

  /* 5. ОБЗОР: ov-row1 (тренд + доля + баланс) → 1 колонка */
  .ov-row1 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* 6. ОБЗОР: ov-kpi-row (6 KPI) уже поймано выше */

  /* 7. РЕГИОНЫ: reg-top-row и reg-npl-box → 1 колонка */
  .reg-npl-box { grid-template-columns: 1fr 1fr !important; }
  .reg-mini-grid { grid-template-columns: 1fr 1fr !important; }

  /* 8. ЗАЕМЩИКИ: bor-row1 (3 кол) → 1 колонка */
  .bor-row1, .bor-row2, .bor-row3, .bor-row-bottom {
    grid-template-columns: 1fr !important;
  }

  /* 9. ov-main-row и ov-analysis-row — с minmax убрать через display:flex */
  .ov-main-row, .ov-analysis-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .ov-main-row .c, .ov-main-row .tblk,
  .ov-analysis-row .c, .ov-analysis-row .ov-sector-card {
    min-height: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 10. МФО mfo-credit-row → 1 колонка */
  .mfo-credit-row, .mfo-balance-row, .mfo-cred-grid,
  [class*="mfo-credit-row"], [class*="mfo-cred"] {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  /* 11. МФО Регионы: reg-kpi-row → 2 колонки */
  .mfo-reg-kpi-row, #mfo .reg-kpi-grid { grid-template-columns: 1fr 1fr !important; }

  /* 12. Убрать min-height на картах которые режут контент */
  #mfo .g4 .c, #mfo .g4.mfo-row4 .c { min-height: auto !important; }

  /* 13. ЗАЕМЩИКИ cover KPI: 4 пункта в ряд → перенос */
  .bor-cover-kpi, .bor-cv-kpis {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 16px !important;
  }

  /* 14. Все SVG-канвасы: автоматически растягиваются */
  canvas, svg { width: 100% !important; max-width: 100% !important; height: auto !important; }
  /* Но canvas с фиксированной высотой — не трогать */
  canvas[style*="height"] { width: 100% !important; max-width: 100% !important; height: auto !important; }

  /* 15. Шрифты в cover уменьшить чуть жёстче */
  .cover .cv-h1 { font-size: 24px !important; }
  .cover .cv-p  { font-size: 12px !important; }
  .cover .cv-nums { flex-wrap: nowrap !important; gap: 8px !important; }
  .cover .cv-nums .cn-v { font-size: 18px !important; }
  .cover .cv-nums .cn-l { font-size: 6.8px !important; white-space: nowrap; letter-spacing: .03em !important; }
  .cover .cn-v  { font-size: 30px !important; }

  /* 16. sec-ttl не обрезать */
  .sec-ttl { white-space: normal !important; font-size: 8px !important; }

}

#map-leg, #mfo-map-leg-regions { display: none !important; }

/* Map fits container block */
.g23.reg-top { align-items: stretch; }
.g23.reg-top .map-wrap { display: flex; flex-direction: column; }
.g23.reg-top #kz-map { flex: 1; min-height: 300px; }
.g23.reg-top .map-wrap .kz-zoom-svg { display: block; }
.kz-zoom-svg { will-change: transform; }
.kz-zoom-svg g { will-change: transform; }

/* Map fills container block */
.g23.reg-top { align-items: stretch; }
.g23.reg-top .map-wrap { display: flex; flex-direction: column; }
.g23.reg-top #kz-map { flex: 1; min-height: 300px; }
.kz-zoom-svg { display: block; will-change: transform; }
.kz-zoom-svg g { will-change: transform; }
