:root{
  --bg:#0f1115; --panel:#171a21; --panel2:#1e222b; --line:#272c37;
  --tx:#e8eaf0; --tx2:#a7b0be; --tx3:#7c8593;
  --red:#ff6b60; --redbg:#3a1c1e; --redln:#5e2a2c;
  --yel:#f7bf4a; --yelbg:#382d17;
  --grn:#4ad99b; --grnbg:#153026; --acc:#5b8def;
  color-scheme: dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-text-size-adjust:100%}
a{color:var(--acc);text-decoration:none}
header{position:sticky;top:0;z-index:20;background:rgba(15,17,21,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
  padding-top:env(safe-area-inset-top)}
.wrap{max-width:1100px;margin:0 auto;padding:0 14px}
.top{display:flex;align-items:center;gap:10px;padding:12px 0 8px;flex-wrap:wrap}
h1{font-size:17px;margin:0;font-weight:600;white-space:nowrap}
h1 small{color:var(--tx3);font-weight:400;font-size:12.5px;margin-left:7px}
.search{display:flex;gap:6px;flex:1;min-width:210px}
.search input{flex:1;background:var(--panel);border:1px solid var(--line);
  color:var(--tx);border-radius:9px;padding:8px 12px;font-size:14px;min-width:0}
.search input::placeholder{color:var(--tx3)}
.search button{background:var(--panel);border:1px solid var(--line);color:var(--tx2);
  border-radius:9px;padding:8px 12px;font-size:14px;cursor:pointer;white-space:nowrap}
.search button:hover{color:var(--tx);border-color:var(--acc)}
.plat{display:flex;gap:3px;background:var(--panel);border:1px solid var(--line);
  border-radius:999px;padding:3px}
.plat button{background:transparent;border:0;color:var(--tx2);padding:6px 15px;
  border-radius:999px;font-size:13.5px;cursor:pointer;white-space:nowrap}
.plat button.on{background:var(--acc);color:#fff;font-weight:600}
/* Счётчик неотгруженных. Янтарный, когда есть что отгружать, и спокойный
   зелёный, когда очередь пуста: цифра в шапке должна читаться мгновенно,
   не заставляя вспоминать, много это или мало. */
.pend{background:rgba(230,168,50,.14);border:1px solid rgba(230,168,50,.45);
  color:var(--yel);border-radius:999px;padding:5px 12px;font-size:13.5px;
  cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}
.pend:hover{border-color:var(--yel)}
.pend b{font-size:15px;font-weight:700;margin-right:5px}
.pend.zero{background:transparent;border-color:var(--line);color:var(--tx3)}
.pend.on{background:var(--yel);border-color:var(--yel);color:#1b1400}
.whoami{color:var(--tx3);font-size:12px;text-align:right;padding:0 2px 9px}
nav{display:flex;gap:5px;overflow-x:auto;padding-bottom:10px;align-items:center}
nav button{background:var(--panel);border:1px solid var(--line);color:var(--tx2);
  padding:7px 14px;border-radius:999px;font-size:14px;cursor:pointer;white-space:nowrap}
nav button.on{background:var(--acc);border-color:var(--acc);color:#fff}
nav .applink{background:var(--panel);border:1px solid var(--line);color:var(--tx2);
  padding:7px 14px;border-radius:999px;font-size:14px;white-space:nowrap;margin-left:auto}
main{padding:16px 0 70px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px}
.card .k{color:var(--tx3);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.card .v{font-size:23px;font-weight:650;margin-top:5px;font-variant-numeric:tabular-nums}
.card .s{color:var(--tx2);font-size:12.5px;margin-top:3px}
.sec{margin-top:22px}
.sec h2{font-size:13px;color:var(--tx2);margin:0 0 10px;font-weight:600;
  text-transform:uppercase;letter-spacing:.6px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--tx3);font-weight:500;font-size:12px;
  text-transform:uppercase;letter-spacing:.4px;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--tx)}
tr.clk{cursor:pointer}
tr.clk:hover td{background:var(--panel2)}
tr.cancelled td{background:#1c1416}
tr.cancelled:hover td{background:#241a1c}
/* Найденный поиском заказ. Правило идёт ПОСЛЕ .cancelled: отменённая строка
   уже красит фон, и подсветка обязана её перебить — иначе именно тот заказ,
   который чаще всего и ищут, останется невыделенным. */
tr.hit td{background:#1b2740}
tr.hit:hover td{background:#22304e}
tr.hit td:first-child{border-left:3px solid var(--acc);padding-left:7px}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;
  font-weight:600;white-space:nowrap}
.red{background:var(--redbg);color:var(--red)}
.yellow{background:var(--yelbg);color:var(--yel)}
.green{background:var(--grnbg);color:var(--grn)}
.grey{background:var(--panel2);color:var(--tx2)}
/* Синий — «доехало, ждёт человека». Не тревога (жёлтый) и не «всё
   закончилось хорошо» (зелёный): состояние, в котором ещё решается. */
.blue{background:#16243f;color:#8ab0f5}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}
.dot.red{background:var(--red)}.dot.yellow{background:var(--yel)}.dot.green{background:var(--grn)}
.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.filters button,.filters select{background:var(--panel);color:var(--tx);
  border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:13.5px;cursor:pointer}
.filters button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.lnk{color:var(--acc);cursor:pointer;border-bottom:1px dashed rgba(91,141,239,.45)}
.muted{color:var(--tx3)}
.time{color:var(--tx2);font-size:12px;white-space:nowrap}
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acc);
  border-radius:8px;padding:11px 13px;color:var(--tx2);font-size:13px;margin-top:14px}
.warnbox{background:var(--redbg);border:1px solid var(--redln);border-radius:10px;
  padding:12px 14px;margin:0 0 14px}
.warnbox .t{color:var(--red);font-weight:700;font-size:14px;margin-bottom:5px}
/* Предупреждение о дубле. Жёлтое, а не красное: это прогноз, а не факт. */
.dupbox{background:var(--yelbg);border:1px solid #5c4a22;border-radius:10px;
  padding:11px 13px;margin-bottom:14px}
.dupbox .t{color:var(--yel);font-weight:700;font-size:14px;margin-bottom:5px}
.dupbox .b{color:#efe0c0;font-size:14px}
.dupbox .n{color:var(--tx3);font-size:12px;margin-top:6px}
.warnbox .b{color:#f3d5d3;font-size:14px}
.bar{height:6px;background:var(--panel2);border-radius:3px;overflow:hidden;margin-top:5px}
.bar>i{display:block;height:100%;background:var(--acc)}
dialog{border:none;background:transparent;padding:0;max-width:100%;color:var(--tx)}
dialog *{color:inherit}
dialog .muted,dialog .time,dialog .k,dialog th{color:var(--tx3)}
dialog a,dialog .lnk{color:var(--acc)}
dialog .chip.red{color:var(--red)}
dialog .chip.yellow{color:var(--yel)}
dialog .chip.green{color:var(--grn)}
dialog .chip.grey{color:var(--tx2)}
dialog .warnbox .t{color:var(--red)}
dialog .warnbox .b{color:#f3d5d3}
/* COLLAPSIBLE. Разбор решения и расшифровка дохода нужны не всегда:
   в свёрнутом виде они не мешают смотреть состав заказа и списание, а в
   заголовке остаётся главный итог, чтобы не открывать ради одной цифры. */
details.fold{border-top:1px solid var(--line);margin:14px 0 0}
details.fold>summary{cursor:pointer;list-style:none;padding:11px 0 9px;
  display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::before{content:"▸";color:var(--tx3);font-size:12px}
details.fold[open]>summary::before{content:"▾"}
details.fold>summary .ft{color:var(--tx3);font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.5px}
details.fold>summary .fs{font-size:13px;color:var(--tx2)}
details.fold .fb{padding-bottom:6px}
dialog .dupbox .t{color:var(--yel)}
dialog .dupbox .b{color:#efe0c0}
dialog .note,dialog h3.mh{color:var(--tx2)}
dialog::backdrop{background:rgba(0,0,0,.7)}
.modal{background:var(--bg);color:var(--tx);border:1px solid var(--line);border-radius:14px;
  width:min(940px,95vw);max-height:88vh;overflow:auto}
.modal .hd{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);
  padding:15px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;z-index:2}
.modal .bd{padding:16px 18px 22px}
.x{background:var(--panel);border:1px solid var(--line);color:var(--tx2);
  border-radius:8px;width:32px;height:32px;font-size:17px;cursor:pointer;flex:none}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:9px;margin-bottom:16px}
.kv div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.kv .k{color:var(--tx3);font-size:11px;text-transform:uppercase;letter-spacing:.4px}
.kv .v{font-size:17px;font-weight:600;margin-top:3px;font-variant-numeric:tabular-nums}
.rows{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;font-size:14px;margin-bottom:16px}
.rows>div{color:var(--tx)}
.rows .k{color:var(--tx3)}
.load{color:var(--tx3);padding:26px 0;text-align:center}
.pager{display:flex;gap:8px;justify-content:center;margin-top:14px}
.pager button{background:var(--panel);border:1px solid var(--line);color:var(--tx2);
  border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer}
.pager button:disabled{opacity:.4;cursor:default}
.pager{align-items:center;flex-wrap:wrap}
.pgnum{color:var(--tx2);font-size:13px;white-space:nowrap;padding:0 4px}
h3.mh{font-size:13px;color:var(--tx2);text-transform:uppercase;letter-spacing:.5px;
  margin:20px 0 8px}
@media(max-width:640px){
  .hide-s{display:none}
  td,th{padding:9px 6px;font-size:13px}
  .card .v{font-size:20px}
  h1{font-size:16px} h1 small{display:none}
}

/* Оверлей входа */
#loginOv{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;
  align-items:center;justify-content:center}
#loginOv[hidden]{display:none}
#loginForm{display:flex;flex-direction:column;gap:12px;width:min(320px,86vw);
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px}
#loginForm h2{margin:0 0 4px;font-size:20px}
#loginForm input{background:var(--bg);border:1px solid var(--line);color:var(--tx);
  border-radius:8px;padding:10px 12px;font-size:16px}
#loginForm button{background:var(--panel);border:1px solid var(--line);color:var(--tx);
  border-radius:8px;padding:10px;font-size:15px;cursor:pointer}
#lErr{color:#e66;min-height:1em;font-size:13px}

/* LANDING_2026_09_07 — посадочная для гостя. Живёт в том же оверлее, что и
   форма входа: одна точка показа (showLogin), одна кука сессии, ни одного
   нового URL. В режиме .land оверлей прокручивается, форма спрятана. */
#loginOv.land{display:block;overflow:auto;-webkit-overflow-scrolling:touch}
#loginOv.land #loginForm{display:none}
#landing{display:none;max-width:1080px;margin:0 auto;padding:16px 20px 64px;
  --oz:#005bff; --wb:#cb11ab; --cta:#ffffff; --ctatx:#0f1115}
#loginOv.land #landing{display:block}
/* LANDING_PROFIT_2026_09_16 — посадочная под аудиторию «продавцы, считающие
   прибыль» (Директ приносит запросы про калькулятор/прибыль/отчёты, не про
   невыкуп). Синий Ozon и фиолетовый WB — только как акценты на плашках
   площадок, свой бренд нейтральный: не должно читаться как часть Ozon. */
#landing .lt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 30px}
#landing .logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.2px}
#landing .logo svg{width:34px;height:34px;flex:none}
#landing .logo small{display:block;font-size:11.5px;color:var(--tx3);font-weight:400;letter-spacing:0;margin-top:1px}
#landing .lt a{color:var(--tx2);font-size:14px;cursor:pointer;border:1px solid var(--line);
  border-radius:999px;padding:7px 16px;white-space:nowrap}
#landing .lt a:hover{color:var(--tx);border-color:var(--tx2)}
#landing .mp{display:inline-block;color:#fff;font-weight:700;border-radius:8px;padding:0 .3em;line-height:1.25;
  white-space:nowrap}
#landing .mp.oz{background:var(--oz)}
#landing .mp.wb{background:var(--wb)}
#landing .hero{display:grid;grid-template-columns:1fr 1.05fr;gap:36px;align-items:center}
#landing h1{font-size:clamp(27px,3.5vw,40px);line-height:1.15;margin:0 0 16px;white-space:normal;font-weight:800;
  letter-spacing:-.4px}
#landing h1 em{font-style:normal;color:var(--grn)}
#landing .sub{color:var(--tx2);font-size:17px;line-height:1.5;margin:0 0 24px}
#landing .sub b{color:var(--tx)}
#landing .cta{display:inline-block;background:var(--cta);color:var(--ctatx);font-weight:700;font-size:17px;
  border:0;border-radius:12px;padding:15px 28px;cursor:pointer;box-shadow:0 8px 30px rgba(255,255,255,.12)}
