/* ============================================================
   ledger — макет «финансовый реестр / выписка по счёту»
   namespace: .lg-*   |   0px скругления, hairline-линейки,
   моноширинные таблицы, строки с точечными лидерами.
   Палитра подставляется генератором (build_ledger.py) в :root.
   ============================================================ */

:root{
  --lg-bg:#0c1211;
  --lg-surf:#16201e;
  --lg-acc:#f5b841;
  --lg-acc2:#6ec6a8;
  --lg-tx:#e8f0ee;
  --lg-mu:#8ba099;
  --lg-line:rgba(232,240,238,0.22);
  --lg-hair:rgba(232,240,238,0.11);
  --lg-glow:rgba(245,184,65,0.2);
  --lg-head:"Cuprum";
  --lg-body:"Istok Web";
  --lg-mono:ui-monospace,"Cascadia Mono","Consolas","DejaVu Sans Mono","Liberation Mono",monospace;
}

*,*::before,*::after{box-sizing:border-box;border-radius:0}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--lg-bg);color:var(--lg-tx);
  font-family:var(--lg-body),system-ui,-apple-system,sans-serif;
  font-size:15px;line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3{font-family:var(--lg-head),var(--lg-body),sans-serif;font-weight:600;line-height:1.18;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}
::selection{background:var(--lg-acc);color:var(--lg-bg)}

.lg-wrap{width:100%;max-width:1060px;margin:0 auto;padding:0 18px}

/* --- служебные акценты (замена <b>/<strong>) ------------------ */
.lg-n{font-family:var(--lg-mono);color:var(--lg-acc);font-variant-numeric:tabular-nums}
.lg-n2{font-family:var(--lg-mono);color:var(--lg-acc2);font-variant-numeric:tabular-nums}
.lg-mu{color:var(--lg-mu)}
.lg-up{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-family:var(--lg-mono);color:var(--lg-mu)}
.lg-mono{font-family:var(--lg-mono)}

/* --- шапка ---------------------------------------------------- */
.lg-top{position:sticky;top:0;z-index:30;background:var(--lg-bg);border-bottom:1px solid var(--lg-line)}
.lg-top-in{display:flex;align-items:center;gap:16px;min-height:58px;padding:7px 18px;max-width:1060px;margin:0 auto}
.lg-mark{display:flex;align-items:center;gap:9px;font-family:var(--lg-head);font-weight:700;font-size:16px;letter-spacing:.01em;flex:0 0 auto}
.lg-mark svg{display:block;width:24px;height:24px}
.lg-mark i{font-style:normal;color:var(--lg-acc)}
.lg-nav{display:flex;gap:18px;margin-left:6px;flex:1 1 auto;font-family:var(--lg-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--lg-mu)}
.lg-nav a{padding:6px 0;border-bottom:1px solid transparent}
.lg-nav a:hover{color:var(--lg-acc);border-bottom-color:var(--lg-acc)}

/* --- кнопки --------------------------------------------------- */
.lg-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 24px;border:1px solid var(--lg-acc);
  background:var(--lg-acc);color:var(--lg-bg);
  font-family:var(--lg-head);font-weight:700;font-size:14.5px;letter-spacing:.02em;
  box-shadow:0 0 0 0 var(--lg-glow);transition:box-shadow .18s ease,transform .18s ease;
}
.lg-btn:hover{box-shadow:0 0 0 4px var(--lg-glow)}
.lg-btn:active{transform:translateY(1px)}
.lg-btn-g{background:transparent;color:var(--lg-tx);border-color:var(--lg-line)}
.lg-btn-g:hover{border-color:var(--lg-acc);color:var(--lg-acc);box-shadow:none}
.lg-btn-s{min-height:44px;padding:0 16px;font-size:13px;flex:0 0 auto}

