/* Кабинет Геры (W08). Палитра и логотип — один в один с лендингом /var/www/gera (assets/style.css :root):
   ночной малахит, золото, бирюзовая ⚡-энергия; логотип «Гера» — Poiret One капителью, цвет --gold-hi, как .brand__name.
   Тема одна (тёмная, как сайт) — тема Telegram не перекрашивает кабинет.
   Шрифты как на лендинге: текст — Alegreya Sans, заголовки — Poiret One (один файл, одна версия ?v= с preload). */
@font-face{font-family:"Poiret One";font-style:normal;font-weight:400;font-display:swap;src:url(poiret-one.woff2?v=5) format("woff2")}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:400;font-display:swap;src:url(alegreya-sans-400.woff2?v=5) format("woff2")}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:500;font-display:swap;src:url(alegreya-sans-500.woff2?v=5) format("woff2")}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:600 700;font-display:swap;src:url(alegreya-sans-700.woff2?v=5) format("woff2")}
:root{
  /* токены сайта */
  --site-ink:#050A08; --site-bg:#08110E; --site-bg2:#0D1A15; --malachite:#1C3A2F;
  --line:rgba(201,164,92,.24); --hair:rgba(239,230,210,.08);
  --gold:#C9A45C; --gold-hi:#E6CF98; --gold-lo:#8E6F35;
  --volt:#47D9BA; --volt-a:rgba(0,194,155,.35); --arc:#C0FFFF;
  --bolt:#2FD9B4; --bolt-hi:#C0FFFF; --plasma:#03644F;
  --ivory:#EFE6D2; --muted:#A3AEA5;
  /* роли кабинета → токены сайта */
  --bg:#0A1411; --bg2:var(--site-bg);
  --text:var(--ivory); --hint:var(--muted);
  --link:var(--gold-hi);
  --accent:var(--gold); --accent-text:#16120A;
  --gold-fill:linear-gradient(180deg,var(--gold-hi),var(--gold) 55%,#A9853F);
  --sep:var(--hair);
  --danger:#FF7B7B;
  --card:#0F1C17; --card-line:var(--line);
  --spark:var(--bolt-hi);
  --gold-line:var(--gold);
  --ok:var(--volt); --ok-bg:rgba(0,194,155,.12);
  --danger-fill:#B8323A;
  --warn:var(--gold); --warn-bg:rgba(201,164,92,.13);
  --bad:#FF7B7B; --bad-bg:rgba(255,123,123,.12);
  --muted-bg:rgba(201,164,92,.18);
  --bar:var(--volt-a); --bar-today:var(--bolt);
  --tab-on:var(--malachite);
  --tile-bg:rgba(8,17,14,.35);
  --shadow:0 20px 50px -24px rgba(0,0,0,.8);
  --em:#183127; --em-2:#0E1C17; --em-line:var(--line); --em-text:var(--ivory); --em-hint:rgba(239,230,210,.72);
  --mal:var(--volt); --plus:var(--volt);
  /* размеры и формы — одни на весь кабинет (docs/audit_2026-10-20_miniapp §4) */
  --serif:"Poiret One",Georgia,"Times New Roman",serif;
  --sans:"Alegreya Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:22px; --r-tile:14px; --r-pill:999px;
  --btn-h:48px; --tap:44px;
  --num-xl:34px; --num-l:20px; --num-m:16px; --num-s:14px;
  /* выбранное — одно состояние для всего: плиток, сегментов, чипов, вкладок */
  --sel-bg:var(--malachite); --sel-line:var(--gold); --sel-text:var(--gold-hi);
  color-scheme:dark;
  font-family:var(--sans);
  font-size:17px; line-height:1.45; color:var(--text); background:var(--bg2);
  -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg2)}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
button:disabled{cursor:default;opacity:.45}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.grow{flex:1}
.hint{color:var(--hint);font-size:15px;line-height:1.45;margin:0}
.num{font-variant-numeric:tabular-nums}
.defs{position:absolute;width:0;height:0;overflow:hidden}
/* молния ⚡ — как .zap на лендинге (без анимации вспышек) */
.zap{display:inline-block;width:1.05em;height:1.15em;vertical-align:-.2em;margin:0 .08em;font-style:normal;
  filter:drop-shadow(0 0 2px rgba(191,241,255,.9)) drop-shadow(0 0 7px rgba(95,170,255,.75))}
.zap svg{display:block;width:100%;height:100%;overflow:visible}

/* ---------- раскладка: телефон ---------- */
.app{min-height:100vh;display:flex;flex-direction:column}
.nav{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--sep);padding:10px 12px 8px}
.brand{display:flex;align-items:center;gap:10px;padding:0 4px 8px}
.brand-av{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none;
  box-shadow:0 0 0 1px var(--gold),0 0 0 3px var(--site-bg),0 0 0 4px rgba(201,164,92,.45),0 0 14px rgba(0,194,155,.25)}