#landing .cta:hover{transform:translateY(-1px);box-shadow:0 12px 34px rgba(255,255,255,.18)}
#landing .offer{margin:14px 0 0;color:var(--tx2);font-size:14px;line-height:1.5}
#landing .offer b{color:var(--yel)}
#landing .shot{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:8px;
  box-shadow:0 24px 70px rgba(0,0,0,.5)}
#landing .shot img{display:block;width:100%;height:auto;border-radius:10px}
#landing .shot small{display:block;color:var(--tx3);font-size:12px;text-align:center;padding:9px 6px 3px;line-height:1.45}
#landing .shot small b{color:var(--red);font-weight:600}
/* CALC_2026_09_19 — калькулятор прибыли первым экраном. Причина: за 14 дней
   Директ дал 73 клика, из них ~32 по запросам «калькулятор прибыли озон»,
   «как посчитать прибыль по позиции для озон селлера» и подобным — больше
   половины бюджета. Прежний первый экран отвечал им текстом «мы не
   калькулятор» и просил API-ключ: 12 секунд на сайте, 0 регистраций.
   Теперь человек получает то, за чем пришёл, и уже в ответе видит строку
   про невыкупы — ту, которой нет ни в одном чужом калькуляторе. */
#landing .calc{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 8px;align-items:start}
#landing .cbox{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}
#landing .cbox.out{background:linear-gradient(160deg,rgba(74,217,155,.07),rgba(23,26,33,.6));
  box-shadow:0 24px 70px rgba(0,0,0,.45)}
