/* YATUMO для бизнеса: сайт партнёров, кабинет, страница туриста. Navy + sunset, тёмный текст на sunset, локальные Onest/Unbounded.
   Шрифты и картинки берём через /yatumo/store/: публичный nginx пропускает только этот префикс (путь /fonts/... отдавал 404 и страница рисовалась запасным шрифтом).
   Движение: только transform/opacity, всё под html.motion-ok (ставит business.js, если посетитель не просил меньше движения). */
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yatumo/store/fonts/onest-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yatumo/store/fonts/onest-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:200 900;font-display:swap;src:url("/yatumo/store/fonts/unbounded-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:200 900;font-display:swap;src:url("/yatumo/store/fonts/unbounded-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url("/yatumo/store/fonts/onest-rub.woff2") format("woff2");unicode-range:U+20BD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:200 900;font-display:swap;src:url("/yatumo/store/fonts/unbounded-rub.woff2") format("woff2");unicode-range:U+20BD}
@font-face{font-family:"Onest fallback";src:local("Arial"),local("Helvetica");size-adjust:105.2%;ascent-override:92.2%;descent-override:29%;line-gap-override:0%}
@font-face{font-family:"Unbounded fallback";src:local("Arial"),local("Helvetica");size-adjust:134.6%;ascent-override:73.9%;descent-override:18.2%;line-gap-override:0%}
/* Windows не рисует флаги сам: шрифт флагов стоит первым в каждом наборе (как в магазине) */
@font-face{font-family:"Twemoji Country Flags";src:url("/yatumo/store/TwemojiCountryFlags.woff2") format("woff2");font-display:swap;unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F}
:root{--navy:#0a1d5c;--navy-2:#131f47;--night:linear-gradient(170deg,#040a2b,#0a1d5c 58%,#164590);--sunset:linear-gradient(120deg,#ffc233 0%,#ff8a2b 48%,#ff5a3c 100%);--on-sunset:#14193a;
  --font:"Twemoji Country Flags",Onest,"Onest fallback",system-ui,sans-serif;--display:"Twemoji Country Flags",Unbounded,"Unbounded fallback",Onest,sans-serif;
  --bg:#f4f6fb;--card:#fff;--ink:#151f40;--muted:#4a577f;--line:#d6deee;--field:#fff;--soft:#fff1e0;--accent:#b33e05;--ok:#16794a;--err:#b3261e;--warn-bg:#fff3cf;--warn-ink:#6b4500;
  --shadow:0 1px 2px rgba(10,29,92,.06),0 12px 32px rgba(10,29,92,.08);--ease:cubic-bezier(.2,.8,.2,1);color-scheme:light}
