@charset "UTF-8";

/* apps/web/src/styles/index.scss */
:root {
  --page: #ffffff;
  --card: #ffffff;
  --card2: #ffffff;
  --sunk: #f4f4f2;
  --hover: #f7f7f5;
  --ink: #0b0b0b;
  --ink2: #3a3a3a;
  --muted: #6e6e6b;
  --line: #e3e3df;
  --line2: #cfcfca;
  --rule: #0b0b0b;
  --grid: #ececea;
  --axis: #9a9a95;
  --side: #ffffff;
  --side-ink: #0b0b0b;
  --side-muted: #6e6e6b;
  --side-hi: #f4f4f2;
  --accent: #e30613;
  --accent2: #e30613;
  --accent-ink: #ffffff;
  --accent-soft: rgba(227,6,19,.07);
  --good: #0a7a3c;
  --bad: #d0021b;
  --warn: #a86a00;
  --vio: #3d3d9e;
  --s1: #0b0b0b;
  --s2: #e30613;
  --s3: #1f5fbf;
  --s4: #e6a700;
  --s5: #8a8a85;
  --s6: #2e8b57;
  --s7: #6a4cc2;
  --s8: #c4c4bf;
  --tile: #ffffff;
  --rule-w: 2px;
  --mono: saturate(.55);
  --f-ui:
    "Golos Text",
    "Helvetica Neue",
    Helvetica,
    Arial,
    system-ui,
    sans-serif;
  --f-fig: var(--f-ui);
  --f-brand: var(--f-ui);
  --r: 0px;
  --shadow: 0 1px 0 var(--line2), 0 12px 32px rgba(0,0,0,.10);
  --glow: none;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --page: #141414;
    --card: #141414;
    --card2: #141414;
    --sunk: #1d1d1c;
    --hover: #1a1a19;
    --ink: #ecebe6;
    --ink2: #c4c2bb;
    --muted: #8f8d86;
    --line: #2a2a28;
    --line2: #3b3b38;
    --rule: #8f8d86;
    --grid: #232322;
    --axis: #55534e;
    --side: #121212;
    --side-ink: #ecebe6;
    --side-muted: #8f8d86;
    --side-hi: #1d1d1c;
    --accent: #ef4b3f;
    --accent2: #ef4b3f;
    --accent-ink: #141414;
    --accent-soft: rgba(239,75,63,.12);
    --good: #57c48a;
    --bad: #ff7a6b;
    --warn: #e3ac4a;
    --vio: #b3a6ff;
    --s1: #d9d6cf;
    --s2: #6ea2ff;
    --s3: #e3b341;
    --s4: #a48cff;
    --s5: #3fb5b0;
    --s6: #8f8d86;
    --s7: #c08b5c;
    --s8: #4a4945;
    --tile: #ecebe6;
    --rule-w: 1.5px;
    --mono: saturate(.45) brightness(.9);
    --shadow: 0 1px 0 var(--line2), 0 16px 40px rgba(0,0,0,.55);
    color-scheme: dark;
  }
}
:root[data-theme=dark] {
  --page: #141414;
  --card: #141414;
  --card2: #141414;
  --sunk: #1d1d1c;
  --hover: #1a1a19;
  --ink: #ecebe6;
  --ink2: #c4c2bb;
  --muted: #8f8d86;
  --line: #2a2a28;
  --line2: #3b3b38;
  --rule: #8f8d86;
  --grid: #232322;
  --axis: #55534e;
  --side: #121212;
  --side-ink: #ecebe6;
  --side-muted: #8f8d86;
  --side-hi: #1d1d1c;
  --accent: #ef4b3f;
  --accent2: #ef4b3f;
  --accent-ink: #141414;
  --accent-soft: rgba(239,75,63,.12);
  --good: #57c48a;
  --bad: #ff7a6b;
  --warn: #e3ac4a;
  --vio: #b3a6ff;
  --s1: #d9d6cf;
  --s2: #6ea2ff;
  --s3: #e3b341;
  --s4: #a48cff;
  --s5: #3fb5b0;
  --s6: #8f8d86;
  --s7: #c08b5c;
  --s8: #4a4945;
  --tile: #ecebe6;
  --rule-w: 1.5px;
  --mono: saturate(.45) brightness(.9);
  --shadow: 0 1px 0 var(--line2), 0 16px 40px rgba(0,0,0,.55);
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
html,
body {
  min-height: 100%;
}
body {
  background: var(--page);
  color: var(--ink);
  font: 15px/1.45 var(--f-ui);
  font-feature-settings: "tnum" 1, "lnum" 1;
  -webkit-font-smoothing: antialiased;
}
svg.lucide,
.ico {
  width: 16px;
  height: 16px;
  flex: none;
  stroke-width: 1.75;
}
.ico.sm,
.sm svg.lucide,
svg.lucide.sm {
  width: 13px;
  height: 13px;
}
.app {
  display: grid;
  grid-template-columns: 208px minmax(0, 1fr);
  min-height: 100vh;
}
.side {
  background: var(--side);
  color: var(--side-ink);
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: sticky;
  top: 0;
  height: 100vh;
  border-right: 1px solid var(--line);
}
.brand {
  font: 700 22px/1 var(--f-ui);
  letter-spacing: -0.03em;
  padding: 0 0 40px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.brand .mark {
  width: 14px;
  height: 14px;
  background: var(--accent);
  display: inline-block;
  flex: none;
}
.brand .mark svg {
  display: none;
}
.side nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.side nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  color: var(--side-muted);
  text-decoration: none;
  font-weight: 500;
  font-size: 17px;
  letter-spacing: -0.01em;
}
.side nav a svg {
  display: none;
}
.side nav a::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: none;
  background: transparent;
}
.side nav a:hover {
  color: var(--side-ink);
}
.side nav a[aria-current=page] {
  color: var(--side-ink);
  font-weight: 600;
}
.side nav a[aria-current=page]::before {
  background: var(--accent);
}
.side .foot {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.side .foot .row {
  gap: 8px;
}
.side .foot button {
  background: transparent;
  color: var(--side-ink);
  border: 1px solid var(--line2);
  width: 34px;
  height: 34px;
  padding: 0;
  display: grid;
  place-items: center;
}
.side .foot span {
  font-size: 11.5px;
  color: var(--side-muted);
  line-height: 1.4;
}
.main {
  min-width: 0;
  padding-block: 32px 80px;
  padding-left: max(48px, env(safe-area-inset-left, 0px));
  padding-right: max(48px, env(safe-area-inset-right, 0px));
}
.main > * {
  max-width: 1280px;
}
body.wide .main > * {
  max-width: none;
}
.topbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--line);
}
.stabs {
  display: flex;
  gap: 28px;
  overflow-x: auto;
  max-width: 100%;
}
.stabs a {
  display: flex;
  align-items: center;
  padding: 0 0 14px;
  color: var(--muted);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.stabs a svg {
  display: none;
}
.stabs a:hover {
  color: var(--ink);
}
.stabs a[aria-current=page] {
  color: var(--ink);
  border-bottom-color: var(--accent);
}
#ibarHost {
  padding-bottom: 10px;
}
.topbar:has(> #stabs[hidden]):has(> #ibarHost:empty) {
  display: none;
}
.mh {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.mh h1 {
  font: 700 48px/1 var(--f-ui);
  letter-spacing: -0.035em;
  margin: 0;
  text-wrap: balance;
}
.mh .sub {
  margin-top: 12px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
#view {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (prefers-reduced-motion: no-preference) {
  #view.enter {
    animation: fade 0.2s ease both;
  }
  @keyframes fade {
    from {
      opacity: 0.3;
    }
    to {
      opacity: 1;
    }
  }
}
.sub {
  color: var(--muted);
  font-size: 13px;
}
.up {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  font-size: 12px;
}
h2 {
  font: 600 12px/1.3 var(--f-ui);
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
h3 {
  font-size: 12px;
  font-weight: 600;
  margin: 8px 0 0;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.between {
  justify-content: space-between;
}
.stack {
  display: flex;
  flex-direction: column;
  gap: 48px;
  min-width: 0;
}
.card {
  background: transparent;
  border: 0;
  border-top: var(--rule-w) solid var(--rule);
  border-radius: 0;
  padding: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.card.flush {
  padding: 0;
  gap: 0;
}
.card.flush > .ch {
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.ch.tools {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
}
.ch.pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  border-bottom: 0 !important;
}
.g2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
  gap: 48px 40px;
}
.g2.tight {
  gap: 16px;
  grid-template-columns: 1fr 1fr;
}
.g3 {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 48px 40px;
}
@media (max-width: 1100px) {
  .g3 {
    grid-template-columns: 1fr !important;
  }
}
.fig {
  font-family: var(--f-ui);
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0;
  border-top: var(--rule-w) solid var(--rule);
}
.kpis.flat {
  border-top: 0;
}
.kpi {
  position: relative;
  padding: 16px 24px 20px 0;
  margin-right: 24px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}
.kpi:last-child {
  border-right: 0;
  margin-right: 0;
}
.kpi .k {
  font-size: 12px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.kpi .k .cic {
  display: none;
}
.kpi .v {
  font: 600 32px/1.05 var(--f-ui);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.kpis.big .kpi:first-child .v {
  font-size: 44px;
}
.kpis.big .kpi .v {
  font-size: 32px;
}
.kpis.flat .kpi .v {
  font-size: 22px;
}
.kpi .d {
  font-size: 13px;
  color: var(--muted);
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.kpi .spark {
  display: block;
  position: static;
  width: 100%;
  height: 28px;
  margin-top: 4px;
}
.hero {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hero .v {
  font: 700 64px/1 var(--f-ui);
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
}
.pos {
  color: var(--good);
}
.neg {
  color: var(--bad);
}
.mut {
  color: var(--muted);
}
.vio {
  color: var(--vio);
}
small {
  font-size: 12px;
}
.delta {
  font-size: 13px;
  font-weight: 600;
}
.chart {
  width: 100%;
  position: relative;
}
.legend {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--ink2);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.sw {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  vertical-align: 0;
  flex: none;
}
.list {
  display: flex;
  flex-direction: column;
}
.li.cause {
  grid-template-columns: minmax(0, 1fr) 28% 96px;
}
.li.cause.tot {
  border-top: 1px solid var(--ink);
  border-bottom: 0;
}
.cbar {
  position: relative;
  height: 10px;
}
.cbar::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -3px;
  bottom: -3px;
  width: 1px;
  background: var(--axis);
}
.cbar > span {
  position: absolute;
  top: 0;
  height: 100%;
}
.cbar .up {
  left: 50%;
  background: var(--good);
}
.cbar .dn {
  right: 50%;
  background: var(--bad);
}
.li.click {
  cursor: pointer;
}
.li.click:hover .t > span:last-child {
  text-decoration: underline;
}
.g2.tight {
  gap: 24px;
  align-items: start;
}
.sub-list {
  padding-left: 22px;
}
.li.grp .n {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sw.dash {
  background: none !important;
  border-top: 1px dashed var(--axis);
  height: 0;
  width: 14px;
  align-self: center;
}
.rates {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.fxr {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 20px 10px 0;
  margin-right: 20px;
  border-right: 1px solid var(--line);
  min-width: 84px;
  cursor: default;
}
.fxr:last-child {
  border-right: 0;
  margin-right: 0;
}
.fxr .c {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.fxr .v {
  font: 600 18px/1.15 var(--f-ui);
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}
.fxr .g {
  font-size: 12px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.fxr .g.up {
  color: var(--ink);
}
.li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.li.lb {
  grid-template-columns: minmax(0, 1fr) 56px 26%;
}
.li.lb .t {
  white-space: normal;
  line-height: 1.3;
}
.li:last-child {
  border-bottom: 0;
}
.li .t {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 10px;
}
.li .n {
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.meter {
  height: 4px;
  background: var(--sunk);
  overflow: hidden;
  margin-top: 8px;
  position: relative;
}
.meter > span {
  display: block;
  height: 100%;
  background: var(--ink);
}
.meter.over > span {
  background: var(--bad);
}
.meter.tgt {
  overflow: visible;
}
.meter.tgt i {
  position: absolute;
  top: -4px;
  width: 2px;
  height: 12px;
  background: var(--accent);
}
.stack100 {
  display: flex;
  height: 12px;
  gap: 2px;
}
.stack100 > span {
  height: 100%;
  min-width: 2px;
}
.pbar {
  display: flex;
  width: 100%;
  height: 16px;
  gap: 2px;
  flex: 1 1 100%;
}
.pbar > span {
  height: 100%;
  min-width: 2px;
}
.cic {
  --c: var(--ink);
  display: inline-block;
  width: 10px !important;
  height: 10px !important;
  flex: none;
  background: var(--c);
}
.cic svg {
  display: none;
}
.tblwrap {
  overflow-x: auto;
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}
th,
td {
  padding: 12px 16px 12px 0;
  text-align: left;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
  vertical-align: middle;
}
th:last-child,
td:last-child {
  padding-right: 0;
}
th {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--rule);
  padding-top: 14px;
}
th[data-sort] {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
th[data-sort]:hover {
  color: var(--ink);
}
tbody tr:last-child td {
  border-bottom: 0;
}
td.n,
th.n {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
td.wrap {
  white-space: normal;
  max-width: 240px;
}
td.act {
  text-align: right;
}
td.act .ib {
  margin-left: 4px;
}
th.cb,
td.cb {
  width: 28px;
}
tr.click {
  cursor: pointer;
}
tr.click:hover td {
  background: var(--hover);
}
tr.sold td {
  color: var(--muted);
}
tr.tot td {
  font-weight: 600;
  border-top: 1px solid var(--rule);
  border-bottom: 0;
}
table.rep tr.on td {
  background: var(--accent-soft);
}
table.rep td:first-child {
  position: sticky;
  left: 0;
  background: var(--page);
  z-index: 1;
  padding-right: 24px;
}
table.rep tr.on td:first-child {
  background: var(--accent-soft);
}
.lg {
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  flex: none;
  background: var(--sunk);
}
.lg:has(img) {
  background: var(--tile);
  outline: 1px solid var(--line);
  outline-offset: -1px;
}
.lg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 3px;
}
.lg.mono {
  color: #fff;
  font: 700 9.5px var(--f-ui);
  letter-spacing: -0.01em;
  width: 32px;
  height: 32px;
  filter: var(--mono);
}
.cellname {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.cellname b {
  display: block;
  font-weight: 600;
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cellname small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.02em;
}
.day {
  display: flex;
  justify-content: space-between;
  padding: 20px 0 8px;
  font-size: 11px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--rule);
}
.op {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
}
.op:hover {
  background: var(--hover);
}
.op:last-child {
  border-bottom: 0;
}
.op .meta {
  font-size: 13px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.op .amt {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}
.op .amt small {
  display: block;
  font-weight: 400;
  color: var(--muted);
  font-size: 12px;
}
.op.sel {
  grid-template-columns: 16px 18px minmax(0, 1fr) auto;
}
.op.sel > input[type=checkbox] {
  margin: 0;
  width: 16px;
  height: 16px;
  accent-color: var(--ink);
}
.op.sel.on {
  background: var(--hover);
}
.bulk {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 14px;
  border: 1px solid var(--ink);
}
.bulk select {
  width: auto;
}
.swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.swatch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 5px;
  border: 1px solid var(--line2);
  background: none;
  cursor: pointer;
  font-size: 12px;
  color: var(--ink);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
}
.swatch.txt {
  padding: 0 10px 0 5px;
}
.swatch > span {
  width: 20px;
  height: 20px;
  display: block;
}
.swatch.on {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}
.swatch.custom input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
.h2top {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: 32px;
  align-items: end;
}
.h2m {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-left: 1px solid var(--line);
  padding-left: 20px;
}
.h2m .k {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.h2m .v {
  font: 700 30px/1.05 var(--f-ui);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.h2m .d {
  font-size: 13px;
  color: var(--muted);
}
.row > .h2m:first-child,
.h2top > .h2m:first-child {
  border-left: 0;
  padding-left: 0;
}
.h2m.big .v {
  font-size: 52px;
}
.h2ev {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.evcard.h2evc {
  flex-direction: row;
  gap: 12px;
  padding: 12px 14px;
  background: var(--sunk);
  min-height: 84px;
}
.evcard.h2evc:hover {
  background: var(--hover);
  outline: 1px solid var(--line);
}
.h2evb {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.h2evb .evn small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evcard.h2evall {
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  border-left: 1px dashed var(--line);
  outline: 1px dashed var(--line);
  background: none;
  font-weight: 600;
}
@media (max-width: 1100px) {
  .h2ev {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .h2ev {
    grid-template-columns: 1fr;
  }
}
.h2goal {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.h2goal .meter {
  margin: 0;
}
.h2foot {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.h2foot .h2goal {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0;
  padding: 0;
}
.h2foot .h2goal .meter {
  width: 180px;
  margin: 0;
  display: inline-block;
}
.h2s {
  border-top: var(--rule-w) solid var(--rule);
  padding-top: 18px;
  margin-top: 44px;
}
.h2sh {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.h2n {
  font: 600 12px/1 var(--f-ui);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.h2sh h2 {
  font: 700 24px/1.1 var(--f-ui);
  letter-spacing: -0.02em;
  text-transform: none;
}
.h2c {
  margin-left: auto;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.h2comp tr.sub td {
  background: none;
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 14px;
  transition: background 0.12s;
}
.h2comp tr.sub td:first-child {
  padding-left: 22px;
  border-left: 2px solid var(--line);
}
.h2comp tr.sub:hover td {
  background: var(--sunk);
}
.h2comp tr.sub:hover td:first-child {
  border-left-color: var(--ink);
}
.h2comp tr.sub:hover .h2sn b {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.h2s .li.h2q {
  grid-template-columns: minmax(0, 1fr) 120px 170px;
}
.li.h2q .spark {
  width: 120px;
  height: 28px;
  display: block;
}
.h2gv {
  display: flex;
  gap: 24px;
  align-items: stretch;
  min-height: 225px;
}
.h2gbar {
  width: 28px;
  flex: none;
  background: var(--sunk);
  display: flex;
  align-items: flex-end;
}
.h2gbar > span {
  display: block;
  width: 100%;
  background: var(--accent);
}
.h2gv .h2big {
  justify-content: flex-end;
}
.h2gv .h2big .v {
  font-size: 52px;
}
.h2gv .h2big {
  flex: none;
}
.h2gv .chart {
  flex: 1;
  min-width: 0;
  height: 225px;
  align-self: flex-end;
}
.h2sn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.h2sn small {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}
.h2comp td {
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 14px;
}
.h2comp tr.click:hover td {
  background: var(--sunk);
}
.h2comp .h2share {
  width: 160px;
  height: 8px;
  margin-right: 10px;
}
.h2s .list .li {
  padding: 12px 0;
  font-size: 14px;
}
.h2s .list .li .t {
  gap: 10px;
}
.h2s .list .li.click:hover {
  background: var(--sunk);
  box-shadow: -8px 0 0 var(--sunk), 8px 0 0 var(--sunk);
}
.h2s .list .li.click:hover .t > span:last-child {
  text-decoration: none;
}
.h2s .h2blk > .sub {
  margin-top: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.h2row {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr) 280px;
  gap: 40px;
  align-items: start;
}
.h2big {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.h2big .k {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.h2big .v {
  font: 700 40px/1 var(--f-ui);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.h2big .d {
  font-size: 13px;
  color: var(--muted);
}
@media (max-width: 1100px) {
  .h2row {
    grid-template-columns: 1fr;
  }
}
.h2ctl {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.h2pair .h2big {
  min-height: 92px;
}
.h2pair .chart {
  height: 200px;
}
.h2goalbar {
  height: 14px;
  background: var(--sunk);
  margin-top: 16px;
}
.h2goalbar > span {
  display: block;
  height: 100%;
  background: var(--good);
}
.evweek {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: var(--rule-w) solid var(--rule);
}
.evday {
  min-height: 220px;
  padding: 10px 10px 14px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.evday:last-child {
  border-right: 0;
}
.evday.now {
  background: var(--hover);
}
.evdh {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.evdh b {
  font-size: 15px;
}
.evdh small {
  color: var(--muted);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.06em;
}
.evcard {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 8px 8px 8px 10px;
  border-left: 3px solid var(--c);
  background: var(--card);
  cursor: pointer;
  font-size: 13px;
}
.evcard:hover {
  background: var(--hover);
}
.evcard .evt {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink2);
}
.evcard .evn {
  display: flex;
  align-items: center;
  gap: 6px;
}
.evcard small {
  font-size: 12px;
  line-height: 1.35;
}
@media (max-width: 1000px) {
  .evweek {
    grid-template-columns: 1fr;
  }
  .evday {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}
.h2blk {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.h2bh {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 8px;
  min-height: 42px;
  box-sizing: border-box;
}
.h2bh h3 {
  margin: 0;
  font: 600 15px/1.2 var(--f-ui);
}
.g2.h2pair {
  gap: 48px;
}
.h2three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}
@media (max-width: 1100px) {
  .h2three {
    grid-template-columns: 1fr;
  }
}
tr.sub td {
  background: var(--sunk);
  font-size: 13px;
}
tr.sub td:first-child {
  padding-left: 28px;
}
.h2share {
  display: inline-block;
  width: 90px;
  height: 6px;
  background: var(--sunk);
  vertical-align: middle;
  margin-right: 6px;
}
.h2share > span {
  display: block;
  height: 100%;
}
@media (max-width: 900px) {
  .h2top {
    grid-template-columns: 1fr 1fr;
  }
  .h2goal {
    grid-template-columns: 1fr;
  }
}
td.spk .spark {
  display: block;
  width: 120px;
  height: 26px;
}
.op.acc {
  grid-template-columns: 18px minmax(0, 1fr) 140px 160px;
}
.op.acc .spark {
  display: block;
  width: 140px;
  height: 30px;
}
tr.grp td {
  padding-top: 18px;
  font: 600 11px/1.3 var(--f-ui);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--ink);
}
tr.grp td > span + span {
  float: right;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}
.op.cal {
  grid-template-columns: 48px minmax(180px, 1.4fr) 150px 120px 120px 90px 100px;
}
@media (max-width: 900px) {
  .op.cal {
    grid-template-columns: 44px 1fr auto;
  }
  .op.cal > :nth-child(n+4) {
    display: none;
  }
}
.evd {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  min-width: 40px;
}
.evd b {
  font: 700 22px var(--f-ui);
  letter-spacing: -0.03em;
}
.evd small {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 4px;
}
.li.ev .t {
  white-space: normal;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  padding: 2px 6px;
  border: 1px solid var(--line2);
  color: var(--ink2);
  white-space: nowrap;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.chip.acc {
  border-color: var(--ink);
  color: var(--ink);
}
.chip.bad {
  border-color: var(--bad);
  color: var(--bad);
}
.chip.ok {
  border-color: var(--good);
  color: var(--good);
}
.chip.warn {
  border-color: var(--accent);
  color: var(--accent);
}
.rt {
  display: inline-block;
  min-width: 28px;
  text-align: center;
  padding: 1px 4px;
  color: #fff;
  font: 700 12px var(--f-ui);
}
.q {
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border: 1px solid var(--axis);
  color: var(--muted);
  font-size: 10px;
  cursor: help;
  flex: none;
  border-radius: 50%;
  text-transform: none;
  letter-spacing: 0;
}
input,
select,
textarea {
  font: inherit;
  color: var(--ink);
  background: var(--page);
  border: 1px solid var(--line2);
  border-radius: 0;
  padding: 10px 12px;
  min-width: 0;
  width: 100%;
}
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid var(--ink);
  outline-offset: -1px;
  border-color: var(--ink);
}
select.inl {
  width: auto;
  padding: 4px 8px;
  font: 700 18px var(--f-ui);
  color: var(--ink);
  border: 0;
  border-bottom: 2px solid var(--accent);
  background: transparent;
}
input.inline {
  width: 90px;
  padding: 6px 8px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
input[type=checkbox] {
  width: auto;
  accent-color: var(--ink);
}
label.f,
div.fc {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11px;
  color: var(--muted);
  min-width: 0;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 600;
}
label.f input,
label.f select,
label.f textarea {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 15px;
}
label.f > .q {
  position: absolute;
  right: 0;
  top: 0;
}
label.chk {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink2);
  cursor: pointer;
}
.fgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.fgrid .full {
  grid-column: 1/-1;
}
.box {
  border-top: 1px solid var(--rule);
  padding: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.newasset {
  border-left: 2px solid var(--accent);
  padding: 4px 0 4px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dvrow {
  display: grid;
  grid-template-columns: 1fr 1fr 90px 120px 30px;
  gap: 6px;
  align-items: center;
}
details summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--ink);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
button {
  font: inherit;
  font-weight: 500;
  border-radius: 0;
  padding: 9px 16px;
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
button:hover {
  background: var(--ink);
  color: var(--page);
}
button:disabled {
  opacity: 0.35;
  cursor: default;
}
button.pri {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--page);
}
button.pri:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
button.sm,
.sm-btn {
  padding: 5px 10px;
  font-size: 13px;
}
.sm-btn {
  display: inline-block;
  border: 1px solid var(--ink);
  cursor: pointer;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}
button.danger,
.danger {
  color: var(--bad);
}
button.ghost {
  border-color: transparent;
  color: var(--muted);
}
button.ghost:hover {
  color: var(--ink);
  background: var(--sunk);
}
button.link {
  border: 0;
  background: none;
  padding: 0;
  color: var(--ink);
  font-size: inherit;
  font-weight: 500;
  display: inline;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--accent);
}
button.link:hover {
  background: none;
  color: var(--accent);
}
.link {
  color: var(--ink);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--accent);
}
a {
  color: var(--ink);
  text-underline-offset: 3px;
  text-decoration-color: var(--accent);
}
.ib {
  width: 36px;
  height: 36px;
  padding: 0;
  justify-content: center;
  border-color: var(--line2);
  color: var(--ink);
}
.ib:hover {
  border-color: var(--ink);
}
.ib.sm {
  width: 28px;
  height: 28px;
  border-color: transparent;
}
.ib.sm:hover {
  border-color: var(--ink);
  background: transparent;
  color: var(--ink);
}
.ib.on {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}
a:focus-visible,
button:focus-visible,
.op:focus-visible,
tr.click:focus-visible,
.pfc:focus-visible,
.q:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.seg {
  display: inline-flex;
  border: 1px solid var(--line2);
  gap: 0;
  flex-wrap: wrap;
}
.seg button {
  border: 0;
  padding: 6px 12px;
  font-size: 13px;
  color: var(--muted);
}
.seg button + button {
  border-left: 1px solid var(--line2);
}
.seg button:hover {
  background: var(--sunk);
  color: var(--ink);
}
.seg button[aria-pressed=true] {
  background: var(--ink);
  color: var(--page);
}
.tabs {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
}
.tabs.nob {
  border-bottom: 0;
}
.tabs button {
  border: 0;
  background: none;
  padding: 0 0 10px;
  color: var(--muted);
  border-bottom: 2px solid transparent;
  font-weight: 500;
}
.tabs button:hover {
  background: none;
  color: var(--ink);
}
.tabs button[aria-pressed=true] {
  color: var(--ink);
  border-bottom-color: var(--accent);
}
.filters {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.filters select,
.filters input {
  width: auto;
  min-width: 150px;
  padding: 8px 10px;
}
.monthsw {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--line2);
}
.monthsw button {
  border: 0;
  padding: 7px 10px;
}
.monthsw strong {
  min-width: 140px;
  text-align: center;
  font-weight: 600;
}
.empty {
  color: var(--muted);
  padding: 32px 0;
  font-size: 14px;
}
.note {
  font-size: 14px;
  color: var(--ink);
  border-left: 3px solid var(--accent);
  padding: 4px 0 4px 16px;
  margin-bottom: 24px;
}
.note[data-kind=warn] {
  border-left-color: var(--bad);
  color: var(--bad);
}
.totbox {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  padding: 0;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.totbox .mut {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 600;
}
.bulk {
  width: 100%;
  padding: 10px 0;
  border-top: 1px solid var(--accent);
}
.ibar {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.dd {
  position: relative;
}
.ddb {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-color: var(--line2);
}
.ddm {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  min-width: 260px;
  max-width: 360px;
  max-height: 440px;
  overflow-y: auto;
  background: var(--page);
  border: 1px solid var(--ink);
  box-shadow: var(--shadow);
  padding: 4px 0;
}
.ddm.right {
  left: auto;
  right: 0;
}
.ddm.cols {
  width: 460px;
  max-width: 90vw;
}
.ddi {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  cursor: pointer;
}
.ddi:hover {
  background: var(--sunk);
}
.ddi.on {
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--accent);
}
.ddi span:nth-child(2) {
  flex: 1;
}
.ddh {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  padding: 12px 14px 4px;
  font-weight: 600;
}
.ddq {
  margin: 6px 14px;
  width: calc(100% - 28px);
}
.srch {
  position: relative;
}
.srch input {
  width: 220px;
  padding-left: 34px;
}
.srch > svg {
  position: absolute;
  left: 11px;
  top: 11px;
  color: var(--muted);
  pointer-events: none;
}
.pfi {
  display: inline-block;
  width: 10px;
  height: 10px;
  flex: none;
}
.pfi.comp {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  color: var(--ink);
}
.cgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
  padding: 0 14px 8px;
}
.tg {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 13px;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  color: var(--ink);
}
.tg input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.tg span {
  width: 14px;
  height: 14px;
  border: 1px solid var(--ink);
  position: relative;
  flex: none;
}
.tg input:checked + span {
  background: var(--ink);
}
.tg input:checked + span::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 4px;
  height: 8px;
  border: solid var(--page);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.tg input:focus-visible + span {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.ahead {
  gap: 24px;
}
.hb2 {
  border-top: 1px solid var(--line);
  padding: 12px 0 4px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kv {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px 16px;
  font-size: 14px;
}
.kv > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.kv .mut {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 600;
}
.ring {
  --p: 0;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: end start;
  flex: none;
  position: relative;
  border-left: 2px solid var(--rule);
}
.ring::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 24px;
  height: calc(var(--p) * 1%);
  background: var(--accent);
}
.ring span {
  position: relative;
  margin-left: 32px;
  font: 700 28px var(--f-ui);
  letter-spacing: -0.03em;
  width: auto;
  height: auto;
  background: none;
}
.scale {
  position: relative;
  height: 46px;
  margin: 8px 0 0;
}
.scale .track {
  position: absolute;
  top: 21px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--line2);
}
.scale .mk {
  position: absolute;
  top: 14px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.scale .mk::before {
  content: "";
  width: 1px;
  height: 16px;
  background: var(--axis);
}
.scale .mk span {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
}
.scale .mk.me {
  top: 8px;
}
.scale .mk.me::before {
  width: 12px;
  height: 12px;
  background: var(--accent);
}
.scale .mk.me span {
  color: var(--ink);
  font-weight: 600;
}
.pfgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 40px;
}
.pfc {
  cursor: pointer;
}
.pfc:hover {
  border-top-color: var(--accent);
}
.grip {
  cursor: grab;
  color: var(--muted);
  width: 24px;
}
.mgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.mchip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid var(--line2);
  cursor: pointer;
  color: var(--ink);
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
}
.mchip.on {
  border-color: var(--ink);
  box-shadow: inset 3px 0 0 var(--accent);
}
.mchip input {
  position: absolute;
  opacity: 0;
  width: 1px;
}
.calg {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 2px solid var(--rule);
}
.cdh {
  padding: 10px 8px 8px 0;
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  border-bottom: 1px solid var(--line);
}
.cd {
  min-height: 104px;
  padding: 8px 8px 8px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.cd.off {
  color: var(--muted);
  opacity: 0.4;
}
.cd.now b {
  color: var(--accent);
}
.cev {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 3px 6px;
  border-left: 2px solid var(--ink);
  font-size: 12px;
  cursor: pointer;
  overflow: hidden;
}
.cev:hover {
  background: var(--sunk);
}
.cev span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cev .lg {
  width: 16px !important;
  height: 16px !important;
  font-size: 6px !important;
}
.scrim {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 40;
}
.drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(560px, 100%);
  background: var(--page);
  z-index: 50;
  border-left: 2px solid var(--rule);
  display: flex;
  flex-direction: column;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}
.drawer .dh {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 32px;
  border-bottom: 1px solid var(--line);
  gap: 12px;
}
.drawer .dh h2 {
  font: 700 24px var(--f-ui);
  letter-spacing: -0.025em;
  text-transform: none;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.drawer form {
  padding: 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  overflow-y: auto;
  flex: 1;
}
.drawer .df {
  display: flex;
  gap: 10px;
  padding: 16px 32px;
  border-top: 1px solid var(--rule);
  flex-wrap: wrap;
}
.drawer .df .sp {
  flex: 1;
}
.typeseg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--ink);
}
.typeseg.n2 {
  grid-template-columns: repeat(2, 1fr);
}
.typeseg.n4 {
  grid-template-columns: repeat(4, 1fr);
}
.typeseg button {
  border: 0;
  padding: 10px;
  justify-content: center;
  color: var(--ink);
}
.typeseg button + button {
  border-left: 1px solid var(--ink);
}
.typeseg button[aria-pressed=true] {
  background: var(--ink);
  color: var(--page);
}
.bigamt {
  font: 600 34px var(--f-ui);
  letter-spacing: -0.03em;
  text-align: right;
  padding: 12px 14px;
}
#tip {
  position: fixed;
  pointer-events: none;
  z-index: 60;
  background: var(--ink);
  color: var(--page);
  font-size: 12px;
  padding: 8px 10px;
  max-width: 300px;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
}
#toast {
  position: fixed;
  left: max(48px, env(safe-area-inset-left, 0px));
  bottom: max(32px, env(safe-area-inset-bottom, 0px));
  z-index: 70;
  background: var(--ink);
  color: var(--page);
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 500;
  border-left: 4px solid var(--accent);
}
svg text {
  fill: var(--muted);
  font: 11px var(--f-ui);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 860px) {
  .app {
    grid-template-columns: 1fr;
  }
  .side {
    position: sticky;
    top: 0;
    z-index: 20;
    height: auto;
    padding: 12px 0;
    gap: 16px;
    flex-direction: row;
    align-items: center;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
  .brand {
    padding: 0;
    font-size: 18px;
  }
  .side nav {
    flex-direction: row;
    gap: 16px;
    overflow-x: auto;
  }
  .side nav a {
    font-size: 15px;
    padding: 4px 0;
  }
  .side .foot {
    display: none;
  }
  .main {
    padding-block: 20px 56px;
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
  .mh h1 {
    font-size: 34px;
  }
  .hero .v {
    font-size: 44px;
  }
  .kpis.big .kpi:first-child .v {
    font-size: 34px;
  }
  .kpi {
    border-right: 0;
    margin-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .fgrid,
  .g2.tight {
    grid-template-columns: 1fr;
  }
  .ibar {
    justify-content: flex-start;
  }
  .srch input {
    width: 160px;
  }
  .cd {
    min-height: 64px;
  }
  .cev span {
    display: none;
  }
  .drawer .dh,
  .drawer form,
  .drawer .df {
    padding-left: 20px;
    padding-right: 20px;
  }
}
body[data-ds] #view {
  gap: 48px;
}
body[data-ds] #view > .card.flush:has(> .ch:only-child) + * {
  margin-top: -32px;
  border-top: 1px solid var(--line);
}
body[data-ds] .h2s {
  margin-top: 0;
  padding-top: 16px;
}
body[data-ds] .h2sh {
  margin-bottom: 24px;
}
body[data-ds] #view > .card {
  padding-top: 16px;
  gap: 24px;
}
body[data-ds] #view > .card > .row.between > h2,
body[data-ds] #view > .card > h2,
body[data-ds] #view > .card.flush > .ch h2 {
  font: 700 24px/1.1 var(--f-ui);
  letter-spacing: -0.02em;
  text-transform: none;
}
body[data-ds] #view > .g2,
body[data-ds] #view > .g3 {
  border-top: var(--rule-w) solid var(--rule);
  padding-top: 24px;
  gap: 48px;
}
body[data-ds] .g2 > .card,
body[data-ds] .g3 > .card {
  border-top: 0;
  padding-top: 0;
  gap: 16px;
}
body[data-ds] .g2 > .card > .row.between,
body[data-ds] .g3 > .card > .row.between,
body[data-ds] .g2 > .card > .ch,
body[data-ds] .g3 > .card > .ch {
  border-bottom: 1px solid var(--ink);
  padding: 0 0 8px;
  min-height: 42px;
  align-items: center;
  box-sizing: border-box;
}
body[data-ds] .g2 > .card h2,
body[data-ds] .g3 > .card h2,
body[data-ds] .h2bh h3 {
  font: 600 11px/1.3 var(--f-ui);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body[data-ds] .kpi .v,
body[data-ds] .h2m .v,
body[data-ds] .h2big .v {
  font-size: 32px;
}
body[data-ds] .kpis.big .kpi:first-child .v,
body[data-ds] .h2m.big .v,
body[data-ds] .h2gv .h2big .v {
  font-size: 48px;
}
body[data-ds] .kpi .k,
body[data-ds] .h2m .k,
body[data-ds] .h2big .k,
body[data-ds] th {
  font-size: 11px;
}
body[data-ds] .li,
body[data-ds] .h2s .list .li {
  padding: 14px 0;
  font-size: 14px;
}
body[data-ds] td,
body[data-ds] .h2comp td,
body[data-ds] .h2comp tr.sub td {
  padding-top: 14px;
  padding-bottom: 14px;
  font-size: 14px;
}
body[data-ds] .li small,
body[data-ds] td small,
body[data-ds] .cellname small,
body[data-ds] .op .meta {
  font-size: 13px;
}
body[data-ds] .kpi .d,
body[data-ds] .h2m .d,
body[data-ds] .h2big .d,
body[data-ds] .sub {
  font-size: 13px;
}
body[data-ds] .h2bh h3 {
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--ink);
}
body[data-ds] .h2blk .h2big .k,
body[data-ds] .h2s .h2blk > .sub {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
}
body[data-ds] .h2blk > .sub {
  margin-top: 16px;
}
body[data-ds] .h2s .seg {
  border: 0;
  gap: 4px;
}
body[data-ds] .h2s .seg button {
  border: 0;
  padding: 4px 8px;
  background: none;
  box-shadow: inset 0 -2px 0 transparent;
}
body[data-ds] .h2s .seg button:hover {
  background: none;
  color: var(--ink);
}
body[data-ds] .h2s .seg button[aria-pressed=true] {
  background: none;
  color: var(--ink);
  font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--ink);
}
body[data-ds] .evcard.h2evc {
  font-size: 14px;
}
body[data-ds] .evcard.h2evc small {
  font-size: 13px;
}
body[data-ds] .h2mv > .n.mut {
  font-size: 13px;
}
body[data-ds] .evcard.h2evc {
  background: none;
  box-shadow: inset 0 -1px 0 var(--line);
}
body[data-ds] .evcard.h2evc:hover {
  background: var(--sunk);
  outline: 0;
}
.op.catsub {
  padding-left: 28px;
}
.op.catsub .cbar {
  opacity: 0.5;
}
body[data-ds] .h2comp tr.sub.deep td:first-child {
  padding-left: 46px;
}
body[data-ds] .h2comp tr.sg td:first-child b {
  font-weight: 600;
}
.crumbs {
  font-size: 15px;
  display: flex;
  gap: 6px;
  align-items: baseline;
  flex-wrap: wrap;
}
.crumbs .link {
  font-size: 15px;
}
.catgrid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  gap: 48px;
  align-items: start;
}
@media (max-width: 1000px) {
  .catgrid {
    grid-template-columns: 1fr;
  }
}
.cer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  min-height: 48px;
  box-sizing: border-box;
}
.cer .grow {
  flex: 1;
}
.cer small {
  font-size: 13px;
}
.cer.cc > b {
  font-size: 15px;
}
.cer.cc.sub > b {
  font-size: 14px;
}
.cer select {
  width: auto;
  max-width: 220px;
  padding: 4px 8px;
  font-size: 13px;
}
.cer .cet {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--muted);
}
.cer .cet input {
  width: 52px;
  text-align: right;
}
.cek {
  padding-left: 28px;
  border-left: 2px solid var(--line);
  margin-left: 12px;
}
.cef {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 0;
}
.cef .addsel {
  width: auto;
  padding: 4px 8px;
  font-size: 13px;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chipsel {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--line2);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}
.chipsel.on {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}
.chipsel input {
  margin: 0;
}
.card > .pbar {
  flex: none;
}
.catbulk {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 8px 12px;
  border: 1px dashed var(--line2);
  font-size: 13px;
  box-sizing: border-box;
}
.catbulk.on {
  border: 1px solid var(--ink);
}
.ddi.subi {
  padding-left: 34px;
}
body[data-ds] .h2hero .h2top {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
}
body[data-ds] .h2hero .h2m .v {
  font-size: 40px;
}
body[data-ds] .h2hero .h2m .d1 {
  font-size: 14px;
  font-weight: 600;
  margin-top: 2px;
}
.h2per {
  margin-bottom: 12px;
}
@media (max-width: 900px) {
  body[data-ds] .h2hero .h2top {
    grid-template-columns: 1fr 1fr;
  }
}
body[data-ds] .h2hero .h2m .d {
  min-height: 1.45em;
}
body[data-ds] .evcard.h2evall {
  outline: 0;
  border-left: 3px solid var(--ink);
  justify-content: flex-start;
  padding-left: 14px;
  box-shadow: inset 0 -1px 0 var(--line);
}
#tip .tipl {
  display: grid;
  grid-template-columns: auto;
  gap: 2px 20px;
  margin-top: 6px;
}
#tip .tipl.two {
  grid-template-columns: auto auto;
}
#tip:has(.tipl.two) {
  max-width: 460px;
}
#tip .tipl i {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 6px;
  vertical-align: 1px;
}
#tip hr {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--page) 25%, transparent);
  margin: 8px 0 2px;
}
svg text.barv {
  font-size: 10px;
  fill: var(--muted);
  font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-ds] .h2s svg.grow g.bars {
    animation: h2grow 0.25s ease-out both;
  }
  body[data-ds] .h2s svg.grow text.barv {
    animation: h2fade 0.2s ease-out 0.2s both;
  }
  body[data-ds] .h2s svg.draw {
    animation: h2reveal 0.35s ease-out both;
  }
  body[data-ds] .h2comp tr.rowin td {
    animation: h2row 0.2s ease-out both;
  }
  body[data-ds] .h2s .segbar.go {
    transition: transform 0.2s ease-out, width 0.2s ease-out;
  }
  body[data-ds] .ddm {
    animation: h2fade 0.1s ease-out both;
  }
  body[data-ds] .flash {
    animation: h2flash 1s ease-out both;
  }
}
@keyframes h2grow {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}
@keyframes h2fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes h2reveal {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes h2row {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes h2flash {
  from {
    background: color-mix(in srgb, var(--s4) 45%, transparent);
  }
  to {
    background: transparent;
  }
}
body[data-ds] .h2s .seg {
  position: relative;
}
body[data-ds] .h2s .seg button[aria-pressed=true] {
  box-shadow: none;
}
body[data-ds] .h2s .segbar {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  background: var(--ink);
  pointer-events: none;
}
svg text.barv.sm {
  font-size: 8.5px;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-ds] .h2comp tr.rowout td {
    animation: h2out 0.16s ease-in both;
  }
}
@keyframes h2out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.rbtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  border-bottom: 2px solid var(--ink);
  padding: 4px 2px;
  background: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
}
.ddm.mr {
  min-width: 0;
  max-width: none;
  width: 460px;
  padding: 12px 16px 16px;
}
.mrh {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.mrw {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.mry {
  font: 700 15px var(--f-ui);
  padding-bottom: 6px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 6px;
}
.mrc {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.mrm {
  border: 0;
  background: none;
  padding: 9px 0;
  font-size: 13px;
  color: var(--ink);
  cursor: pointer;
  text-transform: capitalize;
}
.mrm:hover:not(:disabled) {
  background: var(--sunk);
}
.mrm.in {
  background: var(--sunk);
}
.mrm.on {
  background: var(--ink);
  color: var(--page);
  font-weight: 600;
}
.mrm:disabled {
  color: var(--muted);
  opacity: 0.4;
  cursor: default;
}
.mrm.on,
.mrm.on:hover:not(:disabled) {
  background: var(--ink);
  color: var(--page);
}
@media (prefers-reduced-motion: no-preference) {
  body[data-ds] :is(tr.click td, .li.click, .evcard, .ddi, .mrm, .seg button, button, a, .chipsel, .cer, .rbtn) {
    transition:
      background-color 0.15s ease-out,
      color 0.15s ease-out,
      border-color 0.15s ease-out,
      box-shadow 0.15s ease-out,
      opacity 0.15s ease-out,
      text-decoration-color 0.15s ease-out;
  }
}
body[data-ds] .h2s .li.h2mv .n small {
  font-size: 12px;
}
body[data-ds] .h2mv .h2pv {
  font-weight: 600;
  border-bottom: 1px dashed var(--line2);
  cursor: help;
}
body[data-ds] .h2s .li.h2mv .n small {
  font-size: 13px;
}
body[data-ds] .h2four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
}
body[data-ds] .h2four .h2m .d1 {
  font-size: 14px;
  font-weight: 600;
  margin-top: 2px;
}
body[data-ds] .h2c .link + .link {
  margin-left: 16px;
}
body[data-ds] .h2four .h2m .d {
  min-height: 1.45em;
}
body[data-ds] .h2s > .h2blk {
  margin-top: 32px;
}
.ovpage {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.ovtop {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  border-top: var(--rule-w) solid var(--rule);
  padding-top: 16px;
  align-items: start;
}
.ovtop .ovchart {
  grid-column: span 2;
  min-width: 0;
}
.ovctl {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 4px;
}
.ovcap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ovcap > .k {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.ovcap > .v {
  font: 700 52px/1.05 var(--f-ui);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.ovcap > .d1 {
  font-size: 15px;
  font-weight: 600;
}
.ovfacts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 24px;
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.ovfacts > div > span {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 4px;
}
.ovfacts b {
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ovgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}
.li.ovw {
  grid-template-columns: minmax(0, 1fr) 160px 96px;
  gap: 24px;
}
.li.ovw .ovbar {
  width: 100%;
}
.ovbar {
  display: flex;
  width: 120px;
  height: 4px;
  background: var(--sunk);
}
.ovbar i {
  display: block;
  height: 100%;
}
.ovbar i.up {
  background: var(--good);
}
.ovbar i.dn {
  background: var(--bad);
}
.h2m .v small {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--muted);
}
.ovrates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.ovrate {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 4px 24px;
  border-left: 1px solid var(--line);
}
.ovrate:first-child {
  border-left: 0;
  padding-left: 0;
}
.ovrate .k {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.ovrate b {
  font: 700 22px/1.1 var(--f-ui);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.ovrate small {
  font-size: 13px;
}
@media (max-width: 1100px) {
  .ovtop,
  .ovgrid {
    grid-template-columns: 1fr;
  }
  .ovtop .ovchart {
    grid-column: auto;
  }
}
body[data-ds] .ovpage .seg {
  position: relative;
  border: 0;
  gap: 4px;
}
body[data-ds] .ovpage .seg button {
  border: 0;
  padding: 4px 8px;
  background: none;
}
body[data-ds] .ovpage .seg button:hover {
  background: none;
  color: var(--ink);
}
body[data-ds] .ovpage .seg button[aria-pressed=true] {
  background: none;
  color: var(--ink);
  font-weight: 600;
}
body[data-ds] .ovpage .segbar {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  background: var(--ink);
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-ds] .ovpage .segbar.go {
    transition: transform 0.2s ease-out, width 0.2s ease-out;
  }
}
.ovgrid > .h2blk {
  min-width: 0;
}
.ovcap > .d {
  font-size: 13px;
  color: var(--muted);
}
.ovbud {
  display: block;
  width: 100%;
  min-width: 140px;
  height: 4px;
  background: var(--sunk);
  margin-top: 6px;
}
.ovbud i {
  display: block;
  height: 100%;
  background: var(--ink);
}
.ovbud i.near {
  background: var(--s4);
}
.ovbud i.over {
  background: var(--bad);
}
.ovd {
  width: 44px;
  flex: none;
}
.ovfigs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  padding-top: 4px;
}
.ovfig {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ovfig .k {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.ovfig .v {
  font: 700 32px/1.05 var(--f-ui);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.ovfig .v small {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--muted);
}
.ovfig .d1 {
  font-size: 14px;
  font-weight: 600;
}
.ovfig .d {
  font-size: 13px;
  color: var(--muted);
}
@media (max-width: 1100px) {
  .ovfigs {
    grid-template-columns: 1fr;
  }
}
.ovpb {
  flex: none;
  margin: 4px 0 8px;
}
.ovcurs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  margin-top: 16px;
}
.h2pair.ovfit {
  align-items: stretch;
}
.h2pair.ovfit .chart.ovfill {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}
body[data-ds] .li.ovw {
  padding: 18px 0;
}
.ovcurs .ovrate .k {
  display: flex;
  align-items: center;
  gap: 6px;
}
.li.ovsub .t {
  padding-left: 22px;
}
.ovpage.ovc {
  max-width: 1120px;
  gap: 56px;
}
.ovrow2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  border-top: var(--rule-w) solid var(--rule);
  padding-top: 20px;
  align-items: start;
}
.ovcol {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.ovh {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 8px;
  margin-top: 18px;
}
.ovcol > .ovh:first-child {
  margin-top: 0;
}
.ovh h3 {
  margin: 0;
  font: 600 13px/1.2 var(--f-ui);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.ovc .ovcap {
  gap: 8px;
}
.ovc .ovctl {
  margin-bottom: -6px;
}
.ovfigs2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.ovfigs2 .ovfig {
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.ovfigs2 .ovfig:nth-child(odd) {
  padding-right: 24px;
  border-right: 1px solid var(--line);
}
.ovfigs2 .ovfig:nth-child(even) {
  padding-left: 24px;
}
.ovfigs2 .ovfig .v {
  font-size: 28px;
}
.ovc .li.ovsub .t small {
  margin-left: 6px;
}
@media (max-width: 900px) {
  .ovrow2 {
    grid-template-columns: 1fr;
  }
}
.ovpage.ovc {
  max-width: none;
}
.ovrow3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 56px;
  border-top: var(--rule-w) solid var(--rule);
  padding-top: 20px;
  align-items: start;
}
@media (max-width: 1100px) {
  .ovrow3 {
    grid-template-columns: 1fr;
  }
}
body[data-ds][data-sec=money] .mh .sub {
  text-transform: none;
  letter-spacing: 0;
  color: var(--muted);
}
body[data-ds][data-sec=money] .seg {
  border: 0;
  gap: 4px;
}
body[data-ds][data-sec=money] .seg button {
  border: 0;
  padding: 4px 8px;
  background: none;
  box-shadow: inset 0 -2px 0 transparent;
}
body[data-ds][data-sec=money] .seg button + button {
  border-left: 0;
}
body[data-ds][data-sec=money] .seg button:hover {
  background: none;
  color: var(--ink);
}
body[data-ds][data-sec=money] .seg button[aria-pressed=true] {
  background: none;
  color: var(--ink);
  font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--ink);
}
body[data-ds][data-sec=money] #view > .kpis .kpi .v {
  font-size: 40px;
  font-weight: 700;
}
body[data-ds][data-sec=money] #view > .kpis .kpi .k {
  font-size: 11px;
}
body[data-ds][data-sec=money] .seg + .seg {
  margin-left: 12px;
  padding-left: 12px;
  border-left: 1px solid var(--line);
}
body[data-ds] .dybar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
}
body[data-ds] .dybar > .row,
body[data-ds] .mh .row {
  gap: 8px;
}
body[data-ds] .o2sum {
  display: flex;
  gap: 8px 24px;
  flex-wrap: wrap;
  align-items: baseline;
  font-size: 14px;
  padding: 12px 0;
  border-top: var(--rule-w) solid var(--rule);
  border-bottom: 1px solid var(--line);
}
body[data-ds] .o2sum b {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  margin-left: 4px;
}
body[data-ds] .o2sum .mut {
  font-size: 13px;
  margin-left: auto;
}
body[data-ds] .o2rec {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 13px;
  color: var(--muted);
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
body[data-ds] #view > .o2list {
  margin-top: -32px;
}
body[data-ds] .o2d {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--muted);
  padding: 16px 0 4px;
  font-variant-numeric: tabular-nums;
  border-top: 1px solid var(--line);
}
body[data-ds] .o2d:first-child {
  border-top: 0;
}
body[data-ds] .o2d:first-child {
  padding-top: 12px;
}
body[data-ds] .o2r {
  display: grid;
  grid-template-columns: 20px 20px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 8px 0;
  cursor: pointer;
}
body[data-ds] .o2r:hover,
body[data-ds] .o2r.on {
  background: var(--sunk);
  box-shadow: -8px 0 0 var(--sunk), 8px 0 0 var(--sunk);
}
body[data-ds] .o2b input {
  margin: 0;
  visibility: hidden;
}
body[data-ds] .o2r:hover .o2b input,
body[data-ds] .o2r.on .o2b input,
body[data-ds] .o2list.selmode .o2b input {
  visibility: visible;
}
body[data-ds] .o2i {
  display: flex;
  color: var(--muted);
}
body[data-ds] .o2i svg {
  width: 18px;
  height: 18px;
}
body[data-ds] .o2t {
  display: flex;
  flex-direction: column;
  min-width: 0;
  font-size: 14px;
}
body[data-ds] .o2t > span,
body[data-ds] .o2t small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-ds] .o2t small,
body[data-ds] .o2a small {
  font-size: 13px;
  color: var(--muted);
}
body[data-ds] .o2a {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-variant-numeric: tabular-nums;
  font-size: 14px;
  white-space: nowrap;
}
body[data-ds] .o2a b {
  font-weight: 600;
}
body[data-ds] .o2bulk {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 14px;
  padding: 8px 0;
  border-bottom: 1px solid var(--ink);
}
body[data-ds] .o2bulk .row {
  gap: 8px;
}
body[data-ds] #view > .o2bulk,
body[data-ds] #view > .o2rec {
  margin-top: -40px;
}
body[data-ds] .ddm.o2fp {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  width: 760px;
  max-width: 90vw;
  max-height: 420px;
  padding: 8px 0;
}
body[data-ds] .o2fc {
  min-width: 0;
  overflow-y: auto;
  max-height: 400px;
}
body[data-ds] .o2fc + .o2fc {
  border-left: 1px solid var(--line);
}
body[data-ds] .ddb.on {
  border-color: var(--ink);
  font-weight: 600;
}
body[data-ds] .o2chip {
  font-size: 13px;
  padding: 4px 10px;
  background: var(--sunk);
}
body[data-ds] .a2r,
body[data-ds] .a2head {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 140px 140px 150px;
  gap: 12px;
  align-items: center;
  padding: 8px 0;
  cursor: pointer;
}
body[data-ds] .a2r:hover {
  background: var(--sunk);
  box-shadow: -8px 0 0 var(--sunk), 8px 0 0 var(--sunk);
}
body[data-ds] .a2d {
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-align: right;
}
body[data-ds] .a2e {
  visibility: hidden;
}
body[data-ds] .a2r:hover .a2e,
body[data-ds] .a2r:focus-within .a2e {
  visibility: visible;
}
body[data-ds] .o2sum a.link {
  font-size: 14px;
}
body[data-ds] .o2d.a2h {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 28px minmax(110px, auto);
  gap: 12px;
}
body[data-ds] .a2h > span:last-child,
body[data-ds] .a2c {
  text-align: right;
}
body[data-ds] .a2head {
  padding: 0 0 8px;
  border-bottom: 1px solid var(--ink);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  cursor: default;
}
body[data-ds] .a2head > span:nth-child(n+3),
body[data-ds] .a2n {
  text-align: right;
}
body[data-ds] .a2n {
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body[data-ds] .a2list .a2r + .a2r {
  border-top: 1px solid var(--line);
}
body[data-ds] .h2comp tr.sub.on td {
  background: var(--sunk);
  font-weight: 600;
}
body[data-ds] .h2comp tr.sub.on td:first-child {
  border-left-color: var(--ink);
}
body[data-ds] .a2hero .h2top {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body[data-ds] .h2s .filters + .o2sum {
  margin-top: 16px;
  border-top-width: 1px;
}
body[data-ds] .a2tbl th:nth-child(1) {
  width: 29%;
}
body[data-ds] .a2tbl th:nth-child(2) {
  width: 30%;
}
body[data-ds] .b2tbl th:nth-child(1) {
  width: 26%;
}
body[data-ds] .b2tbl th:nth-child(2) {
  width: 22%;
}
body[data-ds] .b2tbl .h2sn .o2i {
  margin-right: 8px;
}
body[data-ds] .b2tbl input.inline {
  width: 90px;
  text-align: right;
}
body[data-ds] .b2tbl th:nth-child(2) {
  width: 26%;
}
body[data-ds] .b2tbl .li .t .o2i {
  margin-right: 10px;
}
body[data-ds] .b2flow .h2top > .h2m:last-child {
  border-left: 2px solid var(--ink);
}
body[data-ds] .b2pair {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
@media (max-width: 900px) {
  body[data-ds] .b2pair {
    grid-template-columns: 1fr;
  }
  body[data-ds] .b2flow .h2top {
    grid-template-columns: 1fr 1fr !important;
  }
}
body[data-ds] .b2tipc {
  display: contents;
}
body[data-ds] .b2tipc > .h2m {
  cursor: default;
}
body[data-ds] .d2tbl th:nth-child(1) {
  width: 34%;
}
body[data-ds] .d2tbl tr.d2tot td {
  border-bottom: 2px solid var(--ink);
}
body[data-ds] .d2tbl .d2deep {
  padding-left: 20px;
}
body[data-ds] .h2n:empty {
  display: none;
}
body[data-ds] .d2pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 48px;
  align-items: start;
}
@media (max-width: 900px) {
  body[data-ds] .d2pair {
    grid-template-columns: 1fr;
  }
}
body[data-ds] .d2tbl th:nth-child(1) {
  width: 40%;
}
body[data-ds] .d2tbl th:nth-child(2) {
  width: 34%;
}
body[data-ds] .d2cur tr.on td,
body[data-ds] .d2tbl tr.on td {
  background: var(--hover, rgba(0, 0, 0, 0.04));
}
body[data-ds] .d2tbl tr.d2foot td {
  border-top: 2px solid var(--ink);
  border-bottom: 0;
  padding-top: 14px;
}
body[data-ds] .d2sub {
  margin-top: 32px;
}
body[data-ds] .li.d2l1 {
  padding-left: 16px;
}
body[data-ds] .li.d2l2 {
  padding-left: 32px;
}
body[data-ds] .li.d2l1,
body[data-ds] .li.d2l2 {
  background: var(--soft, rgba(0, 0, 0, 0.02));
}
body[data-ds] .li.d2foot {
  border-top: 2px solid var(--ink);
}
body[data-ds] .chart.d2wide {
  height: 280px;
}
body[data-ds] .pjtbl th:not(:first-child) {
  width: 16%;
}
body[data-ds] .pjtbl tr.d2foot td {
  border-top: 2px solid var(--ink);
  border-bottom: 0;
}
body[data-ds] .d2tree table {
  table-layout: fixed;
  width: 100%;
}
body[data-ds] .d2tree th:nth-child(2) {
  width: 110px;
}
body[data-ds] .d2tree th:nth-child(3) {
  width: 38%;
}
body[data-ds] .d2tree td {
  white-space: normal;
  overflow-wrap: anywhere;
}
body[data-ds] .d2tree .h2sn {
  white-space: normal;
  flex-wrap: wrap;
  gap: 4px 10px;
}
body[data-ds] .b3tbl th:not(:first-child) {
  width: 20%;
}
body[data-ds] .b3tbl tr.d2foot td,
body[data-ds] .b3cat tr.d2foot td,
body[data-ds] .b3grid tr.d2foot td {
  border-top: 2px solid var(--ink);
  border-bottom: 0;
}
body[data-ds] .o2pager {
  padding: 14px 0 0;
  margin-top: 4px;
}
body[data-ds] .o2pager .row {
  gap: 6px;
  align-items: center;
}
body[data-ds] .o2pager button.sm {
  min-width: 34px;
}
body[data-ds] .h2comp tr.sub.deep2 td:first-child {
  padding-left: 70px;
}
body[data-ds] .h2comp .b3grid tr.b3h td {
  background: var(--sunk);
  border-top: 2px solid var(--ink);
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 13px;
}
body[data-ds] .h2comp .b3grid tr.b3h td:first-child b {
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
body[data-ds] .h2comp tr.b4q td {
  border-top: 1px solid var(--ink);
}
body[data-ds] .b4pair .b2tbl tr.d2foot td {
  border-top: 2px solid var(--ink);
  border-bottom: 0;
}
body[data-ds] .b3cat th:not(:first-child) {
  width: 20%;
}
body[data-ds] .b3cat th:nth-child(3) {
  width: 28%;
}
body[data-ds] .b3grid.b3g12 {
  min-width: 1040px;
}
body[data-ds] .h2comp .b3grid tr td,
body[data-ds] .h2comp .b3grid tr th {
  padding: 5px 4px;
  font-size: 13px;
  white-space: nowrap;
}
body[data-ds] .h2comp .b3grid tr td:first-child {
  min-width: 170px;
  white-space: normal;
  padding-left: 10px;
}
body[data-ds] .b3grid input.b3i {
  width: 62px;
  padding: 5px 6px;
  font-size: 13px;
}
body[data-ds] .b3grid input.b3y {
  width: 80px;
  font-weight: 600;
}
body[data-ds] .h2comp .b3grid tr.sg td {
  padding-top: 14px;
}
body[data-ds] .d2tree col.d2c2 {
  width: 110px;
}
body[data-ds] .d2tree col.d2c3 {
  width: 38%;
}
body[data-ds] .d2even {
  align-items: stretch;
}
body[data-ds] .h2blk > .d2tot {
  margin-top: auto;
}
body[data-ds] .h2blk > .d2tree:not(.d2tot) {
  margin-bottom: -12px;
}
body[data-ds] .as2f {
  margin-bottom: 8px;
}
body[data-ds] .as2f .as2r {
  margin-left: auto;
  gap: 8px;
  flex: none;
  flex-wrap: nowrap;
}
body[data-ds] .as2f .as2r > * {
  flex: none;
}
body[data-ds] .as2f .as2r input {
  flex: none;
  width: 220px;
  min-width: 0;
}
body[data-ds] .as2f input[type=checkbox],
body[data-ds] .as2tbl input[type=checkbox] {
  width: auto;
  min-width: 0;
  margin: 0;
}
body[data-ds] .as2tbl th.cb,
body[data-ds] .as2tbl td.cb {
  width: 1%;
  padding-right: 12px;
}
body[data-ds] .as2tbl th.on {
  color: var(--ink);
}
body[data-ds] .as2tbl tr.sel td {
  background: var(--accent-soft);
}
body[data-ds] .as2tbl tr.sold td:not(.cb) {
  opacity: 0.45;
}
body[data-ds] .as2tbl th {
  white-space: normal;
  vertical-align: bottom;
}
body[data-ds] .as2tbl th:not(.n):not(.cb),
body[data-ds] .as2tbl td:not(.n):not(.cb) {
  padding-left: 16px;
}
body[data-ds] .as2tbl th:nth-child(2),
body[data-ds] .as2tbl td:nth-child(2) {
  padding-left: 0;
}
body[data-ds] .as2tbl table {
  table-layout: fixed;
}
body[data-ds] .as2tbl th.cb {
  width: 28px;
}
body[data-ds] .as2tbl th:nth-child(2) {
  width: 220px;
}
body[data-ds] .as2tbl td:nth-child(2) .cellname b {
  max-width: 180px;
}
body[data-ds] .as2cash table {
  table-layout: fixed;
}
body[data-ds] .as2cash th:not(:first-child) {
  width: 20%;
}
body[data-ds] .as2cash tr.grp td {
  padding-top: 24px;
}
body[data-ds] .as2cash tr.grp td > span + span {
  font-size: 14px;
  font-weight: 600;
}
body[data-ds] .as2cash td.mut svg {
  vertical-align: -2px;
}
body[data-ds] .an2tabs {
  margin-bottom: -16px;
  gap: 28px;
}
body[data-ds] .an2tabs button {
  font-size: 15px;
}
body[data-ds] .an2tbl td.n,
body[data-ds] .an2rep td.n {
  white-space: nowrap;
}
body[data-ds] .an2tbl td small {
  margin-left: 4px;
}
body[data-ds] .an2rep table {
  min-width: 900px;
}
body[data-ds] .an2rep td:first-child,
body[data-ds] .an2rep th:first-child {
  position: sticky;
  left: 0;
  background: var(--page);
  z-index: 1;
  padding-right: 24px;
  white-space: nowrap;
}
body[data-ds] .an2rep tr.on td {
  background: var(--sunk);
  font-weight: 600;
}
body[data-ds] .an2rep tr.on td:first-child {
  background: var(--sunk);
}
body[data-ds] .an2src {
  margin-bottom: 12px;
}
body[data-ds] .h2s .h2c .seg + .seg {
  margin-left: 16px;
}
body[data-ds] .cl2f {
  margin-bottom: 8px;
}
body[data-ds] .cl2f input {
  width: 220px;
  min-width: 0;
}
body[data-ds] .h2s .cl2k button .mut {
  font-weight: 400;
  margin-left: 2px;
}
body[data-ds] .cl2tbl table {
  table-layout: fixed;
  min-width: 900px;
}
body[data-ds] .cl2tbl th:nth-child(1) {
  width: 9%;
}
body[data-ds] .cl2tbl th:nth-child(2) {
  width: 30%;
}
body[data-ds] .cl2tbl th:nth-child(3) {
  width: 30%;
}
body[data-ds] .cl2tbl th:nth-child(4) {
  width: 14%;
}
body[data-ds] .cl2tbl th:nth-child(5),
body[data-ds] .cl2tbl td:nth-child(5) {
  padding-left: 24px;
}
body[data-ds] .cl2tbl td {
  white-space: normal;
}
body[data-ds] .cl2tbl tr.grp td {
  padding-top: 24px;
}
body[data-ds] .cl2tbl tr.grp td > span + span {
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}
body[data-ds] .cl2tbl tr.cl2past td:not(:first-child) {
  opacity: 0.6;
}
body[data-ds] .io2f {
  margin-bottom: 8px;
}
body[data-ds] .io2f .io2r {
  margin-left: auto;
  gap: 8px;
  flex-wrap: nowrap;
}
body[data-ds] .io2f .io2r input {
  width: 220px;
  min-width: 0;
}
body[data-ds] .io2tbl table {
  table-layout: fixed;
  min-width: 960px;
}
body[data-ds] .io2tbl th:nth-child(1) {
  width: 24%;
}
body[data-ds] .io2tbl th:nth-child(2) {
  width: 24%;
}
body[data-ds] .io2tbl th:last-child {
  width: 9%;
  padding-left: 16px;
}
body[data-ds] .io2tbl td:last-child {
  padding-left: 16px;
}
body[data-ds] .io2tbl td {
  white-space: normal;
}
body[data-ds] .io2tbl td.n {
  white-space: nowrap;
}
body[data-ds] .io2tbl td small svg {
  vertical-align: -2px;
}
body[data-ds] .io2tbl tr.io2day td {
  padding: 20px 0 6px;
  font-size: 13px;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  background: none;
}
body[data-ds] .io2tbl tr.io2day:first-child td {
  padding-top: 8px;
}
body[data-ds] .as2cash .as2paid {
  font-weight: 400;
  font-size: 13px;
}
body[data-ds] .as2cash .h2sn small {
  margin-left: 8px;
}
body[data-ds] .h2comp tr.d2foot td {
  border-top: 2px solid var(--ink);
  border-bottom: 0;
}
body[data-ds] .d2tree .h2share {
  width: 56px;
}
body[data-ds] .d2tree td:nth-child(2) {
  white-space: nowrap;
}
body[data-ds] .d2tree tr.d2foot td {
  border-top: 2px solid var(--ink);
  border-bottom: 0;
}
body[data-ds] .an2split {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  flex-wrap: wrap;
}
body[data-ds] .an2rw {
  position: relative;
  width: 220px;
  height: 220px;
  flex: none;
}
body[data-ds] .an2ring {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
body[data-ds] .an2ring circle {
  cursor: help;
  transition: opacity 0.15s;
}
body[data-ds] .an2ring:hover circle {
  opacity: 0.55;
}
body[data-ds] .an2ring circle:hover {
  opacity: 1;
}
body[data-ds] .an2rc {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
body[data-ds] .an2rc b {
  font: 700 20px/1.1 var(--f-ui);
  font-variant-numeric: tabular-nums;
}
body[data-ds] .an2rc small {
  font-size: 12px;
  color: var(--muted);
}
body[data-ds] .an2cols {
  flex: 1;
  min-width: 260px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 32px;
}
body[data-ds] .an2leg > div {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
body[data-ds] .an2leg .nm,
body[data-ds] .an2bt .nm {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-ds] .an2leg b {
  font-variant-numeric: tabular-nums;
}
body[data-ds] .an2bars {
  flex: 1;
  min-width: 260px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body[data-ds] .an2bt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  margin-bottom: 4px;
}
body[data-ds] .an2bt b,
body[data-ds] .an2bt .mut {
  font-variant-numeric: tabular-nums;
}
body[data-ds] .an2bt .mut {
  min-width: 80px;
  text-align: right;
}
body[data-ds] .an2b .h2share {
  display: block;
  width: 100%;
  margin: 0;
}
body[data-ds] .an2in {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin-top: 6px;
  font-size: 12px;
}
body[data-ds] .an2hb {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body[data-ds] .an2hr {
  display: grid;
  grid-template-columns: 110px 1fr 90px;
  align-items: center;
  gap: 12px;
  font-size: 13px;
}
body[data-ds] .an2hr .t {
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body[data-ds] .an2hr .b {
  height: 10px;
}
body[data-ds] .an2hr .b span {
  display: block;
  height: 100%;
}
body[data-ds] .an2hr .n {
  font-variant-numeric: tabular-nums;
}
body[data-ds] .an2pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
body[data-ds] .an2pair > .h2s {
  min-width: 0;
}
body[data-ds] .an2grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 8px;
}
body[data-ds] .an2mc h3 {
  margin: 0;
  font-size: 16px;
}
body[data-ds] .an2mc .sub {
  margin: 4px 0 12px;
}
body[data-ds] .an2big {
  font: 700 36px/1.1 var(--f-ui);
  letter-spacing: -0.02em;
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums;
}
body[data-ds] .an2v {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 14px;
}
body[data-ds] .an2sum {
  display: flex;
  gap: 24px;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 8px;
}
body[data-ds] .an2sum b {
  color: var(--ink);
  font-size: 16px;
  margin-left: 4px;
}
body[data-ds] .an2note {
  margin-bottom: 12px;
}
body[data-ds] .an2rh {
  margin-bottom: 4px;
}
body[data-ds] .an2chk {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
body[data-ds] .chip.pos {
  color: var(--good);
  border-color: currentColor;
}
body[data-ds] .chip.neg {
  color: var(--bad);
  border-color: currentColor;
}
@media (max-width: 900px) {
  body[data-ds] .an2pair,
  body[data-ds] .an2grid,
  body[data-ds] .an2cols {
    grid-template-columns: 1fr;
  }
  body[data-ds] .an2split {
    justify-content: center;
  }
}
body[data-ds] .an2pdiv {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
}
body[data-ds] .an2rwl {
  width: 340px;
  height: 340px;
  justify-self: center;
}
body[data-ds] .an2ringl {
  width: 100%;
  height: 100%;
  overflow: visible;
}
body[data-ds] .an2ringl circle {
  cursor: help;
  transition: opacity 0.15s;
}
body[data-ds] .an2ringl:hover circle {
  opacity: 0.55;
}
body[data-ds] .an2ringl circle:hover {
  opacity: 1;
}
body[data-ds] .an2ringl text {
  font-size: 10px;
  fill: var(--muted);
}
body[data-ds] .an2plist {
  max-height: 300px;
  overflow-y: auto;
  padding-right: 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  scrollbar-width: thin;
}
body[data-ds] .an2pt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 5px;
}
body[data-ds] .an2pt .nm {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-ds] .an2pt b,
body[data-ds] .an2pt .mut {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body[data-ds] .an2pi .h2share {
  display: block;
  width: 100%;
  height: 5px;
  margin: 0;
}
@media (max-width: 900px) {
  body[data-ds] .an2pdiv {
    grid-template-columns: 1fr;
  }
  body[data-ds] .an2rwl {
    width: 280px;
    height: 280px;
  }
}
body[data-ds] .an2pdiv {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 56px;
  flex-wrap: wrap;
}
body[data-ds] .an2rwl {
  width: 300px;
  height: 300px;
  flex: none;
}
body[data-ds] .an2ringl text {
  font-size: 11px;
}
body[data-ds] .an2rwl .an2rc b {
  font-size: 24px;
}
body[data-ds] .an2plist {
  flex: 0 1 460px;
  min-width: 280px;
  max-height: 300px;
  gap: 16px;
}
body[data-ds] .an2pdiv {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  justify-content: stretch;
}
body[data-ds] .an2rwl {
  justify-self: start;
}
body[data-ds] .an2ptbl {
  max-height: 340px;
  overflow-y: auto;
  scrollbar-width: thin;
}
body[data-ds] .an2ptbl thead th {
  position: sticky;
  top: 0;
  background: var(--page);
  z-index: 1;
  padding-top: 0;
}
body[data-ds] .an2ptbl td:first-child {
  white-space: nowrap;
  max-width: 0;
  width: 55%;
  overflow: hidden;
  text-overflow: ellipsis;
}
body[data-ds] .an2ptbl td:nth-child(2) {
  width: 30%;
  white-space: nowrap;
}
body[data-ds] .an2ptbl .h2share {
  width: 140px;
}
@media (max-width: 900px) {
  body[data-ds] .an2pdiv {
    grid-template-columns: 1fr;
  }
}
body[data-ds] .an2rep2 tr.grp td {
  position: static;
  background: none;
  padding-top: 22px;
}
body[data-ds] .an2rep2 tr.grp td:first-child {
  position: sticky;
  left: 0;
}
body[data-ds] .an2rep2 tr.r2main td {
  font-weight: 600;
}
body[data-ds] .an2rep2 tr.sub td {
  font-size: 13px;
}
body[data-ds] .an2rep2 tr.sub td:first-child {
  padding-left: 22px;
}
body[data-ds] .an2rep2 .r2tot {
  border-left: 1px solid var(--rule);
  padding-left: 16px;
  font-weight: 600;
  background: var(--page);
}
body[data-ds] .an2rep2 tr.on td.r2tot {
  background: var(--sunk);
}
body[data-ds] .an2rep2 .r2n {
  cursor: help;
  border-bottom: 1px dotted var(--line2);
}
body[data-ds] .an2rep2 .r2x {
  font-size: 12px;
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-weight: 400;
}
body[data-ds] .r2ps {
  margin-top: 8px;
}
body[data-ds] .an2rep2 th.r2h {
  cursor: pointer;
}
body[data-ds] .an2rep2 th.r2h:hover {
  color: var(--ink);
}
body[data-ds] .an2rep2 .r2on {
  background: var(--sunk);
}
body[data-ds] .an2rep2 th.r2on {
  color: var(--ink);
  box-shadow: inset 0 -2px 0 var(--accent);
}
body[data-ds] .r2box {
  max-height: 480px;
  overflow-y: auto;
  scrollbar-width: thin;
}
body[data-ds] .r2box thead th {
  position: sticky;
  top: 0;
  background: var(--page);
  z-index: 1;
}
body[data-ds] .r2box td.r2bar {
  width: 140px;
}
body[data-ds] .r2box td.r2bar span {
  display: block;
  height: 8px;
}
body[data-ds] .c2bar {
  position: relative;
  width: 140px;
  overflow: visible;
}
body[data-ds] .c2bar i,
body[data-ds] .c2mk {
  position: absolute;
  top: -4px;
  width: 2px;
  height: 14px;
  background: var(--ink);
  transform: translateX(-1px);
}
body[data-ds] .c2mk {
  position: relative;
  display: inline-block;
  top: 2px;
  height: 10px;
}
body[data-ds] .c2tbl input.c2t {
  width: 56px;
  padding: 4px 6px;
}
body[data-ds] .c2tbl td.c2tc {
  white-space: nowrap;
}
body[data-ds] .c2tbl tr.c2g td {
  font-weight: 400;
}
body[data-ds] .c2tbl .c2x {
  margin-right: 6px;
  vertical-align: -2px;
  text-decoration: none;
}
body[data-ds] .c2tbl tr.c2cash td {
  color: var(--muted);
  border-top: 1px solid var(--line);
}
body[data-ds] .c2amt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
}
body[data-ds] .c2amt input {
  width: 100px;
}
body[data-ds] .a2t {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
body[data-ds] .a2about {
  max-width: 70ch;
  line-height: 1.5;
  margin: 0 0 8px;
}
body[data-ds] .a2grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 48px;
  align-items: start;
}
body[data-ds] .a2side {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
body[data-ds] .a2side .li {
  padding: 5px 0;
  font-size: 13px;
}
body[data-ds] .a2side .h2bh {
  min-height: 0;
  padding-bottom: 6px;
}
body[data-ds] .a2ph {
  margin-bottom: 8px;
}
body[data-ds] .sw.a2dot {
  border-radius: 50%;
}
body[data-ds] svg text.a2avg {
  fill: var(--accent);
  font-weight: 600;
}
body[data-ds] .a2cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
}
body[data-ds] .a2cards .li {
  padding: 8px 0;
  font-size: 13px;
}
body[data-ds] .a2co {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 48px;
}
body[data-ds] .a2co p {
  margin: 0;
  max-width: 75ch;
  line-height: 1.55;
  color: var(--ink2);
}
@media (max-width: 1000px) {
  body[data-ds] .a2grid,
  body[data-ds] .a2co {
    grid-template-columns: 1fr;
  }
}
body[data-ds] .a2cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}
body[data-ds] .a2hint {
  margin: -8px 0 16px;
}
body[data-ds] .a2pc {
  border-top: 1px solid var(--ink);
  padding-top: 12px;
}
body[data-ds] .a2pt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
body[data-ds] .a2pv {
  font: 700 24px/1.2 var(--f-ui);
  letter-spacing: -0.02em;
  margin: 6px 0 8px;
  font-variant-numeric: tabular-nums;
}
body[data-ds] .a2pv span {
  font-size: 15px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0;
}
body[data-ds] .a2pc .li,
body[data-ds] .a2figs .li {
  padding: 7px 0;
  font-size: 13px;
}
body[data-ds] .a2figs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 32px;
  align-items: start;
}
body[data-ds] .a2pb {
  height: 8px;
  background: var(--line);
  border-radius: 4px;
  overflow: hidden;
  margin-top: 12px;
}
body[data-ds] .a2pb i {
  display: block;
  height: 100%;
  background: var(--good);
}
body[data-ds] .a2dates {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin-left: 12px;
  font-size: 13px;
}
body[data-ds] .a2dates input {
  font: inherit;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--card);
  color: var(--ink);
}
body[data-ds] button.a2pc {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  text-align: left;
  border: 0;
  border-top: 1px solid var(--ink);
  padding: 12px 0 14px;
  background: none;
  color: var(--ink);
  white-space: normal;
  cursor: pointer;
}
body[data-ds] button.a2pc:hover {
  background: var(--sunk);
  color: var(--ink);
  box-shadow: -8px 0 0 var(--sunk), 8px 0 0 var(--sunk);
}
body[data-ds] .a2pr {
  font-size: 13px;
}
body[data-ds] .a2pd {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}
body[data-ds] .a2pd > * {
  width: 100%;
}
body[data-ds] .a2pd > button.link {
  width: auto;
}
body[data-ds] .a2pdh {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  margin-top: 8px;
}
body[data-ds] .a2pdg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
body[data-ds] .a2pdg .li {
  padding: 10px 0;
  font-size: 14px;
}
@media (max-width: 760px) {
  body[data-ds] .a2pdg {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
body[data-ds] button.a2pc .list {
  width: 100%;
}
body[data-ds] .a2pd {
  gap: 16px;
}
body[data-ds] .a2pcols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
body[data-ds] .a2pcol h4 {
  margin: 0 0 4px;
  font: 600 13px/1.3 var(--f-ui);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 8px;
}
body[data-ds] .a2pcol .li {
  padding: 9px 0;
  font-size: 14px;
}
body[data-ds] .a2pd .a2pt {
  font-size: 13px;
}
@media (max-width: 900px) {
  body[data-ds] .a2pcols {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
body[data-ds] .a2kf {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 32px;
}
body[data-ds] .a2kf .h2m {
  border-left: 0;
  padding-left: 0;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
body[data-ds] .a2kf .h2m .v {
  font-size: 28px;
}
body[data-ds] .a2kf .h2m .d1 {
  font-size: 13px;
  color: var(--ink2);
  font-weight: 400;
}
body[data-ds] .a2about {
  max-width: 720px;
  margin: 32px 0 0;
  font-size: 15px;
  line-height: 1.55;
}
body[data-ds] .a2meta {
  margin-top: 16px;
}
@media (max-width: 900px) {
  body[data-ds] .a2kf {
    grid-template-columns: 1fr 1fr;
  }
}
body[data-ds] .a2kf .h2m.a2inf .v {
  font-size: 18px;
  letter-spacing: -0.01em;
}
.impsum {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  border-top: 2px solid var(--ink);
  padding-top: 12px;
  margin-top: 4px;
}
.impsum .k {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.impsum b {
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
h4.imph {
  margin: 18px 0 0;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  gap: 8px;
}
table.impt {
  font-size: 13px;
}
table.impt td,
table.impt th {
  padding: 8px 12px 8px 0;
}
table.impt small {
  color: var(--muted);
}
.impwarn {
  border-left: 3px solid var(--accent);
  padding: 6px 0 6px 10px;
  font-size: 13px;
  margin-top: 12px;
}
.imppick {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
}
div.fc .sub,
div.fc .sm-btn {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}

/* angular:styles/global:styles */