#landing .crow{display:flex;align-items:center;gap:12px;margin:0 0 11px}
#landing .crow:last-child{margin-bottom:0}
#landing .crow label{flex:1;color:var(--tx2);font-size:14.5px;line-height:1.35}
#landing .crow label small{display:block;color:var(--tx3);font-size:12px;margin-top:1px}
#landing .calc input[type=number],#landing .calc select{background:var(--panel2);color:var(--tx);
  border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-size:15px;font-family:inherit;
  width:118px;flex:none;text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
#landing .calc input[type=number]::-webkit-outer-spin-button,
#landing .calc input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#landing .calc input:focus,#landing .calc select:focus{outline:none;border-color:var(--acc)}
#landing .calc select{width:100%;text-align:left}
#landing .crow.cat{display:block}
#landing .crow.cat label{margin-bottom:6px;display:block}
#landing .seg{display:flex;gap:6px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:3px}
#landing .seg button{flex:1;background:none;border:0;color:var(--tx2);font:inherit;font-size:14px;padding:8px 4px;
  border-radius:7px;cursor:pointer}
#landing .seg button[aria-pressed=true]{background:var(--tx);color:var(--bg);font-weight:700}
#landing .crates{margin:14px 0 0;border-top:1px solid var(--line);padding-top:12px}
#landing .crates summary{cursor:pointer;color:var(--tx2);font-size:14px;list-style:none;display:flex;
  justify-content:space-between;align-items:center;gap:8px}