/* --- сводный счётчик ------------------------------------------ */
.lg-meter{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--lg-line)}
.lg-meter-c{padding:16px 14px;border-left:1px solid var(--lg-hair)}
.lg-meter-c:first-child{border-left:0}
.lg-meter-v{font-family:var(--lg-mono);font-size:20px;color:var(--lg-acc);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.lg-meter-l{font-size:12px;color:var(--lg-mu);line-height:1.35;margin-top:3px}

/* --- секции --------------------------------------------------- */
.lg-sec{padding:38px 0 34px;border-top:1px solid var(--lg-hair)}
.lg-sec:first-of-type{border-top:0}
.lg-sec-h{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}
.lg-no{
  flex:0 0 auto;font-family:var(--lg-mono);font-size:11.5px;letter-spacing:.09em;
  color:var(--lg-acc);border:1px solid var(--lg-line);padding:3px 7px;line-height:1;
}
.lg-h2{font-size:clamp(19px,2.6vw,27px);letter-spacing:-.01em}
.lg-lede{max-width:76ch;color:var(--lg-tx);margin-top:6px}
.lg-post{margin-top:16px}
.lg-note{margin-top:14px;padding-left:13px;border-left:1px solid var(--lg-acc);color:var(--lg-mu);font-size:13.5px;max-width:80ch}

/* --- hero ----------------------------------------------------- */
.lg-hero{padding:30px 0 34px}
.lg-hero-tag{font-family:var(--lg-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--lg-mu);margin-bottom:14px}
.lg-h1{font-size:clamp(25px,4.6vw,44px);letter-spacing:-.015em;max-width:20ch}
.lg-lead{margin-top:16px;max-width:70ch;font-size:15.5px;color:var(--lg-tx)}
.lg-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.lg-doc{margin-top:26px;max-width:560px;border-top:1px solid var(--lg-hair);padding-top:8px}
.lg-kpi{display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px;border:1px solid var(--lg-hair)}
.lg-kpi-c{padding:14px 15px;border-left:1px solid var(--lg-hair)}
.lg-kpi-c:first-child{border-left:0}
.lg-kpi-v{font-family:var(--lg-mono);font-size:17px;color:var(--lg-acc);font-variant-numeric:tabular-nums}
.lg-kpi-l{font-size:12.5px;color:var(--lg-mu);margin-top:2px;line-height:1.35}

/* --- строка с точечным лидером -------------------------------- */
.lg-dl{display:flex;align-items:baseline;gap:0;padding:6px 0;border-bottom:1px solid var(--lg-hair);font-size:14px}
.lg-dl:last-child{border-bottom:0}
.lg-dl-k{flex:0 1 auto;color:var(--lg-mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-dl-d{flex:1 1 auto;min-width:14px;margin:0 8px;border-bottom:1px dotted var(--lg-line);transform:translateY(-4px)}
.lg-dl-v{flex:0 0 auto;font-family:var(--lg-mono);color:var(--lg-tx);text-align:right;font-variant-numeric:tabular-nums}
.lg-dl-v em{font-style:normal;color:var(--lg-acc)}

.lg-dls{margin-top:16px}
.lg-doc .lg-dls{margin-top:0}

/* --- таблицы -------------------------------------------------- */
.lg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--lg-hair)}
.lg-tbl{font-family:var(--lg-mono);font-size:13px;font-variant-numeric:tabular-nums}
.lg-tbl th{
  text-align:left;padding:10px 12px;font-weight:400;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--lg-mu);border-bottom:1px solid var(--lg-line);white-space:nowrap;
}
.lg-tbl td{padding:10px 12px;border-bottom:1px solid var(--lg-hair);vertical-align:top}
.lg-tbl tr:last-child td{border-bottom:0}
.lg-tbl tbody tr:hover{background:var(--lg-surf)}
.lg-tbl .lg-c1{color:var(--lg-tx);white-space:nowrap}
.lg-tbl .lg-acc{color:var(--lg-acc)}
.lg-tbl .lg-acc2{color:var(--lg-acc2)}
.lg-w{min-width:660px}
.lg-w2{min-width:560px}