:root[data-theme=dark]{--bg:#0b1230;--card:#131c42;--ink:#eef1fb;--muted:#a9b4d8;--line:#2a3763;--field:#0e1636;--soft:#22305f;--accent:#ffa66f;--ok:#59d79b;--err:#ff8f86;--warn-bg:#3a3010;--warn-ink:#ffdf8a;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 36px rgba(0,0,0,.35);color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;font:16px/1.55 var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:-.02em;line-height:1.08}
h2{font-size:clamp(22px,2.5vw,28px);font-weight:600}h3{font-size:17px;font-weight:600}
a{color:var(--accent)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* ---------- ночная полоса: шапка всех страниц и герой главной ---------- */
.top{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:#fff}
.top a{color:#fff}
.top::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat;
  background-image:radial-gradient(2px 2px at 8% 18%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 22% 9%,#fff 50%,transparent 51%),radial-gradient(2.5px 2.5px at 35% 24%,#ffe9b8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 48% 12%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 61% 7%,#ffe9d6 50%,transparent 51%),radial-gradient(1.5px 1.5px at 73% 20%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 86% 11%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 94% 28%,#ffe9b8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 14% 46%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 27% 62%,#ffe9d6 50%,transparent 51%),radial-gradient(1.5px 1.5px at 55% 52%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 68% 70%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 90% 58%,#ffe9b8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 4% 80%,#fff 50%,transparent 51%)}
.bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}
.brand{display:flex;align-items:center;gap:10px;font:700 20px var(--display);text-decoration:none;letter-spacing:.04em;color:#fff;min-height:44px}
.brand i{width:34px;height:34px;border-radius:50%;background:var(--sunset);display:grid;place-items:center;color:var(--on-sunset);font-style:normal;flex:none}
.brand svg{width:19px;height:19px;transform:rotate(45deg)}
.sub{font:500 13px var(--font);letter-spacing:0;opacity:.85}
.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav a:not(.btn){text-decoration:none;display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;padding:8px 12px;border-radius:999px;font-size:15px;transition:background-color .15s}
.nav a:not(.btn):hover{background:rgba(255,255,255,.12)}
.who{color:#d5def8;font-size:14px}

/* ---------- кнопки ---------- */
.btn,button.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:999px;padding:12px 24px;font:800 15px var(--font);cursor:pointer;text-decoration:none;overflow:hidden;background:var(--sunset);color:var(--on-sunset)!important;box-shadow:0 10px 26px rgba(255,96,50,.32);transition:transform .18s var(--ease),filter .18s,box-shadow .18s}
.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 14px 30px rgba(255,96,50,.4)}
.btn:active:not(:disabled){transform:translateY(0)}
.btn:disabled{opacity:.55;cursor:wait;box-shadow:none}
.btn.ghost{background:transparent;border:1.5px solid currentColor;color:inherit!important;box-shadow:none}
.btn.ghost.light{color:#fff!important}
.btn.small{min-height:44px;padding:8px 18px;font-size:14px}
.btn.soft{background:var(--soft);color:var(--accent)!important;box-shadow:none}
.btn.big{min-height:52px;padding:14px 30px;font-size:16px}

/* ---------- общие блоки внутренних страниц ---------- */
section.block{padding:56px 0}
section.block.flush{padding-top:0}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.card p{color:var(--muted);margin:.3em 0 0}
.num{font:700 28px var(--display);color:var(--accent)}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
td.r,th.r{text-align:right;white-space:nowrap}
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
form.stack{display:grid;gap:14px}
label{font-weight:700;font-size:14px;display:grid;gap:6px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:14px;padding:12px 14px;width:100%;min-height:44px}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ff8a4c;outline-offset:2px}
.row2{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;min-height:44px}
.check input{flex:none;width:22px;height:22px;min-height:0;margin:1px 0 0;accent-color:#ff8a2b}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{min-height:22px;font-size:14px;color:var(--err)}.msg.ok{color:var(--ok)}
.msg:empty{min-height:0;margin:-7px 0}
.panel{max-width:620px;margin:40px auto;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}
.motion-ok .panel{animation:rise .4s var(--ease) backwards}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.help{display:flex;flex-direction:column;gap:2px;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;font-size:14px;color:var(--muted)}.help b{color:var(--ink);font-size:15px}.help a{color:var(--accent);font-weight:700;text-decoration:underline}.lead-sm{margin:0 0 12px;font-size:15px}
.note{background:var(--warn-bg);color:var(--warn-ink);border-radius:14px;padding:12px 14px;font-size:14px}
.muted{color:var(--muted)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}
.tabs button{min-height:40px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:9px 16px;font:700 14px var(--font);cursor:pointer;transition:transform .15s,background-color .15s}
.tabs button:hover{transform:translateY(-1px)}
.tabs button[aria-selected=true]{background:var(--sunset);color:var(--on-sunset);border-color:transparent}
.stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:16px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);transition:transform .2s var(--ease)}
.motion-ok .stat:hover{transform:translateY(-3px)}
.stat span{font-size:13px;color:var(--muted)}
.stat b{display:block;font:700 22px var(--display)}
.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;background:var(--soft);color:var(--accent)}
.pill.ok{background:rgba(22,121,74,.14);color:var(--ok)}.pill.bad{background:rgba(179,38,30,.14);color:var(--err)}
.modal{position:fixed;inset:0;background:rgba(4,10,43,.6);display:grid;place-items:center;padding:16px;z-index:60}
.modal .panel{margin:0;max-height:92vh;overflow:auto}
.qr{display:block;margin:12px auto;width:240px;max-width:100%;border-radius:14px;background:#fff;padding:8px}
code.big{display:block;overflow-wrap:anywhere;background:var(--soft);border-radius:12px;padding:12px;margin:6px 0}
.steps{counter-reset:s;display:grid;gap:12px;padding:0;list-style:none}
.steps li{counter-increment:s;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px 14px 58px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:14px;top:12px;width:32px;height:32px;border-radius:50%;background:var(--sunset);color:var(--on-sunset);display:grid;place-items:center;font-weight:800}
.sub-link{color:inherit}
.panel.wide{max-width:760px}.panel.narrow{max-width:520px}
.h-md{font-size:28px}.h-sm{font-size:20px}
.gap{margin-top:20px}.gap-b{margin-bottom:12px}.pad-b{padding-bottom:40px}
.end{align-self:end}
.btns{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- подвал: тема переключается здесь, не в шапке ---------- */
footer.foot{padding:34px 0 40px;color:var(--muted);font-size:14px;border-top:1px solid var(--line);margin-top:24px}
footer.foot .wrap{display:grid;gap:12px}
footer.foot nav{display:flex;flex-wrap:wrap;gap:0 18px}
footer.foot a{color:var(--muted);display:inline-flex;align-items:center;min-height:44px;min-width:44px}footer.foot a:hover{color:var(--accent)}
footer.foot .fs-brand b{font:700 16px var(--display);color:var(--ink);letter-spacing:.04em;margin-right:10px}
footer.foot .fs-note{margin:0;font-size:13px}
.theme{justify-self:start;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:7px 16px;cursor:pointer;font:600 13px var(--font);transition:background-color .15s}
.theme:hover{background:var(--soft)}

/* ================= главная: продающая страница ================= */
.hero-b{padding-bottom:0}
.hero-b .aurora{position:absolute;top:-22%;right:-14%;z-index:-1;width:64%;height:96%;pointer-events:none;background:radial-gradient(closest-side,rgba(255,160,80,.30),rgba(255,120,80,.10) 55%,transparent 100%)}
.hero-b .horizon{position:absolute;left:0;right:0;bottom:0;z-index:-1;height:46%;pointer-events:none;background:radial-gradient(90% 100% at 72% 115%,rgba(255,138,43,.34),rgba(255,90,60,.12) 50%,transparent 75%)}
.sky-plane{position:absolute;left:-60px;top:76px;z-index:0;width:26px;height:26px;color:#fff3e0;opacity:0;pointer-events:none}
.sky-plane svg{display:block;width:26px;height:26px;transform:rotate(90deg)}
.sky-plane::before{content:"";position:absolute;right:20px;top:12px;width:140px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,236,210,.7))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:40px;align-items:center;padding:34px 0 120px}
.kicker{margin:0 0 14px;font-size:15px;font-weight:600;color:#ffd9a8}
.hero-b h1{max-width:640px;margin-bottom:18px;text-wrap:balance;text-shadow:0 2px 24px rgba(4,11,36,.35)}
.lead{max-width:540px;font-size:18px;color:#e6ecfd;margin:0 0 26px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:26px 0 0;padding:0;list-style:none;font-size:14px;color:rgba(255,255,255,.92)}
.facts li::before{content:"✓";margin-right:6px;color:#ffd9a8;font-weight:700}
.wave{position:absolute;left:0;right:0;bottom:-1px;height:70px;width:100%;color:var(--bg);display:block;pointer-events:none}

/* витрина кабинета в герое: карточка заказа, ссылка туристу, баланс */
.stage{position:relative;width:100%;max-width:460px;justify-self:end}
.mock{position:relative;color:#151f40;background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(4,11,43,.45);font-size:14px}
.mock-order{padding:18px 20px 16px}
.mock-order header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mock-order .where{font:600 17px var(--display);letter-spacing:-.01em}
.mock .pill{background:rgba(22,121,74,.14);color:#0f6a3e}
.mock-body{display:grid;grid-template-columns:104px 1fr;gap:16px;margin:14px 0}
.mock-qr{width:104px;height:104px;border-radius:12px;background:#fff;border:1px solid #d6deee;padding:6px;color:#0a1d5c}
.mock-qr svg{display:block;width:100%;height:100%}
.mock dl{margin:0;display:grid;gap:7px}
.mock dl div{display:flex;justify-content:space-between;gap:10px}
.mock dt{color:#4a577f}.mock dd{margin:0;font-weight:700}
.mock dd.plus{color:#0f6a3e}
.mock .tag-ex{display:block;font-size:12px;color:#4a577f}
.mock-gain{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border-radius:14px;background:#e8f6ee;color:#0b3d24}
.mock-gain span{display:block;font-weight:700;font-size:14px}.mock-gain small{display:block;margin-top:2px;font-size:12px;color:#33604a}
.mock-gain b{flex:none;font:700 24px var(--display);letter-spacing:-.01em;color:#0f6a3e}
.mock-msg{position:relative;padding:10px 14px 11px;border-radius:14px 14px 14px 4px;background:#fff1e0;color:#5a2200;font-size:13px;line-height:1.45}
.mock-msg b{display:block;margin-bottom:2px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#7a2d00}


/* заголовки секций */
.head{max-width:680px;margin-bottom:28px}
.head p{margin:0;color:var(--muted);font-size:17px}
.eyebrow{display:block;margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

/* для кого: переключатель и сценарий */
.seg{position:relative;display:inline-flex;gap:4px;padding:5px;margin-bottom:22px;background:var(--card);border:1px solid var(--line);border-radius:999px;max-width:100%;overflow-x:auto}
.seg button{position:relative;z-index:1;min-height:44px;border:0;background:transparent;color:var(--ink);border-radius:999px;padding:9px 18px;font:700 14px var(--font);cursor:pointer;white-space:nowrap}
.seg button[aria-selected=true]{background:var(--sunset);color:var(--on-sunset)}
.motion-ok .seg button{transition:background-color .2s,transform .15s}
.who-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px}
.who-panel .card h3{font-size:20px;margin-bottom:.4em}
.who-panel ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.who-panel li{position:relative;padding-left:26px;color:var(--ink)}
.who-panel li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--sunset)}
.scene{background:var(--night);color:#fff;border-color:transparent;position:relative;overflow:hidden}
.scene p{color:#d5def8}
.scene .eyebrow{color:#ffc27a}
.scene q{display:block;font:600 19px/1.4 var(--display);letter-spacing:-.01em;quotes:none;margin:6px 0 12px}
.swap-in{animation:rise .35s var(--ease) backwards}

/* как это работает */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative;counter-reset:f}
.flow::before{content:"";position:absolute;left:8%;right:8%;top:22px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}
.flow::after{content:"";position:absolute;left:8%;right:8%;top:22px;height:2px;background:var(--sunset);transform-origin:left;transform:scaleX(1)}
.motion-ok .flow:not(.in-view)::after{transform:scaleX(0)}
.motion-ok .flow::after{transition:transform 1.4s var(--ease) .2s}
.flow li{counter-increment:f;position:relative;padding-top:58px}
.flow li::before{content:counter(f);position:absolute;left:0;top:0;width:46px;height:46px;border-radius:50%;background:var(--card);border:2px solid #ff8a2b;display:grid;place-items:center;font:700 17px var(--display);color:var(--accent);z-index:1}
.flow li:last-child::before{background:var(--sunset);color:var(--on-sunset);border-color:transparent}
.flow.four{grid-template-columns:repeat(4,1fr)}
.flow.four::before,.flow.four::after{left:6%;right:6%}
/* главный путь: мастер тура крупно, CSV и API одной строкой ниже */
.path{margin-top:34px}
.path-main{padding:26px 28px}
.path-main h3{font-size:clamp(20px,2.2vw,24px);margin-bottom:.5em}
.path-main p{margin:0;max-width:760px}
.path-alt{margin:14px 0 0;max-width:820px;color:var(--muted);font-size:15px}
.step-title{margin:56px 0 26px;font:700 clamp(19px,2.1vw,23px)/1.25 var(--display)}
.flow b{display:block;margin-bottom:4px;font-size:16px}
.flow span{color:var(--muted);font-size:14.5px}

/* возможности: плитки разного размера */
.shot{margin:0 0 20px}.shot figcaption{margin-top:10px;font-size:14px;color:var(--muted)}
/* снимок кабинета без цен: строка заказа на ПК, карточка на телефоне */
.cab-box{padding:6px 20px 8px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:0 18px 44px rgba(10,29,92,.12);font-size:15px;color:var(--ink);user-select:none}
.cab-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin-bottom:4px}
.cab-tabs span{padding:12px 14px;margin-bottom:-1px;border-bottom:3px solid transparent;color:var(--muted);font-weight:700;white-space:nowrap}
.cab-tabs .on{color:var(--ink);border-bottom-color:#ff8a2b}
.cab-rows{list-style:none;margin:0;padding:0}
.cab-rows li{display:grid;grid-template-columns:92px minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.7fr) auto;align-items:center;gap:6px 16px;padding:14px 0;border-top:1px solid var(--line)}
.cab-rows li:first-child{border-top:0}
.cab-date{color:var(--muted);font-variant-numeric:lining-nums}
.cab-what b{font-weight:800}
.cab-what span::before{content:" · ";color:var(--muted)}
.cab-st{display:flex;flex-wrap:wrap;gap:6px}
.cab-act{display:flex;gap:6px;justify-content:flex-end}
.cab-act b{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:13px;font-weight:800;white-space:nowrap}
@media (max-width:980px){.cab-rows li{grid-template-columns:84px minmax(0,1fr) minmax(0,1fr)}.cab-st{grid-column:2/4}.cab-act{grid-column:1/4;justify-content:flex-start}}
@media (max-width:640px){.cab-box{padding:4px 14px 6px}.cab-tabs{flex-wrap:nowrap;overflow:hidden;mask-image:linear-gradient(90deg,#000 80%,transparent)}.cab-rows li{grid-template-columns:1fr;gap:4px;padding:12px 0}.cab-st,.cab-act{grid-column:auto}.cab-what{font-size:16px}.cab-act{margin-top:4px}.cab-rows li:nth-child(n+4){display:none}}
.bento{display:grid;gap:16px;grid-template-columns:repeat(6,1fr)}
.bento .card{display:flex;flex-direction:column;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s}
.motion-ok .bento .card:hover{transform:translateY(-4px)}
.b-wide{grid-column:span 4}.b-mid{grid-column:span 3}.b-third{grid-column:span 2}.b-tall{grid-column:span 2;grid-row:span 2}
.bento h3{font-size:19px}
.pricelist{margin:16px 0 0;border-radius:14px;border:1px solid var(--line);overflow:hidden;font-size:14px}
.pricelist div{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:8px;padding:9px 14px;border-top:1px solid var(--line);align-items:center}
.pricelist div:first-child{border-top:0;background:var(--soft);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pricelist div span:not(:first-child){text-align:right}
.pricelist .up{color:var(--ok);font-weight:800}
.ph{margin:auto 0 0;padding-top:18px}
.phone{width:min(210px,100%);margin:0 auto;padding:12px 12px 14px;border-radius:30px;background:#0a1d5c;box-shadow:0 18px 40px rgba(10,29,92,.35)}
.phone-in{border-radius:20px;background:#fff;color:#151f40;padding:14px 12px;text-align:center}
.phone-in b{display:block;font:600 14px var(--display);margin-bottom:2px}
.phone-in small{display:block;color:#4a577f;font-size:12px;margin-bottom:8px}
.phone-in .mock-qr{width:128px;height:128px;margin:0 auto 10px}
.phone-in .fake-btn{display:block;border-radius:999px;padding:8px;background:var(--sunset);color:var(--on-sunset);font-weight:800;font-size:12px}
.doclist{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px}
.doclist li{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.doclist b{color:var(--ok)}

/* страны */
.flags{display:flex;flex-wrap:wrap;gap:10px;max-width:800px}
.flags span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;box-shadow:var(--shadow);transition:transform .25s var(--ease)}
.flags span i{font-style:normal;font-size:20px;line-height:1}
.motion-ok .flags span:hover{transform:translateY(-3px) rotate(-2deg)}


/* забота о клиенте: путь «до вылета → приземлились → если что-то не так» */
.trip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;position:relative;counter-reset:t}
.trip>li{counter-increment:t;position:relative;display:flex;flex-direction:column;padding:26px 24px 22px}
.trip>li::before{content:counter(t);position:absolute;top:-16px;left:22px;width:34px;height:34px;border-radius:50%;background:var(--sunset);color:var(--on-sunset);display:grid;place-items:center;font:700 15px var(--display);box-shadow:0 8px 18px rgba(255,112,40,.35)}
.trip>li:not(:last-child)::after{content:"";position:absolute;top:1px;left:calc(22px + 44px);right:-16px;height:0;border-top:2px dashed #ff8a2b;opacity:.7;z-index:1}
.trip .when{display:block;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.trip h3{font-size:19px}
.trip p{flex:1}
.chip{align-self:flex-start;margin-top:16px;padding:6px 14px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:13px;font-weight:700}
.trip{padding-top:16px}
.motion-ok .trip>li{transition:transform .25s var(--ease),box-shadow .25s}
.motion-ok .trip>li.in-view:hover{transform:translateY(-4px)}

/* спокойствие: четыре опоры */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust .card{transition:transform .25s var(--ease)}
.motion-ok .trust .card.in-view:hover{transform:translateY(-4px)}
.trust h3{font-size:18px;margin-bottom:.7em}

/* условия: вместо процентов крупными словами */
.tariff .pct.txt{font:700 24px/1.2 var(--display);letter-spacing:-.01em;min-height:29px}

/* калькулятор */
.calc-band{background:var(--night);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.calc-band::before{content:"";position:absolute;right:-10%;top:-30%;z-index:-1;width:60%;height:140%;background:radial-gradient(closest-side,rgba(255,160,80,.22),transparent 100%);pointer-events:none}
.calc-band .head p{color:#d5def8}.calc-band .eyebrow{color:#ffc27a}
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:stretch}
.calc-in,.calc-out{border-radius:24px;padding:26px}
.calc-in{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);display:grid;gap:22px;align-content:space-between}
.calc-in label{color:#fff;font-size:15px}
.calc-in label>span{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.calc-in label>span output{font:700 18px var(--display);color:#ffd9a8;white-space:nowrap}
.calc-in input[type=range]{padding:0;min-height:32px;border:0;background:transparent;accent-color:#ff8a2b;cursor:pointer;min-height:44px}
.calc-in input[type=number]{background:#fff;color:#151f40}
.calc-in small{color:#c3cdee;font-weight:500}
.calc-out{background:#fff;color:#151f40;display:grid;gap:14px;align-content:center;box-shadow:0 24px 60px rgba(4,11,43,.4)}
.calc-out p{margin:0;color:#4a577f;font-size:14px}
.calc-out .big-n{display:block;font:700 clamp(30px,4vw,44px)/1.05 var(--display);letter-spacing:-.02em;color:#b33e05;overflow-wrap:anywhere}
.calc-out .row{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #d6deee;font-size:15px}
.calc-out .row b{font-weight:800;white-space:nowrap}
.calc-out .tiny{font-size:12.5px}

.motion-ok .tariff:hover{transform:translateY(-5px)}
.tariff h3{font-size:18px;margin-bottom:2px}
.tariff .for{color:var(--muted);font-size:14px;margin:0 0 16px;min-height:42px}
.tariff .pct{font:700 48px/1 var(--display);letter-spacing:-.03em}
.tariff .pct small{font-size:22px;letter-spacing:0}
.tariff .cap{color:var(--muted);font-size:14px;margin:4px 0 18px}
.tariff ul{margin:0 0 22px;padding:0;list-style:none;display:grid;gap:8px;font-size:14.5px}
.tariff li::before{content:"✓";margin-right:8px;color:var(--ok);font-weight:800}
.tariff .btn{margin-top:auto;width:100%}
.tariff.feat{border:2px solid #ff8a2b;box-shadow:0 18px 44px rgba(255,112,40,.22)}
.tariff .badge{position:absolute;top:-13px;left:22px;padding:4px 14px;border-radius:999px;background:var(--sunset);color:var(--on-sunset);font-size:12px;font-weight:800;letter-spacing:.04em}
.fine{margin:18px 0 0;color:var(--muted);font-size:14px}

/* вопросы */
.faq-list{display:grid;gap:10px 14px;grid-template-columns:1fr 1fr;align-items:start}
.faq-col{display:grid;gap:10px;align-content:start}
.faq-list details{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:border-color .2s}
.faq-list details[open]{border-color:#ff8a2b}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:14px 20px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:10px;height:10px;border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(45deg) translateY(-2px);transition:transform .25s var(--ease)}
.faq-list details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.faq-list details>div{padding:0 20px 18px;color:var(--muted)}
.faq-list details>div p{margin:0 0 .6em}

/* финальный призыв */
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px 40px;border-radius:30px;background:var(--sunset);color:var(--on-sunset);box-shadow:0 22px 50px rgba(255,112,40,.3);position:relative;overflow:hidden}
.cta-band h2{margin:0 0 6px;color:var(--on-sunset)}
.cta-band p{margin:0;color:rgba(20,25,58,.88);max-width:520px}
.cta-band .btn{background:var(--on-sunset);color:#fff!important;box-shadow:none;flex:none}
.cta-band .btn:hover:not(:disabled){background:#0a1d5c;box-shadow:0 12px 26px rgba(10,29,92,.35)}

/* появление при прокрутке и мягкое движение: только при html.motion-ok */
.motion-ok .rv{opacity:0;transform:translateY(12px)}
.motion-ok .rv.in-view{opacity:1;transform:none;transition:opacity .4s ease-out,transform .4s var(--ease);transition-delay:var(--d,0ms)}
.motion-ok .sky-plane{animation:fly 16s linear 1.2s 1 both}
/* самолёт летит в полосе между шапкой и надписью над заголовком и её не пересекает */
@keyframes fly{0%{opacity:0;transform:translate3d(0,2px,0) rotate(-4deg)}6%{opacity:.9}50%{transform:translate3d(52vw,-8px,0) rotate(0)}92%{opacity:.9}100%{opacity:0;transform:translate3d(108vw,6px,0) rotate(4deg)}}
.motion-ok .mock{opacity:0;animation:mock-in .6s var(--ease) forwards}
.motion-ok .mock-order{animation-delay:.15s}
@keyframes mock-in{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}

/* ---------- мобильные ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;padding-bottom:104px}.stage{max-width:520px;justify-self:start}
  .who-panel,.calc{grid-template-columns:1fr}
  .flow,.flow.four{grid-template-columns:1fr;gap:6px}.flow::before,.flow::after,.flow.four::before,.flow.four::after{left:22px;right:auto;top:22px;bottom:22px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--line) 0 6px,transparent 6px 12px)}
  .flow::after,.flow.four::after{background:var(--sunset);transform-origin:top;transform:scaleY(1)}.motion-ok .flow:not(.in-view)::after{transform:scaleY(0)}
  .flow li{padding:0 0 18px 64px;min-height:54px}.flow li:last-child{padding-bottom:0}
  .bento{grid-template-columns:1fr 1fr}.b-wide,.b-mid,.b-tall{grid-column:span 2}.b-third{grid-column:span 1}.b-tall{grid-row:auto}
  .trip{grid-template-columns:1fr;gap:26px}.trip>li:not(:last-child)::after{display:none}
  .trust{grid-template-columns:1fr 1fr}.faq-list{grid-template-columns:1fr}
  .cta-band{flex-direction:column;align-items:flex-start;padding:28px}
}
@media (max-width:640px){
  .nav a.hide-sm{display:none}.nav{gap:4px}
  .bar{padding:12px 0}.brand{font-size:17px}.sub{display:none}
  .panel{margin:16px auto;padding:22px}th,td{padding:8px}
  .hero-grid{padding:18px 0 96px;gap:28px}.lead{font-size:16.5px}.btn.big{width:100%}
  .mock-order{padding:16px}.mock-body{grid-template-columns:88px 1fr;gap:12px}.mock-qr{width:88px;height:88px}
  section.block{padding:42px 0}
  .trust{grid-template-columns:1fr}.sky-plane{display:none}.path-main{padding:20px}.step-title{margin:40px 0 22px}
  .bento{grid-template-columns:1fr}.b-wide,.b-mid,.b-third,.b-tall{grid-column:span 1}.bento .doclist{display:none}
  .pricelist div{grid-template-columns:1.2fr 1fr 1fr;font-size:13px}.pricelist div span:nth-child(3){display:none}
  .calc-in,.calc-out{padding:20px}
  .seg{display:flex;width:100%}.seg button{flex:1;padding:9px 10px}
}
.rv.d1{--d:70ms}.rv.d2{--d:140ms}.rv.d3{--d:210ms}.rv.d4{--d:280ms}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- переключатель RU / EN: кнопку создаёт i18n.js магазина, слот лежит в подвале ---------- */
footer.foot .floating-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
footer.foot .floating-tools:empty{display:none}
.lang-toggle{position:relative;flex:none;display:block;width:68px;height:44px;padding:0;margin:0;border:1px solid var(--line);border-radius:999px;background:transparent;cursor:pointer;color:var(--muted);font:800 12px/1 var(--font);letter-spacing:.04em}
.lang-toggle:hover{background:var(--soft)}
.lang-toggle .lt-knob{position:absolute;top:6px;left:2px;width:30px;height:30px;border-radius:50%;background:var(--sunset)}
.lang-toggle .lt-label{position:absolute;top:0;bottom:0;width:34px;display:grid;place-items:center;pointer-events:none}
.lang-toggle .lt-ru{left:0}.lang-toggle .lt-en{right:0}
:root[data-lang=ru] .lang-toggle .lt-ru,:root[data-lang=en] .lang-toggle .lt-en{color:var(--on-sunset)}
:root[data-lang=en] .lang-toggle .lt-knob{transform:translateX(34px)}
.motion-ok .lang-toggle .lt-knob{transition:transform .25s var(--ease)}
.lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---- tourist page: partner brand, flight line, next steps (P0, 15.10.2026) ---- */
.center{text-align:center}
.pbrand{display:flex;align-items:center;gap:14px;margin:-6px 0 18px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--soft);color:var(--ink)}
.pbrand.tinted{background:var(--pb);color:var(--pb-on);border-color:transparent}
.pbrand img{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#fff;padding:4px;flex:none}
.pbrand .pb-text{display:flex;flex-direction:column;min-width:0}
.pbrand b{font-family:var(--display,inherit);font-size:18px;line-height:1.25;overflow-wrap:anywhere}
.pbrand small{font-size:13px;opacity:.85}
.fly{margin:0 0 14px;font-weight:600}
.next{display:grid;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.next li{display:grid;grid-template-columns:116px 1fr;gap:10px;align-items:baseline;padding:10px 14px;border:1px solid var(--line);border-radius:14px;font-size:15px}
.next b{color:var(--accent)}
@media (max-width:480px){.next li{grid-template-columns:1fr;gap:2px}}

/* ---- cabinet: import, brand, catalog cards on a phone ---- */
.muted.small{font-size:13px;margin:-4px 0 0}
#tab-import .card,#tab-brand .card{margin-bottom:16px}
#tab-brand .pbrand{margin:6px 0 0}
#impRows small{display:block}
@media (max-width:640px){
  #tab-catalog .table-wrap{overflow:visible;border:0}
  #tab-catalog table,#tab-catalog tbody,#tab-catalog tr,#tab-catalog td{display:block;width:100%}
  #tab-catalog thead{display:none}
  #tab-catalog tr{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;background:var(--card)}
  #tab-catalog td{border:0;padding:2px 0;text-align:left}
  #tab-catalog td.c-main{font-weight:700;font-size:16px}
  #tab-catalog td.c-plan{color:var(--muted);margin-bottom:6px}
  #tab-catalog td[data-label]{display:flex;justify-content:space-between;gap:12px}
  #tab-catalog td[data-label]::before{content:attr(data-label);color:var(--muted)}
  #tab-catalog td.c-act{margin-top:8px}
  #tab-catalog td.c-act .btn{width:100%}
}

/* главная: путь туриста, доверие, образцы документов, режимы калькулятора */
.trust{grid-template-columns:repeat(2,1fr)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{position:relative;padding-left:26px}
.checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
.calc-mode{margin-bottom:18px}
.calc-band .calc-mode{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.calc-band .calc-mode button{color:#fff}
.calc-band .calc-mode button[aria-selected=true]{color:var(--on-sunset)}
#calcBox[data-mode=gift] [data-only=sell],#calcBox[data-mode=sell] [data-only=gift]{display:none}
@media (max-width:980px){
  .trust{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .trust{grid-template-columns:1fr}
  .facts{flex-direction:column;gap:8px}
  .facts li{padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.1)}
  #seg,#calcMode{flex-wrap:wrap;border-radius:22px;overflow-x:visible}
  #seg button,#calcMode button{flex:1 1 auto;white-space:normal}
}
@media (max-width:640px){
  #seg{display:grid;grid-template-columns:1fr 1fr}
  #seg button:last-child:nth-child(odd){grid-column:1/-1}
}
input[type=color]{min-height:44px;padding:4px;cursor:pointer}
input[type=color]::-webkit-color-swatch-wrapper{padding:0}
input[type=color]::-webkit-color-swatch{border:0;border-radius:8px}
@media (max-width:640px){
  #impResult th:nth-child(1),#impResult td:nth-child(1),#impResult th:nth-child(5),#impResult td:nth-child(5){display:none}
}

/* ================= 16.10.2026: коммерческий первый экран, экономика партнёра, сравнение, липкая кнопка ================= */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cta-note{margin:14px 0 0;font-size:14px;color:#dfe6fb}
.hero-b h1{max-width:660px}
.models-wrap{overflow-x:auto;border-radius:22px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}
.models{width:100%;border-collapse:separate;border-spacing:0;min-width:0}
.models th,.models td{padding:16px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line);font-size:15px;color:var(--ink);letter-spacing:0;text-transform:none}
.models thead th{border-top:0;font:700 16px var(--font);color:var(--ink)}
.models tbody th{width:20%;font-weight:700;color:var(--muted);font-size:14px}
.models td b{font:700 22px/1.1 var(--display);letter-spacing:-.01em;display:block;margin-bottom:4px;color:var(--accent)}
.models .win{background:var(--soft)}
.money-cta{margin-top:26px}
.calc-cta{grid-column:1/-1;justify-self:start}
.vs{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vs li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:8px 22px;align-items:start;padding:18px 22px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.vs b{font-size:16px}
.vs span{position:relative;padding-left:26px;font-size:14.5px}
.vs span::before{position:absolute;left:0;top:0;font-weight:800}
.vs-bad{color:var(--muted)}
.vs-bad::before{content:"×";color:var(--err)}
.vs-good{color:var(--ink)}
.vs-good::before{content:"✓";color:var(--ok)}
.sticky-cta{display:none}
@media (max-width:980px){
  .vs li{grid-template-columns:1fr}
}
@media (max-width:640px){
  .models thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .models,.models tbody,.models tr,.models th,.models td{display:block}
  .models tr{border-top:1px solid var(--line);padding:6px 0}
  .models tr:first-child{border-top:0}
  .models th,.models td{border:0;padding:6px 16px}
  .models tbody th{width:auto;padding-top:12px}
  .models td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
  .models .win{margin:6px 8px;border-radius:14px;padding:10px 12px}
  .calc-cta{width:100%}
  .money-cta .btn{width:100%}
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(4,11,43,.16);visibility:hidden;transform:translateY(100%)}
  .sticky-cta .btn{width:100%}
  .sticky-cta.on{visibility:visible;transform:none}
  .motion-ok .sticky-cta{transition:transform .25s var(--ease),visibility 0s linear .25s}
  .motion-ok .sticky-cta.on{transition:transform .25s var(--ease),visibility 0s}
  body[data-page=home]{padding-bottom:72px}
}
.more{border:1px dashed var(--line);border-radius:16px;padding:0 16px}
.more>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--accent)}
.more[open]>summary{margin-bottom:6px}
.more-body{display:grid;gap:14px;padding-bottom:16px}

#pnote #pnLink{align-self:flex-start;padding:12px 0 6px;min-height:24px}#pnote #pnText{overflow-wrap:anywhere}

/* кабинет: фильтр заказов и списки для напоминаний; печатный вкладыш A5 */
.cover-bar{display:block;width:100%;height:8px;margin:10px 0 6px;border:0;border-radius:999px;overflow:hidden;background:var(--line);appearance:none;-webkit-appearance:none;accent-color:#ff8a2b}
.cover-bar::-webkit-progress-bar{background:var(--line);border-radius:999px}
.cover-bar::-webkit-progress-value{background:var(--sunset);border-radius:999px;transition:width .4s var(--ease)}
.cover-bar::-moz-progress-bar{background:var(--sunset);border-radius:999px}
.ord-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 10px}
.ord-filter{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);flex:1 1 240px;max-width:360px}
#ordCount:empty{display:none}
.insert-tools{margin:24px 0 16px}.insert-tools .btn{margin-top:8px}
.insert-tools .floating-tools{display:flex;gap:10px;margin-top:20px}.insert-tools .floating-tools:empty{display:none}
#insertHint{max-width:60ch}
.sheet{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;max-width:148mm;margin:0 auto 20px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;color:#14193a}
.sheet .pbrand{align-self:stretch;margin:0;text-align:left}
.sheet .pbrand:not(.tinted){background:#fff1e0;color:#14193a}
.sheet-title{margin:6px 0 0;font:700 22px/1.2 var(--display)}
.sheet-plan{margin:0;font-weight:600}.sheet-fly{margin:0;font-size:14px}
.sheet-qr{display:block;width:220px;height:220px;max-width:100%}
.sheet-steps{margin:0;padding-left:20px;text-align:left;font-size:14px;line-height:1.5}
.sheet-keep,.sheet-note{margin:0;font-size:13px}.sheet-note{overflow-wrap:anywhere}
.sheet-url{margin:0;font-size:11px;color:#4a577f;overflow-wrap:anywhere}
.sheet-foot,.sheet-who{margin:0;font-size:12px;color:#4a577f}
.sheet-test{margin:0;font-size:13px;font-weight:700;color:#b3261e}
@page{size:A5;margin:8mm}
@media print{
  body{background:#fff}
  .noprint,.top,.foot{display:none!important}
  .wrap{max-width:none;padding:0;margin:0}
  .sheet{max-width:none;margin:0;padding:0;border:0;border-radius:0;break-after:page;page-break-after:always}
  .sheet:last-child{break-after:auto;page-break-after:auto}
  .sheet .pbrand{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* 17.10.2026: спокойнее карточки (рамка вместо тени), тень остаётся у витрины в герое, таблицы и калькулятора */
.bento .card,.trust .card,.faq-list details{box-shadow:none}

/* ================= 17.10.2026: кабинет и страница туриста, тот же курс: плоско, один акцент на экран ================= */
/* кабинет: баланс одной полосой, главная цифра крупнее */
body[data-page=cabinet] .stats{display:flex;flex-wrap:wrap;gap:0;margin:18px 0 6px;background:var(--card);border:1px solid var(--line);border-radius:18px}
body[data-page=cabinet] .stat{flex:1 1 0;min-width:140px;padding:16px 22px;border:0;border-radius:0;background:none;box-shadow:none}
body[data-page=cabinet] .stat+.stat{border-left:1px solid var(--line)}
body[data-page=cabinet] .stat:first-child{flex:1.7 1 0}
body[data-page=cabinet] .stat:first-child b{font-size:clamp(28px,3.4vw,36px);line-height:1.1}
body[data-page=cabinet] .stat span{display:block;margin-top:2px}
.motion-ok body[data-page=cabinet] .stat:hover{transform:none}
/* вкладки: подчёркивание вместо пилюль */
body[data-page=cabinet] .tabs{gap:2px;margin:14px 0 18px;border-bottom:1px solid var(--line)}
body[data-page=cabinet] .tabs button{min-height:44px;border:0;border-radius:0;background:none;color:var(--muted);padding:10px 16px;margin-bottom:-1px;border-bottom:3px solid transparent}
body[data-page=cabinet] .tabs button:hover{transform:none;color:var(--ink)}
body[data-page=cabinet] .tabs button[aria-selected=true]{background:none;color:var(--ink);border-bottom-color:#ff8a2b}
/* таблицы плоские; кнопки в строках тихие, сансет остаётся у главного действия экрана */
body[data-page=cabinet] .table-wrap,body[data-page=cabinet] .card{box-shadow:none}
body[data-page=cabinet] td .btn,body[data-page=cabinet] td button.btn{min-height:38px;padding:6px 14px;font-size:13.5px;background:transparent;color:var(--ink)!important;border:1px solid var(--line);box-shadow:none}
body[data-page=cabinet] .ord-tools .btn{min-height:40px;background:transparent;color:var(--ink)!important;border:1px solid var(--line);box-shadow:none}
body[data-page=cabinet] .ord-tools .btn:hover:not(:disabled){background:var(--sunset);color:var(--on-sunset)!important;border-color:transparent;box-shadow:none;transform:none}
body[data-page=cabinet] td .btn:hover:not(:disabled){background:var(--sunset);color:var(--on-sunset)!important;border-color:transparent;box-shadow:none;transform:none}
body[data-page=cabinet] #catalogRows td:nth-child(5){font-weight:800;color:var(--ok)}
body[data-page=cabinet] .pill{white-space:nowrap}
#orderRows td:first-child,#orderRows td:nth-child(2){white-space:nowrap}
#orderRows td:nth-child(5) .pill{margin:2px 4px 2px 0}
#orderRows td:last-child{min-width:230px;white-space:normal}
#orderRows td:last-child .btn{margin:2px 0}
/* заказы на телефоне: карточка вместо обрезанной таблицы */
@media (max-width:760px){
  body[data-page=cabinet] .stat{min-width:0;padding:12px 16px}
  body[data-page=cabinet] .stat:first-child{flex:1 1 100%;border-bottom:1px solid var(--line)}
  body[data-page=cabinet] .stat+.stat{border-left:0}
  body[data-page=cabinet] .stat:nth-child(3){border-left:1px solid var(--line)}
  body[data-page=cabinet] .tabs{display:grid;grid-template-columns:repeat(3,1fr)}
  body[data-page=cabinet] .tabs button{padding:8px 4px;text-align:center;line-height:1.25}
  #tab-orders .table-wrap{overflow:visible;border:0;background:none}
  #tab-orders table,#tab-orders tbody{display:block;width:100%}
  #tab-orders thead{display:none}
  #tab-orders tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:14px;margin-bottom:10px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
  #tab-orders td{display:block;border:0;padding:0;white-space:normal!important}
  #tab-orders td:nth-child(3){grid-column:1;grid-row:1;font-weight:700;font-size:16px}
  #tab-orders td:nth-child(4){grid-column:2;grid-row:1;font-weight:700}
  #tab-orders td:nth-child(2){grid-column:1/-1;grid-row:2;color:var(--muted);font-size:14px}
  #tab-orders td:nth-child(1){grid-column:1/-1;grid-row:3;color:var(--muted);font-size:13px}
  #tab-orders td:nth-child(5){grid-column:1/-1;grid-row:4;margin-top:8px}
  #tab-orders td:nth-child(6){grid-column:1/-1;grid-row:5;margin-top:10px;text-align:left;display:flex;flex-wrap:wrap;gap:6px}
  #tab-orders td:nth-child(6):empty{display:none}
  #tab-orders tr>td[colspan]{grid-column:1/-1;grid-row:auto}
}
/* туры на телефоне: список туров, туристы тура и ключи API карточками, как каталог */
@media (max-width:640px){
  #tab-tours .table-wrap{overflow:visible;border:0;background:none;box-shadow:none}
  #tab-tours table,#tab-tours tbody,#tab-tours tr,#tab-tours td{display:block;width:100%}
  #tab-tours thead{display:none}
  #tab-tours tr{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;background:var(--card)}
  #tab-tours td{border:0;padding:2px 0;text-align:left}
  #tab-tours td.c-main{font-weight:700;font-size:16px;overflow-wrap:anywhere}
  #tab-tours td[data-label]{display:flex;justify-content:space-between;align-items:center;gap:12px}
  #tab-tours td[data-label]::before{content:attr(data-label);color:var(--muted)}
  #tab-tours td.c-act{margin-top:8px}
  #tab-tours td.c-act .btn{width:100%}
}

/* страница туриста: шире, QR и ручной ввод рядом, этапы без коробок */
body[data-page=tourist] .panel{max-width:860px;margin:28px auto 36px;padding:34px 40px;border-radius:22px;box-shadow:none}
body[data-page=tourist] .pbrand{margin:-6px 0 22px}
body[data-page=tourist] h1{margin-bottom:.3em}
body[data-page=tourist] .next{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:6px 0 26px}
body[data-page=tourist] .next li{display:block;padding:12px 0 0;border:0;border-top:2px solid var(--line);border-radius:0}
body[data-page=tourist] .next b{display:block;margin-bottom:4px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
body[data-page=tourist] .next li:first-child{border-top-color:#ff8a2b}
.inst{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.inst .qr{margin:0;width:230px;height:auto;aspect-ratio:1}
.inst-data{display:grid;gap:10px}
.inst-data .muted{margin:0}
.inst-data label{gap:4px}
.inst-data code.big{margin:0;font-size:14px}
.inst-data .btn{justify-self:start;background:transparent;border:1.5px solid var(--ink);color:var(--ink)!important}
body[data-page=tourist] .steps{gap:0}
body[data-page=tourist] .steps li{background:none;border:0;border-radius:0;border-bottom:1px solid var(--line);padding:14px 0 14px 46px}
body[data-page=tourist] .steps li:last-child{border-bottom:0}
body[data-page=tourist] .steps li::before{left:0;top:13px;width:30px;height:30px;background:var(--ink);color:var(--bg);font-size:14px}
body[data-page=tourist] .help{margin-top:0;padding:14px 0;border:0;border-top:1px solid var(--line);border-radius:0}
/* ссылка на почту поддержки с зоной нажатия 44 px, строка текста не раздвигается */
.help a[href^="mailto:"]{display:inline-block;padding:12px 2px;margin:-12px 0}
body[data-page=tourist] #pnote{margin-top:20px}
@media (max-width:760px){
  body[data-page=tourist] .panel{margin:12px auto 24px;padding:20px 16px}
  body[data-page=tourist] .next{grid-template-columns:1fr;gap:12px}
  .inst{grid-template-columns:1fr;gap:16px;padding:16px}
  .inst-qr{display:flex;justify-content:center}
  .inst .qr{width:min(260px,100%)}
  .inst-data .btn{justify-self:stretch}
}

/* ================= 17.10.2026: вход и заявка: плоская панель, один акцент, код крупно ================= */
body[data-page=login] .panel,body[data-page=apply] .panel{box-shadow:none;border-radius:22px;margin:32px auto 40px}
body[data-page=login] .panel{max-width:480px;padding:34px 34px 26px}
body[data-page=apply] .panel{max-width:720px;padding:36px 40px}
body[data-page=login] h1,body[data-page=apply] h1{margin-bottom:.45em}
body[data-page=login] .panel>.stack>p.muted:first-child,body[data-page=apply] #applyLead{margin-top:0}
body[data-page=login] .btn,body[data-page=apply] #send{box-shadow:none}
body[data-page=login] .btn:hover:not(:disabled),body[data-page=apply] #send:hover:not(:disabled){box-shadow:none}
body[data-page=login] form .btn[type=submit]{width:100%}
body[data-page=login] #back{background:transparent;color:var(--ink)!important;border:1px solid var(--line)}
body[data-page=login] #code,body[data-page=login] #confirmCode,body[data-page=login] #mfaCode{font:700 26px/1 var(--display);letter-spacing:.32em;text-align:center;padding-left:calc(14px + .32em);min-height:56px}
body[data-page=login] .help{margin-top:22px;padding:14px 0 0;border:0;border-top:1px solid var(--line);border-radius:0}
body[data-page=login] #setup{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}
body[data-page=login] #setup .qr{margin:4px auto}
body[data-page=login] #secret{text-align:center;letter-spacing:.12em;font-size:14px}
body[data-page=login] #setup form{margin-top:4px}
/* заявка: «подробнее» без пунктирной рамки, поля группами, кнопка по размеру текста */
body[data-page=apply] #applyForm{gap:16px}
body[data-page=apply] .more{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:0}
body[data-page=apply] .more>summary{list-style:none;justify-content:space-between;color:var(--ink)}
body[data-page=apply] .more>summary::-webkit-details-marker{display:none}
body[data-page=apply] .more>summary::after{content:"+";font:600 24px/1 var(--font);color:var(--accent)}
body[data-page=apply] .more[open]>summary::after{content:"\2212"}
body[data-page=apply] .more[open]>summary{margin-bottom:10px}
body[data-page=apply] #send{justify-self:start;min-width:260px}
body[data-page=apply] #done{padding:6px 0 4px}
body[data-page=apply] #done h2{font-size:clamp(24px,3vw,30px);margin-bottom:.4em}
body[data-page=apply] #done p{margin:0;color:var(--muted)}
/* на странице заявки кнопка «Стать партнёром» в шапке не нужна, на телефоне прячем и второстепенную ссылку */
body[data-page=apply] .top .nav .btn{display:none}
@media (max-width:640px){
  body[data-page=apply] .top .nav a[href="/business/#care"]{display:none}
  body[data-page=login] .panel,body[data-page=apply] .panel{margin:14px auto 28px;padding:22px 18px}
  body[data-page=apply] #send{justify-self:stretch;min-width:0}
  body[data-page=login] #code,body[data-page=login] #confirmCode,body[data-page=login] #mfaCode{font-size:24px}
}
/* tours: tourist states wrap on a phone; text areas of the wizard and the letter are plain text */
#tvRows .pill,#tourRows .pill{white-space:normal}
#tvRows td{vertical-align:top}
#twList,#lmText,#lmNote{font-weight:400}

.warn{margin:10px 0;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:var(--soft);font-size:15px}
.warn.urgent{border-color:var(--err);background:rgba(179,38,30,.1)}
.warn .btn{margin-left:6px}
.file-btn{cursor:pointer}
#akExample,#akSecretVal{white-space:pre-wrap;font-size:13px}
#apiBox summary{cursor:pointer;font-weight:800}

/* ================= 18.10.2026: кабинет по референсу «Dashboard V14» (видео владельца), в палитре YATUMO =================
   Парящие пилюли в шапке, вкладки одной пилюлей с тёмной активной, левая док-панель, светлый фон и крупные карточки,
   баланс градиентной карточкой. Только кабинет; свет и тёмная тема; движение только transform/opacity под .motion-ok. */
body[data-page=cabinet]{--r-card:24px;--pill-shadow:0 1px 2px rgba(10,29,92,.05),0 8px 24px rgba(10,29,92,.08)}
:root[data-theme=dark] body[data-page=cabinet]{--pill-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.35)}
/* шапка: прозрачная, держится сверху, зазоры между пилюлями не ловят клики */
body[data-page=cabinet] .top{position:sticky;top:0;z-index:30;overflow:visible;background:none;color:var(--ink)}
body[data-page=cabinet] .top::before,body[data-page=cabinet] .top::after{display:none}
body[data-page=cabinet] .top .wrap{max-width:1320px;pointer-events:none}
body[data-page=cabinet] .top .bar{padding:14px 0;gap:12px;flex-wrap:wrap}
body[data-page=cabinet] .top .bar>*{pointer-events:auto}
body[data-page=cabinet] .top .brand{padding:5px 20px 5px 5px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:var(--pill-shadow);color:var(--ink);font-size:16px}
body[data-page=cabinet] .top .brand .sub{display:none}
body[data-page=cabinet] .top .tabs{display:flex;flex-wrap:nowrap;gap:2px;margin:0;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:var(--pill-shadow)}
body[data-page=cabinet] .top .tabs button{min-height:40px;margin:0;padding:8px 16px;border:0;border-radius:999px;background:none;color:var(--muted);font:700 14px var(--font);white-space:nowrap;transition:background-color .2s,color .2s}
body[data-page=cabinet] .top .tabs button:hover{background:var(--soft);color:var(--ink);transform:none}
body[data-page=cabinet] .top .tabs button[aria-selected=true]{background:var(--navy);color:#fff}
:root[data-theme=dark] body[data-page=cabinet] .top .tabs button[aria-selected=true]{background:#eef1fb;color:#0a1d5c}
body[data-page=cabinet] .top .nav{flex-wrap:nowrap;gap:6px;padding:5px 5px 5px 6px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:var(--pill-shadow)}
body[data-page=cabinet] .who{display:flex;align-items:center;gap:10px;color:var(--muted);min-width:0}
body[data-page=cabinet] .who .av{flex:none;width:36px;height:36px;border-radius:50%;background:var(--sunset);color:var(--on-sunset);display:grid;place-items:center;font:700 13px var(--display);font-style:normal}
body[data-page=cabinet] .who-t{display:grid;line-height:1.2;min-width:0}
body[data-page=cabinet] .who-t b{color:var(--ink);font-size:14px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-page=cabinet] .who-t small{font-size:12px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-page=cabinet] .top .nav .btn{min-height:40px;padding:6px 16px;background:var(--soft);color:var(--accent)!important;border:0;box-shadow:none}
body[data-page=cabinet] .top .nav .btn:hover:not(:disabled){background:var(--sunset);color:var(--on-sunset)!important;transform:none;box-shadow:none;filter:none}
body[data-page=cabinet] .top .nav .btn svg{width:18px;height:18px;flex:none}
/* левая док-панель: только на широком экране, дублирует вкладки значками */
.dock{display:none}
@media (min-width:1360px){
  .dock{position:fixed;left:20px;top:50%;z-index:25;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:30px;box-shadow:var(--pill-shadow)}
  .dock button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;transition:background-color .2s,color .2s,transform .2s var(--ease)}
  .dock button:hover{background:var(--soft);color:var(--ink)}
  .dock button.on{background:var(--navy);color:#fff}
  :root[data-theme=dark] .dock button.on{background:#eef1fb;color:#0a1d5c}
  .motion-ok .dock button:hover{transform:scale(1.08)}
  .dock svg{width:22px;height:22px}
  .dock i{width:24px;height:1px;background:var(--line);margin:2px 0}
}
/* заголовок страницы */
body[data-page=cabinet] .page-head{margin:22px 0 4px}
body[data-page=cabinet] .page-head h1{margin:0;font:600 clamp(26px,3vw,34px)/1.12 var(--display);letter-spacing:-.01em}
body[data-page=cabinet] .page-head p{margin:8px 0 0;max-width:62ch;color:var(--muted);font-size:16px}
/* показатели: баланс градиентной карточкой слева, остальные рядом */
body[data-page=cabinet] .stats{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:20px 0 8px;background:none;border:0;border-radius:0}
body[data-page=cabinet] .stat{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s}
body[data-page=cabinet] .stat+.stat,body[data-page=cabinet] .stat:first-child{border-left:1px solid var(--line)}
body[data-page=cabinet] .stat b{order:2;margin-top:4px;font-size:clamp(22px,2.4vw,28px);line-height:1.15}
body[data-page=cabinet] .stat span{order:1;margin:0;font-size:13.5px;font-weight:600}
body[data-page=cabinet] .stat.hero{align-items:flex-start;padding:26px 28px;background:var(--sunset);border:0;color:var(--on-sunset);box-shadow:0 18px 40px rgba(255,96,50,.28)}
body[data-page=cabinet] .stat.hero span,body[data-page=cabinet] .stat.hero b{color:var(--on-sunset)}
body[data-page=cabinet] .stat.hero b{font-size:clamp(32px,4vw,44px);line-height:1.05}
body[data-page=cabinet] .stat.hero .btn{order:3;margin-top:16px;background:var(--navy);color:#fff!important;box-shadow:none;border:0}
body[data-page=cabinet] .stat.hero .btn:hover:not(:disabled){background:#040a2b;box-shadow:none;filter:none}
.motion-ok body[data-page=cabinet] .stat:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(10,29,92,.06),0 18px 40px rgba(10,29,92,.14)}
.motion-ok body[data-page=cabinet] .stat.hero:hover{box-shadow:0 22px 48px rgba(255,96,50,.38)}
/* карточки, таблицы, предупреждения: крупнее скругление и мягкая тень, как в референсе */
body[data-page=cabinet] .table-wrap,body[data-page=cabinet] .card{border-radius:var(--r-card);box-shadow:var(--shadow)}
body[data-page=cabinet] th{padding-top:14px;padding-bottom:14px}
body[data-page=cabinet] .warn,body[data-page=cabinet] .note,body[data-page=cabinet] .help{border-radius:18px}
body[data-page=cabinet] main>section{margin-top:22px}
/* появление: заголовок, показатели и вкладка выезжают снизу по очереди */
@keyframes cab-in{from{opacity:0;transform:translateY(16px)}}
.motion-ok body[data-page=cabinet] .page-head{animation:cab-in .5s var(--ease) backwards}
.motion-ok body[data-page=cabinet] .stats>*{animation:cab-in .55s var(--ease) backwards}
.motion-ok body[data-page=cabinet] .stats>:nth-child(2){animation-delay:.07s}
.motion-ok body[data-page=cabinet] .stats>:nth-child(3){animation-delay:.14s}
.motion-ok body[data-page=cabinet] .stats>:nth-child(4){animation-delay:.21s}
.motion-ok body[data-page=cabinet] main>section:not([hidden]){animation:cab-in .45s var(--ease) .08s backwards}
/* уже экран: имя и почта прячутся, остаётся аватар */
@media (max-width:1179px){
  body[data-page=cabinet] .who-t{display:none}
}
@media (max-width:1099px){
  body[data-page=cabinet] .top{position:static}
  body[data-page=cabinet] .top .bar{justify-content:space-between}
  body[data-page=cabinet] .top .tabs{order:3;flex:1 1 100%;flex-wrap:wrap;border-radius:26px;gap:4px}
  body[data-page=cabinet] .top .tabs button{flex:1 1 auto;padding:8px 12px;text-align:center}
}
@media (max-width:760px){
  body[data-page=cabinet] .top .wrap{padding:0 16px}
  body[data-page=cabinet] .top .nav .btn .lbl{display:none}
  body[data-page=cabinet] .top .nav .btn{padding:6px 11px}
  /* вкладки одной строкой с горизонтальной прокруткой: семь вкладок в три ряда занимали пол-экрана, а «Оформление» стояло одно в ряду */
  body[data-page=cabinet] .top .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body[data-page=cabinet] .top .tabs::-webkit-scrollbar{display:none}
  body[data-page=cabinet] .top .tabs button{flex:0 0 auto;min-height:44px;padding:8px 16px;line-height:1.25;scroll-snap-align:center}
  body[data-page=cabinet] .stats{grid-template-columns:1fr 1fr;gap:12px}
  body[data-page=cabinet] .stat{padding:16px 18px;border-radius:20px}
  body[data-page=cabinet] .stat.hero{grid-column:1/-1;padding:22px}
  body[data-page=cabinet] .stat:nth-child(3){border-left:1px solid var(--line)}
  body[data-page=cabinet] .page-head{margin-top:18px}
  body[data-page=cabinet] .page-head p{font-size:15px}
}
/* «Импорт»: воздух между описанием, файлом и таблицей, кнопка выбора файла в стиле кабинета */
#tab-import .card{display:grid;gap:18px}
#tab-import .card h3,#tab-import .card p{margin:0}
#tab-import .row2{align-items:end}
input[type=file]{padding:6px;cursor:pointer}
input[type=file]::file-selector-button{margin-right:12px;min-height:34px;padding:6px 16px;border:0;border-radius:999px;background:var(--soft);color:var(--accent);font:700 14px var(--font);cursor:pointer}
input[type=file]::file-selector-button:hover{filter:brightness(.97)}
/* заголовки под липкой шапкой кабинета не прячутся при переходе по якорю и между вкладками */
body[data-page=cabinet] .page-head,body[data-page=cabinet] section[id^=tab-],body[data-page=cabinet] section[id^=tab-] h3{scroll-margin-top:96px}
body[data-page=cabinet] .top .tabs button{min-height:44px}
/* Полный блок баланса только в «Каталоге» и «Балансе», на остальных вкладках одна строка «Доступно для заказов: … ₽» */
body[data-page=cabinet] .stats.compact{display:flex;grid-template-columns:none;margin:12px 0 4px}
body[data-page=cabinet] .stats.compact .stat:not(.hero){display:none}
body[data-page=cabinet] .stats.compact .stat.hero{display:flex;flex-direction:row;justify-content:flex-start;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);box-shadow:none;animation:none}
body[data-page=cabinet] .stats.compact .stat.hero span,body[data-page=cabinet] .stats.compact .stat.hero b{color:var(--ink)}
body[data-page=cabinet] .stats.compact .stat.hero span{font-size:14px}
body[data-page=cabinet] .stats.compact .stat.hero span::after{content:":"}
body[data-page=cabinet] .stats.compact .stat.hero b{font-size:18px;line-height:1.2}
body[data-page=cabinet] .stats.compact .stat.hero .btn{display:none}
.motion-ok body[data-page=cabinet] .stats.compact .stat.hero:hover{box-shadow:none;transform:none}
@media print{.dock{display:none!important}}

/* «Заказы»: ряд показателей над списком (как карточки панели в референсе): подпись, число, пояснение */
body[data-page=cabinet] .stats.even{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:6px 0 18px}
body[data-page=cabinet] .stats.even .stat small{order:3;margin-top:6px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
body[data-page=cabinet] .stats.even .stat.alert{border-color:var(--err)}
body[data-page=cabinet] .stats.even .stat.alert small{color:var(--err);font-weight:600}
@media (max-width:1179px){body[data-page=cabinet] .stats.even{grid-template-columns:1fr 1fr}}
/* login: one-time code as six cells over the real input (otp.js from the store; digits, paste and autofill keep working) */
.otp{position:relative;display:block;width:100%;max-width:360px;margin-top:8px}
.otp-cells{display:flex;gap:8px}
.otp-cell{position:relative;flex:1 1 0;min-width:0;height:58px;display:grid;place-items:center;border:1.5px solid var(--line);border-radius:14px;background:var(--field);color:var(--ink);font:700 24px/1 var(--display);font-style:normal;font-variant-numeric:lining-nums tabular-nums;transition:border-color .15s,box-shadow .15s,background-color .15s}
.otp-cell.otp-gap{margin-left:8px}
.otp-cell.is-filled{border-color:var(--ink)}
.otp.is-focused .otp-cell.is-active{border-color:var(--accent);box-shadow:0 0 0 4px rgba(240,96,15,.18)}
.otp.is-focused .otp-cell.is-active:not(.is-filled)::after{content:"";width:2px;height:26px;border-radius:2px;background:var(--accent);animation:otp-caret 1.1s steps(1) infinite}
.otp input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;background:transparent;font-size:16px;cursor:text}
.otp.otp-error .otp-cell{border-color:var(--err);color:var(--err);background:rgba(179,38,30,.08);animation:otp-shake .36s both}
:root[data-theme=dark] .otp.otp-error .otp-cell{background:rgba(255,143,134,.12)}
.otp.otp-ok .otp-cell{border-color:var(--ok)}
.motion-ok .otp-cell.pop{animation:otp-pop .16s ease-out}
@keyframes otp-caret{50%{opacity:0}}
@keyframes otp-shake{20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
@keyframes otp-pop{from{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.otp.is-focused .otp-cell.is-active:not(.is-filled)::after,.otp.otp-error .otp-cell{animation:none}}
@media (max-width:380px){.otp-cells{gap:6px}.otp-cell{height:52px;font-size:21px;border-radius:12px}.otp-cell.otp-gap{margin-left:6px}}
.otp-plain .otp-cells{display:none}
.otp-plain input{position:static;opacity:1;height:auto}
/* Buttons (22.10.2026, press.js from the store): a clear dip on press; a button the page has disabled after the click is grey with a spinner on the right */
.btn:active:not(:disabled),.btn.is-pressed{filter:brightness(.94)}
@media (prefers-reduced-motion:no-preference){.btn:active:not(:disabled),.btn.is-pressed{transform:scale(.97)}}
.btn.is-working:disabled{opacity:1;cursor:progress;background:#cfd5e4;color:#3a4468!important;box-shadow:none;transform:none;filter:none}
.btn.is-working:disabled::after{content:"";flex:none;width:16px;height:16px;margin-left:2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite}
:root[data-theme=dark] .btn.is-working:disabled{background:#3a4263;color:#e3e8f8!important}
@keyframes btn-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn.is-working:disabled::after{animation:none;border-right-color:currentColor;opacity:.6}}