#landing .crates summary::-webkit-details-marker{display:none}
#landing .crates summary::after{content:"настроить";color:var(--tx3);font-size:12.5px;border:1px solid var(--line);
  border-radius:999px;padding:3px 10px}
#landing .crates[open] summary::after{content:"свернуть"}
#landing .crates .in{margin-top:13px}
#landing .cbig{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 4px}
#landing .cbig .t{color:var(--tx2);font-size:14.5px}
#landing .cbig .n{font-size:34px;font-weight:800;letter-spacing:-.6px;font-variant-numeric:tabular-nums;
  white-space:nowrap}
#landing .cbig.g .n{color:var(--grn)} #landing .cbig.r .n{color:var(--red)}
#landing .cmarg{color:var(--tx3);font-size:13px;margin:0 0 14px}
#landing .cmarg b{color:var(--tx2);font-weight:600}
#landing .clines{border-top:1px solid var(--line);padding-top:11px;margin:0}
#landing .cl{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:3.5px 0;color:var(--tx2)}
#landing .cl span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--tx)}
#landing .cl.minus span:last-child{color:var(--red)}
#landing .cl.tot{border-top:1px solid var(--line);margin-top:7px;padding-top:9px;font-weight:700;color:var(--tx)}
/* Блок про невыкупы — то, ради чего всё и затевалось: чужие калькуляторы
   показывают прибыль с выкупленного заказа и делают вид, что отказов нет. */
#landing .cnv{margin:14px 0 0;background:var(--redbg);border:1px solid var(--redln);border-radius:12px;padding:14px}
#landing .cnv .h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 6px}
#landing .cnv .h b{font-size:15px}
#landing .cnv .h i{font-style:normal;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--red);
  white-space:nowrap}
#landing .cnv p{margin:0;color:var(--tx2);font-size:13px;line-height:1.5}
#landing .cnv p b{color:var(--tx)}
#landing .cnote{color:var(--tx3);font-size:12.5px;line-height:1.55;margin:12px 0 0}
#landing .cnote a{color:var(--tx3);text-decoration:underline;cursor:pointer}
#landing .ccta{margin:16px 0 0}
#landing .cta2{display:inline-block;margin:10px 0 0 12px;padding:12px 18px;border-radius:12px;font-size:15px;
  font-weight:600;color:var(--tx);background:transparent;border:1px solid var(--tx3);cursor:pointer}