/* --- шаги ----------------------------------------------------- */
.lg-steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--lg-hair)}
.lg-step{padding:18px 17px;border-left:1px solid var(--lg-hair)}
.lg-step:first-child{border-left:0}
.lg-step-n{font-family:var(--lg-mono);font-size:11.5px;letter-spacing:.12em;color:var(--lg-acc);margin-bottom:8px}
.lg-step h3{font-size:16px;margin-bottom:7px}
.lg-step p{font-size:14px;color:var(--lg-tx)}

/* --- акции ---------------------------------------------------- */
.lg-promo{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--lg-hair)}
.lg-promo-c{padding:18px 17px;border-left:1px solid var(--lg-hair);border-top:1px solid var(--lg-hair)}
.lg-promo-c:nth-child(-n+2){border-top:0}
.lg-promo-c:nth-child(odd){border-left:0}
.lg-promo-c h3{font-size:16px;margin-bottom:6px}
.lg-promo-c p{font-size:14px;margin-bottom:10px}

/* --- разбор площадки ------------------------------------------ */
.lg-qa{border-top:1px solid var(--lg-hair)}
.lg-qa-i{padding:16px 0;border-bottom:1px solid var(--lg-hair);display:grid;grid-template-columns:minmax(190px,30%) 1fr;gap:10px 26px}
.lg-qa-i h3{font-size:16.5px}
.lg-qa-i p{font-size:14.5px;max-width:74ch}

/* --- отзывы --------------------------------------------------- */
.lg-rev{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--lg-hair)}
.lg-rev-c{padding:18px 17px;border-left:1px solid var(--lg-hair)}
.lg-rev-c:first-child{border-left:0}
.lg-rev-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}
.lg-rev-n{font-family:var(--lg-mono);font-size:12.5px;color:var(--lg-tx)}
.lg-star{font-family:var(--lg-mono);font-size:12px;color:var(--lg-acc);letter-spacing:.08em;white-space:nowrap}
.lg-rev-c p{font-size:14px}
.lg-rev-m{margin-top:10px;font-family:var(--lg-mono);font-size:11.5px;color:var(--lg-mu)}

/* --- пре-футер ------------------------------------------------ */
.lg-fin{border:1px solid var(--lg-acc);padding:26px 24px;margin:8px 0 0;background:var(--lg-surf)}
.lg-fin h2{font-size:clamp(19px,2.6vw,26px)}
.lg-fin p{margin-top:10px;max-width:66ch;color:var(--lg-tx)}

/* --- FAQ ------------------------------------------------------ */
.lg-faq{border-top:1px solid var(--lg-hair)}
.lg-faq details{border-bottom:1px solid var(--lg-hair)}
.lg-faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:52px;padding:13px 0;cursor:pointer;list-style:none;
  font-size:15px;font-family:var(--lg-body);
}
.lg-faq summary::-webkit-details-marker{display:none}
.lg-faq summary::after{content:"+";font-family:var(--lg-mono);color:var(--lg-acc);font-size:17px;flex:0 0 auto}
.lg-faq details[open] summary::after{content:"−"}
.lg-faq details[open] summary{color:var(--lg-acc)}
.lg-faq-a{padding:0 0 16px;font-size:14.5px;max-width:82ch;color:var(--lg-tx)}
.lg-faq-q{flex:1 1 auto}

