/* Design tokens moved to ui/styles/design-tokens.css */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{
  -webkit-text-size-adjust:100%;
  scrollbar-gutter:stable;
}
@supports not (scrollbar-gutter:stable){
  html{overflow-y:scroll}
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:400 14px/1.42 "Segoe UI",Roboto,-apple-system,Arial,sans-serif}
html,body{max-width:100%;overflow-x:hidden}
.app-shell{max-width:100%;width:100%;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);min-height:100vh;min-width:0;box-sizing:border-box;overflow-x:hidden}
.sidebar{
  background:var(--sidebar);
  border-right:1px solid var(--line);
  padding:16px 10px 90px;
  overflow:visible;
}
.brand-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
}
.sidebar-brand-card .brand-wrap{
  margin:0;
}
.brand-block{min-width:0;width:100%;text-align:center}
.brand-title{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  gap:0;
  font-size:26px;
  font-weight:700;
  color:var(--accent-2);
  line-height:1;
  letter-spacing:.02em;
}
.brand-logo{
  display:inline;
  line-height:1;
  letter-spacing:inherit;
  white-space:nowrap;
}
.brand-logo-first,
.brand-logo-mid,
.brand-logo-last{
  display:inline;
}
.brand-logo-first{color:var(--accent-2)}
.brand-logo-mid{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.brand-logo-last.brand-rub{color:var(--text)}
.brand-title .brand-rub{color:var(--text)}
.brand-sub{
  display:none;
}
.brand-privacy-toggle{
  width:1.05em;
  height:1.05em;
  min-width:1.05em;
  min-height:1.05em;
  border:none;
  background:transparent;
  border-radius:0;
  padding:0;
  color:#8d8173;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
}
.brand-privacy-toggle:hover{color:var(--text);border:none}
.brand-privacy-toggle[aria-pressed="true"]{color:var(--accent-2);border:none}
.brand-privacy-toggle svg{
  width:.8em;
  height:.8em;
}
.side-group{
  margin-top:4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.side-link{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:44px;
  height:44px;
  padding:0;
  border-radius:var(--radius-pill);
  color:var(--muted);
  margin:0;
  cursor:pointer;
}
/* Подсветка сайдбара — laconic-layout.css (по вкладке tab-*) */
.side-link .nav-txt{
  display:none;
}
.app-shell:not(.sidebar--expanded) .side-link{
  overflow:hidden;
}
.app-shell:not(.sidebar--expanded) .side-link:hover,
.app-shell:not(.sidebar--expanded) .side-link:focus-visible{
  overflow:visible;
  z-index:1501;
}
.side-link[data-tip]::after,
.widget-filter-tab--icon-only[data-tip]::after{
  content:attr(data-tip);
  position:absolute;
  padding:6px 12px;
  border-radius:var(--radius-pill);
  background:var(--text);
  color:#fff;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 6px 18px rgba(40,30,20,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease,visibility .12s ease;
  z-index:1500;
}
.side-link[data-tip]::after{
  left:calc(100% + 10px);
  top:50%;
  transform:translateY(-50%);
}
.widget-filter-tab--icon-only[data-tip]::after{
  left:50%;
  top:calc(100% + 8px);
  transform:translateX(-50%);
}
.side-link[data-tip]:hover::after,
.side-link[data-tip]:focus-visible::after,
.widget-filter-tab--icon-only[data-tip]:hover::after,
.widget-filter-tab--icon-only[data-tip]:focus-visible::after{
  opacity:1;
  visibility:visible;
}
.page-portfolio .v2-pf-filter-card:has(.widget-filter-tab--icon-only[data-tip]:hover),
.page-portfolio .v2-pf-filter-card:has(.widget-filter-tab--icon-only[data-tip]:focus-visible),
.page-summary--dashboard .v2-pf-filter-card:has(.widget-filter-tab--icon-only[data-tip]:hover),
.page-summary--dashboard .v2-pf-filter-card:has(.widget-filter-tab--icon-only[data-tip]:focus-visible),
.page-summary--dashboard .v2-wf-filter-card:has(.widget-filter-tab--icon-only[data-tip]:hover),
.page-summary--dashboard .v2-wf-filter-card:has(.widget-filter-tab--icon-only[data-tip]:focus-visible){
  z-index:1300;
}
.widget-filter-tab--icon-only[data-tip]:hover,
.widget-filter-tab--icon-only[data-tip]:focus-visible{
  z-index:2;
}
.pf-add-lop-trigger[data-tip]{
  position:relative;
}
.pf-add-lop-trigger[data-tip]::after{
  content:attr(data-tip);
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  transform:translateX(-50%);
  padding:6px 12px;
  border-radius:var(--radius-pill);
  background:var(--text);
  color:#fff;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 6px 18px rgba(40,30,20,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease,visibility .12s ease;
  z-index:1500;
}
.pf-add-lop-trigger[data-tip]:hover::after,
.pf-add-lop-trigger[data-tip]:focus-visible::after{
  opacity:1;
  visibility:visible;
}
html.theme-dark .pf-add-lop-trigger[data-tip]::after{
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
html.theme-dark .side-link[data-tip]::after,
html.theme-dark .widget-filter-tab--icon-only[data-tip]::after{
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
.sidebar-foot-card.dev-mod-sidebar-status{display:none}

/* Сайдбар: развёрнутый режим (двойной щелчок по панели) */
.app-shell.sidebar--expanded{
  grid-template-columns:auto minmax(0,1fr);
}
.app-shell.sidebar--expanded .sidebar{
  width:max-content;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:var(--laconic-gap,16px) max(16px, env(safe-area-inset-left)) var(--laconic-gap,16px) max(12px, env(safe-area-inset-right));
}
.app-shell.sidebar--expanded .sidebar-brand-card{
  justify-content:center;
  padding:0 10px;
}
.app-shell.sidebar--expanded .sidebar-brand-card .brand-wrap{
  justify-content:center;
  margin:0 auto;
  width:auto;
}
.app-shell.sidebar--expanded .brand-block{
  text-align:center;
  width:auto;
}
.app-shell.sidebar--expanded .brand-title{
  justify-content:center;
  width:auto;
  font-size:26px;
  letter-spacing:.02em;
}
.app-shell.sidebar--expanded .brand-logo-mid{
  position:static;
  width:auto;
  height:auto;
  margin:0;
  overflow:visible;
  clip:auto;
  white-space:normal;
}
.app-shell.sidebar--expanded .brand-sub{
  display:none!important;
}
.app-shell.sidebar--expanded .side-group{
  margin-top:4px;
  align-items:stretch;
  width:100%;
  gap:6px;
}
.app-shell.sidebar--expanded .side-link{
  width:auto;
  align-self:stretch;
  height:44px;
  min-height:44px;
  max-height:44px;
  padding:0 12px 0 14px;
  gap:10px;
  justify-content:flex-start;
  margin-bottom:0;
  box-sizing:border-box;
}
.app-shell.sidebar--expanded .side-link .nav-txt{
  display:inline;
  position:static;
  width:auto;
  height:auto;
  min-width:0;
  margin:0;
  overflow:visible;
  clip:auto;
  white-space:nowrap;
  text-overflow:clip;
}
.app-shell.sidebar--expanded .side-link[data-tip]::after{
  display:none;
  content:none;
}
.app-shell.sidebar--expanded .sidebar-foot-card.dev-mod-sidebar-status{
  display:block;
}

.side-link .nav-ico{
  width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
}
.side-link .nav-ico svg:not(.alfa-mark-svg){width:18px;height:18px;display:block}
.side-link .nav-ico .alfa-mark-svg{width:20px;height:20px;display:block}
.side-link.s-a-alpha .nav-ico{color:#ef3124}
.side-link.s-a-kit .nav-ico{color:#6a1b9a}
.bank-raster-icon{display:block;object-fit:contain;width:24px;height:24px;max-width:24px;max-height:24px}
.nav-ico--bank-raster{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}
.nav-ico--bank-raster .bank-raster-icon{width:20px;height:20px}
.tab-btn-ico .bank-raster-icon{width:18px;height:18px}
.summary-breakdown-icon .bank-raster-icon{width:16px;height:16px}
.summary-accum-ico .bank-raster-icon{width:14px;height:14px}
.summary-mix-ico .bank-raster-icon{width:14px;height:14px}
.tab-btn-ico .bank-raster-icon[src$=".ico"]{width:20px;height:20px}
.alfa-mark-svg{display:block;width:18px;height:18px;flex-shrink:0}
.nav-ico .alfa-mark-svg{width:20px;height:20px}
.tab-btn-ico .alfa-mark-svg{width:18px;height:18px}
.summary-breakdown-icon .alfa-mark-svg{width:16px;height:16px}
.summary-accum-ico .alfa-mark-svg{width:14px;height:14px}
.summary-mix-ico .alfa-mark-svg{width:14px;height:14px}
.side-link.s-a-sber .nav-ico{color:#21a038}
.ui-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}
.ui-ico svg{display:block;width:1em;height:1em}
.ui-ico--sm{width:14px;height:14px;font-size:14px}
.ui-ico--md{width:18px;height:18px;font-size:18px}
.summary-breakdown-icon .ui-ico{width:16px;height:16px;font-size:16px;color:#fff}
.summary-breakdown-icon .ui-ico svg.alfa-mark-svg{width:16px;height:16px}
.summary-accum-ico{display:inline-flex;width:15px;height:15px;flex-shrink:0;align-items:center;justify-content:center}
.summary-accum-ico .ui-ico{width:100%;height:100%;font-size:14px}
.summary-accum-ico .ui-ico svg.alfa-mark-svg{width:14px;height:14px}
.summary-mix-ico{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}
.summary-mix-ico .ui-ico{width:100%;height:100%;font-size:14px}
.summary-mix-ico .ui-ico svg.alfa-mark-svg{width:14px;height:14px}
.tab-btn .tab-btn-ico{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:inherit}
.tab-btn .tab-btn-ico svg:not(.alfa-mark-svg){width:18px;height:18px;display:block}
.tab-btn .tab-btn-ico .alfa-mark-svg{width:18px;height:18px;display:block}
.alfa-mark-svg path{fill:#EF3124}
.side-link small{font-size:12px}
.content{
  padding:16px max(18px, env(safe-area-inset-right)) 92px max(18px, env(safe-area-inset-left));
}
.topbar{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  margin-bottom:14px;
}
.page-title{font-size:18px; color:var(--muted); margin-bottom:4px}
.page-subtitle{font-size:34px; font-weight:500; line-height:1.06; margin:0}
.top-actions{display:flex; gap:12px; align-items:center}
.pill-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 20px; border-radius:var(--radius-pill); background:var(--accent); color:#fff; border:none; font:inherit; font-weight:600;
  box-shadow:var(--shadow)
}
.user-chip{
  display:flex; align-items:center; gap:10px; padding:8px 12px; background:rgba(255,255,255,.65);
  border:1px solid var(--line); border-radius:var(--radius-pill);
}
.avatar{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:700
}
.grid-3,.grid-2,.grid-4{display:grid;gap:var(--gap-cards)}
.grid-3{grid-template-columns:1.2fr 1.1fr .95fr}
.grid-2{grid-template-columns:1fr 1fr}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gap-cards);
  align-items:stretch;
}
.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:16px;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.metric-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.metric-title{
  font-size:var(--font-metric-label);
  color:var(--text);
  font-weight:600;
  margin:0;
  line-height:1.25;
}
.visibility-toggle{
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:var(--radius-pill);
  border:1px solid var(--line);
  background:var(--panel-2);
  color:var(--muted);
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
  font:inherit;
}
.visibility-toggle:hover{color:var(--text);border-color:#c9bfb2}
.visibility-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.visibility-toggle svg{display:block}
.visibility-toggle .icon-eye-off{display:none}
.visibility-toggle[aria-pressed="true"]{color:var(--accent-2);border-color:#e7cfb1}
.visibility-toggle[aria-pressed="true"] .icon-eye-on{display:none}
.visibility-toggle[aria-pressed="true"] .icon-eye-off{display:block}
.visibility-toggle--compact{
  width:32px;height:32px;border-radius:var(--radius-pill)
}
.visibility-toggle--compact svg{width:16px;height:16px}
.metric-value{font-size:var(--font-metric); font-weight:600; letter-spacing:-.02em;line-height:1.15}
.metric-sub{font-size:var(--font-card-body); color:var(--muted); margin-top:6px;line-height:1.45}
.metric-value.good{color:var(--good)}
.metric-value.warn{color:var(--bad)}
.td-metric.good{color:var(--good);font-weight:600}
.td-metric.warn{color:var(--bad);font-weight:600}
.period-switch{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.period-btn{
  cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);
  font:inherit;font-size:12px;font-weight:600;padding:7px 11px;border-radius:var(--radius-pill);line-height:1.2
}
.period-btn:hover{color:var(--text)}
/* .period-btn.active — filter-chips.css */
.period-btn--sym{min-width:36px;padding:7px 8px;font-size:12px;letter-spacing:.02em}
.plan-analysis{border-left:3px solid var(--accent);padding:0 0 0 12px;margin-top:12px;font-size:13px;line-height:1.55;color:var(--text)}
.plan-analysis h4{margin:0 0 8px;font-size:14px;color:var(--accent-2)}
.card-header{
  display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px
}
.card-title{font-size:var(--font-card-title); font-weight:600; margin:0;line-height:1.3}
.card-note{font-size:var(--font-card-body); color:var(--muted);line-height:1.45}
.mini-badge{
  display:inline-flex; padding:5px 10px; border-radius:var(--radius-pill); font-size:12px; font-weight:600;
  border:1px solid #e7cfb1; background:var(--panel)5e8; color:var(--accent-2);line-height:1.2
}
.card > .metric-title{margin-bottom:8px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-cards)}
.kpi-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.action-list{display:grid;gap:9px}
.action-row{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:10px 12px;
  font-size:var(--font-card-body);line-height:1.35
}
.action-left{display:flex;gap:10px;align-items:center;font-weight:600}
.action-row b{font-size:var(--font-card-body);font-weight:600}
.dot{width:10px;height:10px;border-radius:50%}
.dot.red{background:var(--bad)} .dot.yellow{background:var(--warn)} .dot.green{background:var(--good)}
.checklist{margin:0;padding-left:18px}
.checklist li{margin:6px 0;color:var(--text);font-size:var(--font-card-body);line-height:1.45}
.overview-checklist{margin-top:10px}
.listbox h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--accent-2);line-height:1.3}
.chart-wrap{height:280px}
.chart-wrap.small{height:240px}
svg{display:block;width:100%;height:100%}
table{width:100%;border-collapse:collapse;table-layout:fixed}
th,td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}
tr:last-child td{border-bottom:none}
.report-passport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 2px}
.report-passport-item{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.report-passport-label{font-size:12px;color:var(--muted);margin-bottom:4px}
.report-passport-value{font-size:14px;font-weight:600;color:var(--text)}
.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.report-kpi{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.report-kpi .v{font-size:20px;font-weight:700;line-height:1.15}
.report-kpi .s{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}
.report-mini-table-wrap{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}
.report-mini-table table{table-layout:auto}
.report-mini-table th,.report-mini-table td{padding:8px 9px;font-size:12px}
.report-mini-table th{font-size:10px}
.report-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.report-chart-wrap{height:260px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:8px}
.report-chart-wrap--plain{background:transparent;border:none;padding:0;border-radius:0;box-shadow:none}
.report-chart-wrap--plain svg{display:block;width:100%;height:100%}
.report-table{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:auto;background:var(--panel)}
.report-table table{table-layout:auto;min-width:960px}
.report-table th,.report-table td{font-size:12px;padding:8px 9px;white-space:nowrap}
.report-table .num{text-align:right;font-variant-numeric:tabular-nums}
.report-table .neg{color:var(--bad);font-weight:600}
.report-table .pos{color:var(--good);font-weight:600}
.sber-bank-detail-cards{display:grid;gap:12px;margin-top:14px}
.sber-bank-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;
  box-shadow:var(--shadow);
}
.sber-bank-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.sber-bank-card__title{font-weight:600;font-size:15px;color:var(--text);line-height:1.25}
.sber-bank-card__rate{display:inline-block;padding:4px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--accent-2)}
.sber-bank-card__bal{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:6px 0 4px}
.sber-bank-card__sub{font-size:13px;color:var(--muted);line-height:1.45}
.sber-bank-card__pill{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line);font-size:13px;line-height:1.45}
.sber-bank-card__pill strong{display:block;margin-bottom:4px;color:var(--text)}
.sber-bank-card__hist{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.sber-bank-card__hist h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.sber-bank-hist-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.sber-bank-hist-row:last-child{border-bottom:none}
.sber-bank-hist-row .amt{font-variant-numeric:tabular-nums;font-weight:600}
.sber-bank-hist-row .amt.pos{color:var(--good)}
.sber-bank-hist-row .amt.neg{color:var(--bad)}
.report-section-title{font-size:14px;color:var(--accent-2);margin:0 0 6px}
.control-hero{display:grid;grid-template-columns:1.4fr .9fr;gap:12px}
.control-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.control-kpi{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;
  min-height:108px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.control-kpi .k{font-size:12px;color:var(--muted);margin-bottom:4px}
.control-kpi .v{font-size:20px;font-weight:700;line-height:1.15}
.control-kpi .s{font-size:12px;color:var(--muted);margin-top:4px}
.control-table{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:auto;background:var(--panel)}
.control-table table{table-layout:auto;min-width:980px}
.control-table th,.control-table td{padding:8px 9px;font-size:12px;white-space:nowrap}
.control-table .num{text-align:right;font-variant-numeric:tabular-nums}
.control-table .sub{color:var(--muted);font-size:11px;font-weight:400}
.control-foot{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.45}
.overview-grid-span{grid-column:1 / -1}
.package-intro-card .control-table{margin-top:0}
.portfolio-context-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;
  padding:10px 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:14px
}
.portfolio-context-bar label{font-size:12px;color:var(--muted);font-weight:600}
.portfolio-context-select{
  min-width:min(100%,280px);padding:8px 10px;border-radius:12px;border:1px solid var(--line);
  background:var(--panel);font:inherit;font-size:13px;color:var(--text)
}
.page-portfolio .portfolio-toolbar{
  margin-bottom:14px;padding:7px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;
  overflow-x:hidden
}
.page-portfolio .portfolio-toolbar-cluster{
  display:flex;align-items:center;gap:4px;flex-shrink:0
}
.page-portfolio .portfolio-toolbar-cluster--line{
  flex:1;min-width:0;gap:4px
}
.page-portfolio .portfolio-toolbar-cluster--line .summary-funds-tabs.portfolio-line-tabs-shell{
  flex:1;min-width:0
}
.page-portfolio .portfolio-toolbar-row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 16px
}
.page-portfolio .portfolio-toolbar-row--one-line{
  flex-wrap:nowrap;align-items:center;gap:6px;overflow:visible
}
.page-portfolio .portfolio-toolbar-row--one-line .portfolio-toolbar-label{
  font-size:12.5px;margin:0
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tabs{
  padding:0;gap:4px;margin-bottom:0;flex-shrink:0;border:none;background:transparent;box-shadow:none;
  border-radius:var(--radius-pill)
}
.page-portfolio .portfolio-toolbar-row--one-line #portfolioHubTabs.summary-funds-tabs,
.page-portfolio .portfolio-toolbar-row--one-line #portfolioAssetTabs.summary-funds-tabs{
  gap:2px;padding:0
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab{
  padding:5px 10px;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:-0.035em
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon{
  padding:4px 5px;letter-spacing:normal;min-width:42px;display:inline-flex;align-items:center;justify-content:center
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon .hub-icon{
  width:24px;height:24px;display:block;flex-shrink:0
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon .hub-icon--brand{
  width:24px;height:24px;display:block;flex-shrink:0;object-fit:contain;object-position:center
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon[data-portfolio-hub="alfa"] .hub-icon--brand{
  filter:none
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon[data-portfolio-hub="sber"] .hub-icon--brand{
  filter:none
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon[data-portfolio-hub="kit"] .hub-icon--brand{
  filter:none
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon[data-portfolio-hub="t"] .hub-icon--brand,
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--hub-icon[data-portfolio-hub="finam"] .hub-icon--brand{
  filter:none
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--asset-icon{
  padding:4px 5px;letter-spacing:normal;min-width:42px;display:inline-flex;align-items:center;justify-content:center
}
.page-portfolio .portfolio-toolbar-row--one-line .summary-funds-tab--asset-icon .asset-type-icon{
  width:22px;height:22px;display:block;flex-shrink:0
}
/* asset-icon pressed — filter-chips.css */
.page-portfolio .portfolio-toolbar-row--one-line [data-portfolio-asset="stock"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#e53935}
.page-portfolio .portfolio-toolbar-row--one-line [data-portfolio-asset="bank"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#1e88e5}
.page-portfolio .portfolio-toolbar-row--one-line [data-portfolio-asset="cash"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#29b6f6}
.page-portfolio .portfolio-toolbar-row--one-line [data-portfolio-asset="fund"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#8e24aa}
.page-portfolio .portfolio-toolbar-row--one-line [data-portfolio-asset="bond"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#5e35b1}
.page-portfolio .portfolio-toolbar-row--one-line .portfolio-line-tabs-shell .portfolio-line-tabs__inner{
  flex-wrap:nowrap;gap:2px;overflow:visible;min-width:0
}
.page-portfolio .portfolio-toolbar-row--one-line .portfolio-line-tabs-shell .portfolio-line-tabs__inner .summary-funds-tab{
  padding:4px 7px;font-size:11px;letter-spacing:-0.055em
}
.page-portfolio .portfolio-toolbar-cluster--line .summary-funds-tabs.portfolio-line-tabs-shell{
  max-width:100%
}
.page-portfolio .portfolio-toolbar-cluster--mode .summary-funds-tabs{margin-bottom:0}
.page-portfolio .portfolio-toolbar-cluster--mode .summary-funds-tab{min-width:44px;padding:4px 10px}
.page-portfolio .portfolio-toolbar-row--one-line .hint-dd.portfolio-toolbar-hint-dd{margin-left:2px;flex-shrink:0}
.page-portfolio .portfolio-toolbar-label{
  font-size:12px;color:var(--muted);font-weight:600;flex-shrink:0;margin:0
}
.page-portfolio .portfolio-toolbar .summary-funds-tabs{margin-bottom:0;flex:0 1 auto}
/* portfolio .summary-funds-tab[aria-pressed] — filter-chips.css */
.page-portfolio .portfolio-toolbar-hint{margin:10px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}
.page-portfolio .portfolio-toolbar-row--lines{align-items:flex-start}
.page-portfolio .portfolio-toolbar .portfolio-line-tabs-shell{
  flex:1;min-width:0;margin-bottom:0
}
.page-portfolio .portfolio-line-tabs-shell .portfolio-line-tabs__inner{
  display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0;background:transparent;min-width:0
}
.page-portfolio .portfolio-line-tabs-shell .portfolio-line-tabs__inner .summary-funds-tab{margin:0}
.page-portfolio .portfolio-toolbar-row--lines .hint-dd.portfolio-toolbar-hint-dd{margin-left:auto}
.portfolio-updates-panel{
  margin:0 0 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:8px 12px 10px
}
.portfolio-updates-panel>summary{
  cursor:pointer;font-weight:600;font-size:13px;color:var(--text);list-style:none;display:flex;align-items:center;gap:8px
}
.portfolio-updates-panel>summary::-webkit-details-marker{display:none}
.portfolio-updates-panel>summary::before{content:'▸';display:inline-block;transition:transform .15s;font-size:11px;color:var(--muted)}
.portfolio-updates-panel[open]>summary::before{transform:rotate(90deg)}
.portfolio-updates-panel .portfolio-table-wrap{margin-top:8px}
.portfolio-updates-panel .card-note{margin:8px 0 0;font-size:11px}
.page-portfolio .portfolio-summary-strip-wrap{
  margin:0 0 10px;border:1px solid var(--line);border-radius:10px;overflow:auto;background:var(--panel-2)
}
.page-portfolio .portfolio-summary-strip{border-collapse:collapse;width:100%;font-size:11px;table-layout:auto}
.page-portfolio .portfolio-summary-strip td{
  padding:5px 10px;border-right:1px solid var(--line);white-space:nowrap;color:var(--text);vertical-align:middle
}
.page-portfolio .portfolio-summary-strip td:last-child{border-right:0}
.page-portfolio .portfolio-summary-strip .pss-k{color:var(--muted);font-weight:600;margin-right:5px}
.instrument-db-note{font-size:12px;color:var(--muted);line-height:1.45;margin-top:8px}
.control-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.control-chip{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:10px 14px}
.tag{
  display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;border:1px solid var(--line)
}
.tag.base{background:var(--panel)5e8;color:var(--accent-2);border-color:#ecd0af}
.tag.growth{background:rgba(118,182,126,.12);color:var(--good);border-color:rgba(118,182,126,.35)}
.tag.cut{background:var(--panel)0ef;color:#bf4a47;border-color:#f1c7c5}
.tag.watch{background:var(--panel)8ea;color:#99620d;border-color:#efd9a8}
.textarea{
  width:100%; min-height:128px; resize:vertical; border:1px solid var(--line); border-radius:14px;
  padding:12px; background:var(--panel); color:var(--text); font:inherit
}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
/* historyPortfolioFilters active — filter-chips.css */
#historyPortfolioFilters .summary-funds-tab{
  padding:6px 10px;font-size:11px
}
.btn-soft{
  display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:var(--radius-pill);
  border:1px solid var(--line); background:var(--panel); color:var(--text); font:inherit; font-weight:600
}
.history-form{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.history-form .field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.field-label{
  font-size:12px;
  color:var(--muted);
  margin-bottom:4px;
}
.history-empty{
  color:var(--muted);
  font-size:13px;
  padding:10px 0;
}
.history-update-insights{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-2);
}
.history-update-insights-title{
  margin:0 0 6px;
  font-size:13px;
  font-weight:700;
  color:var(--text);
}
.history-update-insights-list{
  margin:0;
  padding-left:18px;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  color:var(--text);
}
.history-update-insights-empty{
  margin:0;
  font-size:12px;
  color:var(--muted);
}
.plan-steps{
  margin:0;
  padding-left:22px;
  list-style:decimal;
  color:var(--text);
}
.plan-steps li{margin:10px 0;padding-left:4px}
.plan-steps li strong{color:var(--accent-2)}
.plan-day-note{
  font-size:12px;
  color:var(--muted);
  margin:10px 0 0;
  padding:10px 12px;
  background:var(--panel-2);
  border-radius:12px;
  border:1px solid var(--line);
}
.bench-deposit-legend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:10px 0 0;
  padding:8px 10px;
  background:linear-gradient(90deg, rgba(46,168,107,0.12), rgba(46,168,107,0.04));
  border:1px solid rgba(46,168,107,0.35);
  border-radius:14px;
  font-size:12.5px;
  color:var(--text);
  line-height:1.35;
}
.bench-deposit-legend strong{color:var(--good)}
.bench-macro-legend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:8px 0 0;
  padding:8px 10px;
  background:linear-gradient(90deg, rgba(0,90,140,0.10), rgba(0,90,140,0.03));
  border:1px solid rgba(0,90,140,0.28);
  border-radius:14px;
  font-size:12.5px;
  color:var(--text);
  line-height:1.35;
}
.bench-macro-legend strong{color:#1a5a7a}
.chart-wrap--benchmark{height:320px;min-height:320px}
.bench-market-voice{
  margin:0;
  padding:12px 14px;
  background:linear-gradient(90deg, rgba(95,60,140,0.11), rgba(95,60,140,0.03));
  border:1px solid rgba(95,60,140,0.28);
  border-radius:14px;
  font-size:14px;
  color:var(--text);
  line-height:1.58;
}
.bench-market-voice .market-voice-heading{margin:0 0 8px;font-size:15px;font-weight:600;color:#4a2f6e}
.bench-market-voice h4{margin:14px 0 6px;font-size:13px;font-weight:700;color:var(--accent-2)}
.bench-market-voice ul{margin:6px 0 0;padding-left:18px}
.bench-market-voice li{margin:5px 0}
.plan-proposal-note{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.5}
.page-update-date{
  max-width:1500px;
  margin:0 auto;
  padding:10px 16px 14px;
  text-align:right;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}
.strategy-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;margin-top:8px;border-radius:14px;border:1px solid var(--line)}
.strategy-table{font-size:13px;width:100%;border-collapse:collapse;table-layout:auto}
.strategy-table th{background:var(--panel-2);font-weight:600;text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.strategy-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.4}
.strategy-table tr:last-child td{border-bottom:none}
.strategy-table .st-risk{color:var(--bad);font-size:12px}
.strategy-table .st-yield{color:var(--good);font-weight:600}
.guide-links .checklist a{overflow-wrap:anywhere;word-break:break-word}
.portfolio-table-wrap{
  display:block;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
  width:100%;
  min-width:0;
  overscroll-behavior-x:contain;
}
.app-shell .content{min-width:0;max-width:100%;width:100%}
.page-portfolio.card{max-width:100%;min-width:0;box-sizing:border-box}
.page-portfolio .portfolio-table-wrap{width:100%;max-width:100%}
.portfolio-table-shell{position:relative}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hint-dd{margin:0;border:0;padding:0;background:transparent}
.hint-dd__summary{
  cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:5px;user-select:none;
  font-size:12px;line-height:1.2
}
.hint-dd__summary::-webkit-details-marker{display:none}
.hint-dd__tri{font-size:9px;line-height:1;color:#c49a6c;flex-shrink:0}
.hint-dd[open] .hint-dd__tri{color:var(--accent-2)}
.hint-dd__q{font-weight:700;font-size:15px;line-height:1;color:var(--accent-2);flex-shrink:0}
.hint-dd__body{margin:6px 0 0;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:11px;line-height:1.45;color:var(--muted)}
.page-portfolio .portfolio-toolbar-hint-dd{flex-shrink:0;max-width:min(100%,300px)}
.page-portfolio .portfolio-toolbar-row--one-line .portfolio-toolbar-hint-dd{max-width:none}
.portfolio-table-toolbar{margin:0 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.portfolio-cols-panel{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel-2);font-size:11px;padding:2px 10px 4px;max-width:100%}
.portfolio-cols-panel>summary{cursor:pointer;font-weight:600;color:var(--accent-2);list-style:none;user-select:none;padding:2px 0}
.portfolio-cols-panel>summary::-webkit-details-marker{display:none}
.portfolio-cols-panel-body{display:flex;flex-wrap:wrap;gap:6px 12px;padding:4px 2px 2px;max-width:720px}

/* Портфель v2: поиск в приоритете, столбцы — компактный выпадающий блок */
.pf-v2-portfolio-source-hint{
  margin:0 0 8px;font-size:11px;line-height:1.35;color:var(--muted);opacity:.88
}
/* Технические подсказки: только при включённом режиме разработчика */
.dev-only-ui-hint{display:none!important}
body.developer-mode-on .dev-only-ui-hint{display:block!important}
/* Портфель v2: фильтры слева, поиск + столбцы справа; высота контролов — --pf-toolbar-control-h (задаётся в laconic-layout.css) */
.page-portfolio .pf-v2-portfolio-controls-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0;min-width:0
}
.page-portfolio .pf-v2-filter-cluster{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:1 1 auto;min-width:0;
  overflow:visible;
}
.page-portfolio .pf-v2-toolbar-end{
  display:flex;flex-wrap:nowrap;align-items:center;gap:10px;flex:0 0 auto;margin-left:auto
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tabs,
.page-portfolio .v2-pf-filter-card .widget-filter-tabs,
.page-portfolio .v2-pf-filter-card .v2-filter-tabs-host,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tabs,
.page-summary--dashboard .v2-pf-filter-card .v2-filter-tabs-host{
  display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;
  padding:0;border:none;background:transparent;box-shadow:none;
  border-radius:var(--radius-pill);flex-shrink:0;margin:0
}
.page-portfolio .v2-pf-filter-card--accounts .widget-filter-tabs,
.page-portfolio .v2-pf-filter-card--accounts .v2-filter-tabs-host,
.page-summary--dashboard .v2-pf-filter-card--accounts .widget-filter-tabs,
.page-summary--dashboard .v2-pf-filter-card--accounts .v2-filter-tabs-host{
  flex-wrap:wrap;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.page-portfolio .v2-pf-filter-card--classes .widget-filter-tabs,
.page-portfolio .v2-pf-filter-card--classes .v2-filter-tabs-host,
.page-summary--dashboard .v2-pf-filter-card--classes .widget-filter-tabs,
.page-summary--dashboard .v2-pf-filter-card--classes .v2-filter-tabs-host{
  flex-wrap:nowrap;
  max-width:100%;
  min-width:0;
  overflow:visible;
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab,
.page-portfolio .v2-pf-filter-card .widget-filter-tab,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tab{
  border-radius:var(--radius-pill);
  box-sizing:border-box;min-height:var(--pf-toolbar-control-h,32px);height:var(--pf-toolbar-control-h,32px);padding:0 12px;margin:0;
  display:inline-flex;align-items:center;justify-content:center;line-height:1.2
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--icon,
.page-portfolio .v2-pf-filter-card .widget-filter-tab--icon,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tab--icon{
  min-width:0;padding:0 11px 0 9px;gap:5px
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab__icon,
.page-portfolio .v2-pf-filter-card .widget-filter-tab__icon,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tab__icon{
  width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab__icon img,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab__icon .asset-type-icon,
.page-portfolio .v2-pf-filter-card .widget-filter-tab__icon img,
.page-portfolio .v2-pf-filter-card .widget-filter-tab__icon .asset-type-icon,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tab__icon img,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tab__icon .asset-type-icon{
  width:18px;height:18px
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab__label,
.page-portfolio .v2-pf-filter-card .widget-filter-tab__label,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tab__label{
  line-height:1.15
}
.page-portfolio .v2-pf-filter-card--accounts .v2-filter-tabs-host,
.page-summary--dashboard .v2-pf-filter-card--accounts .v2-filter-tabs-host{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.page-portfolio .v2-pf-filter-card .widget-filter-tab--account-pill,
.page-summary--dashboard .v2-pf-filter-card .widget-filter-tab--account-pill{
  padding:0 12px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.02em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.page-portfolio .pf-v2-toolbar-end .pf-v2-search-input,
.page-portfolio .v2-pf-table-search-input,
.page-summary--dashboard .v2-pf-table-search-input{
  box-sizing:border-box;
  flex:0 1 auto;
  width:min(420px,36vw);
  min-width:200px;
  max-width:100%;
  height:var(--pf-toolbar-control-h,32px);
  padding:0 12px;
  border:1px solid var(--muted);
  border-radius:var(--radius-pill);
  font:inherit;
  font-size:13px;
  line-height:1.2;
  background:var(--panel);
  color:var(--text);
  transition:border-color .15s,box-shadow .15s
}
.page-portfolio .v2-pf-table-toolbar__cluster .v2-pf-table-search-input,
.page-summary--dashboard .v2-pf-table-card__toolbar .v2-pf-table-search-input{
  flex:0 1 360px;
  width:min(360px,42vw);
  min-width:200px;
}
.page-portfolio .pf-v2-toolbar-end .pf-v2-search-input:hover,
.page-portfolio .v2-pf-table-search-input:hover,
.page-summary--dashboard .v2-pf-table-search-input:hover{border-color:var(--muted)}
.page-portfolio .pf-v2-toolbar-end .pf-v2-search-input:focus,
.page-portfolio .v2-pf-table-search-input:focus,
.page-summary--dashboard .v2-pf-table-search-input:focus{
  outline:none;border-color:var(--accent-2);box-shadow:0 0 0 2px rgba(223,127,37,.18)
}
.page-portfolio .pf-v2-toolbar-end{overflow:visible}
@media (max-width:640px){
  .page-portfolio .pf-v2-toolbar-end{
    flex:1 1 100%;margin-left:0;justify-content:flex-end;min-width:0
  }
  .page-portfolio .pf-v2-toolbar-end .pf-v2-search-input,
  .page-portfolio .v2-pf-table-search-input{
    flex:1;min-width:0;width:auto;max-width:none
  }
}
@media (max-width:640px){
  .page-portfolio .v2-pf-table-card__summary{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .page-portfolio .v2-pf-table-card__summary .v2-pf-table-toolbar{
    flex:1 1 100%;
    justify-content:stretch;
  }
  .page-portfolio .v2-pf-table-toolbar__cluster{
    flex:1 1 100%;
    width:100%;
  }
  .page-portfolio .v2-pf-table-toolbar__cluster .v2-pf-table-search-input,
  .page-summary--dashboard .v2-pf-table-card__body .v2-pf-table-search-input{
    flex:1 1 auto;
    width:auto;
    min-width:0;
    max-width:none;
  }
  .page-summary--dashboard .v2-pf-table-card__body .v2-pf-table-card__toolbar{
    flex-direction:column;
    align-items:stretch;
  }
  .page-summary--dashboard .v2-pf-table-card__body .pf-v2-cols-anchor{
    align-self:flex-end;
  }
}
.portfolio-cols-panel.portfolio-cols-panel--v2-dd{
  border:0;background:transparent;padding:0;max-width:none;position:relative;
  width:max-content;max-width:100%
}
.portfolio-cols-panel--v2-dd>summary.pf-cols-dd-summary{
  list-style:none;padding:0;margin:0
}
.portfolio-cols-panel--v2-dd>summary.pf-cols-dd-summary::-webkit-details-marker{display:none}
.pf-cols-dd-summary-inner{
  box-sizing:border-box;min-height:32px;display:inline-flex;align-items:center;gap:8px;
  padding:0 14px 0 12px;border-radius:var(--radius-pill);border:1px solid var(--line);
  background:var(--panel);color:var(--muted);font-size:12px;font-weight:500;
  transition:background .15s,border-color .15s,color .15s
}
.portfolio-cols-panel--v2-dd[open] .pf-cols-dd-summary-inner{
  border-color:rgba(223,127,37,.35);background:rgba(223,127,37,.06);color:var(--text)
}
.pf-cols-dd-summary:hover .pf-cols-dd-summary-inner{border-color:rgba(0,0,0,.14);color:var(--text)}
.pf-cols-dd-icon{
  flex-shrink:0;width:11px;height:11px;opacity:.72;
  background:
    linear-gradient(currentColor,currentColor) left bottom/2px 100% no-repeat,
    linear-gradient(currentColor,currentColor) 4.5px 25%/2px 75% no-repeat,
    linear-gradient(currentColor,currentColor) 9px 12%/2px 88% no-repeat
}
.pf-cols-dd-title{color:var(--text);font-weight:600}
.pf-cols-dd-meta{font-size:11px;font-weight:500;color:var(--muted);opacity:.9}
.pf-cols-dd-meta--ok{color:var(--good);opacity:1}
.portfolio-cols-panel--v2-dd .pf-cols-dd-body{
  position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;padding:10px 12px 8px;
  min-width:min(92vw,320px);max-width:min(92vw,400px);max-height:min(52vh,360px);overflow-y:auto;overflow-x:hidden;
  border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 10px 36px rgba(0,0,0,.12);
  box-sizing:border-box
}
@media (max-width:420px){
  .portfolio-cols-panel--v2-dd .pf-cols-dd-body{grid-template-columns:1fr;right:auto;left:0;min-width:min(100%,100vw - 24px)}
}
.portfolio-cols-panel--v2-dd .pf-cols-dd-item{
  font-size:11px;padding:2px 0;margin:0;min-width:0
}
.portfolio-cols-panel--v2-dd .pf-cols-dd-item input{flex-shrink:0}
.pf-cols-dd-footer{
  grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;
  padding-top:6px;margin-top:4px;border-top:1px solid var(--line)
}
.pf-cols-dd-reset{
  cursor:pointer;font:inherit;font-size:11px;font-weight:600;color:var(--accent-2);
  background:transparent;border:0;padding:4px 2px;text-decoration:underline;text-underline-offset:2px
}
.pf-cols-dd-reset:hover{color:var(--text)}

/* Портфель: столбцы — laconic overlay-picker (таблетка: иконка + счётчики) */
.pf-cols-lop-chip .laconic-overlay-picker__size-anchor{display:none}
.pf-cols-lop-chip .laconic-overlay-picker__trigger.pf-cols-lop-trigger{
  box-sizing:border-box;
  min-height:var(--pf-cols-trigger-h,32px);
  height:var(--pf-cols-trigger-h,32px);
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  padding:0 10px;
  border:none;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  line-height:1;
  text-align:right;
  box-shadow:none;
  transition:background .15s,color .15s;
}
.pf-cols-lop-chip:not(.is-open) .laconic-overlay-picker__trigger.pf-cols-lop-trigger{
  width:auto;
  max-width:none;
  flex:0 0 auto;
}
.pf-cols-lop-chip:not(.is-open) .pf-cols-lop-trigger:hover{
  background:rgba(223,127,37,.06);
  color:var(--text);
}
.pf-cols-lop-chip.is-open .pf-cols-lop-trigger{
  background:transparent;
  color:var(--text);
  border-bottom:1px solid var(--line);
}
.pf-cols-lop-chip.laconic-overlay-picker.is-open .laconic-overlay-picker__trigger.pf-cols-lop-trigger{
  position:static;
  width:100%;
  height:var(--pf-cols-trigger-h,32px);
  min-height:var(--pf-cols-trigger-h,32px);
  margin:0;
  padding:0 12px;
  justify-content:flex-end;
  overflow:visible;
  clip:auto;
  white-space:nowrap;
  border:none;
  box-shadow:none;
}

/* «+» портфель: триггер круглый; раскрытие — как pf-cols-lop-chip (см. laconic-layout.css) */
.pf-add-lop-chip:not(.is-open) .laconic-overlay-picker__trigger.pf-add-lop-trigger{
  width:var(--add-portfolio-size,32px);
  min-width:var(--add-portfolio-size,32px);
  height:var(--add-portfolio-size,32px);
  min-height:var(--add-portfolio-size,32px);
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pf-source-icon-tone,var(--add-portfolio-idle,#a3a3a3));
  border-radius:50%;
  background:transparent;
  color:var(--pf-source-icon-tone,var(--add-portfolio-idle,#a3a3a3));
  box-shadow:none;
}
.v2-portfolio-filter-cluster--no-chips .pf-add-lop-chip:not(.is-open) .pf-add-lop-trigger{
  border-color:var(--filter-chip-active-border,var(--accent-2,var(--accent)));
  color:var(--filter-chip-active-color,var(--accent-2,var(--accent)));
}
html.theme-dark .v2-portfolio-filter-cluster--no-chips .pf-add-lop-chip:not(.is-open) .pf-add-lop-trigger{
  border-color:var(--orange-bright,var(--accent-2));
  color:var(--orange-bright,var(--accent-2));
}
.pf-add-lop-trigger .v2-portfolio-add-btn__glyph{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  font-size:20px;
  font-weight:300;
  line-height:0;
  letter-spacing:0;
  transform:none;
}
.pf-add-lop-chip:not(.is-open) .pf-add-lop-trigger:hover{
  background:rgba(223,127,37,.06);
  color:var(--text);
  border-color:var(--add-portfolio-idle,#a3a3a3);
}
.pf-add-lop-chip.is-open .laconic-overlay-picker__trigger.pf-add-lop-trigger{
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  width:var(--add-portfolio-size,32px);
  min-width:var(--add-portfolio-size,32px);
  height:var(--add-portfolio-size,32px);
  min-height:var(--add-portfolio-size,32px);
  margin:0;
  padding:0;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border:none;
  border-radius:0;
  background:transparent;
  color:var(--filter-chip-active-color,var(--accent-2));
  overflow:visible;
  clip:auto;
  white-space:nowrap;
  text-align:center;
  box-shadow:none;
}
html.theme-dark .pf-add-lop-chip:not(.is-open) .pf-add-lop-trigger{
  border-color:var(--pf-source-icon-tone,var(--ivory-400,#a3a3a3));
  color:var(--pf-source-icon-tone,var(--ivory-400,#a3a3a3));
}
html.theme-dark .pf-add-lop-chip:not(.is-open) .pf-add-lop-trigger:hover{
  color:var(--ivory-200,#d8d8d8);
}
.pf-cols-lop-chip .pf-cols-lop-icon{
  flex-shrink:0;
  width:11px;
  height:11px;
  opacity:1;
  color:var(--pf-kpi-blue,var(--nav,#5d99c6));
}
.pf-cols-lop-count{
  font-size:12px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  line-height:1;
  cursor:default;
}
.pf-cols-lop-count--visible{color:var(--good-dim,#5fa068)}
.pf-cols-lop-count--hidden{color:var(--bad-dim,#e53935)}
.pf-cols-lop-chip:not(.is-open) .laconic-overlay-picker__panel{
  max-height:0;
  opacity:0;
  overflow:hidden;
  padding:0;
  margin:0;
}
.pf-cols-lop-chip.is-open .laconic-overlay-picker__panel{
  position:static;
  max-height:none;
  opacity:1;
}
.pf-cols-lop-chip.is-open .laconic-overlay-picker__host.is-open .laconic-overlay-picker__panel{
  max-height:none;
  opacity:1;
}
/* Барабан: высота по числу строк, без лишнего поля и градиентов */
.pf-cols-lop-chip.is-open .pf-cols-lop-panel--wheel,
.pf-add-lop-chip.is-open .pf-cols-lop-panel--wheel,
.v2-portfolio-add-menu--panel .v2-portfolio-add-menu__wheel.pf-cols-lop-panel--wheel{
  --pf-cols-row-h:28px;
  --pf-cols-visible-rows:9;
  flex:0 1 auto;
  display:block;
  width:100%;
  max-height:calc(var(--pf-cols-row-h) * var(--pf-cols-visible-rows));
  margin:0;
  padding:0;
  overflow-x:hidden;
  overflow-y:hidden;
  scroll-snap-type:y mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
  outline:none;
}
.pf-cols-lop-chip.is-open .pf-cols-lop-panel--wheel::-webkit-scrollbar,
.v2-portfolio-add-menu--panel .v2-portfolio-add-menu__wheel.pf-cols-lop-panel--wheel::-webkit-scrollbar{
  width:0;
  height:0;
  background:transparent;
}
.pf-cols-lop-chip .laconic-overlay-picker__host.is-open .laconic-overlay-picker__panel::after{
  display:none;
  content:none;
}
.pf-cols-lop-footer.pf-cols-dd-footer{
  flex:0 0 auto;
  margin-top:6px;
  padding-top:8px;
  border-top:1px solid var(--line);
}
.pf-cols-lop-panel-body{
  display:block;
  width:max-content;
  max-width:min(92vw,272px);
  min-width:0;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
.pf-cols-wheel-row.pf-cols-dd-item{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  height:var(--pf-cols-row-h,28px);
  min-height:var(--pf-cols-row-h,28px);
  margin:0;
  padding:0 2px 0 0;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
  cursor:pointer;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  box-sizing:border-box;
  border-radius:4px;
}
.pf-cols-wheel-row.pf-cols-dd-item:hover{
  background:var(--filter-chip-active-bg,rgba(0,0,0,.04));
}
.pf-cols-wheel-row:not(:has(.pf-cols-wheel-check:checked)) .pf-cols-wheel-label{
  color:var(--text);
  opacity:.45;
  font-weight:400;
}
.pf-cols-wheel-row:not(:has(.pf-cols-wheel-check:checked)) .pf-cols-wheel-check-ui{
  opacity:.55;
}
.pf-cols-wheel-row:has(.pf-cols-wheel-check:checked) .pf-cols-wheel-label{
  color:var(--filter-chip-active-color,var(--accent-2));
  opacity:1;
  font-weight:600;
}
.pf-cols-wheel-check{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.pf-cols-wheel-check-ui{
  flex:0 0 auto;
  order:0;
  width:14px;
  height:14px;
  border-radius:50%;
  border:1.5px solid #fff;
  box-sizing:border-box;
  background:transparent;
  transition:background .12s ease,border-color .12s ease;
}
.pf-cols-wheel-check:checked + .pf-cols-wheel-check-ui{
  border-color:var(--accent-2,var(--orange,#df7f25));
  background:var(--accent-2,var(--orange,#c96e17));
}
.pf-cols-wheel-label{
  flex:1;
  order:1;
  min-width:0;
  font-size:12px;
  font-weight:500;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:0.03em;
}
html.theme-dark .pf-cols-wheel-check-ui{
  border-color:rgba(255,255,255,.92);
}
html.theme-dark .pf-cols-wheel-check:checked + .pf-cols-wheel-check-ui{
  border-color:var(--orange-bright,var(--accent-2));
  background:var(--orange-bright,var(--accent-2));
}
html.theme-dark .pf-cols-lop-chip .pf-cols-lop-trigger{
  color:var(--ivory-200,#e8e8e8);
}
html.theme-dark .pf-cols-lop-chip .pf-cols-lop-icon{
  color:var(--pf-kpi-blue-dim,#5d99c6);
}
html.theme-dark .pf-cols-lop-chip.is-open .pf-cols-lop-trigger{
  background:transparent;
  border-bottom-color:var(--line-strong,var(--line));
}
html.theme-dark .pf-cols-lop-count--visible{color:#76b67e}
html.theme-dark .pf-cols-lop-count--hidden{color:#ef5350}

#portfolioTable th.th-num--cols{padding:2px 4px!important;text-align:center;vertical-align:middle;position:relative}
#portfolioTable .portfolio-cols-panel--th{border:0;background:transparent;padding:0;margin:0;max-width:none}
#portfolioTable .portfolio-cols-panel--th>summary{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  min-width:40px;min-height:30px;padding:3px 8px;border-radius:12px;border:1px solid var(--line);
  background:var(--panel-2);color:var(--text)
}
#portfolioTable .portfolio-cols-panel--th .portfolio-cols-panel-body{
  position:absolute;left:0;top:100%;z-index:30;margin-top:4px;padding:8px 10px;border:1px solid var(--line);
  border-radius:12px;background:var(--panel);box-shadow:0 8px 24px rgba(0,0,0,.1);min-width:220px;max-width:min(92vw,520px)
}
.portfolio-col-label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap;font-size:11px;color:var(--text)}
.portfolio-table-wrap>table,.page-portfolio #portfolioTable,.page-portfolio .portfolio-table-wrap>table{
  width:100%;border-collapse:collapse;font-size:11px;line-height:1.2;table-layout:auto
}
#v2PortfolioTable{
  width:max-content;
  min-width:100%;
  max-width:none;
  table-layout:auto;
}
.page-portfolio .portfolio-table-wrap #v2PortfolioTable{
  box-sizing:border-box;
}
body.pf-col-resizing{
  cursor:col-resize!important;
  user-select:none!important
}
.portfolio-table-wrap>table th,.portfolio-table-wrap>table td,.page-portfolio #portfolioTable th,.page-portfolio #portfolioTable td,
.page-portfolio .portfolio-table-wrap>table th,.page-portfolio .portfolio-table-wrap>table td{
  padding:3px 6px;border-bottom:1px solid var(--line);vertical-align:middle
}
.portfolio-table-wrap>table th,.page-portfolio #portfolioTable th,.page-portfolio .portfolio-table-wrap>table th{
  font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;text-align:left;background:rgba(0,0,0,.03)
}
.portfolio-table-wrap>table tbody tr.pt-data-row:nth-child(even):not([class*='pt-row--']){background:rgba(0,0,0,.02)}
.page-portfolio #portfolioTable tbody tr.pt-data-row:nth-child(even):not([class*='pt-row--']){background:rgba(0,0,0,.02)}
.portfolio-table-wrap>table tbody tr.pt-data-row:hover:not([class*='pt-row--']){background:rgba(223,127,37,.06)}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-row--stock{background:rgba(25,118,210,.1)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-row--cash{background:rgba(211,47,47,.09)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-row--bank{background:rgba(21,101,192,.09)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-row--bond{background:rgba(106,27,154,.09)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-row--fund{background:rgba(46,125,50,.09)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-row--inv_app{background:rgba(0,121,107,.09)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-row--other{background:rgba(84,110,122,.1)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row[class*='pt-row--']:hover{background:rgba(223,127,37,.14)!important}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-plan-cut{opacity:.52;filter:grayscale(.55)}
.page-portfolio #portfolioTable tbody tr.unified-port-row.pt-plan-add td{box-shadow:inset 2px 0 0 rgba(46,125,50,.65)}
.portfolio-plan-stage{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em}
.portfolio-plan-stage--cut{background:rgba(117,117,117,.18);color:#555}
.portfolio-plan-stage--add{background:rgba(118,182,126,.14);color:var(--good)}
.portfolio-plan-stage--reduce{background:rgba(239,108,0,.14);color:#ef6c00}
.portfolio-plan-stage--hold{background:rgba(25,118,210,.12);color:#1565c0}
.page-portfolio .portfolio-line-tabs-shell .portfolio-line-tabs__inner .summary-funds-tab{padding:6px 10px;font-size:11px}
.portfolio-table-wrap>table .td-metric,.page-portfolio #portfolioTable .td-metric{text-align:right;font-variant-numeric:tabular-nums}
.portfolio-table-wrap>table .pf-cell-name{min-width:100px;white-space:normal;font-weight:500}
.portfolio-table-wrap>table .pf-cell-ticker{font-family:ui-monospace,Consolas,monospace;font-size:10px;color:var(--muted);white-space:nowrap}
#v2PortfolioTable tbody tr:nth-child(even):not(.pf-row--blocked){background:rgba(0,0,0,.03)}
#v2PortfolioTable tbody tr:hover:not(.pf-row--blocked){background:rgba(223,127,37,.07)}
#v2PortfolioTable tbody tr.pf-row--blocked,
.page-portfolio .portfolio-table-wrap>table tbody tr.pf-row--blocked{
  box-shadow:inset 0 0 0 1px rgba(211,47,47,.88);
  background:rgba(211,47,47,.04)!important;
}
#v2PortfolioTable tbody tr.pf-row--blocked td,
.page-portfolio .portfolio-table-wrap>table tbody tr.pf-row--blocked td{
  opacity:.5;
}
#v2PortfolioTable tbody tr.pf-row--blocked:hover,
.page-portfolio .portfolio-table-wrap>table tbody tr.pf-row--blocked:hover{
  background:rgba(211,47,47,.08)!important;
}
#v2PortfolioTable thead th.pf-th--resizable{position:relative;padding-right:10px;vertical-align:bottom}
#v2PortfolioTable .pf-resize-handle{
  position:absolute;top:0;right:-2px;width:8px;height:100%;cursor:col-resize;z-index:4;user-select:none
}
#v2PortfolioTable .pf-resize-handle:hover{background:rgba(223,127,37,.22)}
#v2PortfolioTable thead th.pf-th--sortable{
  cursor:pointer;user-select:none;white-space:normal;vertical-align:bottom;word-break:break-word
}
#v2PortfolioTable thead th.pf-th--sortable:hover{background:rgba(223,127,37,.08)}
#v2PortfolioTable thead th.pf-th--help{ cursor:help }
#v2PortfolioTable thead th.pf-th--sortable.pf-th--help{ cursor:help }
#v2PortfolioTable thead th.th-metric .pf-th-inner{
  display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;flex-wrap:wrap
}
#v2PortfolioTable thead th:not(.th-metric) .pf-th-inner{
  display:inline-flex;align-items:center;gap:6px
}
#v2PortfolioTable thead th.pf-th--desc .pf-th-inner{
  display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%
}
#v2PortfolioTable tbody td.pf-cell-desc{
  color:var(--muted);font-size:10px;line-height:1.35;
  white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:top;text-align:right
}
#v2PortfolioTable td.pf-cell-wrap{
  white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:top;line-height:1.35
}
#v2PortfolioTable td.td-metric.pf-cell-wrap{white-space:nowrap;word-break:normal;vertical-align:middle}
#v2PortfolioTable .pf-th-sort-icon{
  font-size:9px;opacity:.5;min-width:11px;text-align:center;flex-shrink:0;line-height:1
}
#v2PortfolioTable thead th.pf-th--sort-asc .pf-th-sort-icon::after{content:'▲'}
#v2PortfolioTable thead th.pf-th--sort-desc .pf-th-sort-icon::after{content:'▼'}
#v2PortfolioTable .td-metric.pf-val--pos,
#v2PortfolioTable td.pf-val--pos{color:var(--good);font-weight:600}
#v2PortfolioTable .td-metric.pf-val--neg,
#v2PortfolioTable td.pf-val--neg{color:var(--bad);font-weight:600}
#v2PortfolioTable .td-metric.pf-val--zero,
#v2PortfolioTable td.pf-val--zero{color:#9e9e9e;font-weight:500}
.pf-help-popover{
  position:fixed;z-index:4000;max-width:min(340px,calc(100vw - 24px));padding:10px 12px;
  font-size:12px;line-height:1.45;color:var(--text);background:var(--panel,#fff);
  border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.14)
}
.pt-group-head td{background:rgba(223,127,37,.1);font-weight:700;font-size:11px;padding:2px 6px!important;border-bottom:1px solid var(--line)}
.pt-group-toggle,.pt-sec-toggle{border:none;background:transparent;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:2px 0;color:var(--text)}
.pt-group-count{font-weight:500;color:var(--muted);font-size:10px;margin-left:4px}
.cell-mono{font-family:ui-monospace,Consolas,monospace;font-size:10px;word-break:break-all}
.inline-note{display:inline-block;margin-left:4px;vertical-align:middle}
.inline-note>summary{cursor:pointer;list-style:none;color:var(--accent-2);font-weight:700;font-size:11px;user-select:none}
.inline-note>summary::-webkit-details-marker{display:none}
.inline-note-body{display:block;margin-top:4px;padding:4px 6px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);max-width:320px;font-size:10px;line-height:1.35;color:var(--text);white-space:pre-wrap}
#portfolioTable th,#portfolioTable td{padding:3px 5px;font-size:11px;line-height:1.2}
.strategy-table{font-size:11px}
.strategy-table th,.strategy-table td{padding:5px 6px;vertical-align:middle;line-height:1.25}
.strategy-table tbody tr:nth-child(even){background:rgba(0,0,0,.02)}
.strategy-table tbody tr:hover{background:rgba(223,127,37,.06)}
.data-layers-table{font-size:11px;line-height:1.25}
.data-layers-table th,.data-layers-table td{padding:5px 7px;vertical-align:middle}
.data-layers-table tbody tr:nth-child(even){background:rgba(0,0,0,.02)}
.data-layers-table tbody tr:hover{background:rgba(223,127,37,.06)}
.control-table>table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.2}
.control-table>table th,.control-table>table td{padding:3px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
.control-table>table th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;background:rgba(0,0,0,.03)}
.control-table>table tbody tr:nth-child(even){background:rgba(0,0,0,.02)}
.control-table>table tbody tr:hover{background:rgba(223,127,37,.06)}
.analytics-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.analytics-section:first-child{margin-top:0;padding-top:0;border-top:none}
.analytics-section__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:10px}
.analytics-section__label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.analytics-section--alfa-invest{padding-left:12px;border-left:4px solid #df7f25}
.analytics-section--alfa-bank{padding-left:12px;border-left:4px solid #EF3124}
.analytics-section--kit{padding-left:12px;border-left:4px solid #4a148c}
#kitPositionsBody tr.kit-row--blocked td{color:var(--muted)}
.analytics-section--sber-inv{padding-left:12px;border-left:4px solid #21a038}
.analytics-section--sber-dep{padding-left:12px;border-left:4px solid #0078d7}
.sber-report-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.sber-report-tab{
  border:1px solid var(--line);
  background:var(--panel-2);
  color:var(--muted);
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.sber-report-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.sber-report-panel{display:none}
.sber-report-panel.active{display:block}
.sber-report-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}
.sber-report-mini{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:var(--panel-2);
}
.sber-report-mini .ttl{font-size:12px;color:var(--muted)}
.sber-report-mini .val{font-size:18px;font-weight:700;line-height:1.2;margin-top:4px}
.sber-report-mini .val.good{color:var(--good)}
.sber-report-mini .val.warn{color:var(--bad)}
.calc-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}
.calc-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.calc-out .card{padding:10px 12px;border-radius:12px}
.calc-out .metric-title{font-size:12px}
.calc-out .metric-value{font-size:20px}
.calc-note{font-size:12px;color:var(--muted);line-height:1.45;margin-top:8px}
.calc-passport td,.calc-passport th{font-size:12px}
.calc-plan-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end;margin-bottom:8px}
.calc-plan-pickers{border:1px solid var(--line);border-radius:12px;background:var(--panel-2);padding:8px 10px;max-height:180px;overflow:auto}
.calc-plan-pickers label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);padding:4px 0}
.calc-plan-pickers .empty{font-size:12px;color:var(--muted)}
.calc-plan-real{background:rgba(46,168,107,.08)}
.sber-app-panel{
  border-radius:20px;overflow:hidden;margin:0 0 18px;
  box-shadow:0 10px 40px rgba(0,50,24,.14);
  background:var(--panel);border:1px solid rgba(33,160,56,.25);
}
.sber-app-panel__hero{
  background:linear-gradient(155deg,#1ea83a 0%,#0f7a28 42%,#085a1e 100%);
  color:#fff;padding:20px 20px 16px;
}
.sber-app-panel__hero-kicker{font-size:12px;opacity:.88;letter-spacing:.02em;margin:0 0 6px}
.sber-app-panel__hero-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}
.sber-app-panel__hero-asof{font-size:11px;opacity:.75;margin:8px 0 0}
.sber-app-panel__hero-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px;margin-top:14px}
.sber-app-panel__hero-total{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.sber-app-panel__hero-day{font-size:15px;font-weight:600}
.sber-app-panel__hero-day.good{color:var(--good)}
.sber-app-panel__hero-day.warn{color:#ffd4cf}
.sber-app-panel__body{padding:14px 16px 16px;background:linear-gradient(180deg,#faf9f6 0%,var(--panel) 100%)}
.sber-app-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.sber-app-acc-btn,.sber-app-period-btn{
  border:none;cursor:pointer;font:inherit;font-weight:600;font-size:13px;padding:8px 14px;border-radius:var(--radius-pill);
  background:rgba(0,0,0,.06);color:var(--text);
}
.sber-app-acc-btn.active,.sber-app-period-btn.active{background:#21a038;color:#fff;box-shadow:0 2px 8px rgba(33,160,56,.35)}
.sber-app-chart-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:960px){
  .sber-app-chart-grid{grid-template-columns:1.35fr 1fr}
}
.sber-app-chart-card{
  border-radius:16px;border:1px solid var(--line);background:var(--panel);padding:10px 10px 6px;
  min-height:200px
}
.sber-app-chart-card__ttl{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px 10px}
.sber-app-chart-card .chart-wrap,.sber-app-chart-card .chart-wrap.small{height:240px;min-height:220px}
.sber-app-chart-scroll{display:flex;align-items:stretch;gap:6px;width:100%;margin-top:4px}
.sber-app-chart-nav{
  flex:0 0 34px;min-width:34px;border:none;border-radius:12px;background:rgba(0,0,0,.07);
  font-size:20px;font-weight:700;color:#444;cursor:pointer;line-height:1;align-self:center;height:100px;
  font-family:system-ui,sans-serif;padding:0;
}
.sber-app-chart-nav:hover:not(:disabled){background:rgba(33,160,56,.14);color:#21a038}
.sber-app-chart-nav:disabled{opacity:.35;cursor:default}
.sber-app-chart-view{flex:1;min-width:0}
.sber-app-chart-view svg{display:block;width:100%;height:auto}
.sber-app-mini-donut{display:flex;align-items:center;justify-content:center;min-height:220px}
.sber-app-mini-donut svg{max-width:220px;height:auto}
.data-layers-table{font-size:12px;line-height:1.45}
.data-layers-table th,.data-layers-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.data-layers-table th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.data-layers-table .dl-bank{font-weight:700;color:var(--text)}
.data-layers-table .dl-what{max-width:280px}
.data-layers-table .dl-tab{color:var(--accent-2);font-weight:600}
.data-layers-table .dl-key{font-size:11px;color:var(--muted);word-break:break-all}
.th-sort{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  border:none;
  background:transparent;
  color:inherit;
  font:inherit;
  text-transform:inherit;
  letter-spacing:inherit;
  padding:0;
  cursor:pointer;
}
.th-sort .sort-indicator{font-size:10px;color:var(--muted);opacity:.55}
.th-sort.active .sort-indicator{color:var(--accent-2);opacity:1}
#portfolioTable .th-num,#portfolioTable .td-num{
  width:44px;
  max-width:44px;
  text-align:center;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
}
#portfolioTable .td-num{font-weight:600;color:var(--text)}
#portfolioTable .td-metric,#portfolioTable .th-metric{text-align:right;font-variant-numeric:tabular-nums}
.portfolio-table-wrap table .td-desc,#portfolioTable .td-desc{max-width:min(320px,28vw);font-size:10px;line-height:1.25;vertical-align:top}
#portfolioTable .alfa-broker-sep td{background:var(--panel-2);font-weight:600;border-top:1px solid var(--line);font-size:12px}
#sberInvestAccountsTable .pos,#sberInvestAnalyticsBody .pos{color:var(--good);font-weight:600}
#sberInvestAccountsTable .neg,#sberInvestAnalyticsBody .neg{color:var(--bad);font-weight:600}
#alfaPositionsDetailBody tr.alfa-invest-section td{
  background:rgba(223,127,37,.1);
  font-weight:700;
  font-size:10px;
  border-top:1px solid var(--line);
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:2px 6px!important;
}

.mobile-nav{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:rgba(248,246,242,.96); backdrop-filter:blur(12px);
  border-top:1px solid var(--line); padding:8px 8px calc(8px + env(safe-area-inset-bottom));
}
.mobile-nav-inner{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:thin}
.mobile-nav-inner .tab-btn{flex:0 0 auto;min-width:56px;padding:6px 4px;font-size:11px;font-weight:600;line-height:1.15;flex-direction:column;gap:2px}
.tab-radio{position:absolute;opacity:0;pointer-events:none}
.tab-btn{
  cursor:pointer;
  min-height:48px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--panel);color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-size:18px
}
#tab-summary:checked ~ .app-shell .page-summary,
#tab-portfolio:checked ~ .app-shell .page-portfolio,
#tab-plan:checked ~ .app-shell .page-plan,
#tab-plan:checked ~ .app-shell .page-guide,
#tab-calc:checked ~ .app-shell .page-calc,
#tab-cabinet:checked ~ .app-shell .page-cabinet,
#tab-journal:checked ~ .app-shell .page-journal,
#tab-journal:checked ~ .app-shell .page-analytics-alpha,
#tab-journal:checked ~ .app-shell .page-analytics-kit,
#tab-journal:checked ~ .app-shell .page-analytics-sber{display:block}
#tab-journal:checked ~ .app-shell .page-analytics-alpha .chart-wrap,
#tab-journal:checked ~ .app-shell .page-analytics-alpha .report-chart-wrap,
#tab-journal:checked ~ .app-shell .page-analytics-sber .chart-wrap,
#tab-journal:checked ~ .app-shell .page-analytics-sber .report-chart-wrap,
#tab-journal:checked ~ .app-shell .page-analytics-sber .sber-app-mini-donut,
#tab-journal:checked ~ .app-shell .page-analytics-kit .chart-wrap,
#tab-journal:checked ~ .app-shell .page-analytics-kit .report-chart-wrap{
  display:none !important;
}
.page{display:none}
#tab-summary:checked ~ .mobile-nav .t-summary,
#tab-portfolio:checked ~ .mobile-nav .t-portfolio,
#tab-plan:checked ~ .mobile-nav .t-plan,
#tab-calc:checked ~ .mobile-nav .t-calc,
#tab-cabinet:checked ~ .mobile-nav .t-cabinet,
#tab-journal:checked ~ .mobile-nav .t-journal{
  background:var(--accent); color:#fff; border-color:var(--accent);
}
.analytics-placeholder-chart{height:220px;border:1px dashed var(--line);border-radius:14px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;padding:16px;text-align:center}
.summary-kpi-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){
  .summary-kpi-grid{grid-template-columns:1fr}
  .sber-report-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc-grid{grid-template-columns:1fr}
  .calc-plan-toolbar{grid-template-columns:1fr}
}
.page-summary .summary-hint{font-size:11px;color:var(--muted);margin:6px 0 0}
.page-summary .summary-hint>summary{
  cursor:pointer;list-style:none;font-weight:600;color:var(--accent-2);user-select:none;
}
.page-summary .summary-hint>summary::-webkit-details-marker{display:none}
.page-summary .summary-hint>summary::before{content:'▸ ';font-size:10px;opacity:.7}
.page-summary .summary-hint[open]>summary::before{content:'▾ '}
.page-summary .summary-hint-body{margin:8px 0 0;line-height:1.45;font-size:12px;color:var(--text)}
.page-summary .summary-hint--inline{display:inline-block;margin:0 0 0 8px;vertical-align:middle}
.page-summary .summary-hint--inline>summary{font-size:11px;font-weight:600}
.page-summary .summary-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.page-summary .summary-chart-head .card-title{margin:0;font-size:15px}
.page-plan .card{margin-bottom:8px;padding:10px 12px;border-radius:14px}
.page-plan .card-header{margin-bottom:4px;gap:6px}
.page-plan .card-title{font-size:14px}
.page-plan .card-note{font-size:11px;line-height:1.32}
.page-plan .plan-steps{font-size:12px;padding-left:16px;line-height:1.38}
.page-plan .plan-steps li{margin:4px 0}
.page-plan details.plan-pack{
  border:1px solid var(--line);border-radius:10px;background:var(--panel-2);overflow:hidden;margin:0
}
.page-plan details.plan-pack > summary{
  cursor:pointer;list-style:none;font-weight:600;font-size:13px;color:var(--text);
  padding:6px 10px;background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap
}
.page-plan details.plan-pack > summary::-webkit-details-marker{display:none}
.page-plan details.plan-pack > summary::before{content:'▸ ';font-size:10px;opacity:.65;flex-shrink:0}
.page-plan details.plan-pack[open] > summary::before{content:'▾ '}
.page-plan details.plan-pack .plan-pack-body{padding:6px 10px 8px;font-size:12px;line-height:1.38;color:var(--text)}
.page-plan details.plan-pack .plan-pack-body > p{margin:0 0 6px}
.page-plan details.plan-pack .plan-pack-body > p:last-child{margin-bottom:0}
.page-plan .plan-analysis{margin-top:4px;padding:0 0 0 8px;margin-bottom:0;border-left-width:2px;font-size:12px;line-height:1.38}
.page-plan .plan-strategy-from-anketa{margin-top:8px;padding-top:8px}
.page-plan .plan-benchmark-card{margin-bottom:8px}
.page-plan .plan-regime-card{margin-bottom:8px}
.page-plan .plan-benchmark-card .chart-wrap.small{height:200px;min-height:200px}
.page-plan .plan-benchmark-card .chart-wrap.chart-wrap--macro-bench{
  max-width:min(100%,720px);
  margin:0 auto;
  height:min(44vw,260px);
  min-height:200px;
}
.page-plan .plan-benchmark-card .chart-wrap.chart-wrap--macro-bench svg{
  width:100%;
  height:100%;
}
.page-plan .plan-pack-sum-note{font-weight:400;font-size:11px;color:var(--muted);margin-left:4px}
.page-plan .plan-dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px}
.page-plan .plan-dash-item{padding:8px 6px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);text-align:center;min-width:0}
.page-plan .plan-dash-item .plan-dash-val{font-size:14px;font-weight:700;color:var(--accent-2);line-height:1.2}
.page-plan .plan-dash-item .plan-dash-lab{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.page-plan .plan-checklist{list-style:none;padding:0;margin:0}
.page-plan .plan-checklist li{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.35}
.page-plan .plan-checklist li:last-child{border-bottom:none}
.page-plan .plan-checklist input[type=checkbox]{flex-shrink:0;width:15px;height:15px;margin-top:2px;accent-color:var(--accent)}
.page-plan .plan-ideal-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:6px}
.page-plan .plan-ideal-wrap table{width:100%;border-collapse:collapse;font-size:11px}
.page-plan .plan-ideal-wrap th,.page-plan .plan-ideal-wrap td{padding:5px 7px;border-bottom:1px solid var(--line);vertical-align:top}
.page-plan .plan-ideal-wrap th{background:var(--panel);color:var(--muted);font-size:10px;text-transform:uppercase}
.page-plan .plan-step-num{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;align-items:center;justify-content:center;flex-shrink:0;margin-right:8px}
.page-plan .plan-steps-compact{margin:0;padding:0;list-style:none}
.page-plan .plan-steps-compact li{display:flex;align-items:flex-start;padding:6px 0;font-size:12px;line-height:1.35;border-bottom:1px solid var(--line)}
.page-plan .plan-steps-compact li:last-child{border-bottom:none}
.page-cabinet .card{margin-bottom:10px;padding:12px 14px;border-radius:16px}
.page-cabinet .card-header{margin-bottom:6px}
.page-cabinet .cabinet-section-desc{font-size:12px;margin:0 0 6px;line-height:1.35;color:var(--muted)}
.page-cabinet .cabinet-intro{font-size:12px;color:var(--muted);line-height:1.42;margin:0 0 8px}
.page-cabinet textarea.cabinet-field{
  width:100%;min-height:76px;resize:vertical;padding:10px 12px;border-radius:12px;border:1px solid var(--line);
  font:inherit;font-size:13px;line-height:1.45;background:var(--panel);color:var(--text)
}
.page-cabinet textarea.cabinet-field--sm{min-height:52px}
.page-cabinet textarea.cabinet-field--lg{min-height:120px}
.page-cabinet .cabinet-q details{
  margin:10px 0;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:var(--panel-2)
}
.page-cabinet .cabinet-q summary{
  cursor:pointer;list-style:none;font-weight:600;color:var(--accent-2);padding:10px 0;font-size:13px
}
.page-cabinet .cabinet-q summary::-webkit-details-marker{display:none}
.page-cabinet .cabinet-q summary::before{content:'▸ ';font-size:10px;opacity:.7}
.page-cabinet .cabinet-q[open] summary::before{content:'▾ '}
.page-cabinet .cabinet-anketa-details{border:1px solid var(--line);border-radius:16px;background:var(--panel-2);margin-top:10px}
.page-cabinet .cabinet-anketa-details>.cabinet-anketa-summary{
  cursor:pointer;list-style:none;font-weight:600;font-size:15px;color:var(--accent-2);
  padding:14px 16px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;user-select:none
}
.page-cabinet .cabinet-anketa-details>.cabinet-anketa-summary::-webkit-details-marker{display:none}
.page-cabinet .cabinet-anketa-details>.cabinet-anketa-summary::before{content:'▸ ';font-size:11px;opacity:.75}
.page-cabinet .cabinet-anketa-details[open]>.cabinet-anketa-summary::before{content:'▾ '}
.page-cabinet .cabinet-anketa-summary-hint{font-weight:400;font-size:12px;color:var(--muted)}
.page-cabinet .cabinet-anketa-body{padding:0 12px 14px}
.page-cabinet .cabinet-q ol{margin:0 0 12px;padding-left:22px;font-size:13px;line-height:1.55;color:var(--text)}
.page-cabinet .cabinet-q li{margin:6px 0}
.page-cabinet .cabinet-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.page-cabinet #cabinetSaveStatus{font-size:12px;color:var(--muted)}
.page-cabinet .field.cabinet-gap{
  border-left:3px solid var(--warn);
  padding-left:10px;margin-left:-2px;
  border-radius:0 12px 12px 0;
  background:rgba(209,139,25,.07)
}
.page-cabinet .field.cabinet-gap .field-label{color:var(--accent-2);font-weight:700}
.page-cabinet .field.cabinet-gap-soft{
  border-left:3px solid rgba(207,90,87,.45);
  padding-left:10px;margin-left:-2px;border-radius:0 12px 12px 0;
  background:rgba(207,90,87,.06)
}
.page-cabinet .field.cabinet-gap-soft .field-label::after{
  content:' · шаблон: замените [Впишите: …] на ваши данные или удалите пометку «уточнить»';
  font-weight:600;font-size:11px;color:var(--bad);max-width:min(100%,420px);display:inline-block;line-height:1.25
}
.page-summary .summary-more,
.page-analytics-alpha .summary-more,
.page-analytics-kit .summary-more,
.page-analytics-sber .summary-more{
  grid-column:1 / -1;border:1px solid var(--line);border-radius:14px;padding:0 14px 12px;background:var(--panel);
}
.page-summary .summary-more>summary,
.page-analytics-alpha .summary-more>summary,
.page-analytics-kit .summary-more>summary,
.page-analytics-sber .summary-more>summary{
  cursor:pointer;font-weight:600;padding:12px 0;list-style:none;color:var(--text);
}
.page-summary .summary-more>summary::-webkit-details-marker,
.page-analytics-alpha .summary-more>summary::-webkit-details-marker,
.page-analytics-kit .summary-more>summary::-webkit-details-marker,
.page-analytics-sber .summary-more>summary::-webkit-details-marker{display:none}
.page-summary .summary-more[open],
.page-analytics-alpha .summary-more[open],
.page-analytics-kit .summary-more[open],
.page-analytics-sber .summary-more[open]{padding-bottom:14px}
.page-summary .summary-kpi-card .metric-sub{display:none}
.page-summary .summary-hero .card-title{font-size:18px}
.summary-accum-card{padding:18px 20px 16px}
.summary-accum-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2px}
.summary-accum-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-0.02em}
.summary-accum-kicker{margin:6px 0 0;font-size:12px;color:var(--muted)}
.summary-accum-total{font-size:clamp(22px,4vw,30px);font-weight:700;margin:12px 0 14px;letter-spacing:-0.02em;line-height:1.15}
/* ——— Свод: компактная панель и адаптив ——— */
.page-summary{padding-bottom:8px}
/* ——— Главная v2: виджет состава (полоса + список, вкладки Активы/Классы/Отрасли) ——— */
.v2-composition-card .v2-composition-widget{margin-top:2px}
/* Вкладки Активы / Классы / Отрасли — те же таблетки, что у фильтров на главной */
.v2-composition-widget .v2-comp-mode-tabs.widget-filter-tabs{
  display:inline-flex;
  flex-wrap:wrap;
  gap:4px;
  margin-bottom:12px;
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}
.v2-composition-widget .v2-comp-mode-tabs .widget-filter-tab{
  padding:4px 11px;
  font-size:11px;
  min-height:32px;
  border-radius:var(--radius-pill,9999px);
}
.v2-comp-bar{margin-bottom:12px}
.v2-comp-bar-track{display:flex;height:10px;border-radius:6px;overflow:hidden;gap:3px;background:rgba(0,0,0,.06)}
.v2-comp-seg{min-width:3px;border-radius:2px}
.v2-comp-bar-empty{height:10px;border-radius:6px;background:rgba(0,0,0,.06)}
.v2-comp-list{display:flex;flex-direction:column;gap:0;max-height:min(52vh,360px);overflow:auto;padding-right:2px}
.v2-comp-row{
  display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;
  padding:3px 4px;border-radius:8px;font:inherit;cursor:pointer;color:inherit;line-height:1.25;
  transition:background .12s
}
.v2-comp-row:hover{background:rgba(223,127,37,.08)}
.v2-comp-row-icon{
  display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;color:var(--muted)
}
.v2-comp-row-icon .asset-type-icon{width:18px;height:18px}
.v2-comp-row-icon--dot::before{
  content:"";display:block;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.88
}
.v2-comp-row-label{
  flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.v2-comp-row-val{
  font-size:12px;font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0
}
.v2-comp-row-pct{
  font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:50px;
  flex-shrink:0;padding-left:10px;margin-left:2px;border-left:1px solid var(--line)
}

/* Подсказки UI (главная и др.) */
.v2-ui-hints-host{
  display:flex;flex-direction:column;gap:8px;margin:0;
}
.v2-ui-hints-host[hidden]{
  display:none !important;
}
.page-summary--dashboard > .v2-dash-card-stack{
  margin:0;
  min-height:0;
}
.v2-dash-card-stack > .v2-ui-hints-host:not(:empty){
  margin:0 0 var(--v2-capital-gap,var(--laconic-gap,16px));
}
.v2-dash-card-stack > .v2-ui-hints-host[hidden]{
  display:none !important;
  margin:0 !important;
}
.v2-dash-reorder-unit{
  touch-action:manipulation;
}
.v2-dash-reorder-unit--ui-hidden{
  display:none !important;
}
.v2-dash-reorder-unit > .v2-dash-widget__summary,
.v2-dash-subportfolios-band > .v2-dash-widget > .v2-dash-widget__summary,
.v2-dash-composition-band > .v2-dash-widget > .v2-dash-widget__summary{
  cursor:grab;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}
body.v2-dash-reorder-mode .v2-dash-reorder-unit{
  touch-action:none;
}
body.v2-dash-reorder-mode .v2-dash-reorder-unit > .v2-dash-widget__summary{
  cursor:grabbing;
}
.v2-ui-hint{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;border-radius:var(--radius,14px);
  border:1px dashed rgba(255,255,255,.45);
  background:rgba(93,153,198,.12);
}
html:not(.theme-dark) .v2-ui-hint{
  border-color:rgba(37,33,29,.28);
  background:rgba(93,153,198,.1);
}
.v2-ui-hint__body{flex:1;min-width:0}
.v2-ui-hint__title{
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  margin:0 0 4px;color:var(--accent-2,var(--accent,#c96e17));
}
.v2-ui-hint__text{
  margin:0;font-size:13px;line-height:1.45;color:var(--text,inherit);
}
.v2-ui-hint__close{
  flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:8px;
  background:rgba(0,0,0,.12);color:var(--muted);font-size:18px;line-height:1;cursor:pointer;
}
.v2-ui-hint__close:hover{background:rgba(0,0,0,.2);color:var(--text,inherit)}
html.theme-dark .v2-ui-hint__close{background:rgba(255,255,255,.08)}
html.theme-dark .v2-ui-hint__close:hover{background:rgba(255,255,255,.14)}

/* Главная: режим перестановки карточек (долгое нажатие 2 с) */
body.v2-dash-reorder-mode{
  user-select:none;
  -webkit-user-select:none;
  cursor:grabbing;
}
body.v2-dash-reorder-mode .v2-dash-reorder-unit{
  outline:2px dashed rgba(255,255,255,.88);
  outline-offset:4px;
  border-radius:var(--radius,14px);
  transition:outline-color .15s ease,opacity .15s ease;
}
html:not(.theme-dark) body.v2-dash-reorder-mode .v2-dash-reorder-unit{
  outline-color:rgba(20,24,32,.55);
}
html:not(.theme-dark) .v2-dash-reorder-drop-marker{
  border-top-color:rgba(20,24,32,.65);
}
body.v2-dash-reorder-mode .v2-dash-reorder-unit--armed{
  outline-color:rgba(255,255,255,1);
  outline-width:2px;
}
body.v2-dash-reorder-mode .v2-dash-reorder-unit--dragging{
  opacity:.72;
  outline-style:solid;
  z-index:5;
  position:relative;
}
body.v2-dash-reorder-mode .v2-dash-reorder-unit--drop-target{
  outline-color:var(--accent,#ff9933);
}
.v2-dash-reorder-drop-marker{
  height:0;border-top:3px dashed rgba(255,255,255,.9);
  margin:2px 0;pointer-events:none;
}

/* Пунктир по карточкам только в body.v2-dash-reorder-mode (после 2 с удержания), см. widget-card-reorder.js */

/* Главная: портфели — круг + таблица (как privat_invest «Всего средств») */
.v2-subpf-today-layout{
  display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.35fr);gap:20px;align-items:start
}
.v2-dash-subportfolios-band .v2-subpf-today-layout{
  grid-template-columns:minmax(320px,42%) minmax(0,1fr);
  gap:24px;
}
.v2-dash-subportfolios-band .v2-subpf-col--chart .v2-subpf-chart,
.v2-dash-subportfolios-band .v2-subpf-col--chart .v2-subpf-chart svg{
  min-height:200px;
}
.v2-subpf-col{display:flex;flex-direction:column;min-height:0}
.v2-subpf-col--chart .v2-subpf-chart{min-height:168px;display:flex;flex-direction:column}
.v2-subpf-col--chart .v2-subpf-chart svg{flex:1;min-height:168px;width:100%}
.v2-subpf-col:has(.v2-subpf-breakdown-list){margin-left:-4px}
.v2-subpf-breakdown-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}
.v2-subpf-breakdown-row{
  display:grid;
  grid-template-columns:minmax(150px,1.05fr) minmax(58px,.42fr) minmax(96px,.75fr) minmax(88px,.65fr) minmax(68px,.48fr) minmax(78px,.52fr) minmax(44px,.3fr);
  align-items:center;column-gap:8px;padding:6px 4px;border-bottom:1px solid rgba(0,0,0,.06);font-size:12px;line-height:1.2;
}
.v2-subpf-breakdown-row.is-head{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);
  border-bottom:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:5px 4px;
}
.v2-subpf-breakdown-row:last-child{border-bottom:none}
.v2-subpf-breakdown-left{display:flex;align-items:center;gap:8px;min-width:0}
.v2-subpf-breakdown-icon{
  width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;flex-shrink:0;overflow:hidden;
}
.v2-subpf-breakdown-icon .v2-subpf-icon-img{width:16px;height:16px;object-fit:contain}
.v2-subpf-breakdown-icon .asset-type-icon{width:16px;height:16px}
.v2-subpf-breakdown-icon .v2-subpf-icon-letter{font-size:11px;font-weight:700}
.v2-subpf-breakdown-label{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-subpf-share,.v2-subpf-val,.v2-subpf-drub,.v2-subpf-dpct,.v2-subpf-updated,.v2-subpf-count{
  font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;padding:0 4px;
}
.v2-subpf-val{font-weight:700;font-size:12px}
.v2-subpf-share{font-size:11px;color:var(--muted)}
.v2-subpf-drub,.v2-subpf-dpct{font-size:11px}
.v2-subpf-drub.is-pos,.v2-subpf-dpct.is-pos{color:var(--good)}
.v2-subpf-drub.is-neg,.v2-subpf-dpct.is-neg{color:var(--bad)}
.v2-subpf-updated{color:var(--muted);font-size:11px}
.v2-subpf-count{color:var(--muted);font-size:11px}
.v2-subpf-breakdown-row > *:not(:last-child){border-right:1px solid rgba(80,65,45,.1)}
.v2-subpf-breakdown-row.is-head > *{border-right-color:transparent}
@media (max-width:900px){
  .v2-subpf-today-layout{grid-template-columns:1fr;gap:16px}
  .v2-subpf-col:has(.v2-subpf-breakdown-list){margin-left:0}
  .v2-subpf-breakdown-row{
    grid-template-columns:minmax(130px,1fr) minmax(52px,.38fr) minmax(84px,.65fr) minmax(80px,.58fr) minmax(60px,.44fr) minmax(70px,.5fr) minmax(36px,.28fr);
  }
}

/* ——— Главная v2: KPI + компактные фильтры ——— */
.page-summary--dashboard .v2-reload-wh-btn{
  position:relative;z-index:5;pointer-events:auto;cursor:pointer;
}
.page-summary--dashboard .v2-dash-details{margin-bottom:10px;border-radius:16px;padding:0;overflow:hidden}
.page-summary--dashboard .v2-dash-details__summary{
  cursor:pointer;list-style:none;font-weight:700;font-size:13px;padding:10px 14px;
  color:var(--text);user-select:none;background:var(--panel-2);border-bottom:1px solid var(--line);
}
.page-summary--dashboard .v2-dash-details__summary::-webkit-details-marker{display:none}
.page-summary--dashboard .v2-dash-details__summary::before{
  content:'▸ ';font-size:11px;opacity:.65;display:inline-block;transition:transform .15s;
}
.page-summary--dashboard .v2-dash-details[open] > .v2-dash-details__summary::before{transform:rotate(90deg)}
.page-summary--dashboard .v2-dash-details__body{padding:10px 14px 12px}
.page-summary--dashboard .v2-dash-details--scheme .v2-dash-details__body{padding-top:6px}
.page-summary--dashboard .v2-filter-row,
.page-summary--dashboard .v2-preset-row,
.page-account .v2-account-preset-block .v2-filter-row,
.page-account .v2-account-preset-block .v2-preset-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;
}
.page-summary--dashboard .v2-preset-row,
.page-account .v2-account-preset-block .v2-preset-row{margin-bottom:4px;align-items:center}
.page-summary--dashboard .v2-filter-label,
.page-account .v2-account-preset-block .v2-filter-label{
  flex:0 0 auto;min-width:76px;font-size:11px;font-weight:700;color:var(--muted);
}
.page-summary--dashboard .v2-filter-tabs-host,
.page-account .v2-account-preset-block .v2-filter-tabs-host{flex:1;min-width:0}
.page-summary--dashboard .v2-filter-tabs-host--grow,
.page-account .v2-account-preset-block .v2-filter-tabs-host--grow{flex:1 1 200px}
.page-summary--dashboard .v2-preset-badge,
.page-account .v2-account-preset-block .v2-preset-badge{margin-left:auto}
.page-summary--dashboard .v2-compact-filters .widget-filter-tabs,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tabs{gap:4px}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab{
  padding:4px 11px;font-size:11px;min-height:32px;border-radius:var(--radius-pill);
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--icon,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--icon{padding:4px 8px;min-height:32px}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab__icon img,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab__icon img{width:16px;height:16px}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab__icon img.widget-filter-tab__brand-img,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab__icon img.widget-filter-tab__brand-img,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab__icon img.widget-filter-tab__brand-img{
  width:22px;height:22px;object-fit:contain;border-radius:50%
}
.widget-filter-tab--icon-only[data-tip]{
  position:relative;
  overflow:visible;
}
/* Альфа Инвест: таблетка = габарит логотипа (favicon с сайта), подпись — data-tip (pill) */
.widget-filter-tab.widget-filter-tab--brand-alfa.widget-filter-tab--icon-only{
  --alfa-logo-size:32px;
  position:relative;
  padding:0;
  width:var(--alfa-logo-size);
  min-width:var(--alfa-logo-size);
  height:var(--alfa-logo-size);
  min-height:var(--alfa-logo-size);
  border:none;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  line-height:0;
  vertical-align:middle;
}
.widget-filter-tab--brand-alfa.widget-filter-tab--icon-only .widget-filter-tab__icon{
  display:block;
  width:var(--alfa-logo-size);
  height:var(--alfa-logo-size);
  flex-shrink:0;
  line-height:0;
}
.widget-filter-tab__icon--brand-dual,
.widget-filter-tab__icon--alfa-dual,
.widget-filter-tab__icon--sber-dual{
  position:relative;
  width:var(--alfa-logo-size)!important;
  height:var(--alfa-logo-size)!important;
}
.widget-filter-tab__icon--brand-dual .alfa-logo__filled,
.widget-filter-tab__icon--brand-dual .alfa-logo__idle,
.widget-filter-tab__icon--brand-dual .sber-logo__filled,
.widget-filter-tab__icon--brand-dual .sber-logo__idle,
.widget-filter-tab__icon--alfa-dual .alfa-logo__filled,
.widget-filter-tab__icon--alfa-dual .alfa-logo__idle,
.widget-filter-tab__icon--sber-dual .sber-logo__filled,
.widget-filter-tab__icon--sber-dual .sber-logo__idle{
  display:block;
  width:var(--alfa-logo-size)!important;
  height:var(--alfa-logo-size)!important;
  max-width:none;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
}
.widget-filter-tab__icon--brand-dual .widget-filter-tab__brand-mark,
.widget-filter-tab__icon--sber-dual .widget-filter-tab__brand-mark,
.widget-filter-tab__icon--brand-dual .widget-filter-tab__brand-mark.sber-logo__filled,
.widget-filter-tab__icon--brand-dual .widget-filter-tab__brand-mark.sber-logo__idle,
.widget-filter-tab__icon--sber-dual .widget-filter-tab__brand-mark.sber-logo__filled,
.widget-filter-tab__icon--sber-dual .widget-filter-tab__brand-mark.sber-logo__idle{
  display:block;
  width:var(--alfa-logo-size,32px)!important;
  height:var(--alfa-logo-size,32px)!important;
  min-width:var(--alfa-logo-size,32px)!important;
  min-height:var(--alfa-logo-size,32px)!important;
  max-width:none;
  line-height:0;
  flex-shrink:0;
  pointer-events:none;
  overflow:visible;
}
.widget-filter-tab__icon--brand-dual .widget-filter-tab__brand-mark svg,
.widget-filter-tab__icon--sber-dual .widget-filter-tab__brand-mark svg,
.widget-filter-tab__icon--brand-dual .sber-logo__mark,
.widget-filter-tab__icon--sber-dual .sber-logo__mark{
  display:block;
  width:var(--alfa-logo-size,32px)!important;
  height:var(--alfa-logo-size,32px)!important;
  max-width:none;
}
.widget-filter-tab--brand-alfa:not([aria-pressed="true"]) .alfa-logo__filled{
  display:none!important;
}
.widget-filter-tab--brand-alfa:not([aria-pressed="true"]) .alfa-logo__idle{
  display:block!important;
  filter:none!important;
  opacity:1;
}
html.theme-dark .widget-filter-tab--brand-alfa:not([aria-pressed="true"]) .alfa-logo__idle{
  filter:none!important;
  opacity:1;
}
html:not(.theme-dark) .widget-filter-tab--brand-alfa:not([aria-pressed="true"]) .alfa-logo__idle{
  filter:none!important;
  opacity:1;
}
.widget-filter-tab--brand-alfa:not([aria-pressed="true"]):hover .alfa-logo__idle{
  filter:none!important;
  opacity:1;
}
html:not(.theme-dark) .widget-filter-tab--brand-alfa:not([aria-pressed="true"]):hover .alfa-logo__idle{
  filter:none!important;
  opacity:1;
}
.widget-filter-tab--brand-alfa[aria-pressed="true"]{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.widget-filter-tab--brand-alfa[aria-pressed="true"] .alfa-logo__filled{
  display:block!important;
}
.widget-filter-tab--brand-alfa[aria-pressed="true"] .alfa-logo__idle{
  display:none!important;
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-alfa.widget-filter-tab--icon-only,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-alfa.widget-filter-tab--icon-only,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-alfa.widget-filter-tab--icon-only{
  padding:0;
  width:var(--alfa-logo-size,32px);
  min-width:var(--alfa-logo-size,32px);
  height:var(--alfa-logo-size,32px);
  min-height:var(--alfa-logo-size,32px);
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-alfa .widget-filter-tab__brand-img,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-alfa .widget-filter-tab__brand-img,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-alfa .widget-filter-tab__brand-img{
  width:32px!important;
  height:32px!important;
  border-radius:0;
}

/* Сбер: фирменный знак банка (круг с галочкой, #21A038), dual active/idle как у Альфы */
.widget-filter-tab.widget-filter-tab--brand-sber.widget-filter-tab--icon-only{
  --sber-logo-size:var(--alfa-logo-size,32px);
  padding:0;
  width:var(--sber-logo-size);
  min-width:var(--sber-logo-size);
  height:var(--sber-logo-size);
  min-height:var(--sber-logo-size);
  border:none;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  line-height:0;
  vertical-align:middle;
}
.widget-filter-tab--brand-sber.widget-filter-tab--icon-only .widget-filter-tab__icon{
  display:block;
  width:var(--sber-logo-size);
  height:var(--sber-logo-size);
  flex-shrink:0;
  line-height:0;
}
.widget-filter-tab__icon--sber-dual{
  width:var(--alfa-logo-size,32px)!important;
  height:var(--alfa-logo-size,32px)!important;
}
.widget-filter-tab--brand-sber:not([aria-pressed="true"]) .sber-logo__filled{
  display:none!important;
}
.widget-filter-tab--brand-sber:not([aria-pressed="true"]) .sber-logo__idle{
  display:block!important;
  filter:none!important;
  opacity:1;
}
html.theme-dark .widget-filter-tab--brand-sber:not([aria-pressed="true"]) .sber-logo__idle{
  filter:none!important;
  opacity:1;
}
html:not(.theme-dark) .widget-filter-tab--brand-sber:not([aria-pressed="true"]) .sber-logo__idle{
  filter:none!important;
}
.widget-filter-tab--brand-sber:not([aria-pressed="true"]):hover .sber-logo__idle{
  filter:none!important;
  opacity:1;
}
html:not(.theme-dark) .widget-filter-tab--brand-sber:not([aria-pressed="true"]):hover .sber-logo__idle{
  filter:none!important;
}
.widget-filter-tab--brand-sber[aria-pressed="true"]{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.widget-filter-tab--brand-sber[aria-pressed="true"] .sber-logo__filled{
  display:block!important;
  filter:none!important;
  opacity:1;
}
.widget-filter-tab--brand-sber[aria-pressed="true"] .sber-logo__idle{
  display:none!important;
}
.widget-filter-tab.widget-filter-tab--brand-kit.widget-filter-tab--icon-only{
  --kit-logo-size:32px;
  position:relative;
  padding:0;
  width:var(--kit-logo-size);
  min-width:var(--kit-logo-size);
  height:var(--kit-logo-size);
  min-height:var(--kit-logo-size);
  border:none;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  line-height:0;
  vertical-align:middle;
}
.widget-filter-tab--brand-kit.widget-filter-tab--icon-only .widget-filter-tab__icon{
  display:block;
  width:var(--kit-logo-size);
  height:var(--kit-logo-size);
  flex-shrink:0;
  line-height:0;
}
.widget-filter-tab__icon--kit-dual{
  position:relative;
  width:var(--kit-logo-size,32px)!important;
  height:var(--kit-logo-size,32px)!important;
}
.widget-filter-tab__icon--brand-dual .kit-logo__filled,
.widget-filter-tab__icon--brand-dual .kit-logo__idle,
.widget-filter-tab__icon--kit-dual .kit-logo__filled,
.widget-filter-tab__icon--kit-dual .kit-logo__idle{
  display:block;
  width:var(--kit-logo-size,32px)!important;
  height:var(--kit-logo-size,32px)!important;
  max-width:none;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
}
.widget-filter-tab--brand-kit:not([aria-pressed="true"]) .kit-logo__filled{
  display:none!important;
}
.widget-filter-tab--brand-kit:not([aria-pressed="true"]) .kit-logo__idle{
  display:block!important;
  filter:none!important;
  opacity:0.78;
}
html.theme-dark .widget-filter-tab--brand-kit:not([aria-pressed="true"]) .kit-logo__idle{
  filter:none!important;
  opacity:0.88;
}
.widget-filter-tab--brand-kit:not([aria-pressed="true"]):hover .kit-logo__idle{
  filter:none!important;
  opacity:1;
}
.widget-filter-tab--brand-kit[aria-pressed="true"]{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.widget-filter-tab--brand-kit[aria-pressed="true"] .kit-logo__filled{
  display:block!important;
  filter:none!important;
  opacity:1;
}
.widget-filter-tab--brand-kit[aria-pressed="true"] .kit-logo__idle{
  display:none!important;
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-kit.widget-filter-tab--icon-only,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-kit.widget-filter-tab--icon-only,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-kit.widget-filter-tab--icon-only{
  padding:0;
  width:var(--kit-logo-size,32px);
  min-width:var(--kit-logo-size,32px);
  height:var(--kit-logo-size,32px);
  min-height:var(--kit-logo-size,32px);
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-kit .widget-filter-tab__brand-img,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-kit .widget-filter-tab__brand-img,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-kit .widget-filter-tab__brand-img{
  width:var(--kit-logo-size,32px)!important;
  height:var(--kit-logo-size,32px)!important;
  max-width:none;
  object-fit:contain;
  object-position:center;
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-sber.widget-filter-tab--icon-only,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-sber.widget-filter-tab--icon-only,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-sber.widget-filter-tab--icon-only{
  padding:0;
  width:var(--sber-logo-size,32px);
  min-width:var(--sber-logo-size,32px);
  height:var(--sber-logo-size,32px);
  min-height:var(--sber-logo-size,32px);
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-sber .widget-filter-tab__brand-img,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-sber .widget-filter-tab__brand-img,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-sber .widget-filter-tab__brand-img,
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-sber .widget-filter-tab__brand-mark,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-sber .widget-filter-tab__brand-mark,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-sber .widget-filter-tab__brand-mark,
.page-summary--dashboard .v2-compact-filters .widget-filter-tab--brand-sber .sber-logo__mark,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab--brand-sber .sber-logo__mark,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab--brand-sber .sber-logo__mark{
  width:32px!important;
  height:32px!important;
  border-radius:0;
}

/* Портфели: чипы слева, «+» сразу справа от них; без чипов — только «+» на их месте */
.v2-portfolio-filter-cluster{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  flex:0 1 auto;
  max-width:100%;
  min-width:0;
}
.page-summary--dashboard .v2-filter-row .v2-portfolio-filter-cluster,
.page-account .v2-account-preset-block .v2-filter-row .v2-portfolio-filter-cluster{
  flex:0 1 auto;
  min-width:0;
  flex-wrap:nowrap;
}
.page-summary--dashboard .v2-portfolio-filter-cluster .v2-filter-tabs-host,
.page-account .v2-account-preset-block .v2-portfolio-filter-cluster .v2-filter-tabs-host,
.page-portfolio .v2-portfolio-filter-cluster .v2-filter-tabs-host{
  flex:0 1 auto!important;
  min-width:0;
}
.v2-portfolio-filter-cluster .v2-filter-tabs-host:empty,
.v2-portfolio-filter-cluster--no-chips .v2-filter-tabs-host{
  display:none;
  flex:0!important;
  width:0;
  min-width:0;
  margin:0;
  padding:0;
}
.v2-portfolio-filter-cluster--no-chips .v2-portfolio-add-wrap{
  order:0;
}
.v2-portfolio-add-wrap{
  display:inline-block;
  vertical-align:middle;
  line-height:0;
}
.pf-v2-add-anchor,
.v2-portfolio-filter-cluster .pf-v2-add-anchor{
  position:relative;
  flex:0 0 auto;
  order:0;
  width:var(--add-portfolio-size,32px);
  min-width:var(--add-portfolio-size,32px);
  height:var(--add-portfolio-size,32px);
  min-height:var(--add-portfolio-size,32px);
  overflow:visible;
  z-index:50;
}
.page-portfolio .pf-v2-add-anchor:has(.pf-add-lop-chip.is-open),
.v2-portfolio-filter-cluster .pf-v2-add-anchor:has(.pf-add-lop-chip.is-open){
  height:var(--add-portfolio-size,32px);
  min-height:var(--add-portfolio-size,32px);
  max-height:var(--add-portfolio-size,32px);
  z-index:var(--lop-z-open,2500);
  overflow:visible;
}
.page-portfolio .pf-v2-add-anchor{
  --add-portfolio-size:var(--pf-toolbar-control-h,32px);
}
.v2-portfolio-filter-cluster .v2-filter-tabs-host:not(:empty){
  order:1;
  flex:0 1 auto;
}
.pf-add-lop-spacer{
  flex:0 0 auto;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  border:none;
  background:transparent!important;
  pointer-events:none;
  scroll-snap-align:none;
}
.pf-add-lop-spacer--head{
  height:var(--add-portfolio-size,32px);
  min-height:var(--add-portfolio-size,32px);
}
.pf-add-lop-spacer--tail{
  height:var(--pf-cols-row-h,28px);
  min-height:var(--pf-cols-row-h,28px);
}
.pf-add-lop-chip.is-open .pf-cols-lop-panel--wheel,
.pf-add-lop-chip.is-open .pf-cols-lop-panel-body{
  background:var(--laconic-card-bg,var(--panel));
}
.pf-add-lop-chip.is-open .pf-cols-dd-item,
.pf-add-lop-chip.is-open .pf-cols-lop-footer{
  background:var(--laconic-card-bg,var(--panel));
}
html.theme-dark .pf-add-lop-chip.is-open .pf-cols-dd-item,
html.theme-dark .pf-add-lop-chip.is-open .pf-cols-lop-footer{
  background:var(--color-twilight,var(--panel));
}
.pf-add-lop-chip.is-open .pf-cols-lop-footer{
  margin-top:0;
  border-top:1px solid var(--line);
}
.widget-filter-tab.widget-filter-tab--add-portfolio{
  --add-portfolio-idle:#a3a3a3;
  --add-portfolio-size:32px;
  box-sizing:border-box;
  width:var(--add-portfolio-size);
  min-width:var(--add-portfolio-size);
  height:var(--add-portfolio-size);
  min-height:var(--add-portfolio-size);
  padding:0!important;
  margin:0;
  border-radius:50%;
  border:1.5px solid var(--add-portfolio-idle);
  background:transparent!important;
  color:var(--add-portfolio-idle);
  font-size:inherit;
  font-weight:400;
  line-height:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:none!important;
  vertical-align:middle;
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab.widget-filter-tab--add-portfolio,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab.widget-filter-tab--add-portfolio,
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab.widget-filter-tab--add-portfolio{
  padding:0!important;
  min-height:var(--add-portfolio-size);
  height:var(--add-portfolio-size);
  border-radius:50%;
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab.widget-filter-tab--add-portfolio{
  --add-portfolio-size:var(--pf-toolbar-control-h,32px);
}
.v2-portfolio-add-btn__glyph{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  font-size:20px;
  font-weight:300;
  line-height:0;
  letter-spacing:0;
  color:inherit;
  pointer-events:none;
  user-select:none;
  transform:none;
}
.v2-portfolio-add-wrap:not(.is-open) .widget-filter-tab.widget-filter-tab--add-portfolio:hover{
  border-color:var(--add-portfolio-idle);
  color:#8f8f8f;
  background:transparent!important;
  box-shadow:none!important;
  font-weight:400;
}
html.theme-dark .v2-portfolio-add-wrap:not(.is-open) .widget-filter-tab.widget-filter-tab--add-portfolio:hover{
  color:#b8b8b8;
}
.v2-portfolio-add-wrap.is-open .widget-filter-tab.widget-filter-tab--add-portfolio,
.page-summary--dashboard .v2-compact-filters .v2-portfolio-add-wrap.is-open .widget-filter-tab--add-portfolio{
  border-color:var(--filter-chip-active-border,var(--accent));
  color:var(--filter-chip-active-color,var(--accent-2));
  background:var(--filter-chip-active-bg,transparent)!important;
  box-shadow:var(--filter-chip-active-ring)!important;
}
.v2-portfolio-add-wrap.is-open .widget-filter-tab--add-portfolio .v2-portfolio-add-btn__glyph{
  font-weight:400;
}
/* Список портфелей — рамка с левого верхнего угла кнопки «+», контент ниже таблетки */
.v2-portfolio-add-menu--panel{
  position:absolute;
  left:0;
  right:auto;
  top:0;
  z-index:50;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:max-content;
  max-width:min(92vw,272px);
  padding:var(--v2-portfolio-add-anchor-h,32px) 0 0;
  border:1.5px solid var(--filter-chip-active-border,var(--accent));
  border-radius:12px;
  background:var(--panel);
  box-shadow:0 4px 14px rgba(0,0,0,.1),0 10px 28px rgba(0,0,0,.16);
  box-sizing:border-box;
  text-align:left;
  overflow:hidden;
}
html.theme-dark .v2-portfolio-add-menu--panel{
  border-color:var(--filter-chip-active-border,var(--accent-2,#c96e17));
  box-shadow:0 6px 18px rgba(0,0,0,.35),0 12px 32px rgba(0,0,0,.28);
}
.page-portfolio .card.v2-pf-body.v2-pf-body--portfolio-menu-open{
  position:relative;
  z-index:1200;
  overflow:visible;
}
.v2-portfolio-add-menu[hidden]{display:none!important}
.v2-portfolio-add-menu--panel .pf-cols-lop-panel-body{
  padding:4px 12px 0;
}
.v2-portfolio-add-menu--panel .pf-cols-lop-footer{
  margin-top:0;
  padding:8px 12px 10px;
}
.v2-portfolio-add-menu__item--na{
  opacity:.72;
  cursor:default;
}
.v2-portfolio-add-menu__footer[hidden]{display:none}
.page-portfolio .pf-v2-filter-cluster .v2-portfolio-filter-cluster{
  flex:0 1 auto;
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tab__icon .asset-type-icon,
.page-account .v2-account-preset-block .v2-compact-filters .widget-filter-tab__icon .asset-type-icon{width:16px;height:16px}
.page-summary--dashboard .v2-preset-desc,
.page-account .v2-account-preset-block .v2-preset-desc{margin:6px 0 8px;font-size:12px;line-height:1.35}
.page-summary--dashboard .v2-preset-actions,
.page-account .v2-account-preset-block .v2-preset-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;
}
.page-summary--dashboard .pill-btn--compact,
.page-account .v2-account-preset-block .pill-btn--compact{padding:5px 12px;font-size:11px;border-radius:var(--radius-pill);min-height:32px}
.page-summary--dashboard .v2-input-compact,
.page-account .v2-account-preset-block .v2-input-compact{
  min-width:140px;flex:1;max-width:220px;padding:5px 12px;font-size:12px;
  border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);font:inherit;
}
.page-summary--dashboard .v2-select-compact,
.page-account .v2-account-preset-block .v2-select-compact{
  padding:5px 12px;font-size:11px;border-radius:var(--radius-pill);border:1px solid var(--line);
  background:var(--panel);min-width:140px;max-width:240px;font:inherit;
}
.page-summary--dashboard .v2-preset-save-note,
.page-account .v2-account-preset-block .v2-preset-save-note{margin:0;font-size:11px}
.page-summary .overview-grid{gap:10px;align-items:start}
.page-summary .overview-grid > .card{padding:11px 12px;border-radius:16px}
.page-summary .summary-hero--compact{padding:8px 12px}
.page-summary .summary-hero--compact .summary-hero-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.page-summary .summary-hero--compact .card-title{font-size:15px;margin:0}
.page-summary .summary-accum-card{padding:8px 10px 8px;position:relative}
.page-summary .summary-main-filters{
  margin:4px 0 0;padding:2px 0 0;background:transparent;border:0;border-radius:0
}
.page-summary .summary-main-filters .portfolio-toolbar-row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 12px;margin:0 0 4px
}
.page-summary .summary-main-filters .portfolio-toolbar-row--main{
  flex-wrap:nowrap;
  overflow-x:auto;
}
.page-summary .summary-main-filters #summaryPkgHubTabs.summary-funds-tabs,
.page-summary .summary-main-filters #summaryPkgAssetTabs.summary-funds-tabs{
  gap:2px;padding:0;border:none;background:transparent;box-shadow:none
}
.page-summary .summary-main-filters .summary-funds-tab--hub-icon{
  padding:4px 5px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:normal
}
.page-summary .summary-main-filters .summary-funds-tab--hub-icon .hub-icon{
  width:24px;height:24px;display:block;flex-shrink:0
}
.page-summary .summary-main-filters .summary-funds-tab--hub-icon .hub-icon--brand{
  width:24px;height:24px;display:block;flex-shrink:0;object-fit:contain;object-position:center
}
.page-summary .summary-main-filters .summary-funds-tab--hub-icon[data-portfolio-hub="alfa"] .hub-icon--brand{
  filter:none
}
.page-summary .summary-main-filters .summary-funds-tab--hub-icon[data-portfolio-hub="sber"] .hub-icon--brand{
  filter:none
}
.page-summary .summary-main-filters .summary-funds-tab--hub-icon[data-portfolio-hub="kit"] .hub-icon--brand{
  filter:none
}
.page-summary .summary-main-filters .summary-funds-tab--hub-icon[data-portfolio-hub="t"] .hub-icon--brand,
.page-summary .summary-main-filters .summary-funds-tab--hub-icon[data-portfolio-hub="finam"] .hub-icon--brand{
  filter:none
}
.widget-filter-tab.widget-filter-tab--brand-t.widget-filter-tab--icon-only,
.widget-filter-tab.widget-filter-tab--brand-finam.widget-filter-tab--icon-only{
  --broker-logo-size:32px;
  padding:0;
  width:var(--broker-logo-size);
  min-width:var(--broker-logo-size);
  height:var(--broker-logo-size);
  min-height:var(--broker-logo-size);
}
.widget-filter-tab--brand-t.widget-filter-tab--icon-only .widget-filter-tab__icon,
.widget-filter-tab--brand-finam.widget-filter-tab--icon-only .widget-filter-tab__icon{
  width:var(--broker-logo-size);
  height:var(--broker-logo-size);
}
.widget-filter-tab--brand-t:not([aria-pressed="true"]) .t-logo__filled,
.widget-filter-tab--brand-finam:not([aria-pressed="true"]) .finam-logo__filled{
  opacity:0;
}
.widget-filter-tab--brand-t:not([aria-pressed="true"]) .t-logo__idle,
.widget-filter-tab--brand-finam:not([aria-pressed="true"]) .finam-logo__idle{
  opacity:1;
}
.widget-filter-tab--brand-t[aria-pressed="true"] .t-logo__filled,
.widget-filter-tab--brand-finam[aria-pressed="true"] .finam-logo__filled{
  opacity:1;
}
.widget-filter-tab--brand-t[aria-pressed="true"] .t-logo__idle,
.widget-filter-tab--brand-finam[aria-pressed="true"] .finam-logo__idle{
  opacity:0;
}
.page-summary .summary-main-filters .summary-funds-tab--asset-icon{
  padding:4px 5px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:normal
}
.page-summary .summary-main-filters .summary-funds-tab--asset-icon .asset-type-icon{
  width:22px;height:22px;display:block;flex-shrink:0
}
/* asset-icon active color — filter-chips.css */
.page-summary .summary-main-filters [data-portfolio-asset="stock"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#e53935}
.page-summary .summary-main-filters [data-portfolio-asset="bank"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#1e88e5}
.page-summary .summary-main-filters [data-portfolio-asset="cash"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#29b6f6}
.page-summary .summary-main-filters [data-portfolio-asset="fund"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#8e24aa}

/* Источники (бренды): единый вид и поведение active/idle */
.widget-filter-tab.widget-filter-tab--brand-alfa.widget-filter-tab--icon-only,
.widget-filter-tab.widget-filter-tab--brand-sber.widget-filter-tab--icon-only,
.widget-filter-tab.widget-filter-tab--brand-kit.widget-filter-tab--icon-only,
.widget-filter-tab.widget-filter-tab--brand-t.widget-filter-tab--icon-only,
.widget-filter-tab.widget-filter-tab--brand-finam.widget-filter-tab--icon-only{
  width:32px;
  min-width:32px;
  height:32px;
  min-height:32px;
  padding:0;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.widget-filter-tab--brand-alfa.widget-filter-tab--icon-only .widget-filter-tab__icon,
.widget-filter-tab--brand-sber.widget-filter-tab--icon-only .widget-filter-tab__icon,
.widget-filter-tab--brand-kit.widget-filter-tab--icon-only .widget-filter-tab__icon,
.widget-filter-tab--brand-t.widget-filter-tab--icon-only .widget-filter-tab__icon,
.widget-filter-tab--brand-finam.widget-filter-tab--icon-only .widget-filter-tab__icon{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.widget-filter-tab--brand-alfa .widget-filter-tab__brand-img,
.widget-filter-tab--brand-sber .widget-filter-tab__brand-img,
.widget-filter-tab--brand-kit .widget-filter-tab__brand-img,
.widget-filter-tab--brand-t .widget-filter-tab__brand-img,
.widget-filter-tab--brand-finam .widget-filter-tab__brand-img{
  width:24px !important;
  height:24px !important;
  max-width:none;
  object-fit:contain;
  object-position:center;
  border-radius:0 !important;
}
.widget-filter-tab--brand-alfa .widget-filter-tab__brand-mark,
.widget-filter-tab--brand-sber .widget-filter-tab__brand-mark,
.widget-filter-tab--brand-kit .widget-filter-tab__brand-mark,
.widget-filter-tab--brand-t .widget-filter-tab__brand-mark,
.widget-filter-tab--brand-finam .widget-filter-tab__brand-mark{
  width:24px !important;
  height:24px !important;
  display:block;
}

/* Неактивно: единый светло-серый для всех брендов */
.widget-filter-tab--brand-alfa .alfa-logo__idle,
.widget-filter-tab--brand-sber .sber-logo__idle,
.widget-filter-tab--brand-kit .kit-logo__idle,
.widget-filter-tab--brand-t .t-logo__idle,
.widget-filter-tab--brand-finam .finam-logo__idle{
  display:none !important;
}
.widget-filter-tab--brand-alfa:not([aria-pressed="true"]) .alfa-logo__filled,
.widget-filter-tab--brand-sber:not([aria-pressed="true"]) .sber-logo__filled,
.widget-filter-tab--brand-kit:not([aria-pressed="true"]) .kit-logo__filled,
.widget-filter-tab--brand-t:not([aria-pressed="true"]) .t-logo__filled,
.widget-filter-tab--brand-finam:not([aria-pressed="true"]) .finam-logo__filled{
  display:block !important;
  filter:brightness(0) saturate(100%) invert(72%) !important;
  opacity:0.95 !important;
}

/* Активно: цветной знак */
.widget-filter-tab--brand-alfa[aria-pressed="true"] .alfa-logo__filled,
.widget-filter-tab--brand-sber[aria-pressed="true"] .sber-logo__filled,
.widget-filter-tab--brand-kit[aria-pressed="true"] .kit-logo__filled,
.widget-filter-tab--brand-t[aria-pressed="true"] .t-logo__filled,
.widget-filter-tab--brand-finam[aria-pressed="true"] .finam-logo__filled{
  display:block !important;
  filter:none !important;
  opacity:1 !important;
}
.widget-filter-tab--brand-alfa[aria-pressed="true"] .alfa-logo__idle,
.widget-filter-tab--brand-sber[aria-pressed="true"] .sber-logo__idle,
.widget-filter-tab--brand-kit[aria-pressed="true"] .kit-logo__idle,
.widget-filter-tab--brand-t[aria-pressed="true"] .t-logo__idle,
.widget-filter-tab--brand-finam[aria-pressed="true"] .finam-logo__idle{
  display:none !important;
}

/* Сбер: dual PNG (градиент / светло-серый), без CSS-фильтра поверх active */
.widget-filter-tab--brand-sber:not([aria-pressed="true"]) .sber-logo__filled{
  display:none !important;
  filter:none !important;
  opacity:1 !important;
}
.widget-filter-tab--brand-sber:not([aria-pressed="true"]) .sber-logo__idle{
  display:block !important;
  filter:none !important;
  opacity:1 !important;
}
.widget-filter-tab--brand-sber[aria-pressed="true"] .sber-logo__filled{
  display:block !important;
  filter:none !important;
  opacity:1 !important;
}
.widget-filter-tab--brand-sber[aria-pressed="true"] .sber-logo__idle{
  display:none !important;
}

/* Альфа: dual PNG (красный / серый контур), без CSS-фильтра */
.widget-filter-tab--brand-alfa:not([aria-pressed="true"]) .alfa-logo__filled{
  display:none !important;
  filter:none !important;
  opacity:1 !important;
}
.widget-filter-tab--brand-alfa:not([aria-pressed="true"]) .alfa-logo__idle{
  display:block !important;
  filter:none !important;
  opacity:1 !important;
}
.widget-filter-tab--brand-alfa[aria-pressed="true"] .alfa-logo__filled{
  display:block !important;
  filter:none !important;
  opacity:1 !important;
}
.widget-filter-tab--brand-alfa[aria-pressed="true"] .alfa-logo__idle{
  display:none !important;
}

/* Источники: фикс центровки active/idle слоёв (без смещения в idle) */
.widget-filter-tab__icon--brand-dual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.widget-filter-tab__icon--brand-dual .widget-filter-tab__brand-img{
  position:absolute;
  inset:0;
  margin:auto;
  width:24px !important;
  height:24px !important;
  object-fit:contain;
  object-position:center;
}
.widget-filter-tab--brand-sber .widget-filter-tab__icon--brand-dual,
.widget-filter-tab--brand-t .widget-filter-tab__icon--brand-dual,
.widget-filter-tab--brand-finam .widget-filter-tab__icon--brand-dual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.widget-filter-tab--brand-sber .sber-logo__filled,
.widget-filter-tab--brand-sber .sber-logo__idle,
.widget-filter-tab--brand-t .t-logo__filled,
.widget-filter-tab--brand-t .t-logo__idle,
.widget-filter-tab--brand-finam .finam-logo__filled,
.widget-filter-tab--brand-finam .finam-logo__idle{
  position:absolute;
  inset:0;
  margin:auto;
  transform:none !important;
}

.page-summary .summary-main-filters [data-portfolio-asset="bond"].summary-funds-tab--asset-icon:not([aria-pressed="true"]){color:#5e35b1}
.page-summary .summary-main-filters .portfolio-toolbar-row:last-child{margin-bottom:0}
.page-summary .summary-main-filters .portfolio-toolbar-label{
  font-size:12px;color:var(--muted);font-weight:600;flex-shrink:0;margin:0
}
.page-summary .summary-main-filters .summary-funds-tabs{margin-bottom:0;flex:0 1 auto}
.page-summary .summary-main-filters .summary-funds-tab{padding:5px 9px;font-size:10px}
/* summary-main-filters active — filter-chips.css */
.page-summary .summary-main-filters .portfolio-toolbar-row--lines{align-items:flex-start}
.page-summary .summary-main-filters .portfolio-toolbar-row--lines .hint-dd.portfolio-toolbar-hint-dd{margin-left:auto}
.page-summary .summary-main-filters .portfolio-toolbar-hint-dd{flex-shrink:0;max-width:min(100%,300px)}
.page-summary .summary-main-filters .summary-capital-period-inline{
  margin-left:auto;
  display:inline-flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  max-width:100%;
}
.page-summary .summary-main-filters .summary-capital-period-inline .summary-funds-tab.period-btn{
  padding:5px 9px;
  font-size:10px;
  min-width:auto;
}
.page-summary .summary-main-filters .summary-capital-period-toolbar-row{margin-top:6px;margin-bottom:0}
.page-summary .summary-main-filters .portfolio-line-tabs-shell{flex:1;min-width:0;margin-bottom:0}
.page-summary .summary-main-filters .portfolio-line-tabs-shell .portfolio-line-tabs__inner{
  display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0;background:transparent;min-width:0
}
.page-summary .summary-main-filters .portfolio-line-tabs-shell .portfolio-line-tabs__inner .summary-funds-tab{margin:0;padding:6px 10px;font-size:11px}
.page-summary .summary-capital-period-tabs .summary-funds-tab.period-btn{
  margin:0;padding:6px 10px;font-size:11px;font-weight:600;min-width:32px;line-height:1.2;
  border:1px solid transparent;background:transparent;color:var(--muted);border-radius:var(--radius-pill);cursor:pointer;font:inherit
}
.page-summary .summary-capital-period-tabs .summary-funds-tab.period-btn:hover{color:var(--text)}
/* summary-capital-period-tabs .active — filter-chips.css */
.page-summary .summary-accum-amount-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;flex:1 1 auto;min-width:0
}
.page-summary .summary-accum-amount-row .summary-accum-total{margin:0}
.page-summary .summary-accum-amount-row .summary-capital-growth--beside{
  margin-left:auto;
  flex:0 0 auto;
  min-width:0;
  justify-content:flex-end;
}
.page-summary .summary-accum-amount-row .summary-hint--growth{margin-left:4px}
.page-summary .summary-accum-growth-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 4px;width:100%;margin-top:1px}
.page-summary .summary-accum-head{align-items:center;flex-wrap:wrap}
.page-summary .summary-accum-title{font-size:17px}
.page-summary .summary-accum-kicker{margin:4px 0 0;font-size:11px}
.page-summary .summary-accum-total{font-size:clamp(18px,2.8vw,24px);margin:0;line-height:1.12;letter-spacing:-0.02em}
.page-summary .summary-accum-hero-line{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:4px 0 4px}
.page-summary .summary-hero-toprow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;flex-wrap:wrap}
.page-summary .summary-period-tabs--top{margin:0;align-self:flex-start}
.page-summary .summary-capital-period-wrap{margin:0}
.page-summary .summary-capital-period{display:flex;flex-wrap:wrap;gap:5px;margin:0}
.page-summary .summary-capital-growth{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 4px;font-size:14px;font-weight:700;line-height:1.15;min-height:1.15em}
.page-summary .summary-capital-growth--beside{flex:1 1 auto;min-width:min(100%,200px);font-size:clamp(13px,2.1vw,16px)}
.page-summary .summary-hint--growth{align-self:center;margin-top:0!important}
.page-summary .summary-capital-growth-dot{color:var(--muted);font-weight:400}
.page-summary .summary-capital-growth .cap-gr-rub{font-variant-numeric:tabular-nums}
.page-summary .summary-capital-growth .cap-gr-pct{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.page-summary .summary-capital-growth .good{color:var(--good)}
.page-summary .summary-capital-growth .warn{color:var(--bad)}
.page-summary .summary-breakdown-grow{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:108px;flex-shrink:0;text-align:right}
.page-summary .summary-breakdown-drub{font-size:12px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.page-summary .summary-breakdown-dpct{font-size:11px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--muted)}
.page-summary .summary-breakdown-drub.good,.page-summary .summary-breakdown-dpct.good{color:var(--good)}
.page-summary .summary-breakdown-drub.warn,.page-summary .summary-breakdown-dpct.warn{color:var(--bad)}
.page-summary .summary-accum-legend{margin-top:4px;font-size:10px;gap:4px 10px}
.page-summary .summary-kpi-card{padding:10px 12px}
.page-summary .summary-kpi-card .metric-title{font-size:11px}
.page-summary .summary-kpi-card .metric-value{font-size:17px}
.page-summary .summary-funds-card{padding:10px 12px 12px}
.page-summary .summary-funds-tabs{margin-bottom:8px;padding:0;border:none;background:transparent;box-shadow:none}
.page-summary .summary-funds-tab{padding:6px 12px;font-size:12px}
.page-summary .summary-capital-period-row{margin-top:4px;width:100%}
.page-summary .summary-capital-period-row .summary-capital-period-tabs{
  margin:0;
  display:inline-flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  max-width:100%;
}
.page-summary .summary-capital-period-row .summary-capital-period-tabs .summary-funds-tab.period-btn{
  padding:5px 9px;
  font-size:10px;
  min-width:auto;
}
.page-summary .summary-funds-today-col--chart .summary-funds-today-chart{min-height:168px}
.page-summary .summary-funds-today-col--chart .summary-funds-today-chart svg{min-height:168px}
.page-summary .summary-funds-today-layout{gap:16px}
.page-summary .summary-breakdown-list{gap:0}
.page-summary .summary-breakdown-row{padding:3px 0;font-size:12px;line-height:1.2;gap:8px}
.page-summary .summary-breakdown-left{flex:1;min-width:0}
.page-summary .summary-breakdown-icon{width:30px;height:30px;font-size:12px}
.page-summary .summary-breakdown-val{font-size:14px}
.page-summary .summary-chart-head{margin-bottom:4px}
.summary-hub-asset-card .card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.summary-hub-asset-card .summary-funds-tabs{margin:0;flex-shrink:0}
.summary-hub-chart-panel{display:none;margin-top:8px}
.summary-hub-chart-panel.is-active{display:block}
.page-summary .summary-chart-head .card-title{font-size:13px}
.page-summary .summary-dynamics-cap{padding:8px 10px!important;margin-bottom:8px!important}
.page-summary .summary-dynamics-cap .metric-value{font-size:17px}
.page-summary #summaryFundsPanelDyn .summary-dyn-scroll-outer{min-height:196px}
.page-summary .summary-dyn-analytics{margin-top:2px}
.page-summary .summary-dyn-hero{margin-bottom:10px}
.page-summary .summary-dyn-kicker{font-size:12px;color:var(--muted);margin-bottom:4px}
.page-summary .summary-dyn-total{font-size:clamp(18px,2.8vw,24px);font-weight:700;letter-spacing:-0.02em;line-height:1.12}
.page-summary .summary-dyn-delta{margin-top:6px;font-size:14px;font-weight:700;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px}
.page-summary .summary-dyn-delta .good{color:var(--good)}
.page-summary .summary-dyn-delta .warn{color:var(--bad)}
.page-summary .summary-dyn-delta-dot{color:var(--muted);font-weight:400}
.page-summary .summary-dyn-method{font-size:11px;margin-top:4px;color:var(--muted);line-height:1.35}
.page-summary .summary-dyn-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:6px 0 4px}
.page-summary .summary-funds-toprow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:4px;
}
.page-summary .summary-dyn-gran--toolbar{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.page-summary .portfolio-toolbar-row--line{margin-top:6px;align-items:flex-start}
.page-summary .summary-dyn-headrow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.page-summary .summary-dyn-headrow .summary-dyn-hero{flex:1 1 260px;min-width:220px}
.page-summary .summary-dyn-headrow .summary-dyn-toolbar{flex:0 0 auto;margin-top:0}
.page-summary .summary-dyn-unit-btn{
  min-width:36px;height:30px;padding:0 8px;border-radius:9px;border:1px solid var(--line);
  background:var(--panel-2);font-weight:700;cursor:pointer;font:inherit;color:var(--text)
}
.page-summary .summary-dyn-unit-btn:hover{border-color:var(--accent)}
.page-summary .summary-dyn-gran{display:flex;flex-wrap:wrap;gap:6px}
.page-summary .summary-dyn-chip{
  cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);
  font:inherit;font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;line-height:1.15
}
.page-summary .summary-dyn-chip:hover{color:var(--text)}
/* .summary-dyn-chip.active — filter-chips.css */
.page-summary .summary-dyn-val{display:flex;flex-wrap:wrap;gap:6px;margin-right:4px}
.page-summary .summary-dyn-chip--tight{padding:5px 8px;font-size:10px}
.summary-period-tabs--top .summary-funds-tab.period-btn--sym,
.summary-dyn-chip,
.summary-dyn-chip--tight,
.summary-dyn-unit-btn{
  min-height:30px;
  height:30px;
  font-size:11px;
}
.summary-line-filter-row{margin-top:6px}
.summary-line-tabs-shell{margin:0;padding:2px 4px}
.summary-line-tabs-shell .summary-funds-tab{min-height:28px;padding:4px 10px;font-size:11px}
.summary-hint,.hint-dd{display:none!important}
.summary-accum-legend-item{cursor:pointer;transition:opacity .18s ease, transform .18s ease}
.summary-accum-legend-item[aria-pressed="true"]{opacity:1;transform:scale(1.03)}
.summary-accum-legend-item{border:none;background:transparent;padding:0;margin:0;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:6px}
.page-summary .summary-dyn-hero--compact .summary-dyn-kicker{margin-bottom:2px}
.page-summary .summary-dyn-hero--compact .summary-dyn-delta{margin-top:4px}
.page-summary .summary-dyn-scroll-outer{
  display:flex;align-items:stretch;gap:0;position:relative;width:100%;max-width:100%;
  border:none;border-radius:0;background:transparent;overflow:visible
}
.page-summary .summary-dyn-chart-mid{
  display:flex;flex:1;min-width:0;align-items:stretch;position:relative;
  border-radius:8px;background:transparent;overflow:hidden
}
.page-summary .summary-dyn-scrollwrap{
  flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
  border:none;border-radius:0;background:transparent;user-select:none;
  scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent
}
.page-summary .summary-dyn-scrollwrap::-webkit-scrollbar{height:4px}
.page-summary .summary-dyn-scrollwrap::-webkit-scrollbar-track{background:transparent}
.page-summary .summary-dyn-scrollwrap::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.16);border-radius:100px;border:2px solid transparent;background-clip:padding-box
}
.page-summary .summary-dyn-scrollwrap::-webkit-scrollbar-button{width:0;height:0;display:none}
.page-summary .summary-dyn-y-rail{
  flex:0 0 50px;width:50px;min-width:50px;align-self:stretch;position:relative;z-index:1;
  background:var(--panel);
}
.page-summary .summary-dyn-y-rail--left{border-right:1px solid rgba(0,0,0,.1)}
.page-summary .summary-dyn-y-rail--right{border-left:1px solid rgba(0,0,0,.1)}
.page-summary .summary-dyn-yaxis-svg{display:block;width:50px;height:232px;flex-shrink:0}
.page-summary .summary-dyn-edge{
  flex:0 0 26px;width:26px;min-width:26px;border:none;background:transparent;cursor:pointer;
  font-size:18px;line-height:1;color:rgba(0,0,0,.28);padding:0;font:inherit;display:flex;align-items:center;justify-content:center;
  transition:color .15s,opacity .15s;opacity:.85
}
.page-summary .summary-dyn-edge:hover{color:var(--muted);opacity:1}
.page-summary .summary-dyn-bar-svg{display:block;height:306px;touch-action:pan-x;flex-shrink:0;max-width:none}
.page-summary .summary-dyn-bar-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 3;opacity:.68}
.page-summary .summary-dyn-bar-grid--major{stroke-width:1.25;opacity:.82}
.page-summary .summary-dyn-bar-label{fill:var(--muted);font-size:11px;font-weight:600}
.page-summary .summary-dyn-bar-cap{fill:var(--muted);font-size:11px;font-weight:600}
.page-summary .summary-dyn-bar-pct{font-size:11px;font-weight:700;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:2px}
.page-summary .summary-dyn-bar-rub{font-size:11px;font-weight:700;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:2px}
.page-summary .summary-dyn-bar-pct.pos,.page-summary .summary-dyn-bar-rub.pos{fill:var(--good)}
.page-summary .summary-dyn-bar-pct.neg,.page-summary .summary-dyn-bar-rub.neg{fill:var(--bad)}
.page-summary .summary-dyn-bar-pct.zero,.page-summary .summary-dyn-bar-rub.zero{fill:var(--muted)}
.page-summary .summary-dyn-bar-axis{fill:var(--muted);font-size:11px;font-weight:500}
.page-summary .summary-dyn-footer-hdr{fill:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.page-summary #summaryFundsPanelDyn .summary-dyn-hero{display:none}
.page-summary #summaryFundsPanelDyn .summary-dyn-headrow{justify-content:flex-end}
.page-summary #summaryFundsPanelDyn .summary-dyn-scrollwrap{overflow-x:auto;overflow-y:hidden}
.page-summary #summaryFundsPanelDyn .summary-dyn-edge{display:none}
.page-summary #summaryFundsPanelDyn .summary-dyn-yaxis-svg{height:306px}
.page-summary #summaryFundsPanelDyn .summary-dyn-yaxis-svg--pct{width:46px;min-width:46px}
.summary-hint--corner{flex-shrink:0;margin-top:2px!important}
.summary-accum-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
.summary-kpi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
.summary-kpi-head .metric-title{margin:0}
.summary-mix-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.summary-mix-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.summary-mix-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.summary-mix-tab{
  border:1px solid var(--line);background:var(--panel-2);padding:6px 12px;font:inherit;font-size:12px;font-weight:600;
  color:var(--muted);cursor:pointer;line-height:1.2;text-decoration:none;border-radius:999px
}
.summary-mix-tab:hover{color:var(--text);border-color:var(--line)}
.summary-mix-tab[aria-selected="true"]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}
.summary-mix-bar{display:flex;height:11px;border-radius:8px;overflow:hidden;gap:3px;background:var(--panel-2);border:1px solid var(--line);padding:2px;margin-bottom:8px}
.summary-mix-bar--subpf{height:12px;margin-bottom:0}
.summary-subpf-wrap{width:100%;margin-top:6px;margin-bottom:10px}
.summary-subpf-wrap .summary-subpf-legend{margin-top:6px}
.summary-mix-bar .summary-mix-seg[data-block-key]{cursor:pointer;appearance:none;-webkit-appearance:none;display:block;margin:0;font:inherit;line-height:0;color:inherit}
.summary-mix-bar--subpf .summary-mix-seg[data-block-key]{align-self:stretch;min-height:8px}
.summary-mix-seg.summary-mix-seg--match{box-shadow:inset 0 0 0 2px var(--accent);border-radius:4px}
.summary-mix-seg{min-width:3px;border-radius:4px}
.summary-mix-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}
.summary-mix-row{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.25;padding:3px 0}
.summary-mix-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.summary-mix-name{flex:1;min-width:0;color:var(--text);font-weight:600}
.summary-mix-val{display:flex;align-items:baseline;gap:5px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:55%}
.summary-mix-rub{font-weight:700;font-size:12px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.summary-mix-sep{color:var(--line);font-weight:400;font-size:11px}
.summary-mix-pct{font-size:11px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (min-width: 900px) and (max-width: 1099px){
  .page-summary .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-summary .overview-grid > .overview-grid-span{grid-column:1 / -1}
  .page-summary .overview-grid .summary-accum-card.overview-grid-span{grid-column:1 / -1}
}
@media (min-width: 1100px){
  .page-summary .overview-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  .page-summary .overview-grid > .overview-grid-span{grid-column:1 / -1}
  .page-summary .overview-grid .summary-accum-card.overview-grid-span{grid-column:1 / -1}
  .page-summary .overview-grid .summary-funds-card.overview-grid-span{grid-column:1 / -1}
}
@media (min-width: 1100px) and (max-height: 820px){
  .page-summary .summary-funds-today-col--chart .summary-funds-today-chart,
  .page-summary .summary-funds-today-col--chart .summary-funds-today-chart svg{min-height:148px}
}
@media (max-width: 899px){
  .page-summary .summary-main-filters .portfolio-toolbar-row{flex-direction:column;align-items:stretch}
  .page-summary .summary-main-filters .summary-funds-tabs{max-width:100%}
}
.summary-accum-bar{display:flex;height:8px;border-radius:6px;overflow:hidden;background:var(--line)}
.summary-accum-seg{min-width:0;height:100%;flex-shrink:0;transition:flex-basis .25s ease}
.summary-accum-legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:10px;color:var(--text)}
.summary-accum-legend-item{display:inline-flex;align-items:center;gap:6px}
.summary-accum-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.summary-funds-card{padding:16px 18px 18px}
.summary-funds-tabs{display:inline-flex;gap:6px;background:transparent;padding:0;border-radius:var(--radius-pill);margin-bottom:12px;border:none;box-shadow:none}
.summary-funds-tab{border:1px solid transparent;background:transparent;padding:7px 16px;border-radius:var(--radius-pill);font-weight:600;font-size:13px;cursor:pointer;color:var(--muted);font-family:inherit;line-height:1.2}
/* hover — filter-chips.css */
/* .summary-funds-tab[aria-selected] — filter-chips.css */
.summary-funds-panel{display:none}
.summary-funds-panel.is-active{display:block}
.summary-funds-today-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);gap:2px;align-items:start}
.summary-funds-today-col{display:flex;flex-direction:column;min-height:0;border:none}
.summary-funds-today-col--chart .summary-funds-today-chart{flex:1;min-height:200px;height:auto;display:flex;flex-direction:column;justify-content:flex-start}
.summary-funds-today-col--chart .summary-funds-today-chart svg{flex:1;min-height:200px;width:100%}
.summary-funds-today-col .summary-breakdown-list{overflow:visible}
.summary-funds-today-col:has(.summary-breakdown-list){margin-left:-10px}
@media (max-width:900px){.summary-funds-today-layout{grid-template-columns:1fr;gap:20px}}
.summary-breakdown-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.summary-breakdown-row{
  display:grid;
  grid-template-columns:minmax(160px,1.05fr) minmax(70px,.45fr) minmax(102px,.78fr) minmax(95px,.68fr) minmax(75px,.5fr) minmax(86px,.58fr) minmax(52px,.34fr);
  align-items:center;
  column-gap:8px;
  padding:6px 6px;
  border-bottom:1px solid rgba(0,0,0,.06);
  font-size:12px;
}
.summary-breakdown-row.is-head{
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--muted);
  border-bottom:1px solid var(--line);
  background:var(--panel-2);
  border-radius:8px;
}
.summary-breakdown-row:last-child{border-bottom:none}
.summary-breakdown-left{display:flex;align-items:center;gap:8px;min-width:0}
.summary-breakdown-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}
.summary-breakdown-row[data-block-key="ab"] .summary-breakdown-icon{
  background:var(--panel-2) !important;
  border:1px solid rgba(239,49,36,.42);
  box-sizing:border-box;
}
.summary-breakdown-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.summary-breakdown-val{font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.summary-breakdown-label{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.summary-breakdown-count{color:var(--muted);font-size:11px;text-align:right;white-space:nowrap;flex-shrink:0}
.summary-breakdown-drub,.summary-breakdown-dpct{text-align:right;white-space:nowrap;font-size:11px}
.summary-breakdown-row.is-head .summary-breakdown-left{display:block}
.summary-breakdown-updated{color:var(--muted);font-size:11px;text-align:right;white-space:nowrap}
.summary-breakdown-row > *{padding:0 6px}
.summary-breakdown-row > *:not(:last-child){border-right:1px solid rgba(80,65,45,.12)}
.summary-breakdown-row.is-head > *{font-weight:700;color:#7b6f60}
.summary-dynamics-cap{margin-bottom:10px}
.summary-dynamics-cap .metric-title{font-size:12px;color:var(--muted)}
.summary-dynamics-cap .metric-value{font-size:20px}
@media (max-width:1120px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{display:none}
  .content{padding:14px max(12px, env(safe-area-inset-right)) 96px max(12px, env(safe-area-inset-left))}

.mobile-nav{display:block}
}
@media (max-width:1100px){
  .history-form{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .grid-3,.grid-2,.grid-4,.kpi-grid{grid-template-columns:1fr}
  .overview-grid{grid-template-columns:1fr;gap:14px}
  .history-form{grid-template-columns:1fr 1fr}
  .topbar{align-items:flex-start; flex-direction:column}
  .page-subtitle{font-size:28px}
  .summary-breakdown-row{
    grid-template-columns:minmax(145px,1fr) minmax(62px,.4fr) minmax(90px,.68fr) minmax(88px,.62fr) minmax(66px,.48fr) minmax(76px,.54fr) minmax(44px,.3fr);
    min-width:0;
  }
  .summary-breakdown-icon{width:24px;height:24px}
  .summary-funds-today-col:has(.summary-breakdown-list){margin-left:0}
}
@media (max-width:680px){
  .history-form{grid-template-columns:1fr}
  .content{padding:12px max(10px, env(safe-area-inset-right)) 92px max(10px, env(safe-area-inset-left))}
  .card{padding:14px}
  :root{--font-metric:22px;--gap-cards:14px}
  .chart-wrap{height:220px}
  .chart-wrap.small{height:190px}
  .strategy-table{font-size:12px}
  .strategy-table th,.strategy-table td{padding:8px 6px}
  .tab-btn{font-size:16px;min-height:44px;padding:0 4px}
  .chart-wrap--benchmark{height:260px;min-height:260px}
  .page-update-date{font-size:12px;text-align:center;padding:8px 10px 86px}
}
@media (max-width:380px){
  .page-subtitle{font-size:22px}
  .brand-title{font-size:24px}
}

/* ——— Portfolio ИТОГО bar ——— */
.v2-pf-total-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:0 24px;
  padding:10px 18px;
  background:var(--card-bg);
  border:1px solid var(--line,#e8e3dc);
  border-radius:var(--radius-pill);
  margin-bottom:10px;
  font-size:0.82rem;
}
.v2-pf-total-label{
  font-size:0.7rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted,#888);
  margin-right:8px;
}
.v2-pf-total-item{ display:flex;align-items:baseline;gap:5px; }
.v2-pf-total-key{ color:var(--muted,#888); }
.v2-pf-total-val{ font-weight:600;color:var(--text); }
.v2-pf-total-pos{ color:var(--good); }
.v2-pf-total-neg{ color:var(--bad); }
.v2-pf-total-src{ margin-left:auto;font-size:0.75rem;color:var(--muted,#aaa); }
.v2-pf-total-sub .v2-pf-total-val{ font-weight:500;font-size:0.85em;color:var(--muted,#888); }

/* ——— Portfolio date bar ——— */
.page-portfolio .card-header{
  margin-bottom:4px;
}
.v2-pf-date-bar{
  display:flex;flex-wrap:wrap;gap:5px;
  padding:6px 0 8px;
  margin-bottom:8px;
}
.v2-pf-date-btn{
  padding:5px 12px;border-radius:var(--radius-pill);
  border:1.5px solid var(--line,#e8e3dc);
  background:transparent;
  font-size:0.8rem;line-height:1.4;
  color:var(--muted,#888);
  cursor:pointer;white-space:nowrap;
  transition:background .12s,color .12s,border-color .12s;
}
/* v2-pf-date-btn hover/active — filter-chips.css */

/* ——— Alfa-Invest Official Report Widget ——— */
.dev-mod-main-alfa-official.v2-dash-widgets,
.dev-mod-main-alfa-official.v2-alfa-widgets{
  padding:0;
  margin:0;
}
.v2-alfa-section-title{
  font-size:0.82rem;font-weight:600;color:var(--muted);
  text-transform:uppercase;letter-spacing:.05em;
  margin:0 0 8px;padding:0;
}

/* Waterfall scrollable host */
.v2-alfa-waterfall-host{
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:var(--panel);
}

/* ══ Waterfall Toolbar: фильтры периода и шага сетки ════════════════ */
.v2-wf-toolbar{
  display:flex;flex-wrap:nowrap;align-items:center;gap:6px 10px;
  margin-bottom:10px;padding:6px 12px;
  background:var(--panel-2);border-radius:var(--radius-pill);
  border:1px solid var(--line,#e8e3dc);
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.v2-wf-toolbar > *{flex-shrink:0}
.v2-wf-toolbar-label{
  font-size:11px;color:var(--muted,#888);font-weight:500;white-space:nowrap;margin:0;
}
.v2-period-group,.v2-gran-group,.v2-scale-group{
  display:flex;gap:2px;background:var(--panel);
  border:1px solid var(--line,#e8e3dc);border-radius:999px;padding:2px;
  flex-shrink:0;
}
.v2-wf-filter-card .v2-period-group,
.v2-wf-filter-card .v2-gran-group,
.v2-wf-filter-card .v2-scale-group,
.v2-wf-filter-card .v2-metric-group,
.v2-wf-filter-card .v2-display-group{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}
.v2-period-btn,.v2-gran-btn{
  cursor:pointer;background:transparent;
  font:inherit;font-size:11.5px;font-weight:600;letter-spacing:-0.02em;
  padding:4px 9px;border-radius:999px;color:var(--muted,#888);
  white-space:nowrap;line-height:1.2;
}
.v2-scale-group .v2-scale-btn{
  cursor:pointer;background:transparent;
  font:inherit;font-size:16px;font-weight:700;line-height:1;
  width:26px;min-width:26px;height:24px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;color:var(--muted,#888);
}
.v2-scale-btn:disabled{
  opacity:0.28;cursor:not-allowed;pointer-events:none;
}
.v2-scale-btn:disabled:hover{
  border-color:transparent;background:transparent;color:var(--muted,#888);
  box-shadow:none;font-weight:700;
}
.v2-period-btn--na,.v2-period-btn[disabled]{
  opacity:0.28;cursor:not-allowed;pointer-events:none;
}
.v2-period-btn--na:hover,.v2-period-btn[disabled]:hover{
  background:transparent;color:var(--muted,#888);
}
/* Metric buttons: %, ₽, СЧА */
.v2-metric-group{display:flex;gap:2px;align-items:center;}
.v2-metric-btn{
  cursor:pointer;background:transparent;
  font:inherit;font-size:11.5px;font-weight:700;letter-spacing:-0.01em;
  padding:4px 10px;border-radius:999px;color:var(--muted,#888);
  white-space:nowrap;
}
/* Toolbar separator */
.v2-wf-sep{width:1px;height:18px;background:#e0dbd4;margin:0 4px;flex-shrink:0;}
/* Display type buttons: bars / line / area */
.v2-display-group{display:flex;gap:2px;align-items:center;background:var(--panel,#fff);border:1px solid var(--line,#e8e3dc);border-radius:999px;padding:3px;}
.v2-wf-filter-card .v2-display-group{background:transparent;border:none;padding:0;}
.v2-display-btn{
  cursor:pointer;background:transparent;
  padding:3px 7px;border-radius:999px;
  color:var(--muted,#aaa);display:flex;align-items:center;
  line-height:1;
}

/* ══ Улучшенный compact layout для Alfa-секций ══════════════════════ */
.v2-alfa-section-title{
  font-size:0.83rem;font-weight:600;color:var(--muted,#777);
  margin:12px 0 6px;letter-spacing:0.01em;text-transform:uppercase;
}
.v2-alfa-risk-host,.v2-alfa-pnl-host,.v2-alfa-movers-host,.v2-alfa-cashflow-host{
  border:1px solid var(--line,#e8e3dc);
  border-radius:8px;
  padding:10px 12px 8px;
  background:var(--panel);
  overflow-x:auto;
}

/* Риск-KPI: 8 плиток (drawRiskKpis) */
.v2-risk-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(115px,1fr));
  gap:8px;
}
.v2-risk-kpi-tile{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.v2-risk-kpi-tile:hover{
  border-color:color-mix(in srgb,var(--accent) 35%,var(--line));
}
.v2-risk-kpi-label{
  font-size:0.75rem;
  color:var(--muted);
  margin-bottom:4px;
  line-height:1.3;
}
.v2-risk-kpi-val{
  font-size:1.1rem;
  font-weight:700;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
}
.v2-risk-kpi-val--neutral{color:var(--text)}
.v2-risk-kpi-val--pos{color:var(--good)}
.v2-risk-kpi-val--neg{color:var(--bad)}
.v2-risk-kpi-val--warn{color:#e65100}
.v2-risk-kpi-val--info{color:#1565c0}
.v2-risk-kpi-sub{
  font-size:0.72rem;
  color:var(--muted);
  margin-top:3px;
  line-height:1.3;
  opacity:0.85;
}

/* ── Side-by-side row: Движение денег + P&L ─────────────────────── */
.v2-cf-pnl-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start;
}
.v2-cf-pnl-col{
  min-width:0;
}
@media (max-width:720px){
  .v2-cf-pnl-row{ grid-template-columns:1fr; }
}

/* ══ Top Movers: горизонтальные бары ════════════════════════════════ */
.v2-mover-row{
  display:flex;align-items:center;gap:8px;margin-bottom:5px;min-height:28px;
}
.v2-mover-name{
  font-size:0.8rem;color:var(--text);flex:0 0 auto;min-width:120px;max-width:180px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.v2-mover-bar-wrap{
  flex:1;height:14px;background:var(--panel-2);border-radius:4px;overflow:hidden;position:relative;
  min-width:60px;
}
.v2-mover-bar{
  height:100%;border-radius:4px;transition:width 0.25s;
}
.v2-mover-pct{
  font-size:0.8rem;font-weight:700;white-space:nowrap;min-width:48px;text-align:right;
}
.v2-alfa-risk-host,
.v2-alfa-pnl-host,
.v2-alfa-movers-host{
  border:1px solid var(--line);
  border-radius:8px;
  padding:14px 16px 10px;
  background:var(--panel);
  overflow-x:auto;
}
.v2-alfa-cashflow-host{
  border:1px solid var(--line);
  border-radius:8px;
  padding:14px 16px 10px;
  background:var(--panel);
  overflow-x:auto;
}


/* ═══════════════════════════════════════════════════════════
   Аналитика: виджеты Доходы / Расходы / Операции / Сделки
   ═══════════════════════════════════════════════════════════ */
.v2-anl-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:12px;
  margin-top:10px;
}
@media(max-width:700px){
  .v2-anl-grid{ grid-template-columns:1fr; }
}

.v2-anl-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px 16px;
  background:var(--panel);
  min-width:0;
}
.v2-anl-card--wide{
  grid-column:1 / -1;   /* занять обе колонки */
}

.v2-anl-card-title{
  font-size:0.74rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text-muted,#888);
  margin-bottom:10px;
}

/* ── Доходы по активам — горизонтальные строки ── */
.v2-anl-hbar-list{ display:flex; flex-direction:column; gap:10px; margin-top:4px; }
.v2-anl-hbar-row{
  display:grid;
  grid-template-columns: 1fr 1fr auto;
  align-items:center;
  gap:8px;
}
.v2-anl-hbar-lbl{
  display:flex; align-items:center; gap:6px;
  font-size:0.82rem; color:var(--text); white-space:nowrap;
}
.v2-anl-hbar-dot{
  width:9px; height:9px; border-radius:2px; flex-shrink:0;
}
.v2-anl-hbar-track{
  height:8px; border-radius:4px; background:var(--line,#eee);
  overflow:hidden; min-width:40px;
}
.v2-anl-hbar-fill{
  height:100%; border-radius:4px;
  transition:width .35s ease;
}
.v2-anl-hbar-val{
  font-size:0.82rem; font-weight:700; white-space:nowrap; text-align:right;
  min-width:72px;
}
.v2-anl-hbar-total{
  display:flex; justify-content:space-between; align-items:baseline;
  border-top:1px solid var(--line); margin-top:8px; padding-top:8px;
  font-size:0.83rem; font-weight:600; color:var(--text-muted,#888);
}

/* ── Выплаты и расходы ── */
.v2-anl-exp-list{ display:flex; flex-direction:column; gap:4px; }
.v2-anl-exp-item{
  display:flex; align-items:center; gap:8px; padding:4px 0;
  border-bottom:1px solid var(--line,#eee);
  font-size:0.83rem;
}
.v2-anl-exp-item:last-child{ border-bottom:none; }
.v2-anl-exp-item--total{
  font-weight:700; border-top:1.5px solid var(--line); margin-top:2px; padding-top:6px;
}
.v2-anl-exp-icon{ font-size:1rem; width:1.4rem; text-align:center; flex-shrink:0; }
.v2-anl-exp-lbl{ flex:1; color:var(--text); }
.v2-anl-exp-val{ font-weight:600; white-space:nowrap; }

/* ── Win / Loss bar ── */
.v2-anl-winbar{
  display:flex; height:24px; border-radius:6px; overflow:hidden;
  margin:4px 0 6px;
}
.v2-anl-winbar-fill{
  display:flex; align-items:center; justify-content:center;
  font-size:0.75rem; font-weight:700; color:#fff;
  transition:width .4s ease;
}
.v2-anl-winbar-profit{ background:var(--good); }
.v2-anl-winbar-loss  { background:var(--bad); }
.v2-anl-winbar-lbl{ padding:0 6px; }
.v2-anl-winbar-sub{
  display:flex; justify-content:space-between;
  font-size:0.79rem; margin-bottom:10px;
}

/* ── KPI-сетка показателей сделок ── */
.v2-anl-kpi-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:4px;
}
@media(max-width:550px){ .v2-anl-kpi-grid{ grid-template-columns:repeat(2,1fr); } }
.v2-anl-kpi-cell{
  background:var(--bg-soft); border-radius:8px; padding:8px 10px;
}
.v2-anl-kpi-lbl{ font-size:0.73rem; color:var(--text-muted,#888); margin-bottom:3px; }
.v2-anl-kpi-val{ font-size:0.9rem; font-weight:700; }

/* ── Переключатель периодов аналитики ── */
.v2-anl-period-bar{
  display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px;
}
.v2-anl-period-btn{
  padding:4px 12px; border-radius:20px; border:1.5px solid var(--line);
  background:var(--panel); font-size:0.78rem; font-weight:600; cursor:pointer;
  color:var(--text-muted,#888); transition:all .15s;
}
/* v2-anl-period-btn hover/active — filter-chips.css */
.v2-anl-period-btn.is-disabled{ opacity:.35; cursor:not-allowed; }

/* ── Заглушка «нет данных» ── */
.v2-anl-nodata{
  font-size:0.8rem; color:var(--text-muted,#aaa);
  padding:14px 0; text-align:center; font-style:italic;
}

/* ── Цвета: прибыль / убыток ── */
.v2-anl-pos{ color:var(--good); }
.v2-anl-neg{ color:var(--bad); }

/* Compact KPI variant for FX tiles */
.v2-kpi.v2-kpi--compact{
  padding:8px 10px;
  border-radius:10px;
  background:var(--panel-2);
  border:1px solid var(--line);
  min-width:0;
}
.v2-kpi--compact .v2-kpi-label{
  font-size:10px;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;
}
.v2-kpi--compact .v2-kpi-value--sm{
  font-size:clamp(12px,1.6vw,15px);font-weight:600;
  font-variant-numeric:tabular-nums;line-height:1.3;
}
.v2-kpi-sub{
  font-size:10px;color:var(--muted);margin-top:2px;line-height:1.3;
}
.v2-kpi--good{color:var(--good)!important;font-weight:700;}
.v2-kpi--bad{color:var(--bad)!important;font-weight:700;}

/* Единые «таблетки»: кнопки и контролы без отдельного класса */
.content button:not(.unstyled):not(.visibility-toggle),
.content [type="button"]:not(.unstyled),
.content [type="submit"]:not(.unstyled),
.content label.side-link{
  border-radius:var(--radius-pill);
}
.page-summary--dashboard .v2-compact-filters .widget-filter-tabs{
  border-radius:var(--radius-pill);
}
.page-portfolio .pf-v2-filter-cluster .widget-filter-tab[aria-pressed="true"]{
  border-radius:var(--radius-pill);
}

/* ═══ Capital hub (Капитал) ═══ */
.v2-dash-positions-band{
  display:flex;
  flex-direction:column;
  gap:var(--v2-capital-gap,16px);
  margin:0;
  padding:0;
}
.page-portfolio{
  display:none!important;
}

/* ═══ Режим экрана капитала: вопросы + блоки ═══ */
.v2-capital-hero-scope{
  margin:6px 0 0;
  opacity:0.82;
  font-size:12px;
  line-height:1.45;
}
.v2-capital-scenario-bar{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:4px 0 14px;
  padding:0 0 10px;
  border-bottom:1px solid var(--line);
}
.v2-capital-scenario-bar__row,
.v2-dash-subtabs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 12px;
  width:100%;
}
.v2-capital-scenario-lead{
  margin:0;
  font-size:12px;
  line-height:1.45;
  opacity:0.88;
}
.v2-capital-scenario-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  flex:1 1 auto;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.v2-capital-scenario-tabs .widget-filter-tab,
.v2-dash-subtabs .widget-filter-tab{
  min-width:88px;
  justify-content:center;
}
.v2-scenario-tab{
  flex-direction:column;
  align-items:center;
  gap:2px;
  min-width:108px;
  padding:8px 12px;
  line-height:1.2;
  text-align:center;
}
.v2-scenario-tab__title{
  font-size:13px;
  font-weight:600;
}
.v2-scenario-tab__hint{
  font-size:10px;
  font-weight:500;
  opacity:0.72;
  letter-spacing:0.02em;
}
.v2-capital-scenario-tools{
  flex:0 0 auto;
  display:flex;
  align-items:center;
}
.v2-capital-layout-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 6px 4px 4px;
  border-radius:var(--radius-sm, 8px);
  border:1px solid var(--line);
  background:var(--surface-2, var(--card));
  min-height:34px;
}
.v2-capital-layout-chip .v2-capital-layout-trigger{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  padding:4px 10px 4px 6px;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
  line-height:1.25;
}
.v2-capital-layout-scenario{
  font-weight:600;
  font-size:13px;
}
.v2-capital-layout-sep{
  opacity:0.45;
  font-size:12px;
}
.v2-capital-layout-chip .v2-widget-layout-summary{
  font-size:12px;
  font-variant-numeric:tabular-nums;
  opacity:0.88;
}
.v2-capital-layout-chip .v2-capital-layout-toggle{
  flex:0 0 auto;
}
.v2-capital-layout-label{
  font-weight:600;
  font-size:13px;
}
.v2-widget-layout-presets{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:6px 8px 4px;
  border-bottom:1px solid var(--line);
}
.v2-widget-layout-presets__label{
  font-size:11px;
  opacity:0.7;
  margin-right:2px;
}
.v2-widget-layout-preset{
  font-size:11px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid var(--line);
  background:transparent;
  color:inherit;
  cursor:pointer;
}
.v2-widget-layout-preset.active{
  border-color:var(--accent, #2d6a4f);
  background:color-mix(in srgb, var(--accent, #2d6a4f) 12%, transparent);
}
.v2-widget-layout-footer{
  display:flex;
  flex-direction:column;
  gap:0;
}
.v2-widget-layout-footer .v2-widget-layout-show-all{
  margin:6px 8px 8px;
}

/* ═══ Roadmap / «в разработке» ═══ */
.v2-roadmap-widget{
  border-style:dashed;
  border-color:color-mix(in srgb, var(--line) 70%, var(--accent, #5a8) 30%);
  background:color-mix(in srgb, var(--card) 92%, var(--accent, #2d6a4f) 8%);
}
.v2-roadmap-widget__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.v2-roadmap-badge{
  font-size:10px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--accent, #c9a227) 55%, var(--line));
  color:color-mix(in srgb, var(--text) 75%, var(--accent, #c9a227));
  background:color-mix(in srgb, var(--card) 80%, var(--accent, #c9a227) 20%);
  white-space:nowrap;
}
.v2-roadmap-lead{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.45;
  opacity:0.9;
}
.v2-roadmap-note{
  margin:12px 0 0;
  font-size:11px;
  opacity:0.75;
}
.v2-roadmap-preview-grid{
  display:grid;
  gap:8px;
}
.v2-roadmap-preview-grid--2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.v2-roadmap-preview-grid--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.v2-roadmap-preview-grid--4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
@media (max-width:900px){
  .v2-roadmap-preview-grid--4{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .v2-roadmap-preview-grid--3{ grid-template-columns:1fr; }
}
.v2-roadmap-kpi,
.v2-roadmap-card{
  padding:10px 12px;
  border-radius:8px;
  border:1px dashed var(--line);
  background:color-mix(in srgb, var(--surface-2, var(--card)) 88%, transparent);
}
.v2-roadmap-kpi__label,
.v2-roadmap-card__title{
  display:block;
  font-size:11px;
  opacity:0.72;
  margin-bottom:4px;
}
.v2-roadmap-kpi__value,
.v2-roadmap-card__body{
  font-size:15px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  opacity:0.55;
}
.v2-roadmap-kpi--hero .v2-roadmap-kpi__value{
  font-size:18px;
}
.v2-roadmap-chart-placeholder{
  margin-top:12px;
  min-height:72px;
  border-radius:8px;
  border:1px dashed var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  opacity:0.45;
}
.v2-roadmap-form-preview{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
@media (max-width:640px){
  .v2-roadmap-form-preview{ grid-template-columns:1fr; }
}
.v2-roadmap-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  opacity:0.85;
}
.v2-roadmap-field input{
  padding:8px 10px;
  border-radius:6px;
  border:1px dashed var(--line);
  background:var(--surface-2, var(--card));
  opacity:0.7;
}
html.theme-dark .v2-roadmap-widget{
  background:color-mix(in srgb, var(--card) 88%, #3d5a4a 12%);
}

.v2-dash-panel{
  display:none;
  min-width:0;
}
.v2-dash-panel.is-active{
  display:block;
}
.page-summary--dashboard .v2-dash-panel.is-active{
  display:flex;
  flex-direction:column;
  gap:var(--v2-capital-gap,16px);
}
.v2-dash-panel[hidden]{
  display:none!important;
}

/* ═══ Cash Flow Engine (вкладка «Деньги») ═══ */
.v2-cashflow-meta-host{
  display:none!important;
}
.v2-cf-panel{
  margin-bottom:0;
}
.v2-cf-panel > .v2-dash-widget__summary{
  padding:6px 12px;
  min-height:0;
}
.v2-cf-panel-head{
  padding:12px 14px 0;
}
.v2-cf-panel-lead{
  margin:4px 0 0;
}
.v2-cf-panel-body{
  padding:8px 12px 10px;
  display:flex;
  flex-direction:column;
  gap:var(--v2-capital-gap,16px);
}
.v2-cf-filter-grid{
  max-width:420px;
}
.v2-cf-block-title{
  margin:0 0 8px;
  font-size:0.74rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text-muted,#888);
}
.v2-cf-breakdown-widget{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0;
}
.v2-cf-breakdown-head,
.v2-cf-breakdown-hint{
  display:none!important;
}
.v2-cf-breakdown-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:4px 8px;
}
.v2-cf-breakdown-head .v2-cf-block-title{
  margin:0;
  flex:0 0 auto;
}
.v2-cf-breakdown-tabs{
  flex:1 1 auto;
  justify-content:flex-end;
  min-width:0;
}
.v2-cf-breakdown-hint{
  margin:0;
  font-size:0.78rem;
  line-height:1.35;
}
.v2-cashflow-breakdown-host{
  min-height:2rem;
}
.v2-cf-flow-section{
  margin:0 0 12px;
}
.v2-cf-flow-section:last-child{
  margin-bottom:0;
}
.v2-cf-flow-section-title{
  margin:0 0 6px;
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--text-muted,#888);
}
.v2-cf-metric-card[title]{
  cursor:help;
}
.v2-cashflow-kpi-host{
  margin:0;
}
.v2-cf-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.v2-cf-metric-grid--5{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
@media(max-width:1100px){
  .v2-cf-metric-grid--5{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px){
  .v2-cf-metric-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-cf-metric-grid--5{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:520px){
  .v2-cf-metric-grid{ grid-template-columns:1fr; }
}
.v2-cf-metric-card{
  border:1px solid var(--line);
  border-radius:var(--laconic-radius,10px);
  background:var(--laconic-card-bg,var(--panel,#fff));
  padding:12px 14px;
  min-width:0;
  box-sizing:border-box;
}
.v2-cf-metric-label{
  font-size:var(--pf-kpi-line-size,14px);
  font-weight:var(--pf-kpi-line-weight,500);
  line-height:var(--pf-kpi-line-lh,1.15);
  color:inherit;
  margin:0 0 6px;
}
.v2-cf-metric-value{
  font-size:calc(var(--pf-kpi-line-size,14px) + 4px);
  font-weight:600;
  line-height:1.15;
  font-variant-numeric:tabular-nums;
}
.v2-cf-metric-value--count{
  color:var(--text,inherit);
}
.v2-cf-brokers-block{
  margin:0;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
}
.v2-cf-period-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}
.v2-cf-period-strip__label{
  margin:0;
  flex:0 0 auto;
}
.v2-cf-period-strip .v2-period-group{
  flex:1 1 auto;
  min-width:0;
}
.v2-dash-widget--cashflow-journal > .v2-dash-widget__summary,
.v2-dash-widget--cashflow-topops > .v2-dash-widget__summary{
  display:flex;
  align-items:center;
  gap:8px;
}
.v2-cf-panel .v2-cf-hub-card{
  border:none;
  border-radius:0;
  background:transparent;
  padding:6px 0;
  border-bottom:1px solid var(--line);
}
.v2-cf-panel .v2-cf-hub-card:last-child{
  border-bottom:none;
}
html.theme-dark .v2-cf-panel .v2-cf-hub-card{
  background:transparent;
}
.v2-cf-panel .v2-cashflow-ops-host{
  border:none;
  border-radius:0;
  padding:0;
  background:transparent;
}
.v2-cf-panel .v2-cf-ops-table th{
  background:transparent;
}
.v2-cf-ops-summary-hint{
  margin-left:auto;
  font-size:11px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}
.v2-cf-val--pos{ color:var(--good,#2e7d32); }
.v2-cf-val--neg{ color:var(--bad,#c62828); }
.v2-cf-val--zero{ color:var(--text-muted,#888); }
.portfolio-table-wrap>table td.v2-cf-val--pos,
.portfolio-table-wrap>table td.v2-cf-ops-amt.v2-cf-val--pos,
.portfolio-table-wrap>table td.v2-cf-topops-amt.v2-cf-val--pos{
  color:var(--good,#2e7d32);
  font-weight:700;
}
.portfolio-table-wrap>table td.v2-cf-val--neg,
.portfolio-table-wrap>table td.v2-cf-ops-amt.v2-cf-val--neg,
.portfolio-table-wrap>table td.v2-cf-topops-amt.v2-cf-val--neg{
  color:var(--bad,#c62828);
  font-weight:700;
}
.portfolio-table-wrap>table td.v2-cf-val--zero,
.portfolio-table-wrap>table td.v2-cf-ops-amt.v2-cf-val--zero,
.portfolio-table-wrap>table td.v2-cf-topops-amt.v2-cf-val--zero{
  color:var(--text-muted,#888);
  font-weight:600;
}
.v2-cf-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
}
@media(max-width:760px){
  .v2-cf-split{ grid-template-columns:1fr; }
}
.v2-cf-split-col{
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  background:var(--panel);
  min-width:0;
}
.v2-cf-hub-bars{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.v2-cf-hub-row{
  display:grid;
  grid-template-columns:minmax(72px,0.22fr) minmax(0,1fr) auto;
  align-items:center;
  gap:10px 12px;
  font-size:0.82rem;
}
.v2-cf-hub-lbl{
  font-weight:600;
  color:var(--text,inherit);
  white-space:nowrap;
}
.v2-cf-hub-track{
  height:10px;
  border-radius:5px;
  background:color-mix(in srgb, var(--line,#eee) 88%, transparent);
  overflow:hidden;
  min-width:0;
}
html.theme-dark .v2-cf-hub-track{
  background:color-mix(in srgb, var(--line) 55%, #1a1a1a);
}
.v2-cf-hub-grid{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.v2-cf-hub-card{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-radius:8px;
  background:var(--bg,#fafafa);
  border:1px solid var(--line);
}
html.theme-dark .v2-cf-hub-card{
  background:rgba(255,255,255,.04);
}
.v2-cf-hub-card-lbl{
  font-size:0.82rem;
  font-weight:600;
}
.v2-cf-hub-card-val{
  font-size:0.95rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.v2-cashflow-topops-host .v2-cf-topops-table-wrap{
  margin:0;
}
.v2-cf-topops-table{
  width:100%;
  min-width:100%;
}
.v2-cf-topops-table .v2-cf-topops-date{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.v2-cf-topops-table .v2-cf-topops-type{
  white-space:nowrap;
}
.v2-cf-topops-table .v2-cf-topops-hub{
  white-space:nowrap;
}
.v2-cf-topops-table .v2-cf-topops-inst{
  max-width:280px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text-muted,#888);
}
.v2-cf-topops-table .v2-cf-topops-amt{
  font-weight:700;
  white-space:nowrap;
}
.v2-cf-topops-table tbody tr:nth-child(even){
  background:rgba(0,0,0,.02);
}
html.theme-dark .v2-cf-topops-table tbody tr:nth-child(even){
  background:rgba(255,255,255,.03);
}
.v2-cf-topops-table tbody tr:hover{
  background:rgba(223,127,37,.06);
}
html.theme-dark .v2-cf-topops-table tbody tr:hover{
  background:rgba(223,127,37,.1);
}
.v2-cf-journal-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 8px;
}
.v2-cashflow-ops-host{
  margin:0;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
}
.v2-cf-ops-table-wrap{
  margin:0;
  max-height:min(52vh,420px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.v2-cf-hub-fill{
  display:block;
  height:100%;
  border-radius:4px;
  min-width:2px;
}
.v2-cf-hub-fill--pos{ background:#76b67e; }
.v2-cf-hub-fill--neg{ background:#ef5350; }
.v2-cf-hub-val{ font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.v2-cf-ops-details{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  overflow:hidden;
}
.v2-cf-ops-details[open] .v2-cashflow-ops-host{
  border:none;
  border-radius:0;
  margin-bottom:0;
}
.v2-cf-ops-summary{
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px 14px;
  margin:0;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.v2-cf-ops-summary::-webkit-details-marker{ display:none; }
.v2-cf-ops-summary::before{
  content:"";
  display:inline-block;
  width:0;
  height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-left:6px solid var(--text-muted,#888);
  transition:transform .15s ease;
  flex-shrink:0;
}
.v2-cf-ops-details[open] > .v2-cf-ops-summary::before{
  transform:rotate(90deg);
}
.v2-cf-ops-summary-hint{
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  color:var(--text-muted,#888);
}
.v2-cf-ops-table{
  width:100%;
  min-width:100%;
}
.v2-cf-ops-table-wrap .v2-cf-ops-table thead th{
  position:sticky;
  top:0;
  z-index:1;
}
.v2-cf-ops-table .v2-cf-ops-date{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.v2-cf-ops-table .v2-cf-ops-hub,
.v2-cf-ops-table .v2-cf-ops-type{
  white-space:nowrap;
}
.v2-cf-ops-table .v2-cf-ops-acc{
  min-width:120px;
}
.v2-cf-ops-table tbody tr:nth-child(even){
  background:rgba(0,0,0,.02);
}
html.theme-dark .v2-cf-ops-table tbody tr:nth-child(even){
  background:rgba(255,255,255,.03);
}
.v2-cf-ops-table tbody tr:hover{
  background:rgba(223,127,37,.06);
}
html.theme-dark .v2-cf-ops-table tbody tr:hover{
  background:rgba(223,127,37,.1);
}
.v2-cf-hub-badge{
  display:inline-block;
  padding:1px 6px;
  border-radius:4px;
  font-size:0.72rem;
  font-weight:600;
  background:var(--line,#eee);
}
.v2-cf-internal-tag{
  font-size:0.65rem;
  color:var(--text-muted,#888);
  border:1px solid var(--line);
  border-radius:3px;
  padding:0 3px;
}
.v2-cf-ops-amt{ font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.v2-cf-ops-inst{ max-width:220px; color:var(--text-muted,#666); }
.v2-cf-ops-more{ margin-top:6px; font-size:0.78rem; }
.v2-cf-loading,.v2-cf-empty,.v2-cf-error{ font-size:0.82rem; padding:4px 0; }
.v2-cf-error{ color:var(--bad,#c62828); }