#landing .cta2:hover{border-color:var(--tx)}
.demoBar{background:#3b2f00;color:#ffe08a;border-bottom:1px solid #6b5600;padding:10px 16px;font-size:14px;
  display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}
.demoBar a{color:#fff;font-weight:700;text-decoration:underline;cursor:pointer}
/* Три цифры одного заказа — ответ тем, кто искал «калькулятор прибыли озон» */
#landing .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:48px 0 0}
#landing .step{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 16px 14px}
#landing .step .k{color:var(--tx3);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
#landing .step .v{font-size:28px;font-weight:800;margin:4px 0 4px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
#landing .step .s{color:var(--tx2);font-size:13px;line-height:1.45}
#landing .step.g .v{color:var(--grn)} #landing .step.r .v{color:var(--red)}
#landing .step.r{background:var(--redbg);border-color:var(--redln)}
#landing .step:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);
  color:var(--tx3);font-size:18px;z-index:1}
#landing .flow-note{margin:12px 0 0;color:var(--tx3);font-size:13px;line-height:1.5}
#landing h2{font-size:clamp(22px,2.6vw,30px);line-height:1.2;margin:56px 0 10px;letter-spacing:-.3px}
#landing .lead{color:var(--tx2);font-size:16px;line-height:1.55;margin:0 0 22px;max-width:760px}
#landing .wide{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:8px}
#landing .wide img{display:block;width:100%;height:auto;border-radius:10px}
#landing .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0 0}
#landing .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
#landing .card b{display:block;font-size:17px;margin-bottom:8px}
#landing .card p{margin:0;color:var(--tx2);font-size:14.5px;line-height:1.55}
#landing .card p em{font-style:normal;color:var(--tx)}
#landing .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 0;counter-reset:st}
#landing .steps div{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;color:var(--tx2);
  font-size:14.5px;line-height:1.5}
#landing .steps div::before{counter-increment:st;content:counter(st);display:inline-block;width:26px;height:26px;
  border-radius:50%;background:var(--tx);color:var(--bg);font-weight:800;text-align:center;line-height:26px;
  font-size:14px;margin-bottom:10px}
#landing .steps b{display:block;color:var(--tx);margin-bottom:4px}
#landing .faq{margin:22px 0 0;border-top:1px solid var(--line)}
#landing .faq details{border-bottom:1px solid var(--line);padding:0}
#landing .faq summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:15.5px;list-style:none;display:flex;
  justify-content:space-between;gap:12px}
#landing .faq summary::-webkit-details-marker{display:none}
#landing .faq summary::after{content:"+";color:var(--tx3);font-weight:400;font-size:20px;line-height:1}
#landing .faq details[open] summary::after{content:"–"}
#landing .faq p{margin:0 0 16px;color:var(--tx2);font-size:14.5px;line-height:1.55}
#landing .final{margin:56px 0 0;background:linear-gradient(135deg,rgba(0,91,255,.16),rgba(203,17,171,.14));
  border:1px solid var(--line);border-radius:18px;padding:30px 26px;text-align:center}
#landing .final h2{margin:0 0 8px}
#landing .final p{color:var(--tx2);margin:0 0 18px;font-size:15.5px}
#landing .foot{margin:40px 0 0;color:var(--tx3);font-size:12px;line-height:1.7}
#landing .foot a{color:var(--tx3);text-decoration:underline}
@media(max-width:900px){
  #landing .flow{grid-template-columns:repeat(2,1fr)}
  #landing .step:nth-child(2)::after{display:none}
  #landing .hero{grid-template-columns:1fr;gap:26px}
  #landing .hero .shot{max-width:720px}
  /* На узком экране результат идёт под полями, а не сбоку: считать вслепую,
     проматывая экран туда-сюда, никто не станет. */
  #landing .calc{grid-template-columns:1fr;gap:14px}
}
@media(max-width:760px){
  #landing{padding:12px 14px 56px}
  #landing .cards,#landing .steps{grid-template-columns:1fr}
  #landing .cta{display:block;text-align:center;width:100%}
  #landing .cta2{display:block;text-align:center;width:100%;margin:10px 0 0;box-sizing:border-box}
  #landing .lt{padding-bottom:22px}
  #landing .logo small{display:none}
  #landing .calc input[type=number]{width:102px}
  #landing .cbig .n{font-size:30px}
}
@media(max-width:480px){
  #landing .flow{grid-template-columns:1fr}
  #landing .step::after{display:none!important}
}