/* --- author note / подвал ------------------------------------- */
.lg-auth{border:1px solid var(--lg-hair);padding:20px 19px;background:var(--lg-surf)}
.lg-auth p{font-size:14px;max-width:80ch;margin-top:8px}
.lg-foot{border-top:1px solid var(--lg-line);margin-top:34px;padding:26px 0 40px;color:var(--lg-mu);font-size:13px}
.lg-foot p{margin-bottom:9px;max-width:88ch}
.lg-age{
  display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;
  border:1px solid var(--lg-acc);color:var(--lg-acc);font-family:var(--lg-mono);font-size:13px;
  margin-right:12px;padding:0 10px;
}
.lg-foot-r{display:flex;align-items:flex-start;gap:0;flex-wrap:wrap;margin-bottom:14px}
.lg-foot-links{display:flex;flex-wrap:wrap;gap:16px;font-family:var(--lg-mono);font-size:12px;margin-top:14px;color:var(--lg-mu)}

/* --- адаптив -------------------------------------------------- */
@media (max-width:900px){
  .lg-qa-i{grid-template-columns:1fr;gap:4px}
  .lg-rev{grid-template-columns:1fr}
  .lg-rev-c{border-left:0;border-top:1px solid var(--lg-hair)}
  .lg-rev-c:first-child{border-top:0}
}
@media (max-width:720px){
  .lg-nav{display:none}
  .lg-steps{grid-template-columns:1fr}
  .lg-step{border-left:0;border-top:1px solid var(--lg-hair)}
  .lg-step:first-child{border-top:0}
  .lg-promo{grid-template-columns:1fr}
  .lg-promo-c{border-left:0}
  .lg-promo-c:nth-child(2){border-top:1px solid var(--lg-hair)}
}
@media (max-width:640px){
  body{font-size:15px}
  .lg-wrap{padding:0 14px}
  .lg-top-in{padding:7px 14px;min-height:54px;gap:10px}
  .lg-mark{font-size:15px}
  .lg-meter{grid-template-columns:repeat(2,1fr)}
  .lg-meter-c{padding:11px 13px;border-top:1px solid var(--lg-hair)}
  .lg-meter-c:nth-child(odd){border-left:0}
  .lg-meter-c:nth-child(-n+2){border-top:0}
  .lg-meter-c:last-child{grid-column:1/-1}
  .lg-meter-v{font-size:18px}
  .lg-hero{padding:22px 0 26px}
  .lg-h1{max-width:100%}
  .lg-cta{gap:10px}
  .lg-cta .lg-btn{width:100%;min-height:54px}
  .lg-btn-s{min-height:44px;padding:0 14px;font-size:12.5px;width:auto}
  .lg-kpi{grid-template-columns:repeat(2,1fr)}
  .lg-kpi-c:nth-child(odd){border-left:0}
  .lg-kpi-c:nth-child(n+3){border-top:1px solid var(--lg-hair)}
  .lg-sec{padding:30px 0 26px}
  .lg-dl{font-size:13.5px;flex-wrap:wrap}
  .lg-dl-k{white-space:normal}
  .lg-fin{padding:20px 16px}
  .lg-auth{padding:16px 15px}

  /* широкая таблица листается вбок, первая колонка стоит на месте */
  .lg-scroll:not(.lg-cards) .lg-c1{position:sticky;left:0;z-index:1;background:var(--lg-bg)}
  .lg-scroll:not(.lg-cards) th:first-child{position:sticky;left:0;z-index:1;background:var(--lg-bg)}

  /* таблицы-схлопыши: строка = карточка, подпись колонки из data-h */
  .lg-cards{border:0;overflow:visible}
  .lg-cards .lg-tbl{min-width:0}
  .lg-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lg-cards tr{display:block;border:1px solid var(--lg-hair);margin-bottom:-1px;padding:4px 0}
  .lg-cards td{display:flex;justify-content:space-between;gap:14px;border:0;padding:5px 12px}
  .lg-cards td::before{content:attr(data-h);color:var(--lg-mu);font-size:11px;letter-spacing:.09em;text-transform:uppercase;flex:0 0 auto;padding-top:2px}
  .lg-cards td:first-child{border-bottom:1px solid var(--lg-hair);padding-bottom:8px;margin-bottom:4px}
}