.logo{font:400 20px/1 "Poiret One",Georgia,"Times New Roman",serif;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-hi);font-synthesis:none}
.brand-sub{font-size:14px;color:var(--hint);margin-left:auto}
.nav-foot{display:none}
.tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--bg2);border-radius:var(--r-tile);padding:3px}
.tabs button{min-height:48px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-size:14px;font-weight:500;color:var(--hint);transition:background .15s,color .15s;position:relative}
.tabs button:hover{color:var(--text)}
.tabs button[aria-selected=true]{background:var(--sel-bg);color:var(--sel-text);font-weight:600;box-shadow:inset 0 0 0 1px var(--sel-line)}
.tabs .wide-only,.tabs .tabs-sep{display:none}
.tabs .soon{font-size:11px;color:var(--hint);font-weight:400}
.ti{width:18px;height:18px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;flex:none}
.ti-home{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E")}
.ti-data{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cellipse cx='12' cy='5.5' rx='8' ry='3'/%3E%3Cpath d='M4 5.5v13c0 1.7 3.6 3 8 3s8-1.3 8-3v-13'/%3E%3Cpath d='M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E")}
.ti-rules{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h10M18 6h2M4 12h4M12 12h8M4 18h12M20 18h0'/%3E%3Ccircle cx='16' cy='6' r='2'/%3E%3Ccircle cx='10' cy='12' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E")}
.ti-journal{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.ti-bolt{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E")}
.ti-spark{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3l2 6 6 2-6 2-2 6-2-6-6-2 6-2z'/%3E%3C/svg%3E")}
.ti-plus{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3C/svg%3E")}
.ti-task{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='3'/%3E%3Cpath d='M8 12l3 3 5-6'/%3E%3C/svg%3E")}
.ti-flask{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6l-5 9a2 2 0 0 0 2 3h10a2 2 0 0 0 2-3l-5-9V3'/%3E%3Cpath d='M7.5 15h9'/%3E%3C/svg%3E");width:15px;height:15px}
.ti-cal{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E")}
.ti-board{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3.5' y='4' width='5' height='16' rx='1.5'/%3E%3Crect x='10.5' y='4' width='5' height='11' rx='1.5'/%3E%3Crect x='17.5' y='4' width='3' height='7' rx='1.2'/%3E%3C/svg%3E")}
.ti-more{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E")}
.ti-map{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3Ccircle cx='4.5' cy='6' r='2'/%3E%3Ccircle cx='19.5' cy='6' r='2'/%3E%3Ccircle cx='19.5' cy='18' r='2'/%3E%3Cpath d='M6.3 7l3.6 3.4M17.7 7l-3.6 3.4M17.8 16.9l-3.7-3.4'/%3E%3C/svg%3E")}
.ti-meet{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E")}
.ti-crm{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.8-3.6 3.4-5.5 6.5-5.5s5.7 1.9 6.5 5.5'/%3E%3Cpath d='M16 5.2a3.3 3.3 0 0 1 0 6M18.5 14.8c1.6.8 2.6 2.5 3 5.2'/%3E%3C/svg%3E")}
.ti-chev{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");width:16px;height:16px}
.ti-gift{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='9' width='17' height='11.5' rx='2'/%3E%3Cpath d='M2.5 9h19M12 9v11.5M12 9c-1.5-3.5-5.5-4.5-6-2s3 2 6 2c3 0 6.5.5 6-2s-4.5-1.5-6 2'/%3E%3C/svg%3E")}
.ti-check{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");width:14px;height:14px}
.ti-note{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5M9 12h7M9 16h5'/%3E%3C/svg%3E")}
.ti-lock{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");width:14px;height:14px}

.main{flex:1;min-width:0;padding:4px 12px 32px}
.head{display:flex;align-items:center;gap:10px;padding:14px 4px 10px;flex-wrap:wrap}
.head h1{margin:0;font:400 28px/1.2 var(--serif);letter-spacing:.02em;color:var(--ivory);font-synthesis:none}
.view{display:flex;flex-direction:column;gap:12px}

/* ---------- метка «Проверено» (Ф18) ---------- */
.checked{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--hint);white-space:nowrap}
.checked::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none;box-shadow:0 0 6px var(--ok)}
.checked.stale::before{background:var(--warn);box-shadow:0 0 6px var(--warn)}
.checked.stale{color:var(--warn)}
.checked .refresh{min-height:var(--tap);padding:0 12px;margin:-12px -4px -12px 2px;border-radius:var(--r-pill);color:var(--gold-hi);font-weight:600;
  border:1px solid var(--gold);background:rgba(8,17,14,.4);font-size:13px}
.checked .refresh:hover{background:var(--gold);color:var(--site-ink)}

/* ---------- карточки ---------- */
.card{background:linear-gradient(180deg,#0F1C17,#0A1411);border:1px solid var(--card-line);border-radius:var(--r);padding:18px;min-width:0;scroll-margin-top:150px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.card-h{display:flex;align-items:center;gap:8px;margin:0 0 14px;flex-wrap:wrap;min-height:24px}
/* заголовок карточки — как .eyebrow лендинга */
.card-h h2{margin:0;font:400 15px/1.2 var(--serif);color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-synthesis:none}
.card-h .checked{margin-left:auto}
.sec-note{margin:-4px 0 12px}

/* искры */
.sparks{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
/* баланс — один компонент на «Обзоре» и в «Искрах»: кегль --num-xl, месячные — золото, пакеты — бирюза */
.sparks b{font-size:var(--num-xl);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.sparks .bolt{color:var(--spark);font-size:26px;font-weight:700}
.sparks small{font-size:15px;color:var(--hint)}
.meter{display:flex;gap:2px;height:8px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden;margin:12px 0 8px}
.meter i{display:block;height:100%;border-radius:5px}
.meta-row{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:15px;color:var(--hint)}
.forecast{margin-top:14px;padding:12px 14px;border-radius:var(--r-tile);background:var(--bg2);display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--gold)}
.forecast strong{font-size:17px;font-weight:700}
.forecast.warn{border-left-color:var(--warn)}.forecast.warn strong{color:var(--warn)}
.forecast.low{border-left-color:var(--bad)}.forecast.low strong{color:var(--bad)}
.bars{display:grid;grid-template-columns:repeat(var(--n,14),minmax(0,1fr));gap:4px;align-items:end;height:84px;margin-top:16px;padding-top:4px}
.bars span{display:block;background:var(--bar);border-radius:4px 4px 2px 2px;min-height:2px}
.bars span.today{background:var(--bar-today)}
.bars-x{display:flex;justify-content:space-between;font-size:13px;color:var(--hint);margin-top:6px}

/* строки-ссылки */
/* строки списков: одна подсветка при наведении; кликабельные — с курсором */
.line,.act,.tx,.pr,.cat,.rep-row,.more-row{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;border-radius:12px;transition:background .15s}
.line:hover,.act:hover,.tx:hover,.pr:hover,.cat:hover,.more-row:hover{background:var(--hair)}
.cat,.more-row{cursor:pointer}
.line{display:flex;align-items:center;gap:12px;padding-top:10px;padding-bottom:10px;border-top:1px solid var(--sep);min-width:0}
.line:first-child,.card-h+.line{border-top:0}
.line .lt{flex:1;min-width:0}
.line .lt b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.line .lt span{display:block;font-size:15px;color:var(--hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.go{color:var(--link);font-weight:600;font-size:15px;padding:10px 4px;min-height:var(--tap);white-space:nowrap}
.go:hover{color:var(--ivory)}

/* статусы */
.st{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:3px 8px;border-radius:7px;white-space:nowrap;line-height:1.3}
.st.done,.st.connected{color:var(--ok);background:var(--ok-bg)}
.st.failed,.st.error{color:var(--bad);background:var(--bad-bg)}
.st.pending,.st.readonly,.st.unknown{color:var(--warn);background:var(--warn-bg)}
.st.cancelled,.st.skip{color:var(--hint);background:var(--muted-bg)}

/* ---------- журнал ---------- */
/* подзаголовки внутри раздела — один стиль (день в журнале и истории, группа в прайсе) */
.day-h,.sub-h{margin:14px 0 6px;font-size:13px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.06em}
.view>.day-h{margin:6px 4px 0}
.acts{display:flex;flex-direction:column}
.act{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding-top:11px;padding-bottom:11px;border-top:1px solid var(--sep)}
.act:first-child{border-top:0}
.act time{font-size:var(--num-s);font-weight:600;padding-top:1px}
.act time small{display:block;font-size:12px;font-weight:400;color:var(--hint)}
.act .ab{min-width:0;display:flex;flex-direction:column;gap:5px}
.act .at{font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.act .am{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;color:var(--hint)}
.kind{font-size:14px;color:var(--hint)}
.asked{color:var(--link)}
.cost{color:var(--spark);font-weight:600;font-size:var(--num-s)}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.chip-btn{min-height:var(--tap);padding:0 16px;border-radius:var(--r-pill);background:rgba(8,17,14,.4);border:1px solid var(--sep);font-size:15px;font-weight:500;color:var(--hint);transition:background .15s,color .15s,border-color .15s}
.chip-btn:hover{color:var(--text);border-color:var(--line)}
.chip-btn[aria-pressed=true]{background:var(--sel-bg);border-color:var(--sel-line);color:var(--sel-text);font-weight:600}
.notice{padding:12px 14px;border-radius:var(--r-tile);background:var(--warn-bg);color:var(--text);font-size:13px;line-height:1.45}

/* ---------- режимы хранения ---------- */
.modes{display:grid;gap:10px}
/* плитки выбора (режим, хранилище, глубина): одна рамка, одно «выбрано» = --sel-* + точка */
.mode,.prov button,.efforts button{border-radius:var(--r-tile);border:1px solid var(--sep);background:rgba(8,17,14,.4);transition:border-color .15s,background .15s}
.mode:hover:not(:disabled),.prov button:hover:not(:disabled),.efforts button:hover:not(:disabled){border-color:var(--line)}
.mode[aria-checked=true],.prov button[aria-pressed=true],.efforts button[aria-pressed=true]{border-color:var(--sel-line);background:var(--sel-bg);box-shadow:inset 0 0 0 1px var(--sel-line)}
.mode[aria-checked=true] b,.prov button[aria-pressed=true],.efforts button[aria-pressed=true] b{color:var(--sel-text)}
.mode{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;text-align:left;padding:14px;width:100%}
.mode:disabled{opacity:.6}
.dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--hint);margin-top:1px;display:grid;place-items:center;flex:none}
[aria-checked=true]>.dot,[aria-pressed=true]>.dot{border-color:var(--sel-line)}
[aria-checked=true]>.dot::after,[aria-pressed=true]>.dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--sel-line)}
.mode b{display:block;font-size:17px;font-weight:600}
.mode .ms{display:block;font-size:15px;color:var(--hint);margin-top:2px}
.mode .mp{display:block;font-size:14px;margin-top:8px;line-height:1.4}
.mode .mc{display:block;font-size:14px;color:var(--hint);margin-top:2px;line-height:1.4}
.opt{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:15px;min-height:var(--tap)}
.opt input{width:20px;height:20px;accent-color:var(--accent);flex:none}

/* ---------- формы ---------- */
.form{display:flex;flex-direction:column;gap:12px}
.prov{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.prov button{min-height:56px;padding:8px 12px;text-align:left;font-weight:600;font-size:15px;line-height:1.25}
.prov button small{display:block;font-weight:400;font-size:13px;color:var(--hint)}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-size:14px;font-weight:600;color:var(--hint)}
.fld input{height:var(--btn-h);border-radius:var(--r-tile);border:1px solid var(--sep);background:var(--bg);padding:0 14px;min-width:0;width:100%}
.fld input::placeholder{color:var(--hint)}
.fld input[aria-invalid=true],.fld textarea[aria-invalid=true]{border-color:var(--danger)}
.form-err{color:var(--danger);font-size:14px;margin:0}
.form-ok{color:var(--ok);font-size:13px;margin:0}
.btns{display:flex;flex-wrap:wrap;gap:8px}
/* кнопки — одна форма (pill, как .btn лендинга), разные только цвета */
.btn,.btn-em,.btn-sec,.btn-danger,.btn-danger-o{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--btn-h);padding:0 22px;
  border-radius:var(--r-pill);font:600 16px/1 var(--sans);letter-spacing:.02em;white-space:nowrap;text-decoration:none;transition:filter .15s,background .15s,color .15s,transform .15s}
.btn,.btn-em{background:var(--gold-fill);background-color:var(--gold);color:var(--accent-text);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 0 0 1px rgba(230,207,152,.3)}
.btn:hover:not(:disabled),.btn-em:hover:not(:disabled){filter:brightness(1.06)}
.btn:active:not(:disabled),.btn-em:active:not(:disabled),.btn-sec:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-danger-o:active:not(:disabled){transform:scale(.98)}
.btn.wide{width:100%}
.btn-sec{background:rgba(8,17,14,.4);border:1px solid var(--gold);color:var(--gold-hi)}
.btn-sec:hover:not(:disabled){background:var(--gold);color:var(--site-ink)}
.btn-danger{background:var(--danger-fill);color:#fff}
.btn-danger-o{background:var(--bad-bg);color:var(--danger);border:1px solid rgba(255,123,123,.35)}
.btn-danger:hover:not(:disabled),.btn-danger-o:hover:not(:disabled){filter:brightness(1.08)}
.busy{position:relative;color:transparent!important}
.busy::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;
  border:2px solid var(--accent-text);border-right-color:transparent;animation:spin .7s linear infinite}
.btn-sec.busy::after{border-color:var(--link);border-right-color:transparent}

/* хранилище подключено */
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:15px;margin:0 0 14px}
.kv dt{color:var(--hint)}
.kv dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv dd.wrap{white-space:normal;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}

/* удаление по категориям */
.cats{display:flex;flex-direction:column}
.cat{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding-top:11px;padding-bottom:11px;border-top:1px solid var(--sep)}
.cat:first-child{border-top:0}
.cat:has(input:checked){background:var(--bad-bg)}
.cat:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}
.cat input{width:20px;height:20px;accent-color:var(--danger);margin:0}
.cat b{display:block;font-weight:600}
.cat span{display:block;font-size:15px;color:var(--hint);line-height:1.35}
.cat em{font-style:normal;font-size:var(--num-s);font-weight:600;color:var(--hint);white-space:nowrap}

/* правила */
.scope{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--spark);padding:6px 10px;border-radius:9px;
  background:color-mix(in srgb,var(--spark) 10%,transparent)}
.row-sw{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--sep);min-height:var(--tap)}
label.row-sw{cursor:pointer}
.card-h+.row-sw{border-top:0;padding-top:0}
.row-sw .lt{flex:1;min-width:0}
.row-sw .lt b{display:block;font-weight:600}
.row-sw .lt span{display:block;font-size:15px;color:var(--hint);margin-top:2px;line-height:1.35}
.switch{position:relative;width:51px;height:31px;flex:none}
.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:1}
.switch span{position:absolute;inset:0;border-radius:16px;background:var(--sep);transition:background .15s}
.switch span::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:var(--ivory);box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .15s}
.switch input:checked+span{background:var(--sel-bg);box-shadow:inset 0 0 0 1px var(--sel-line)}
.switch input:checked+span::after{background:var(--gold-hi)}
.switch input:checked+span::after{transform:translateX(20px)}
.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.seg{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;background:var(--bg2);border-radius:var(--r-tile);padding:2px;gap:2px}
.seg button{min-height:var(--tap);border-radius:12px;font-size:15px;font-weight:500;color:var(--hint);padding:0 8px;line-height:1.2}
.seg button:hover{color:var(--text)}
.seg button[aria-pressed=true]{background:var(--sel-bg);color:var(--sel-text);font-weight:600;box-shadow:inset 0 0 0 1px var(--sel-line)}
.efforts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.efforts button{min-height:64px;text-align:left;padding:9px 12px}
.efforts button b{display:block;font-weight:600;font-size:16px}
.efforts button span{display:block;font-size:13px;color:var(--hint);margin-top:2px;line-height:1.3}
.auto{display:flex;flex-direction:column}
.auto-row{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--sep)}
.auto-row:first-child{border-top:0;padding-top:0}
.auto-row .lbl{font-size:15px;line-height:1.35}
.auto-row .locked{display:inline-flex;align-items:center;justify-self:end;gap:6px;padding:4px 10px;font-size:13px;color:var(--hint);border-radius:var(--r-pill);border:1px solid var(--sep)}
.thr{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--sep);font-size:15px}
.thr input{width:96px;height:var(--tap);border-radius:12px;border:1px solid var(--sep);background:var(--bg);padding:0 10px;text-align:right}


/* ---------- искры: баланс, пакеты, история ---------- */
.sp-more{margin-top:14px}
.sp-hero{color:var(--em-text);border:1px solid var(--em-line);position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--em),var(--em-2))}
.sp-hero::before{content:"";position:absolute;left:16px;right:16px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line),transparent);opacity:.8}
.sp-hero .checked,.sp-hero small{color:var(--em-hint)}
.meter i.m,.sw.m{background:var(--gold-line)}
.meter i.p,.sw.p{background:var(--mal)}
.sp-split{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px;color:var(--hint)}
.sp-split b{color:var(--text);font-weight:600}
.sw{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:1px}
.sp-tariff{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.sp-tariff b{display:block;font-size:16px;font-weight:600}
.sp-tariff span{display:block;font-size:14px;color:var(--em-hint);margin-top:2px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.fr-m{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:14px;color:var(--em-hint)}
.fr-m b{color:var(--text);font-weight:600}
.fr-m i{display:block;grid-column:1/-1;height:6px;border-radius:3px;margin-top:6px;background:var(--line);overflow:hidden}
.fr-m i span{display:block;height:100%;width:0;background:var(--accent)}
.fr-up{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;font-size:14px;line-height:1.45;color:var(--text)}
.fr-up .ti{flex:none;margin-top:2px}
@media (max-width:480px){.fr{grid-template-columns:1fr}}
.sp-packs{margin:12px 0 0;font-size:14px;color:var(--em-hint);line-height:1.45}
.steps{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:16px;line-height:1.4}
.steps b{font-weight:600}
.sp-month{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:15px;color:var(--hint);padding:10px 12px;border-radius:12px;background:var(--bg2)}
.sp-month b{color:var(--text)}
.sp-hero .sp-month{margin-top:14px;background:rgba(255,255,255,.06);color:var(--em-hint)}
.sp-hero .sp-month b{color:var(--em-text)}
.gens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gen-btn{min-height:58px;border-radius:var(--r-tile);border:1px solid var(--line);background:rgba(8,17,14,.4);padding:8px 10px;text-align:left;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.25}
.gen-btn b{color:var(--spark);font-size:var(--num-m);font-weight:600}
.gen-btn:hover:not(:disabled){border-color:var(--gold)}
.gen-btn.busy b{visibility:hidden}
.gen-res{margin-top:12px;padding:11px 13px;border-radius:var(--r-tile);display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.4;border-left:3px solid var(--ok);background:var(--ok-bg)}
.gen-res b{font-size:14px}
.gen-res.refund{border-left-color:var(--warn);background:var(--warn-bg)}
.test-note{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:9px 12px;border-radius:12px;font-size:15px;line-height:1.4;
  background:color-mix(in srgb,var(--mal) 14%,transparent);color:var(--text)}
.offers{display:flex;flex-direction:column;gap:8px}
.offer{position:relative;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:var(--r-tile);border:1px solid var(--line);background:rgba(8,17,14,.4)}
.of-l{flex:1;min-width:0}
.of-l b{display:block;font-size:var(--num-l);font-weight:700;letter-spacing:-.01em}
.of-l span{display:block;font-size:14px;color:var(--hint);margin-top:2px}
.offer .btn-em{min-width:104px}
.btn-em.busy::after{border-color:var(--accent-text);border-right-color:transparent}
.txs{display:flex;flex-direction:column}
.tx{display:grid;grid-template-columns:52px 20px minmax(0,1fr) auto;gap:10px;align-items:start;padding-top:10px;padding-bottom:10px;border-top:1px solid var(--sep)}
.tx:first-child{border-top:0}
.tx time{font-size:var(--num-s);font-weight:600;padding-top:2px}
.tx-ic{color:var(--hint);margin-top:1px}
.tx .ab{min-width:0;display:flex;flex-direction:column;gap:5px}
.tx .at{font-weight:600;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.tx .am{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.delta{font-size:var(--num-m);font-weight:600;white-space:nowrap;padding-top:1px}
.delta.plus{color:var(--plus)}.delta.minus{color:var(--text)}.delta.zero{color:var(--hint)}
.st.refund{color:var(--warn);background:var(--warn-bg)}
.price-list{display:flex;flex-direction:column}
.pr{display:flex;align-items:baseline;gap:12px;padding-top:8px;padding-bottom:8px;border-top:1px solid var(--sep);font-size:15px;line-height:1.35}
.pr:first-child{border-top:0}
.pr span{flex:1;min-width:0}
.pr small{display:block;font-size:12px;color:var(--hint)}
.pr b{color:var(--spark);white-space:nowrap;font-size:var(--num-m);font-weight:600}
/* аккордеон прайса: открыта одна группа (<details name>) */
.acc{border-top:1px solid var(--sep)}
.acc:first-of-type{border-top:0}
.acc summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:52px;cursor:pointer;font-weight:600;font-size:16px;margin:0 -10px;padding:0 10px;border-radius:12px}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{background:var(--hair)}
.acc summary .from{margin-left:auto;font-weight:500;font-size:14px;color:var(--hint)}
.acc summary .ti-chev{color:var(--gold);transition:transform .2s}
.acc[open] summary .ti-chev{transform:rotate(90deg)}
.acc .price-list{padding:0 0 10px}
.card .filters{margin-bottom:4px}
.filters.hf{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -2px 4px;padding:0 2px}
.filters.hf::-webkit-scrollbar{display:none}
.filters.hf .chip-btn{flex:none}
.tx .kind{font-size:14px}
@media (max-width:420px){
  .tabs button{font-size:13px}
  .filters.hf .chip-btn{padding:0 13px;font-size:14px}
  .gens{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tx{grid-template-columns:46px minmax(0,1fr) auto}
  .tx-ic{display:none}
}
@media (min-width:768px){
  .offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .offer{flex-direction:column;align-items:stretch;gap:12px;padding:18px 16px 16px}
  .offer .btn-em{width:100%;margin-top:auto}
}

/* ---------- нижний лист ---------- */
.sheet-back{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:30;animation:fade .15s ease-out}
.sheet{position:fixed;left:0;right:0;bottom:0;max-height:92vh;background:var(--site-bg2);border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;z-index:31;
  display:flex;flex-direction:column;animation:up .2s ease-out;box-shadow:var(--shadow)}
.sheet-grip{width:36px;height:5px;border-radius:3px;background:var(--sep);margin:6px auto 0}
.sheet-head{display:flex;align-items:center;gap:12px;padding:8px 16px 8px}
.sheet-head h2{margin:0;font:400 22px/1.2 var(--serif);letter-spacing:.02em;flex:1;min-width:0;font-synthesis:none}
.x-btn{width:var(--tap);height:var(--tap);border-radius:50%;display:grid;place-items:center;color:var(--hint);margin-right:-8px}
.x-btn:hover{background:var(--hair);color:var(--text)}
.x-btn::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat}
.sheet-body{overflow:auto;padding:4px 16px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}
.rep{display:flex;flex-direction:column}
.rep-row{display:flex;align-items:center;gap:10px;padding-top:10px;padding-bottom:10px;border-top:1px solid var(--sep)}
.rep-row:first-child{border-top:0}
.rep-row b{flex:1;min-width:0;font-weight:600}
.rep-row .n{color:var(--hint);font-size:14px;white-space:nowrap}
.warn-box{padding:12px 14px;border-radius:var(--r-tile);background:var(--bad-bg);color:var(--text);font-size:15px;line-height:1.45}
.warn-box b{color:var(--danger)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;background:rgba(6,12,10,.94);border:1px solid var(--line);color:var(--ivory);font-size:15px;
  padding:11px 16px;border-radius:var(--r-tile);max-width:calc(100vw - 32px);animation:fade .15s ease-out;box-shadow:var(--shadow)}
.empty{padding:28px 16px;text-align:center;color:var(--hint);font-size:15px;line-height:1.5}
.err-box{padding:20px 16px;text-align:center}
.err-box p{margin:0 0 12px;color:var(--hint)}
.skeleton{display:flex;flex-direction:column;gap:12px}
.skeleton i{display:block;height:120px;border-radius:var(--r);background:var(--card);animation:pulse 1.2s ease-in-out infinite}
.skeleton i:nth-child(2){height:84px}.skeleton i:nth-child(3){height:160px}

@keyframes up{from{transform:translateY(30px);opacity:.6}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{opacity:.55}}

@media (max-width:420px){
  .auto-row{grid-template-columns:minmax(0,1fr);gap:8px}
  .btns>*{flex:1 1 auto}
}

/* ---------- планшет и десктоп ---------- */
@media (min-width:768px){
  .sheet{left:50%;right:auto;bottom:auto;top:50%;width:520px;max-height:86vh;transform:translate(-50%,-50%);border-radius:16px;animation:fade .15s ease-out}
  .sheet-grip{display:none}
  .sheet-head{padding-top:14px}
  .modes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .prov{grid-template-columns:repeat(4,minmax(0,1fr))}
  .efforts{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1024px){.efforts,.prov{grid-template-columns:repeat(2,minmax(0,1fr))}.offers{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){
  .app{flex-direction:row;max-width:1320px;margin:0 auto;padding:24px;gap:24px;align-items:flex-start}
  .nav{position:sticky;top:24px;width:248px;flex:none;border:1px solid var(--line);border-radius:var(--r);padding:20px 14px;display:flex;flex-direction:column;gap:18px;min-height:calc(100vh - 48px)}
  .brand{flex-wrap:wrap;gap:12px;padding:0 8px}
  .brand-av{width:40px;height:40px}
  .logo{font-size:22px}
  .brand-sub{flex-basis:100%;margin-left:0}
  .tabs{grid-template-columns:1fr;background:none;padding:0;gap:4px}
  .tabs button{flex-direction:row;justify-content:flex-start;gap:12px;padding:0 12px;font-size:16px;min-height:var(--tap)}
  .tabs button:hover{background:var(--hair)}
  .tabs .wide-only{display:flex}
  .tabs .narrow-only{display:none}
  .tabs .tabs-sep{display:block;height:1px;background:var(--sep);margin:8px 12px}
  .tabs .soon{margin-left:auto}
  .nav-foot{display:block;margin-top:auto;padding:0 8px}
  .main{padding:0}
  .head{padding:6px 4px 16px}
  .head h1{font-size:34px}
  :root{--num-xl:40px}
  /* ровная сетка: карточки в паре — одной высоты */
  .view{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:stretch}
  .view>.card{display:flex;flex-direction:column}
  .view>.card>.push{margin-top:auto}
  .view>*{grid-column:span 12}
  .view>.c7{grid-column:span 7}.view>.c5{grid-column:span 5}.view>.c6{grid-column:span 6}
  .view>.c8{grid-column:span 8}.view>.c4{grid-column:span 4}
  .col{gap:16px}
  .col>.card:last-child{flex:1}
  .card{padding:22px;scroll-margin-top:24px}
  .bars{height:110px}
}
/* ---------- «Ещё», «скоро», экран без входа, демо ---------- */
.col{display:flex;flex-direction:column;gap:12px;min-width:0}
.more{display:flex;flex-direction:column}
.more-row{display:flex;align-items:center;gap:14px;min-height:60px;text-align:left;border-top:1px solid var(--sep);width:calc(100% + 20px)}
.more-row:first-child{border-top:0}
.more-row>.ti:first-child{color:var(--gold);width:22px;height:22px}
.more-row .lt{flex:1;min-width:0}
.more-row .lt b{display:block;font-weight:600;font-size:16px}
.more-row .lt span{display:block;font-size:15px;color:var(--hint)}
.more-row .ti-chev{color:var(--hint)}
.soon-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:28px 22px}
.soon-h{margin:0;font:400 26px/1.2 var(--serif);color:var(--ivory);font-synthesis:none}
.sub-h+.hint.sec-gap{margin:-2px 0 10px}
.fine{font-size:14px}
.fine a,.hint a{color:var(--gold-hi)}
.rep-row b small{display:block;font-weight:400;font-size:14px;color:var(--hint);margin-top:2px}
.modes.one{grid-template-columns:1fr!important}
.demo-bar{margin:0;padding:8px 16px;text-align:center;font-size:14px;color:var(--site-ink);background:var(--gold-fill);background-color:var(--gold)}
/* без входа / не участник: витрина «Все возможности» на весь экран (кабинет скрыт) */
.gate{min-height:100vh;min-height:100dvh;background:radial-gradient(120% 60% at 50% 0%,#12271F,var(--site-bg) 55%)}
.gated .app,.gated .demo-bar,.gated .sheet,.gated .sheet-back{display:none!important}
.gate{--w-inset-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px))}
.gate-short{display:grid;place-items:center;padding:24px}
.gate-card{max-width:420px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.gate-av{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--gold),0 0 0 5px var(--site-bg),0 0 0 6px rgba(201,164,92,.45),0 0 30px rgba(0,194,155,.3)}
.gate-card h1{margin:6px 0 0;font:400 30px/1.2 var(--serif);color:var(--ivory);font-synthesis:none}
.gate-card p{margin:0;color:var(--hint);font-size:17px;line-height:1.5}
.w-invite{margin-top:10px}
.w-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;background:var(--site-bg);border-bottom:1px solid var(--sep);
  padding:calc(10px + var(--w-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}
.w-main{max-width:1180px;margin:0 auto;padding:12px max(12px,env(safe-area-inset-right)) calc(24px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px) + var(--tg-content-safe-area-inset-bottom,0px))) max(12px,env(safe-area-inset-left))}

/* ---------- витрина «Все возможности» ---------- */
.w-page{display:flex;flex-direction:column;gap:14px}
.w-page>section{scroll-margin-top:150px}
.w-page.guest>section{scroll-margin-top:calc(72px + var(--w-inset-top,0px))}
.w-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);padding:22px 18px 18px;
  background:radial-gradient(90% 70% at 100% 0%,rgba(71,217,186,.20),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(201,164,92,.18),transparent 65%),linear-gradient(180deg,#132820,#0A1411)}
.w-hero-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.w-av{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--gold),0 0 0 4px var(--site-bg),0 0 0 5px rgba(201,164,92,.45),0 0 26px rgba(0,194,155,.35)}
.w-eyebrow{font:400 15px/1.3 var(--serif);color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-synthesis:none}
.w-title{margin:0;font:400 31px/1.16 var(--serif);color:var(--ivory);letter-spacing:.01em;font-synthesis:none;text-wrap:balance}
.w-title em{font-style:normal;color:var(--gold-hi)}
.w-lead{margin:12px 0 0;font-size:17px;line-height:1.5;color:rgba(239,230,210,.86);max-width:640px}
.w-cta{margin-top:18px}
.w-cta>*{flex:1 1 200px}
.w-facts{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--hint)}
.w-facts li{display:flex;align-items:baseline;gap:10px}
.w-facts li::before{content:"";width:8px;height:8px;border-radius:50%;flex:none;background:var(--volt);box-shadow:0 0 8px var(--volt);transform:translateY(-1px)}
.w-facts b{color:var(--ivory)}
.w-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.w-chip{display:inline-flex;align-items:center;gap:8px;color:var(--text);padding:0 14px}
.w-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hc);box-shadow:0 0 6px var(--hc)}
/* цвет группы — акцент иконок и полоски; база — палитра лендинга */
.h-gold{--hc:#E6CF98;--hc-a:rgba(230,207,152,.20)}
.h-volt{--hc:#47D9BA;--hc-a:rgba(71,217,186,.20)}
.h-arc{--hc:#7DD3FF;--hc-a:rgba(95,200,255,.20)}
.h-amber{--hc:#F2B766;--hc-a:rgba(242,183,102,.20)}
.h-violet{--hc:#AFA4FF;--hc-a:rgba(140,128,255,.22)}
.h-rose{--hc:#F4A493;--hc-a:rgba(244,164,147,.20)}
.w-group{padding-top:10px}
.w-group-h{display:flex;flex-direction:column;gap:2px;margin:0 4px 12px;padding-left:12px;border-left:3px solid var(--hc)}
.w-group-h h3{margin:0;font:400 23px/1.2 var(--serif);color:var(--ivory);font-synthesis:none}
.w-grid{display:grid;grid-template-columns:1fr;gap:10px}
.w-card{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:18px;border:1px solid var(--card-line);min-width:0;
  background:linear-gradient(160deg,var(--hc-a),transparent 55%),linear-gradient(180deg,#0F1C17,#0A1411);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.w-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-self:stretch}
.w-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:none;color:var(--hc);
  background:radial-gradient(circle at 30% 25%,var(--hc-a),transparent 70%),rgba(8,17,14,.55);box-shadow:inset 0 0 0 1px var(--hc-a),0 0 18px -6px var(--hc)}
.w-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.w-tier,.w-soon{display:inline-block;font-size:13px;font-weight:600;line-height:1;padding:4px 9px;border-radius:var(--r-pill);white-space:nowrap}
.w-tier{color:var(--gold-hi);border:1px solid var(--gold-lo);background:rgba(201,164,92,.10)}
.w-soon{color:var(--ivory);background:rgba(239,230,210,.10);border:1px dashed rgba(239,230,210,.38)}
.w-card h4{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:17px;font-weight:700;line-height:1.3;color:var(--ivory)}
.w-card p{margin:0;font-size:15px;line-height:1.4;color:rgba(239,230,210,.80)}
.w-ex{display:block;margin-top:auto;padding:6px 10px;border-radius:12px 12px 12px 4px;background:rgba(239,230,210,.06);border:1px solid var(--hair);
  font-size:14.5px;line-height:1.4;color:var(--muted)}
.w-card p+.w-ex{margin-top:4px}

.w-card.is-soon .w-ic{filter:saturate(.75)}
.w-tariffs .card-h{row-gap:4px}
/* баннер витрины на «Обзоре» */
.w-promo,.view>.w-promo{display:flex;flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap;border-color:var(--gold-lo);
  background:radial-gradient(120% 140% at 0 0,rgba(0,194,155,.16),transparent 60%),linear-gradient(180deg,#0F1C17,#0A1411)}
.w-promo-av{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--gold),0 0 18px rgba(0,194,155,.3)}
.w-promo-t{flex:1 1 220px;min-width:0}
.w-promo h2{margin:0 0 4px;font:400 23px/1.2 var(--serif);color:var(--ivory);font-synthesis:none}
.w-promo p{margin:0;font-size:15px;line-height:1.4;color:var(--hint)}
.w-promo p b{color:var(--ivory)}
.w-promo .btn{flex:1 1 140px;max-width:100%}
@media (min-width:720px){.w-promo .btn{flex:0 0 auto}}
.w-tgrid{display:grid;grid-template-columns:1fr;gap:10px}
.w-tariff{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--r-tile);border:1px solid var(--line);background:var(--bg2)}
.w-tariff.t-pro{border-color:var(--gold);background:radial-gradient(90% 80% at 100% 0%,rgba(201,164,92,.16),transparent 60%),var(--bg2)}
.w-tariff.t-shtab{background:radial-gradient(90% 80% at 100% 0%,rgba(71,217,186,.13),transparent 60%),var(--bg2)}
.w-tname{font:400 22px/1.2 var(--serif);color:var(--gold-hi);font-synthesis:none}
.w-price{display:flex;align-items:baseline;gap:6px}
.w-price b{font-size:26px;font-weight:700;letter-spacing:-.01em}
.w-price small{font-size:15px;color:var(--hint)}
.w-sp{font-size:15px;color:var(--arc);font-weight:600}
.w-tariff p{margin:4px 0 0;font-size:15px;line-height:1.45;color:rgba(239,230,210,.80)}
.w-tariffs .fine{margin-top:12px}
.w-end{border:1px solid var(--line);border-radius:var(--r);padding:22px 18px;text-align:center;
  background:radial-gradient(80% 90% at 50% 0%,rgba(201,164,92,.18),transparent 65%),linear-gradient(180deg,#132820,#0A1411)}
.w-end h2{margin:0;font:400 28px/1.2 var(--serif);color:var(--ivory);font-synthesis:none}
.w-end p{margin:8px auto 0;max-width:560px;color:rgba(239,230,210,.82);font-size:16px}
.w-end .w-cta{justify-content:center;max-width:560px;margin-left:auto;margin-right:auto}
@media (min-width:640px){.w-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.w-tgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:768px){
  .w-hero{padding:32px 32px 26px}
  .w-title{font-size:42px;max-width:780px}
  .w-lead{font-size:18px}
  .w-cta>*{flex:0 1 auto}
  .w-facts{flex-direction:row;flex-wrap:wrap;gap:8px 22px}
}
@media (min-width:1100px){.w-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.w-page:not(.guest)>section{scroll-margin-top:24px}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- страница «Оферта и возврат» ---------- */
.doc{max-width:760px;margin:0 auto;padding:20px 16px 48px;display:flex;flex-direction:column;gap:14px}
.doc h1{margin:8px 0 0;font:400 32px/1.2 var(--serif);color:var(--ivory);font-synthesis:none}
.doc-back{align-self:flex-start}
.doc ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.5}
.doc .test-note{margin:0}

/* ---------- партнёрка (docs/41) ---------- */
.pl-body{display:flex;flex-direction:column;gap:16px}
.pl-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.pl-lead{margin:0;font-size:17px;line-height:1.45}
.pl-lead .bolt{color:var(--spark)}
.pl-url input{width:100%;height:var(--btn-h);border-radius:var(--r-tile);border:1px solid var(--line);background:var(--bg);padding:0 14px;
  color:var(--gold-hi);font-size:15px;text-overflow:ellipsis}
.pl-qr{margin:0;display:flex;align-items:center;gap:14px}
.qr{display:block;width:148px;height:148px;border-radius:12px;flex:none;box-shadow:0 0 0 1px var(--gold),0 0 18px rgba(0,194,155,.18)}
.pl-qr figcaption{max-width:200px}
.pm-split,.pp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.pm-split div,.pp-stats div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-tile);background:var(--bg2);border:1px solid var(--hair);min-width:0}
.pm-split b,.pp-stats b{font-size:var(--num-l);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-split span,.pp-stats span{font-size:14px;color:var(--hint);line-height:1.3}
.pp-stats{margin-top:0}
.pt-next{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding:12px 14px;border-radius:var(--r-tile);background:var(--bg2)}
.pt-next .meter{margin:8px 0 6px}
.pt-next .meter i.m{background:var(--gold)}
.rep-row .st{flex:none}
.pp-row{border-left:3px solid transparent;border-top:0}
.pp-row+.pp-row{margin-top:6px}
.pp-row:not(.paid){background:var(--bg2)}
@media (max-width:520px){.pp-row{flex-wrap:wrap;row-gap:8px}.pp-row>b{flex-basis:100%}.pp-row .n{margin-left:auto}}
.pp-row.paid{border-left-color:var(--ok);background:var(--ok-bg)}
.pp-row.waiting,.pp-row.review{border-left-color:var(--warn)}
.st.big{font-size:14px;padding:5px 10px;border-radius:8px}
.st.big.done{color:var(--bg);background:var(--ok)}
.st.big.pending{box-shadow:inset 0 0 0 1px var(--warn)}
.pp-stats .pp-paid{border-color:var(--ok);background:var(--ok-bg)}
.pp-stats .pp-paid b{color:var(--ok)}
.pp-stats .pp-wait b{color:var(--warn)}
.pp-name{margin-top:6px;padding-top:12px;border-top:1px solid var(--sep)}
.pt-by{display:flex;align-items:center;gap:14px;border-left:3px solid var(--spark,var(--gold));grid-column:1/-1}
.pt-by .ti{width:26px;height:26px;flex:none;color:var(--spark,var(--gold))}
.pt-by div{display:flex;flex-direction:column;gap:2px}
.pt-by span{color:var(--hint);font-size:14px}
.rep-row .n:empty{display:none}
@media (min-width:1024px){
  .pl-body{flex-direction:row;align-items:stretch;gap:22px}
  .pl-qr{flex-direction:column;justify-content:center;gap:8px;text-align:center;padding-left:22px;border-left:1px solid var(--sep)}
  .pl-qr figcaption{max-width:160px;font-size:14px}
  .pt-link .pl-body{flex:1}
  .pl-how{margin-top:auto;padding-top:6px}
}
.tx.ptx{grid-template-columns:78px 20px minmax(0,1fr) auto}
@media (max-width:420px){.tx.ptx{grid-template-columns:62px minmax(0,1fr) auto}.tx.ptx time{font-size:13px}}

/* ---------- свой бот (docs/42) и сообщества (docs/43) ---------- */
.ti-bot{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='8' width='16' height='12' rx='3'/%3E%3Cpath d='M12 8V4M9 13v1M15 13v1M2 13v3M22 13v3'/%3E%3Ccircle cx='12' cy='3.5' r='1'/%3E%3C/svg%3E")}
.ti-shield{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.3 8-8 9-4.7-1-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E")}
.ti-x{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");width:14px;height:14px}
.mb-lead{margin:0 0 14px;font-size:17px;line-height:1.5}
.mb-lead b{color:var(--gold-hi);font-weight:600}
.mb-hero .notice{margin:0 0 14px}
.card code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;color:var(--gold-hi);background:var(--hair);padding:1px 6px;border-radius:6px}
.steps-n{margin:0;padding:0;list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:14px}
.steps-n li{counter-increment:st;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;row-gap:2px}
.steps-n li::before{content:counter(st);grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;color:var(--gold-hi);border:1px solid var(--gold)}
.steps-n b{font-weight:600}
.steps-n span{color:var(--hint);font-size:15px;line-height:1.4}
.steps-n+.hint{margin-top:16px}
.hint .ti-lock{display:inline-block;vertical-align:-2px;color:var(--gold)}
.bot-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:4px 14px;align-items:start;padding:12px 0;border-top:1px solid var(--sep)}
.card-h+.bot-row{border-top:0;padding-top:0}
.bot-av{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:400 24px/1 var(--serif);color:var(--site-ink);background:var(--gold-fill);background-color:var(--gold)}
.bot-row>.st{margin-top:4px}
.bot-b{min-width:0;display:flex;flex-direction:column;gap:2px}
.bot-b b{font-size:18px;font-weight:600;overflow-wrap:anywhere}
.bot-b>span{color:var(--hint);font-size:15px}
.bot-b .bot-meta{display:flex;align-items:center;gap:2px 14px;flex-wrap:wrap}
.bot-meta .agent{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dot-on{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok)}
.bot-btns{grid-column:2 / -1;margin-top:8px}
.gchats{display:grid;gap:12px}
.gchat{border:1px solid var(--sep);border-radius:var(--r-tile);padding:14px 14px 12px;background:var(--tile-bg);min-width:0}
.gchat-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.gchat-h b{font-size:18px;font-weight:600;flex:1 1 12ch;min-width:0;overflow-wrap:anywhere}
.gchat .line{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.gchat .row-sw{padding-bottom:4px}
.gchat>.hint,.gchat>.form-err{margin:0 0 8px}
.checks{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:6px}
.ck{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--hint)}
.ck .ti{width:14px;height:14px}
.ck.ok .ti{color:var(--ok)}.ck.ok{color:var(--text)}
.ck.no .ti{color:var(--bad)}.ck.no{color:var(--bad)}
.ck.na .ti{color:var(--hint)}
.empty-how .empty{padding:8px 0 16px;text-align:left}
.jr{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid var(--sep)}
.card-h+.jr{border-top:0;padding-top:0}
.jr-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.jr-h b{font-size:17px;font-weight:600}
.jr-why{margin:2px 0 0}
.jr-why .st{white-space:normal}
.qa{margin:4px 0 6px;display:grid;gap:4px;padding:10px 12px;border-radius:var(--r-tile);background:var(--bg2);min-width:0}
.qa dt{font-size:14px;color:var(--hint)}
.qa dd{margin:0 0 6px;font-size:16px;line-height:1.4}
.qa dd:last-child{margin-bottom:0}
.jr .btns{margin-top:6px}
.fld textarea{border-radius:var(--r-tile);border:1px solid var(--sep);background:var(--bg);padding:12px 14px;min-width:0;width:100%;resize:vertical;font:inherit;color:inherit;line-height:1.45}
.fld textarea::placeholder{color:var(--hint)}
@media (min-width:900px){
  .gchats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ---------- анкета привратника (guard.html) ---------- */
.gform-wrap{min-height:100vh;display:flex;justify-content:center;padding:20px 14px 40px}
.gform{width:100%;max-width:560px;display:flex;flex-direction:column;gap:14px}
.gbrand{display:flex;align-items:center;gap:10px;padding:4px 2px}
.gform h1{overflow-wrap:anywhere;margin:0;font:400 28px/1.25 var(--serif);color:var(--ivory);font-synthesis:none}
.gform .rules{overflow-wrap:anywhere;white-space:pre-line;font-size:16px;line-height:1.55;margin:0}
.gform .agree{display:flex;gap:12px;align-items:center;min-height:var(--tap);cursor:pointer;font-size:16px}
.gform .agree input{width:22px;height:22px;accent-color:var(--gold);flex:none}
.gform .btn{width:100%}
.gres{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 18px}
.gres .ti{width:44px;height:44px}
.gres.ok .ti{color:var(--ok)}.gres.wait .ti{color:var(--gold)}.gres.no .ti{color:var(--bad)}
.gres h2{margin:0;font:400 26px/1.25 var(--serif);color:var(--ivory)}
.line .lt.wrap b,.line .lt.wrap span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.ti-minus{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E");width:14px;height:14px}
.qa dd{overflow-wrap:anywhere}
.jr-h>*{min-width:0;overflow-wrap:anywhere}
.g-lead{font-size:16px;color:var(--hint)}
.gform [data-gview]{display:flex;flex-direction:column;gap:14px}
.tabs [hidden],.more-row[hidden]{display:none!important}
@media (max-width:420px){.bot-btns{grid-column:1 / -1}.bot-row>.st{grid-column:2;justify-self:start;margin-top:0}}

/* ---------- заметки (gera-notes, docs/45) ---------- */
.fld textarea,.fld select{border-radius:var(--r-tile);border:1px solid var(--sep);background:var(--bg);padding:12px 14px;min-width:0;width:100%;font:inherit;color:inherit}
.fld textarea{resize:vertical;min-height:140px;line-height:1.45}
.fld select{height:var(--btn-h);padding:0 12px}
.fld textarea::placeholder{color:var(--hint)}
.fld textarea[aria-invalid=true]{border-color:var(--danger)}
.nt-add{margin-left:auto;min-height:var(--tap);padding:0 14px;display:inline-flex;align-items:center;gap:6px}
.nt-add .ti{width:16px;height:16px}
.nt-search{display:flex;gap:8px;margin:0 0 12px}
.nt-search input{flex:1;min-width:0;height:var(--btn-h);border-radius:var(--r-tile);border:1px solid var(--sep);background:var(--bg);padding:0 14px}
.nt-search input::placeholder{color:var(--hint)}
.nt-search .btn-sec{flex:none}
.nt-chips{margin:0 0 4px}.nt-chips .chip-btn{padding:0 12px}
.nt-found{margin:6px 0 4px}
.nt-list{display:flex;flex-direction:column;margin-top:6px}
.nt-row{display:flex;gap:12px;align-items:flex-start;text-align:left;width:auto;margin:0 -10px;padding:12px 10px;border-radius:12px;border-top:1px solid var(--sep);background:none;transition:background .15s}
.nt-row:first-child{border-top:0}
.nt-row:hover{background:var(--hair)}
.nt-em{font-size:20px;line-height:1.3;width:26px;flex:none;text-align:center}
.nt-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.nt-b>b{font-weight:600;overflow-wrap:anywhere}
.nt-sn{color:var(--hint);font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.nt-meta{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:13px;color:var(--hint)}
.nt-meta>span+span::before{content:"·";margin-right:10px;color:var(--gold-lo)}
.nt-meta .nt-tag{color:var(--gold-hi)}
.nt-meta .nt-tag::before{content:none}
.nt-meta-s{margin:0 0 12px;font-size:14px}
.nt-body{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg2);border-radius:var(--r-tile);padding:14px;line-height:1.5;margin:0 0 10px;max-height:50vh;overflow:auto}
.nt-path{font-size:13px;overflow-wrap:anywhere;margin:0 0 12px}
.nt-dg{display:flex;align-items:baseline;gap:10px;margin:0 0 8px;flex-wrap:wrap}
.nt-dg b{font-size:var(--num-xl);font-weight:500;color:var(--ivory);line-height:1}
.nt-dg span{color:var(--hint);font-size:15px}
.nt-dgl{margin:0 0 10px}
@media (max-width:420px){.nt-search{flex-wrap:wrap}.nt-search input{flex-basis:100%}}
.nt-empty .btns{margin-top:14px}
