:root{
  --bg:#0a0a0b; --surface:#0f0f11; --surface-2:#0c0c0e; --raised:#151518; --control:#1c1c21;
  --border:#202025; --border-soft:#19191d; --border-hair:#151518; --border-strong:#26262c;
  --text:#ededed; --text-2:#9a9aa1; --text-3:#66666e;
  --green:#4ade80; --yellow:#e8b93a;
  --gutter:clamp(20px,6vw,160px);
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html{overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:var(--text);text-decoration:none}
h1,h2,h3,p{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img,svg{display:block}
:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:6px}
.mono{font-family:var(--mono)}
.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}

/* header */
.site-head{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  height:64px;border-bottom:1px solid var(--border-hair);background:rgba(10,10,11,.72);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;letter-spacing:.1em}
.nav{display:flex;align-items:center;gap:32px;font-size:14px}
.nav a{color:var(--text-2);transition:color .15s ease}
.nav a:hover{color:var(--text)}
.head-right{display:flex;align-items:center;gap:8px}
.menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
  border-radius:8px;font-weight:500;transition:background .15s ease,border-color .15s ease,transform .1s ease}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--text);color:var(--bg)}
.btn-primary:hover{background:#fff}
.btn-ghost{border:1px solid var(--border-strong);color:var(--text)}
.btn-ghost:hover{border-color:#3a3a41;background:#121214}
.btn-sm{height:32px;padding:0 14px;font-size:13px}
.btn-lg{height:44px;padding:0 20px;font-size:15px}
.link-quiet{display:inline-flex;align-items:center;height:32px;padding:0 12px;font-size:14px;color:var(--text-2)}
.link-quiet:hover{color:var(--text)}
.mobile-nav{display:none;flex-direction:column;gap:2px;padding:8px var(--gutter) 20px;
  border-bottom:1px solid var(--border-hair);background:var(--bg)}
.mobile-nav.open{display:flex}
.mobile-nav a{display:flex;align-items:center;height:48px;font-size:16px;color:var(--text-2);
  border-bottom:1px solid var(--border-hair)}

/* hero */
.hero{position:relative;padding-top:clamp(56px,9vw,128px);padding-bottom:clamp(64px,8vw,112px)}
.glow{position:absolute;left:50%;top:-260px;width:min(1100px,100vw);max-width:100%;height:700px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(255,255,255,.05),rgba(255,255,255,0));pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:clamp(40px,6vw,96px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,28px)}
h1{font-size:clamp(46px,7.2vw,84px);line-height:.98;font-weight:600;letter-spacing:-.035em;color:#f5f5f5}
.lede{max-width:460px;font-size:clamp(17px,1.5vw,19px);line-height:1.5;color:var(--text-2);text-wrap:pretty}
.hero-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* launcher */
.launcher{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);
  border-radius:14px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8);overflow:visible}
.launcher-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;
  border-bottom:1px solid var(--border-soft)}
.launcher-head span:first-child{font-size:13px;font-weight:500}
.launcher-head span:last-child{font-size:12px;color:var(--text-3)}
.field{position:relative;border-bottom:1px solid var(--border-soft)}
.field-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 18px;
  min-height:56px;text-align:left;transition:background .15s ease}
.field-btn:hover{background:#131316}
.field-label{display:block;font-size:12px;color:var(--text-3);margin-bottom:3px}
.field-value{display:block;font-size:15px;font-weight:500}
.field-btn svg{transition:transform .15s ease}
.field-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.menu{position:absolute;left:8px;right:8px;top:calc(100% - 4px);z-index:20;display:none;flex-direction:column;
  padding:4px;border:1px solid var(--border-strong);border-radius:10px;background:var(--raised);
  box-shadow:0 20px 50px -20px rgba(0,0,0,.9)}
.menu.open{display:flex}
.menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;
  padding:0 12px;border-radius:7px;font-size:14px;color:var(--text-2);text-align:left}
.menu button:hover{background:#1f1f25;color:var(--text)}
.menu button[aria-selected="true"]{color:var(--text)}
.menu button[aria-selected="true"]::after{content:"";width:14px;height:14px;flex:0 0 14px;
  background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ededed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E")}
.launcher-foot{padding:14px 18px 18px}
.launcher-foot .btn{width:100%;height:44px;font-size:15px}

/* principles */
.principles{padding-bottom:clamp(64px,8vw,120px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(28px,3.4vw,48px)}
.principle{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid #222227}
.principle h3{font-size:17px;font-weight:500}
.principle p{font-size:15px;line-height:1.55;color:var(--text-2);text-wrap:pretty}

/* sections */
.section{padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px);border-top:1px solid var(--border-hair)}
h2{font-size:clamp(30px,3.4vw,40px);line-height:1.1;font-weight:600;letter-spacing:-.025em;color:#f5f5f5}
.section-lede{max-width:580px;font-size:clamp(16px,1.4vw,17px);line-height:1.55;color:var(--text-2);text-wrap:pretty}
.section-head{display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(32px,4vw,56px)}
.ai-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(32px,4.4vw,64px);align-items:start}
.panel{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);
  border-radius:14px;overflow:hidden}
.ask{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 18px;border-bottom:1px solid var(--border-soft)}
.ask span{flex:1;font-size:15px;color:var(--text-3)}
.ask i{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;background:var(--control)}
.thread{display:flex;flex-direction:column;gap:18px;padding:20px 18px}
.turn{display:flex;align-items:flex-start;gap:12px}
.avatar{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;
  border-radius:50%;background:var(--control);font-size:11px;font-weight:500;color:var(--text-2)}
.turn p{padding-top:2px;font-size:15px;line-height:1.5}
.steps{display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border-soft);
  border-radius:10px;overflow:hidden}
.step{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-soft);font-size:14px}
.step:last-child{border-bottom:0}
.step-text{flex:1;min-width:0}
.step-meta{font-size:12px;color:var(--text-3);white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);white-space:nowrap}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(74,222,128,.14)}
.step-run{flex-direction:column;align-items:stretch;gap:10px}
.step-run .row{display:flex;align-items:center;gap:12px}
.bar{height:2px;margin-left:28px;border-radius:1px;background:var(--control);overflow:hidden}
.bar i{display:block;height:100%;background:var(--text);animation:fill 4.5s ease-in-out infinite}
@keyframes fill{0%{width:12%}55%{width:60%}100%{width:60%}}
.spin{animation:spin 1s linear infinite;transform-origin:50% 50%}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}.bar i{animation:none;width:60%}}
.examples{display:flex;flex-direction:column}
.examples span{padding:14px 0;border-bottom:1px solid var(--border-soft);font-size:15px;line-height:1.4;color:#c9c9ce}
.examples .cap{padding-top:0;padding-bottom:14px;font-size:13px;color:var(--text-3)}

/* api */
.api-grid{display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:clamp(32px,6vw,96px);align-items:center}
.api-copy{display:flex;flex-direction:column;gap:20px}
.endpoints{display:flex;flex-direction:column;margin-top:12px;font-size:13px}
.endpoint{display:flex;align-items:center;gap:16px;padding:10px 0;border-top:1px solid var(--border-soft)}
.endpoint:last-child{border-bottom:1px solid var(--border-soft)}
.endpoint .m{width:44px;color:var(--text-2)}
.endpoint .p{flex:1;min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.endpoint .d{color:var(--text-3);font-family:var(--sans)}
.code{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);
  border-radius:14px;overflow:hidden;font-family:var(--mono);font-size:13px;line-height:1.7}
.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;
  border-bottom:1px solid var(--border-soft)}
.code-head b{font-weight:400}
.code-head span{font-size:12px;color:var(--text-3)}
.code pre{margin:0;padding:16px 18px;color:var(--text-2);overflow-x:auto}
.code pre + .code-head{border-top:1px solid var(--border-soft)}
.code b{color:var(--text);font-weight:400}
.inline-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500}

/* cta + footer */
.cta{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}
.cta h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.03em;text-wrap:balance}
.site-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-top:28px;padding-bottom:36px;border-top:1px solid var(--border-hair);font-size:13px;color:var(--text-3)}
.site-foot .brand{font-size:13px;color:var(--text-2)}
.site-foot nav{display:flex;align-items:center;gap:24px}
.site-foot nav a{color:var(--text-2)}
.site-foot nav a:hover{color:var(--text)}

@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .launcher{max-width:460px}
  .api-grid{grid-template-columns:1fr;gap:40px}
  .ai-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:860px){
  .nav,.head-right .link-quiet{display:none}
  .menu-btn{display:flex}
  .principles{grid-template-columns:1fr;gap:28px}
  .hero-cta .btn{flex:1 1 auto;min-width:0}
  .launcher{max-width:none}
  .site-foot{flex-direction:column;align-items:flex-start;gap:18px}
}

/* ---------- inner pages ---------- */
/* Подвал прибит к низу экрана: на коротких страницах (вход, регистрация, 404)
   он иначе повисает посреди пустоты. body - колонка на всю высоту окна,
   подвал забирает остаток через margin-top:auto. flex:none нужен, чтобы
   секции не сжимались, когда содержимого мало. */
html{min-height:100%}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body > *{flex:none}
.site-foot{margin-top:auto}

.page-head{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(32px,4vw,48px)}
.eyebrow{display:block;margin-bottom:16px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.page-head h1{font-size:clamp(36px,5vw,60px);line-height:1.02}
.page-head .lede{margin-top:20px;max-width:600px;font-size:clamp(17px,1.5vw,19px)}
.block{padding-bottom:clamp(56px,7vw,96px)}
.block + .block{border-top:1px solid var(--border-hair);padding-top:clamp(48px,6vw,80px)}
.block h2{margin-bottom:14px;font-size:clamp(24px,2.6vw,30px)}
.block h3{font-size:17px;font-weight:500;margin-bottom:8px}
.block p{font-size:15px;line-height:1.6;color:var(--text-2);max-width:62ch;text-wrap:pretty}
.block h2 + p{font-size:16px;margin-bottom:32px;color:var(--text-2)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(24px,3vw,40px)}
.col{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid #222227}
.col p{font-size:14.5px}
.rows{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;
  background:var(--surface-2);overflow:hidden}
.row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--border-hair)}
.row:last-child{border-bottom:0}
.row .k{flex:0 0 190px;font-size:14px;color:var(--text)}
.row .v{flex:1;min-width:200px;font-size:14px;color:var(--text-2)}
.row .n{font-size:14px;color:var(--text-2);font-variant-numeric:tabular-nums}
table.grid{width:100%;border-collapse:collapse;font-size:14px}
table.grid th,table.grid td{padding:12px 18px;text-align:left;border-bottom:1px solid var(--border-hair);
  vertical-align:top}
table.grid th{font-size:12px;font-weight:400;color:var(--text-3)}
table.grid td{color:var(--text-2)}
table.grid td:first-child{color:var(--text)}
table.grid tr:last-child td{border-bottom:0}
.scroller{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
pre.code-block{margin:0;padding:16px 18px;overflow-x:auto;border:1px solid var(--border);border-radius:12px;
  background:var(--surface-2);font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--text-2)}
pre.code-block b{color:var(--text);font-weight:400}
pre.code-block .c{color:var(--text-3)}
.steps-list{counter-reset:s;display:flex;flex-direction:column;gap:clamp(28px,3.5vw,44px);margin:0;padding:0;list-style:none}
.steps-list > li{counter-increment:s;display:grid;grid-template-columns:36px minmax(0,1fr);gap:18px}
.steps-list > li::before{content:counter(s);display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border:1px solid var(--border-strong);border-radius:50%;font-size:13px;color:var(--text-2)}
.steps-list h3{margin-bottom:6px}
.steps-list p{margin-bottom:14px}
.note{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;
  background:var(--surface-2)}
.note p{margin:0;font-size:14px;max-width:none}
.note b{color:var(--text);font-weight:500}
.tail{padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(56px,7vw,96px);border-top:1px solid var(--border-hair);
  display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.tail h2{font-size:clamp(24px,2.8vw,32px)}
.status{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--border-strong);
  border-radius:999px;font-size:13px;color:var(--text-2)}
.center{text-align:center;align-items:center}
.center p{margin-left:auto;margin-right:auto}
@media (max-width:640px){
  .row .k{flex:0 0 100%}
  .steps-list > li{grid-template-columns:1fr;gap:10px}
}

/* ---------- auth + app ---------- */
.auth-wrap{display:flex;justify-content:center;padding-top:clamp(48px,8vw,96px);padding-bottom:clamp(64px,9vw,120px)}
.auth-card{width:100%;max-width:400px}
.auth-card h1{font-size:clamp(28px,3.4vw,34px);line-height:1.1;letter-spacing:-.025em}
.auth-sub{margin:10px 0 28px;font-size:15px;color:var(--text-2)}
.auth-error{margin-bottom:20px;padding:12px 14px;border:1px solid #3a2422;border-radius:9px;
  background:#161011;font-size:14px;color:#f0a9a4}
.field-row{display:block;margin-bottom:18px}
.field-row > span{display:block;margin-bottom:7px;font-size:13px;color:var(--text-2)}
.field-row input{width:100%;height:44px;padding:0 13px;border:1px solid var(--border);border-radius:9px;
  background:var(--surface-2);color:var(--text);font:inherit;font-size:15px;
  transition:border-color .15s ease,background .15s ease}
.field-row input:hover{border-color:#2c2c33}
.field-row input:focus{outline:none;border-color:#43434c;background:var(--surface)}
.field-row small{display:block;margin-top:7px;font-size:12.5px;color:var(--text-3)}
.auth-alt{margin-top:22px;font-size:14px;color:var(--text-2);text-align:center}
.auth-alt a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#3a3a41}
.auth-alt a:hover{text-decoration-color:var(--text)}

/* Кабинету не нужны широкие поля лендинга: они съедали max-width и панель
   ужималась. Свои отступы + width:100%, иначе margin:auto во flex-колонке
   отключает растягивание и блок сжимается по содержимому. */
.app-main{width:100%;max-width:1048px;margin:0 auto;
  padding:clamp(28px,4vw,44px) 24px clamp(64px,8vw,110px)}
.app-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-bottom:26px}
.app-head h1{font-size:clamp(24px,2.6vw,28px);letter-spacing:-.02em}
.app-sub{display:block;margin-top:6px;font-size:13.5px;color:var(--text-3)}
.app-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.app-meta{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}
.app-meta b{color:var(--text);font-weight:500}
.app-block{margin-top:clamp(32px,4vw,48px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--border-hair)}
.app-block h2{margin-bottom:16px;font-size:16px;font-weight:500}
.app-note{margin-top:10px;font-size:13px;color:var(--text-3)}
.empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(32px,5vw,56px);
  border:1px dashed #2a2a30;border-radius:12px;background:var(--surface-2)}
.empty h2{font-size:18px;font-weight:500}
.empty p{max-width:52ch;font-size:14.5px;line-height:1.6;color:var(--text-2)}
.empty .hero-cta{margin-top:8px}
.key-reveal{display:flex;flex-direction:column;gap:16px;margin-bottom:28px;padding:20px;
  border:1px solid #2c2c33;border-radius:12px;background:var(--surface)}
.key-reveal h2{font-size:16px;font-weight:500;margin-bottom:6px}
.key-reveal p{font-size:14px;line-height:1.6;color:var(--text-2);max-width:60ch}
.key-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.key-line code{flex:1;min-width:0;overflow-x:auto;padding:11px 13px;border:1px solid var(--border);
  border-radius:9px;background:var(--bg);font-family:var(--mono);font-size:13px;color:var(--text);
  white-space:nowrap}

/* ---------- dashboard ---------- */
.app-right{gap:20px}
.app-h1{font-size:clamp(24px,2.6vw,28px);letter-spacing:-.02em}
.crumbs{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:13px;color:var(--text-3)}
.crumbs a{color:var(--text-2)}
.crumbs a:hover{color:var(--text)}
.notice-bar{margin-bottom:22px;padding:12px 15px;border:1px solid #2a2a30;border-radius:10px;
  background:var(--surface);font-size:14px;color:var(--text-2)}
.ask-bar{display:flex;align-items:center;gap:10px;margin-bottom:22px;padding:0 8px 0 16px;
  height:46px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.ask-bar input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--text);
  font:inherit;font-size:15px}
.ask-bar input::placeholder{color:var(--text-3)}
.ask-bar input:focus{outline:none}
.ask-bar button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:6px;background:var(--control);transition:background .15s ease}
.ask-bar button:hover{background:#26262d}
.chips{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-bottom:14px}
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:6px;
  font-size:13px;color:var(--text-2)}
.chip i{font-style:normal;color:var(--text-3)}
.chip.is-on{background:var(--raised);color:var(--text)}
.st{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.st i{width:6px;height:6px;border-radius:50%;flex:none}
.dev-table{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);overflow:hidden}
.dev-head,.dev-row{display:flex;align-items:center;gap:16px;padding:0 16px;font-size:13.5px}
.dev-head{height:38px;border-bottom:1px solid var(--border-hair);font-size:12px;color:var(--text-3)}
.dev-row{height:52px;border-bottom:1px solid var(--border-hair);color:var(--text-2);
  transition:background .15s ease}
.dev-row:last-child{border-bottom:0}
.dev-row:hover{background:var(--surface)}
.dev-row .c-name{color:var(--text);font-weight:500}
.c-name{flex:0 0 150px}
.c-os{flex:0 0 110px}
.c-st{flex:0 0 130px}
.c-rg{flex:0 0 130px}
.c-id{flex:1;min-width:0;font-size:12.5px;color:var(--text-3)}
.c-ac{flex:0 0 50px;text-align:right;color:var(--text-2)}
.dev-row:hover .c-ac{color:var(--text)}
.dev-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;
  font-size:13px;color:var(--text-2)}
.dev-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start}
.phone{width:300px;padding:8px;border-radius:30px;background:var(--raised);
  border:1px solid var(--border-strong);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.phone-inner{display:flex;align-items:center;justify-content:center;height:600px;border-radius:22px;
  background:#050506}
.phone-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 32px;text-align:center}
/* живой стрим внутри рамки телефона */
.live{position:relative;width:100%;height:100%;border-radius:22px;overflow:hidden;background:#000}
.live video{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.live .lpad{position:absolute;inset:0;touch-action:none;outline:none;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22'><circle cx='11' cy='11' r='7' fill='rgba(255,255,255,0.18)' stroke='rgba(255,255,255,0.85)' stroke-width='1.5'/></svg>") 11 11,pointer}
.live .lpad:active{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22'><circle cx='11' cy='11' r='8' fill='rgba(255,255,255,0.35)' stroke='white' stroke-width='1.5'/></svg>") 11 11,pointer}
.live .lst{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;pointer-events:none}
.live .lst span{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;
  background:rgba(10,10,11,.72);font-size:12px;color:var(--text-2);transition:opacity .3s ease}
.live .lst i{width:6px;height:6px;border-radius:50%;background:#e8b93a;box-shadow:0 0 0 3px rgba(232,185,58,.14)}
.live.is-live .lst span{opacity:0}
.live.is-live:hover .lst span{opacity:1}
.live.is-live .lst i{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.14)}
.live.is-err .lst i{background:#f26b65;box-shadow:0 0 0 3px rgba(242,107,101,.14)}
/* цифры стрима поверх экрана: кнопка Stats или клавиша «s» */
.live .lstats{position:absolute;left:10px;top:10px;padding:6px 9px;border-radius:8px;pointer-events:none;
  background:rgba(10,10,11,.78);color:var(--text-2);font-size:11.5px;line-height:1.45}
.live .lstats b{display:block;font-weight:400;white-space:pre}
/* «Measure latency» - единственное кликабельное в оверлее, поэтому pointer-events возвращаем ей одной */
.live .lstats .lstats-act{pointer-events:auto;margin-top:6px;padding:3px 7px;border:1px solid #2e2e35;border-radius:6px;
  background:var(--surface);color:var(--text-2);font:inherit;font-size:11px;cursor:pointer}
.live .lstats .lstats-act:hover{color:var(--text);border-color:#43434c}
.live .lstats .lstats-act[disabled]{opacity:.55;cursor:default}
.btn-link.is-on{color:var(--text);background:var(--raised)}
/* установка APK */
label.drop{cursor:pointer;transition:border-color .15s ease,background .15s ease}
label.drop u{color:var(--text);text-decoration:underline;text-underline-offset:3px;margin-left:4px}
label.drop:hover,label.drop.is-over{border-color:#43434c;background:var(--surface)}
.drop.muted-box{cursor:default;color:var(--text-3)}
.up-bar{height:2px;margin:0 18px 14px;border-radius:1px;background:var(--control);overflow:hidden}
.up-bar i{display:block;width:0;height:100%;background:var(--text);transition:width .2s ease}
.pc-sec .app-note{padding:0 18px 14px;margin:0}
#phoneFrame:fullscreen{display:flex;align-items:center;justify-content:center;background:#000;padding:0;border:0;border-radius:0}
#phoneFrame:fullscreen .phone-inner{height:100vh;width:auto;aspect-ratio:9/20;border-radius:0}
.phone-empty span{font-size:14px;color:var(--text-2)}
.phone-empty small{font-size:12.5px;line-height:1.5;color:var(--text-3)}
.ctl-col{display:flex;flex-direction:column;gap:18px}
.ctl{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);overflow:hidden}
.ctl-head{padding:13px 16px;border-bottom:1px solid var(--border-hair);font-size:14px;
  font-weight:500;color:var(--text)}
.ctl-row{display:flex;align-items:center;gap:16px;padding:13px 16px;border-bottom:1px solid var(--border-hair);
  font-size:13.5px}
.ctl-row:last-child{border-bottom:0}
.ctl-k{flex:0 0 110px;color:var(--text)}
.ctl-v{flex:1;min-width:0;color:var(--text-2)}
.ctl-v.muted,.muted{color:var(--text-3)}
.ctl-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px}
.ctl .app-note{padding:0 16px 14px;margin:0}
.ctl.danger .ctl-k{color:var(--text)}
.danger-btn{margin-left:auto;border-color:#3a2422 !important;color:#f0a9a4 !important}
.danger-btn:hover{border-color:#5a3330 !important;background:#161011 !important}
.btn[disabled]{opacity:.42;cursor:not-allowed;pointer-events:none}
.create-form .field-row select,.create-form .field-row input{width:100%;height:44px;padding:0 13px;
  border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);
  font:inherit;font-size:15px}
.create-form .field-row select{appearance:none;-webkit-appearance:none;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2366666e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:16px}
.create-form .field-row select:focus,.create-form .field-row input:focus{outline:none;border-color:#43434c}
.create-foot{display:flex;flex-direction:column;gap:16px;margin-top:26px;padding-top:20px;
  border-top:1px solid var(--border-hair)}
.bill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.bill-card{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:24px;
  border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.bill-k{font-size:13px;color:var(--text-2)}
.bill-v{font-size:40px;line-height:1;font-weight:600;letter-spacing:-.03em;color:var(--text);
  font-variant-numeric:tabular-nums}
.bill-s{display:inline-flex;align-items:center;min-height:34px;font-size:14px;color:var(--text-3)}
.bill-link{margin-top:24px;color:var(--text-2)}
.bill-link:hover{color:var(--text)}

/* ---------- dashboard API page: key, endpoints, code panel ---------- */
.api-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.api-left{display:flex;flex-direction:column;gap:24px}
.key-box{padding:16px 18px 18px}
.key-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.key-row code{flex:1;min-width:180px;height:40px;display:flex;align-items:center;padding:0 12px;
  border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:13px;
  color:var(--text-2);letter-spacing:.04em;overflow:hidden;white-space:nowrap}
.key-box .app-note{margin-top:12px}
.ep{display:flex;align-items:center;gap:16px;height:44px;padding:0 18px;
  border-bottom:1px solid var(--border-hair);font-size:13px}
.ep:last-child{border-bottom:0}
.ep-m{flex:0 0 52px;color:var(--text-2)}
.ep-p{flex:1;min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep-d{flex:0 0 auto;color:var(--text-3);text-align:right}
.api-cols .code{align-self:start}
@media (max-width:980px){
  .api-cols{grid-template-columns:1fr}
}
@media (max-width:560px){
  .ep-d{display:none}
}

/* ---------- new device: modal over the list ---------- */
.modal-back{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(10,10,11,.72)}
.modal-close-area{position:absolute;inset:0}
.modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:440px;
  max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid var(--border-strong);
  border-radius:14px;background:var(--surface);box-shadow:0 40px 100px -20px rgba(0,0,0,.9)}
.modal-head{padding:20px 22px 0}
.modal-head h2{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.modal-err{margin:16px 22px 0;padding:11px 13px;border:1px solid #3a2422;border-radius:9px;
  background:#161011;font-size:13.5px;color:#f0a9a4}
.modal-body{display:flex;flex-direction:column;gap:16px;padding:18px 22px 22px}
.mf{display:flex;flex-direction:column;gap:3px;padding:8px 12px;border:1px solid var(--border);
  border-radius:9px;background:var(--surface-2);cursor:pointer;
  transition:border-color .15s ease,background .15s ease}
.mf:hover{border-color:#2c2c33;background:#131316}
.mf:focus-within{border-color:#43434c;background:var(--surface)}
.mf-k{font-size:12px;color:var(--text-3)}
.mf-v{width:100%;height:22px;padding:0;border:0;background:none;color:var(--text);
  font:inherit;font-size:15px;font-weight:500;cursor:pointer}
.mf-v:focus{outline:none}
select.mf-v{appearance:none;-webkit-appearance:none;padding-right:22px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2366666e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center;background-size:16px}
input.mf-v{font-weight:400;cursor:text}
input.mf-v::placeholder{color:var(--text-3);font-weight:400}
.mf-qty{display:flex;flex-direction:column;gap:7px}
.stepper{display:inline-flex;align-items:center;width:132px;height:40px;border:1px solid var(--border);
  border-radius:9px;background:var(--surface-2);overflow:hidden}
.stepper button{display:flex;align-items:center;justify-content:center;width:40px;height:100%;
  transition:background .15s ease}
.stepper button:hover{background:#131316}
.stepper input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--text);
  font:inherit;font-size:14px;font-weight:500;text-align:center;-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{outline:none}
/* поле с подсказкой и зависимыми полями под ним (модалка Create a device: Network, Keybox) */
.mf-wrap{display:flex;flex-direction:column;gap:7px}
.mf-h{font-size:12px;color:var(--text-3);line-height:1.45;padding:0 2px}
.mf-sub[hidden]{display:none}
.mf-file{height:auto;font-size:13px;font-weight:400;cursor:pointer;color:var(--text-2)}
.mf-file::file-selector-button{margin:0 10px 0 0;padding:3px 10px;border:1px solid var(--border);border-radius:7px;
  background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}
.mf-file::file-selector-button:hover{border-color:#43434c}
/* выбор сети при создании телефона: радио-карточки типов выхода (осталось от старой модалки, admin.css свой) */
.net-head{display:flex;align-items:center}
.netpick{display:flex;flex-direction:column;gap:6px}
.np{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--border);
  border-radius:9px;background:var(--surface-2);cursor:pointer;
  transition:border-color .15s ease,background .15s ease}
.np:hover{border-color:#2c2c33;background:#131316}
.np input{appearance:none;-webkit-appearance:none;width:15px;height:15px;margin:2px 0 0;flex:none;
  border-radius:50%;border:1px solid #3a3a41;background:var(--surface);cursor:pointer}
.np input:checked{background:var(--text);border-color:var(--text);box-shadow:inset 0 0 0 3px var(--surface)}
.np-b{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.np-t{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text)}
.np-h{font-size:12px;color:var(--text-3);line-height:1.45}
.np.is-off{cursor:default;opacity:.55}
.np.is-off:hover{border-color:var(--border);background:var(--surface-2)}
.np.is-off input{cursor:default}
.np-x{padding-left:25px}
.np-x[hidden]{display:none}
.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:14px 22px;border-top:1px solid var(--border-soft);background:var(--surface-2)}
.modal-price{font-size:13px;color:var(--text-3)}
.modal-btns{display:flex;align-items:center;gap:8px}
/* ---------- device list: checkboxes, bulk bar, columns ---------- */
.c-ck{flex:0 0 16px}
.c-ck input{width:15px;height:15px;margin:0;accent-color:#ededed;cursor:pointer}
.c-name{flex:0 0 170px;display:flex;flex-direction:column;gap:2px;min-width:0}
.dev-row .c-name{color:var(--text);font-weight:500}
.c-name small{font-size:11.5px;font-weight:400;color:var(--text-3)}
.c-os{flex:0 0 100px}
.c-st{flex:0 0 130px}
.c-rg{flex:0 0 110px}
.c-ip{flex:1;min-width:0;font-size:12.5px}
.c-up{flex:0 0 70px}
.c-ac{flex:0 0 130px;display:flex;align-items:center;justify-content:flex-end;gap:6px}
.dev-none{padding:26px 16px;font-size:14px;color:var(--text-3)}
.dev-none a{color:var(--text);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:#3a3a41}
.dev-none a:hover{text-decoration-color:var(--text)}
.btn-xs{height:26px;padding:0 10px;border-radius:6px;font-size:12.5px}
.btn-link{font-size:12.5px;font-weight:500;color:var(--text-2);padding:4px 6px;border-radius:5px;
  transition:color .15s ease,background .15s ease}
.btn-link:hover{color:var(--text);background:var(--raised)}
.btn-link.is-danger{color:#f0a9a4}
.bulk{display:flex;align-items:center;gap:6px;margin-bottom:12px;padding:0 12px 0 16px;height:40px;
  border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.bulk-n{font-size:13px;color:var(--text-2);margin-right:8px}
.bulk-n b{color:var(--text);font-weight:500}
.chip{text-decoration:none}
a.chip:hover{color:var(--text)}

/* ---------- the live Android screen ---------- */
.scr{display:flex;flex-direction:column;width:100%;height:100%;padding:14px 18px 12px;
  border-radius:22px;background:#050506;overflow:hidden}
.scr-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-2)}
.scr-ind{display:inline-flex;align-items:flex-end;gap:6px}
.scr-ind i{display:inline-block;width:2px;background:var(--text-2)}
.scr-ind b{display:inline-block;width:18px;height:9px;border:1px solid var(--text-2);border-radius:2px;padding:1px}
.scr-ind s{display:block;width:70%;height:100%;background:var(--text-2)}
.scr-clock{margin-top:38px;text-align:center}
.scr-h{font-size:54px;line-height:1;font-weight:500;letter-spacing:-.03em;color:var(--text)}
.scr-d{margin-top:8px;font-size:13px;color:var(--text-2)}
.scr-search{display:flex;align-items:center;gap:8px;margin-top:30px;height:40px;padding:0 14px;
  border-radius:20px;background:#1a1a1f;font-size:13px;color:var(--text-3)}
.scr-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 6px;margin-top:24px}
.scr-app{display:flex;flex-direction:column;align-items:center;gap:6px}
.scr-app span{width:42px;height:42px;border-radius:12px;background:var(--control)}
.scr-app small{font-size:10px;color:var(--text-2)}
.scr-dock{display:flex;justify-content:space-around;margin-top:auto;padding:10px 6px;
  border-radius:22px;background:#121215}
.scr-dock span{width:40px;height:40px;border-radius:12px;background:var(--control)}
.scr-bar{width:90px;height:4px;margin:10px auto 0;border-radius:2px;background:#3a3a41}
.phone-bar{display:flex;align-items:center;gap:2px;margin-top:14px;padding:4px;
  border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.pb{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;
  transition:background .15s ease}
.pb:hover{background:var(--raised)}
.pb-sep{width:1px;height:18px;margin:0 6px;background:var(--border)}
.drop{display:flex;align-items:center;justify-content:center;gap:5px;height:58px;margin:14px 16px;
  border:1px dashed #2a2a30;border-radius:8px;font-size:13px;color:var(--text-3)}
.drop a{color:var(--text)}
.logs{display:flex;flex-direction:column;gap:5px;padding:13px 16px;font-size:12px;line-height:1.5;
  color:var(--text-2)}
.logs i{font-style:normal;color:var(--text-3);margin-right:8px}

/* ---------- device page: one card, sections divided by hairlines ---------- */
.dev-grid{grid-template-columns:minmax(0,1fr) 400px}
.screen-col{display:flex;flex-direction:column;align-items:center}
.dev-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.dev-id{font-size:12.5px;color:var(--text-3)}
.dev-meta .sep{color:var(--text-3)}
.panel-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;
  background:var(--surface-2);overflow:hidden}
.pc-sec{display:flex;flex-direction:column;border-bottom:1px solid var(--border-hair)}
.pc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 0}
.pc-head > span:first-child{font-size:14px;font-weight:500;color:var(--text)}
.pc-link,.inline-edit > summary{font-size:13px;color:var(--text-2);cursor:pointer;list-style:none}
.pc-link:hover,.inline-edit > summary:hover{color:var(--text)}
.inline-edit{position:relative}
.inline-edit > summary::-webkit-details-marker{display:none}
.pc-body{display:flex;align-items:center;padding:10px 18px 15px;font-size:13.5px;color:var(--text-2)}
.pc-split{justify-content:space-between;gap:12px;flex-wrap:wrap}
.ie-form{position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:flex;align-items:center;gap:8px;
  padding:9px;border:1px solid var(--border-strong);border-radius:10px;background:var(--raised);
  box-shadow:0 20px 50px -20px rgba(0,0,0,.9)}
.ie-form input,.ie-form select{width:210px;height:32px;padding:0 10px;border:1px solid var(--border);
  border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:13px}
.ie-form select{width:150px}
.ie-form input:focus,.ie-form select:focus{outline:none;border-color:#43434c}
.pc-sec .drop{margin:12px 18px 16px}
.pc-sec .logs{padding:10px 18px 15px}
.adv > summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;
  list-style:none;cursor:pointer;transition:background .15s ease}
.adv > summary::-webkit-details-marker{display:none}
.adv > summary:hover{background:var(--surface)}
.adv > summary span{display:flex;flex-direction:column;gap:3px}
.adv > summary b{font-size:14px;font-weight:500;color:var(--text)}
.adv > summary small{font-size:12px;color:var(--text-3)}
.adv > summary svg{transition:transform .15s ease}
.adv[open] > summary svg{transform:rotate(90deg)}
.adv-body{border-top:1px solid var(--border-hair)}
.adv-body .ctl-row:last-child{border-bottom:0}
.adv-body .ctl-k{flex:0 0 96px}

/* ---------- ask: turn, reply, confirmation ---------- */
.reply{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:12px;
  background:var(--surface-2)}
.reply p{font-size:15px;line-height:1.55;color:var(--text)}
.confirm{margin-top:16px}
.warn{display:flex;gap:11px;padding:13px 15px;border:1px solid var(--border);border-radius:10px;
  background:var(--surface)}
.warn div{display:flex;flex-direction:column;gap:3px}
.warn b{font-size:13.5px;font-weight:500;color:var(--text)}
.warn span{font-size:13px;line-height:1.5;color:var(--text-2)}
.confirm-btns{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}

/* ---------- header extras, search, row menu ---------- */
.dot-g{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 3px rgba(74,222,128,.14)}
.acct,.menu-wrap{position:relative}
.acct summary,.menu-wrap summary{display:flex;align-items:center;justify-content:center;
  list-style:none;cursor:pointer;border-radius:50%;transition:background .15s ease}
.acct summary::-webkit-details-marker,.menu-wrap summary::-webkit-details-marker{display:none}
.acct summary{width:28px;height:28px;background:var(--control)}
.acct summary:hover{background:#26262d}
.menu-wrap summary{width:26px;height:26px;border-radius:6px}
.menu-wrap summary:hover{background:var(--raised)}
.pop{position:absolute;top:calc(100% + 6px);right:0;z-index:60;display:flex;flex-direction:column;
  min-width:168px;padding:5px;border:1px solid var(--border-strong);border-radius:10px;
  background:var(--raised);box-shadow:0 20px 50px -20px rgba(0,0,0,.9)}
.pop a,.pop button{display:flex;align-items:center;min-height:34px;padding:0 10px;border-radius:7px;
  font-size:13.5px;color:var(--text-2);text-align:left;background:none;border:0;cursor:pointer;
  font:inherit;font-size:13.5px;transition:background .15s ease,color .15s ease}
.pop a:hover,.pop button:hover{background:#1f1f25;color:var(--text)}
.pop button.is-danger{color:#f0a9a4}
.pop-h{padding:7px 10px 9px;font-size:12px;color:var(--text-3);border-bottom:1px solid var(--border);
  margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop-sep{height:1px;margin:4px 0;background:var(--border)}
.kbd{flex:none;padding:3px 6px;border:1px solid #222227;border-radius:4px;font-size:11px;color:var(--text-3)}
.filter-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:14px}
.search{position:relative;display:flex;align-items:center;gap:8px;width:240px;height:32px;
  padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.search input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--text);
  font:inherit;font-size:13px}
.search input::placeholder{color:var(--text-3)}
.search input:focus{outline:none}
.search input::-webkit-search-cancel-button{display:none}
.search-x{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;font-size:15px;line-height:1;color:var(--text-3);
  background:var(--control)}
.search-x:hover{color:var(--text)}

@media (max-width:900px){
  .dev-grid{grid-template-columns:1fr}
  .phone{width:100%;max-width:320px}
}
@media (max-width:760px){
  .filter-row{align-items:stretch}
  .search{width:100%}
}
@media (max-width:860px){
  .c-rg,.c-ip,.c-up{display:none}
  .app-right .app-meta{display:none}
}
@media (max-width:620px){
  .c-os{display:none}
  .c-ac{flex:0 0 76px}
}



/* ---------- кабинет: паритет с макетом design/clousd-dashboard (6 сентября 2026) ----------
   Меню пилюлями сразу после логотипа, шапка 56px, заголовки 24px, кнопки 36px (в строках 28px), строки таблицы 56px,
   колонки 240/120/150/150/150/110, статусы: running/starting #ededed, stopped #9a9aa1, error #f26b65. */
.site-head.is-app{height:56px;justify-content:flex-start;gap:24px}
.site-head.is-app .brand{font-size:14px}
.head-div{width:1px;height:20px;background:#202025;flex:none}
.head-spacer{flex:1}
.app-nav{gap:4px}
.app-nav a{display:inline-flex;align-items:center;padding:6px 10px;border-radius:6px;font-size:14px;line-height:18px;color:var(--text-2);transition:color .15s ease,background .15s ease}
.app-nav a:hover{color:var(--text)}
.app-nav a.on{color:var(--text);background:#151518}
.app-right{gap:24px}
.app-right .link-quiet{height:auto;padding:0;font-size:13px}
.app-main .app-h1,.app-main .app-head h1{font-size:24px;line-height:1.1;font-weight:600;letter-spacing:-.02em;color:#ededed}
.app-main .app-sub{font-size:14px;margin-top:6px}
.app-main{max-width:1200px}
.app-main .btn-sm{height:32px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:500}
.app-main .btn-new{height:36px;padding:0 14px}
.app-main .btn-ghost{background:#0a0a0b;border-color:#26262c}
.app-main .btn-ghost:hover{border-color:#3a3a41;background:#131316}
.app-main .btn-xs{height:28px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:500}
.app-main .btn-link{height:28px;padding:0 10px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-2)}
.app-main .btn-link:hover{color:var(--text);background:#131316}
.chip{height:auto;padding:5px 10px}
.dev-head,.dev-row{gap:0;font-size:14px}
.dev-head{font-size:12px}
.dev-meta{font-size:14px}
.panel-card .btn-xs{height:30px}
.dev-row{height:56px}
.c-ck{display:none}
.c-name{flex:0 0 240px;flex-direction:row;align-items:center;gap:12px}
.c-name small{display:none}
.c-name .st{gap:12px}
.dev-row.is-stopped .c-name{color:var(--text-2)}
.c-os{flex:0 0 120px}
.c-st{flex:0 0 150px}
.c-rg{flex:0 0 150px}
.c-ip{flex:0 0 150px;font-size:13px}
.c-up{flex:0 0 110px}
.c-ac{flex:1;justify-content:flex-end;gap:4px}
.dev-row .st{color:var(--text)}
.dev-row .st.is-stopped,.dev-row .st.is-queued{color:var(--text-2)}
.dev-row .st.is-error{color:#f26b65}
.mf > span:first-child,.modal label > span:first-child{font-size:13px;color:var(--text-2)}
.modal-foot .btn-sm{height:36px;font-size:14px}
.ctl-head{font-size:14px;font-weight:500;color:var(--text);padding:14px 18px}
.phone-bar .btn-link{height:28px}
@media (max-width:900px){.dev-head,.dev-row{gap:12px}.c-name{flex-basis:170px}.c-os,.c-st,.c-rg,.c-ip,.c-up{flex-basis:auto}}
.mf-k{font-size:13px;color:var(--text-2)}
.mf-opt{margin-left:auto;font-size:12px;color:var(--text-3)}
.mf > .mf-k{display:flex;align-items:center}
.modal{max-width:466px}
.modal-foot .btn-ghost{background:#0a0a0b;padding:0 12px}
.app-main .inline-link{font-size:14px}
.key-row .btn{height:36px;padding:0 12px;font-size:14px;font-weight:500}

/* ---------- кабинет v2: карточки парка, панель выбора, таблицы вкладок (макет design/clousd-dashboard-v2, 8 сентября 2026) ----------
   Сетка 3 карточки, карточка 16px/12px, превью 78x160, точки статуса 6px, таблицы 38/56px, вспомогательные 48/44px. */
.fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.fleet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.fleet{grid-template-columns:1fr}}
.dcard{display:flex;gap:16px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);transition:border-color .15s ease}
.dcard.is-sel{border-color:#3a3a41}
.thumb{position:relative;width:78px;height:160px;flex:none;border-radius:10px;border:1px solid var(--border);background:linear-gradient(180deg,#16161a 0%,#0f0f11 100%);overflow:hidden}
.thumb.is-off{background:#0d0d0f}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.thumb .grid{position:absolute;left:8px;right:8px;top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.thumb .grid span{height:12px;border-radius:3px;background:#26262c}
.thumb .grid span:nth-child(n+5){background:#202025}
.thumb.is-off .grid span{background:#1a1a1e}
.thumb .home{position:absolute;left:24px;right:24px;bottom:10px;height:3px;border-radius:2px;background:#2a2a31}
.dbody{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}
.dhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dname{display:flex;align-items:center;gap:10px;min-width:0}
.dname b{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcard.is-stopped .dname b{color:var(--text-2)}
.dname small{font-family:var(--mono);font-size:12px;color:var(--text-3);white-space:nowrap}
.drow{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);flex-wrap:wrap}
.drow .sep{color:#3a3a41}
.drow .ink{color:var(--text)}
.drow .err{color:#f26b65}
.drow .n{font-family:var(--mono);color:var(--text)}
.dlast{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dbtns{display:flex;align-items:center;gap:4px;margin-top:auto;flex-wrap:wrap}
.ck{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;flex:none;border-radius:4px;border:1px solid #3a3a41;background:var(--surface);cursor:pointer;display:inline-grid;place-items:center}
.ck:checked{background:var(--text);border-color:var(--text)}
.ck:checked::after{content:"";width:8px;height:5px;border-left:2.2px solid #0a0a0b;border-bottom:2.2px solid #0a0a0b;transform:translateY(-1px) rotate(-45deg)}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}
.tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;background:var(--raised);font-size:12px;font-weight:500;color:var(--text-2);white-space:nowrap}
.tag.is-quiet{background:var(--surface)}
.tag.is-ink{color:var(--text)}
.tag.is-mobile{background:#1f2a22;color:var(--text)}
.tag.is-residential{background:#1f2530;color:var(--text)}
.tag.is-soon{background:transparent;border:1px dashed #2a2a31;color:var(--text-3);font-weight:400;height:20px;font-size:11px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.icon-btn:hover{border-color:#3a3a41;background:#131316}
.menu-wrap.icon summary{width:28px;height:28px;border-radius:6px}
.filter-right{display:flex;align-items:center;gap:8px}
.view-toggle{display:flex;align-items:center;height:32px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.view-toggle a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border-radius:6px}
.view-toggle a.on{background:var(--control)}
.selbar{position:sticky;bottom:16px;z-index:30;display:flex;align-items:center;gap:8px;height:52px;margin-top:16px;padding:0 8px 0 16px;border:1px solid var(--border-strong);border-radius:12px;background:#131316;box-shadow:0 20px 50px -20px rgba(0,0,0,.9)}
.selbar[hidden]{display:none}
.selbar b{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap}
.selbar .who{font-size:13px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}
.selbar .sp{flex:1}
.app-main .selbar .btn-sm{height:32px;padding:0 12px;font-size:13px}
/* таблицы и панели вкладок */
.tcard{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);overflow:hidden;overflow-x:auto}
.tcard > .thead,.tcard > .trow,.tcard > form.trow{min-width:min(100%,640px)}
@media (max-width:1240px){.tc.hide-l{display:none}}
.thead{display:flex;align-items:center;height:38px;padding:0 16px;border-bottom:1px solid var(--border-hair);font-size:12px;color:var(--text-3)}
.thead .tc{padding-right:12px}
.thead .end{margin-left:auto;color:var(--text-2)}
.trow{display:flex;align-items:center;height:56px;padding:0 16px;border-bottom:1px solid var(--border-hair);font-size:14px;color:var(--text-2);transition:background .15s ease}
.trow:last-child{border-bottom:0}
.trow:hover{background:var(--surface)}
.trow.h48{height:48px}.trow.h44{height:44px}
.trow.is-on{background:var(--raised)}
.tc{flex:none;padding-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc.fill{flex:1;min-width:0}
.tc.end{margin-left:auto;display:flex;align-items:center;gap:4px;flex:none;padding-right:0;overflow:visible}
.tc.mono{font-family:var(--mono);font-size:13px}
.tc.ink{color:var(--text)}
.tc.err{color:#f26b65}
.tc .dot{margin-right:8px}
.dev{display:flex;align-items:center;gap:10px;color:var(--text);min-width:0}
.dev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dev small{font-family:var(--mono);font-size:12px;color:var(--text-3);flex:none}
.dev.is-off{color:var(--text-2)}
.pcard{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.pcard.note{font-size:13px;line-height:1.5;color:var(--text-2);padding:14px 16px}
.pcard.note b{color:var(--text);font-weight:500}
.pcard h3{font-size:13px;font-weight:500;color:var(--text)}
.pcard .hint{font-size:12px;color:var(--text-3);line-height:1.5}
.phead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.split{display:grid;gap:24px;align-items:start}
.split.l340{grid-template-columns:340px minmax(0,1fr)}
.split.l300{grid-template-columns:300px minmax(0,1fr)}
.split.r320{grid-template-columns:minmax(0,1fr) 320px}
.split.half{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:960px){.split{grid-template-columns:1fr!important}}
.stack{display:flex;flex-direction:column;gap:16px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:760px){.stats{grid-template-columns:1fr}}
.stat{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.stat .k{font-size:12px;color:var(--text-3)}
.stat .v{font-family:var(--mono);font-size:24px;color:var(--text)}
.stat .v.sans{font-family:var(--sans);font-size:16px;font-weight:500}
.stat .s{font-size:12px;color:var(--text-3)}
.bar{display:inline-block;height:6px;border-radius:3px;background:var(--raised);overflow:hidden;vertical-align:middle}
.bar i{display:block;height:100%;background:var(--text)}
.kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;font-size:13px}
@media (max-width:760px){.kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kv > div{display:flex;flex-direction:column;gap:4px;min-width:0}
.kv .k{color:var(--text-3)}.kv .v{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seg{display:flex;align-items:center;gap:2px;font-size:13px;flex-wrap:wrap}
.seg a,.seg span,.seg label{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;color:var(--text-2);cursor:pointer}
.seg label{position:relative}
.seg label input{position:absolute;opacity:0;width:0;height:0}
.seg .on,.seg label:has(input:checked){background:var(--raised);color:var(--text)}
.seg span.off{cursor:default}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld > span{font-size:12px;color:var(--text-3)}
.fld input,.fld select{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;width:100%}
.fld select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none' stroke='%239a9aa1' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.fld input:focus,.fld select:focus{outline:none;border-color:#43434c}
.fld input.mono{font-family:var(--mono)}
.fld .off{display:flex;align-items:center;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px;color:var(--text-3)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:640px){.two{grid-template-columns:1fr}}
.banner{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);font-size:14px;color:var(--text);flex-wrap:wrap}
.banner .sub{color:var(--text-3)}
.banner .sp{flex:1}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--control);font-size:12px;color:var(--text);flex:none;text-transform:uppercase}
.steps{display:flex;flex-direction:column;gap:6px}
.step{display:flex;align-items:center;gap:10px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px;color:var(--text-3)}
.step small{font-family:var(--mono);color:var(--text-3)}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border-hair)}
.form-foot .r{display:flex;align-items:center;gap:8px}
.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.shots figure{margin:0;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-3)}
.shots img{width:100%;aspect-ratio:9/19.5;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#0d0d0f}
.shots .ph{width:100%;aspect-ratio:9/19.5;border-radius:8px;border:1px dashed #2a2a31;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-3);text-align:center;padding:8px}
.rlist{display:flex;flex-direction:column}
.rlist a{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px;border-bottom:1px solid var(--border-hair);color:var(--text)}
.rlist a:last-child{border-bottom:0}
.rlist a:hover{background:var(--surface)}
.rlist a.on{background:var(--raised)}
.rlist a > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rlist a > div span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rlist a > div small{font-family:var(--mono);font-size:11px;color:var(--text-3)}
.rlist a .r{margin-left:auto;font-size:12px;color:var(--text-3);flex:none}
.app-main .btn-link.is-danger{color:#f0a9a4}
.app-main .btn-link[disabled],.app-main .btn[disabled]{opacity:.42;cursor:not-allowed;pointer-events:none}
@media (max-width:860px){.tc.hide-m{display:none}}

/* ---------- billing: top-up (coin -> network), invoice page, account (13.09.2026) ---------- */
.topup{display:flex;flex-direction:column;gap:14px}
.tu-amounts{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tu-amounts .chip{height:32px;padding:0 12px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;font:inherit;font-size:13px}
.tu-amounts .chip.is-on{background:var(--raised);color:var(--text);border-color:var(--border-strong)}
.tu-custom{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-3);font-size:13px}
.tu-custom input{width:74px;height:100%;border:0;background:none;color:var(--text);font:inherit;font-size:14px;-moz-appearance:textfield;appearance:textfield}
.tu-custom input:focus{outline:none}
.tu-coins{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.tu-coin{display:flex;flex-direction:column;gap:4px}
.tu-pick{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.tu-pick:hover{border-color:#43434c;background:var(--surface)}
.tu-ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--raised);font-size:13px;font-weight:600;color:var(--text-2);flex:none}
.tu-nm{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.tu-nm b{font-size:14px;font-weight:500}
.tu-nm span{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tu-amt{font-family:var(--mono);font-size:12px;color:var(--text-2);white-space:nowrap}
.tu-nets{display:flex;flex-direction:column;gap:4px;padding:2px 0 4px 8px}
.tu-nets[hidden]{display:none}
.tu-net{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.tu-net:hover{border-color:#43434c;background:var(--raised)}
.tu-net b{font-size:13px;font-weight:500;flex:0 0 84px}
.tu-net span{font-size:12px;color:var(--text-3);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tu-net i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--text-2)}
/* витрина монет: фирменные значки (pay_coin_icon), сети чипами под монетой */
.tu-ic{background:none;width:36px;height:36px}
.tu-ic .coin{display:block;width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.06)}
img.coin{display:block;border-radius:50%;object-fit:cover}
.tu-pick{padding:12px 14px;gap:12px;border-radius:12px}
.tu-pick.is-open{border-color:#43434c;background:var(--surface);border-bottom-left-radius:0;border-bottom-right-radius:0}
.tu-nm b{font-size:15px}
.tu-nets{gap:6px;padding:8px;margin-top:-4px;border:1px solid #43434c;border-top:0;border-radius:0 0 12px 12px;background:var(--surface)}
.tu-net{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"name amt best" "note note note";column-gap:10px;row-gap:2px;align-items:center;padding:9px 12px;border-radius:9px}
.tu-net b{grid-area:name;display:inline-flex;align-items:center;gap:7px;flex:none}
.tu-net b i{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none;font-style:normal;font-family:inherit;font-size:0}
.tu-net span{grid-area:note;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}
.tu-net i.tu-net-amt{grid-area:amt;margin:0}
.tu-net.is-best{border-color:#2a3a2f}
.tu-net.is-best:after{content:"cheapest";grid-area:best;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:#7bd39a}
.tu-empty{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px dashed #2a2a31;border-radius:12px;color:var(--text-2);font-size:13.5px;line-height:1.5}
.tu-empty .coins{display:flex}
.tu-empty .coins .coin{width:26px;height:26px;margin-right:-8px;box-shadow:0 0 0 2px var(--surface-2);opacity:.85}

/* ---------- касса: страница счёта (15.09.2026, в духе Cryptomus) ---------- */
/* отдельная вкладка: фон с мягкой подсветкой, форма по центру, без шапки кабинета */
.pay-body{position:relative;min-height:100vh;margin:0;background:#070708;color:var(--text);overflow-x:hidden}
.pay-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 100%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 100%)}
.pay-bg i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.8}
.pay-bg .g1{width:620px;height:620px;left:-160px;top:-220px;background:radial-gradient(circle,rgba(74,222,128,.28),transparent 65%)}
.pay-bg .g2{width:720px;height:720px;right:-240px;bottom:-280px;background:radial-gradient(circle,rgba(98,126,234,.30),transparent 65%)}
.pay-bg .g3{width:420px;height:420px;left:50%;top:38%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(232,185,58,.12),transparent 65%);animation:payBreathe 9s ease-in-out infinite}
@keyframes payBreathe{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.12)}}
.pay-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(16px,4vw,40px)}
.pay-logo{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-size:14px;letter-spacing:.02em}
.pay-logo b{font-weight:600}
.pay-top-r{display:flex;align-items:center;gap:18px;font-size:12.5px;color:var(--text-3)}
.pay-secure{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}
.pay-back{color:var(--text-3);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2a2a31}
.pay-back:hover{color:var(--text)}
.pay-wrap{position:relative;z-index:1;width:100%;max-width:600px;margin:0 auto;padding:2vh 16px 60px;display:flex;flex-direction:column;gap:14px}
.pay-body .chk{box-shadow:0 40px 100px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.03) inset,0 0 80px -30px rgba(74,222,128,.15)}
@media (max-width:620px){.pay-top{padding:16px}.pay-secure{display:none}}
.chk-wrap{max-width:600px;display:flex;flex-direction:column;align-items:stretch;gap:14px}
.chk{position:relative;overflow:hidden;border:1px solid var(--border-strong);border-radius:18px;background:linear-gradient(180deg,#121215 0%,#0d0d10 100%);box-shadow:0 30px 80px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.02) inset}
.chk-bar{position:absolute;left:0;top:0;right:0;height:3px;background:#1c1c21}
.chk-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#4ade80,#e8b93a);transition:width 1s linear}
.chk.is-seen .chk-bar i{background:#4ade80}
.chk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 0}
.chk-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);font-size:14px;letter-spacing:.02em}
.chk-brand b{font-weight:600}
.chk-brand span{padding:2px 7px;border-radius:6px;background:var(--raised);font-size:11px;font-weight:500;color:var(--text-2);letter-spacing:.06em;text-transform:uppercase}
.chk-id{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--text-3)}
.chk-id b{font-weight:400;color:var(--text-2);letter-spacing:.04em}
.chk-amount{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 24px 22px;text-align:center}
.chk-amount .coin{width:44px;height:44px;margin-bottom:6px;box-shadow:0 0 0 6px rgba(255,255,255,.03),0 12px 30px -10px rgba(0,0,0,.8)}
.chk-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.chk-big{font-size:clamp(28px,5vw,38px);line-height:1.1;font-weight:500;letter-spacing:-.02em;color:var(--text);cursor:pointer;word-break:break-all;transition:color .2s}
.chk-big small{font-size:.5em;font-weight:500;color:var(--text-2);letter-spacing:0}
.chk-big.is-copied{color:#4ade80}
.chk-usd{font-size:13px;color:var(--text-2)}
.chk-net{display:inline-flex;align-items:center;gap:8px;margin-top:8px;height:28px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12.5px;color:var(--text)}
.chk-net i{width:8px;height:8px;border-radius:50%;flex:none;box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.chk-expired{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 24px 18px;padding:12px 14px;border:1px solid #2a2a31;border-radius:10px;background:var(--surface);font-size:13px;line-height:1.5;color:var(--text-2)}
.chk-expired b{color:var(--text);font-weight:500}
.chk.is-expired .chk-body{opacity:.45}
.chk.is-expired .chk-qr-box{filter:grayscale(1)}
.chk-body{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;padding:0 24px 22px}
.chk-qr{display:flex;flex-direction:column;align-items:center;gap:8px}
.chk-qr-box{position:relative;padding:10px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 20px 40px -20px rgba(0,0,0,.8)}
.chk-qr-box img:not(.coin),.chk-qr-box canvas{display:block;width:176px;height:176px}
.chk-qr-coin{position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff}
.chk-qr-coin .coin{width:28px;height:28px}
.chk-qr-cap{font-size:12px;color:var(--text-3)}
.chk-open{font-size:12.5px;color:var(--text-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2a2a31}
.chk-open:hover{color:var(--text)}
.chk-fields{display:flex;flex-direction:column;gap:6px;min-width:0}
.chk-lb{font-size:12px;color:var(--text-3);margin-top:2px}
.chk-lb span{color:#4d4d55}
.chk-copy{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:9px 8px 9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;transition:border-color .15s}
.chk-copy:hover{border-color:#3a3a41}
.chk-copy.is-copied{border-color:#2a4a36}
.chk-copy code{flex:1;min-width:0;font-family:var(--mono);font-size:13px;line-height:1.45;color:var(--text);word-break:break-all}
.chk-copy button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;cursor:pointer;flex:none}
.chk-copy button:hover{border-color:#3a3a41;background:var(--raised)}
.chk-meta{display:flex;flex-direction:column;gap:3px;margin-top:2px;font-size:12px;line-height:1.5;color:var(--text-3)}
.chk-meta a{color:var(--text-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2a2a31}
.chk-meta a:hover{color:var(--text)}
.chk-status{margin:0 24px;padding:18px 0;border-top:1px solid var(--border-hair)}
.chk-st{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--text)}
.chk-timer{margin-left:auto;font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}
.chk-dot{width:8px;height:8px;border-radius:50%;background:#e8b93a;flex:none}
.chk-dot.is-live{box-shadow:0 0 0 0 rgba(232,185,58,.5);animation:chkPulse 1.8s ease-out infinite}
.chk-dot.is-off{background:#3a3a41;animation:none}
.chk.is-seen .chk-dot{background:#4ade80;animation-name:chkPulseG}
@keyframes chkPulse{0%{box-shadow:0 0 0 0 rgba(232,185,58,.45)}70%{box-shadow:0 0 0 9px rgba(232,185,58,0)}100%{box-shadow:0 0 0 0 rgba(232,185,58,0)}}
@keyframes chkPulseG{0%{box-shadow:0 0 0 0 rgba(74,222,128,.45)}70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.chk-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.chk-steps li{position:relative;display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.35;color:var(--text-3)}
.chk-steps li i{display:block;height:4px;border-radius:2px;background:#1c1c21}
.chk-steps li.is-done i{background:#4ade80}
.chk-steps li.is-done{color:var(--text-2)}
.chk-steps li.is-active i{background:linear-gradient(90deg,#e8b93a 0 60%,#1c1c21 60%);background-size:200% 100%;animation:chkFlow 1.6s linear infinite}
.chk-steps li.is-active{color:var(--text)}
@keyframes chkFlow{0%{background-position:100% 0}100%{background-position:-100% 0}}
.chk-tx{display:inline-block;margin-top:12px;font-size:12.5px;color:var(--text-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2a2a31}
.chk-tx:hover{color:var(--text)}
.chk-tx[hidden]{display:none}
.chk-warn{display:flex;gap:10px;margin:0 24px 16px;padding:11px 13px;border:1px solid #3a2f22;border-radius:10px;background:#161310;font-size:12.5px;line-height:1.5;color:#e8c9a4}
.chk-warn svg{flex:none;margin-top:2px;color:#e8b93a}
.chk-warn b{color:#f2d9b8;font-weight:500}
.chk-claim{margin:0 24px 8px;padding:0 0 12px}
.chk-claim summary{cursor:pointer;font-size:13px;color:var(--text-2);list-style:none;display:flex;align-items:center;gap:8px}
.chk-claim summary::-webkit-details-marker{display:none}
.chk-claim summary:before{content:"";width:6px;height:6px;border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);transform:rotate(-45deg);transition:transform .15s}
.chk-claim[open] summary:before{transform:rotate(45deg)}
.chk-claim summary:hover{color:var(--text)}
.chk-claim .hint{margin:8px 0 10px;font-size:12px;color:var(--text-3);line-height:1.5}
.chk-foot{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;padding:14px 24px 18px;border-top:1px solid var(--border-hair);background:#0b0b0d;font-size:12px;color:var(--text-3)}
.chk-foot a{color:var(--text-3);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2a2a31}
.chk-foot a:hover{color:var(--text)}
.chk-under{margin:0;text-align:center;font-size:12.5px;color:var(--text-3)}
.chk-under a{color:var(--text-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2a2a31}
.chk-paid{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 24px 30px;text-align:center}
.chk-check{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 8px rgba(74,222,128,.12),0 20px 40px -20px rgba(74,222,128,.6);margin-bottom:6px}
.chk-paid h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em}
.chk-paid p{margin:0;font-size:14px;color:var(--text-2);line-height:1.5}
.chk-paid p b{color:var(--text);font-weight:500}
.chk-paid-act{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.chk-paid .chk-tx{margin-top:6px}
@media (max-width:620px){
  .chk-body{grid-template-columns:1fr;justify-items:center}
  .chk-fields{width:100%}
  .chk-steps{grid-template-columns:1fr 1fr}
  .chk-head,.chk-status{padding-left:18px;padding-right:18px}
  .chk-status{margin:0}
  .chk-warn,.chk-claim,.chk-expired{margin-left:18px;margin-right:18px}
  .chk-amount,.chk-body{padding-left:18px;padding-right:18px}
}
.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.acct-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.acct-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.app-main .inp{height:36px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit;font-size:14px;width:auto;min-width:150px;cursor:text}
.app-main .inp:focus{outline:none;border-color:#43434c}
.plan-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pp{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.pp:hover{border-color:#2c2c33;background:#131316}
.pp.is-on{border-color:var(--text);background:var(--surface)}
.pp input{position:absolute;opacity:0;pointer-events:none}
.pp b{font-size:14px;font-weight:500;color:var(--text)}
.pp span{font-size:12px;color:var(--text-3);line-height:1.4}
.onboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:8px}
.onboard .step{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.onboard .step i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--text-3)}
.onboard .step b{font-size:15px;font-weight:500}
.onboard .step p{margin:0;font-size:13px;line-height:1.5;color:var(--text-2)}
.onboard .step.is-done{border-color:#1f3a2a}
@media (max-width:560px){.plan-pick{grid-template-columns:1fr}.inv-qr{margin:0 auto}}

/* ---------- footer with the legal line (14.09.2026) ---------- */
.site-foot{flex-direction:column;align-items:stretch;gap:14px}
.foot-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot-legal{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border-hair);font-size:12.5px;color:var(--text-3);line-height:1.5}
.foot-legal a{color:var(--text-3);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2a2a31}
.foot-legal a:hover{color:var(--text)}
.legal{max-width:720px}
.legal h2{margin:36px 0 10px;font-size:20px}
.legal h2:first-of-type{margin-top:8px}
.legal p,.legal li{font-size:15px;line-height:1.65;color:var(--text-2)}
.legal ul{padding-left:20px;margin:8px 0 0}
.legal li{margin:4px 0}
.legal .meta{font-size:13px;color:var(--text-3)}
.auth-consent{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-3);text-align:center}
.auth-consent a{color:var(--text-2);text-decoration:underline;text-underline-offset:3px}

/* ---- welcome: первый экран нового аккаунта (14.09.2026, макет design/clousd-first-run) ---- */
.app-main.wel{max-width:1040px;display:flex;flex-direction:column;gap:28px}
.wel-head{display:flex;flex-direction:column;gap:8px}
.wel-head .app-h1{font-size:28px}
.wel-sub{font-size:15px;color:var(--text-2)}
.wel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.wel-card{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.wel-plan{justify-content:space-between;gap:24px}
.wel-plan-top{display:flex;align-items:center;justify-content:space-between}
.wel-plan-title{display:flex;align-items:center;gap:10px}
.wel-plan-title b{font-size:16px;font-weight:600;color:var(--text)}
.wel-quiet{font-size:13px;color:var(--text-2)}
.wel-quiet:hover{color:var(--text)}
.wel-meter{display:flex;flex-direction:column;gap:10px}
.wel-meter-row{display:flex;align-items:baseline;justify-content:space-between;font-size:14px;color:var(--text-2)}
.wel-meter-row .mono{font-size:13px;color:var(--text)}
.wel-bar{height:6px;border-radius:3px;background:var(--raised);overflow:hidden}
.wel-bar i{display:block;height:100%;border-radius:3px;background:var(--text)}
.wel-bar i.is-ok{background:#4ade80}
.wel-hint{font-size:13px;color:var(--text-3)}
.wel-plan-foot{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border-hair)}
.wel-bal{display:flex;flex-direction:column;gap:4px}
.wel-bal span{font-size:13px;color:var(--text-2)}
.wel-bal b{font-size:20px;font-weight:400;color:var(--text)}
.wel-plan .btn-sm{height:36px;padding:0 14px}
.wel-create{border-color:#2c2c33;background:var(--surface)}
.wel-create-title{display:flex;flex-direction:column;gap:4px;margin-bottom:2px}
.wel-create-title b{font-size:16px;font-weight:600;color:var(--text)}
.wel-create-title span{font-size:13px;color:var(--text-2)}
.wel-form{display:flex;flex-direction:column;gap:10px}
.wel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wel-fields .mf{cursor:pointer}
.wel-fields .mf-opt,.wel-fields .mf-h{display:none}
.wel-fields .mf-wrap{gap:10px}
.wel-fields .mf-sub{grid-column:1/-1}
.wel-file{display:flex;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);overflow:hidden;transition:border-color .15s ease}
.wel-file:hover{border-color:#2c2c33}
.wel-file-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;padding:8px 12px}
.wel-file-name{display:flex;align-items:center;height:22px;font-size:15px;font-weight:500;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wel-file-name.is-set{color:var(--text)}
.wel-file-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:120px;border-left:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:background .15s ease}
.wel-file-btn:hover{background:var(--raised)}
.wel-cta{display:flex;align-items:center;gap:16px;padding-top:6px;margin-top:auto}
.wel-cta .btn{height:40px;padding:0 18px;border-radius:8px;font-size:14px;font-weight:500}
.wel-cta-note{font-size:13px;color:var(--text-3)}
.wel-cta-note b{font-weight:400;color:var(--text-2)}
.wel-next{display:flex;flex-direction:column;gap:14px}
.wel-next-h{font-size:13px;color:var(--text-3)}
.wel-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wel-tile{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);transition:border-color .15s ease}
.wel-tile:hover{border-color:#2c2c33}
.wel-tile-t{display:flex;align-items:center;gap:10px}
.wel-tile-t i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--raised)}
.wel-tile-t b{font-size:14px;font-weight:600;color:var(--text)}
.wel-tile p{margin:0;font-size:13px;line-height:1.5;color:var(--text-2);min-height:40px}
.wel-tile .btn-sm{align-self:flex-start}
@media (max-width:860px){.wel-grid,.wel-tiles,.wel-fields{grid-template-columns:1fr}.wel-fields .mf-sub{grid-column:auto}}

/* ---------- касса v2 (15.09.2026, ночь): один экран, каркас + всплытие, выбор сети в кассе ---------- */
.pay-wrap{padding:1vh 16px 40px;min-height:calc(100vh - 80px);justify-content:flex-start}
.pay-logo span{padding:2px 7px;border-radius:6px;background:var(--raised);font-size:11px;font-weight:500;color:var(--text-2);letter-spacing:.06em;text-transform:uppercase}
.pay-loader{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18vh 0 0;color:var(--text-3);font-size:13px;letter-spacing:.02em;transition:opacity .25s ease,transform .25s ease}
.pay-loader.is-out{opacity:0;transform:translateY(-6px);pointer-events:none;position:absolute;left:0;right:0}
.pay-spin{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:var(--surface);border:1px solid var(--border-strong)}
.pay-spin:before{content:"";position:absolute;inset:-6px;border-radius:22px;border:2px solid transparent;border-top-color:#4ade80;border-right-color:rgba(74,222,128,.25);animation:paySpin 1s linear infinite}
@keyframes paySpin{to{transform:rotate(360deg)}}
.pay-card{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1)}
.pay-card.is-in{opacity:1;transform:none}
.pay-card.is-busy{opacity:.6;pointer-events:none}
.pay-card[hidden]{display:none}
.pay-toast{position:fixed;left:50%;bottom:28px;z-index:9;transform:translate(-50%,10px);padding:10px 14px;border:1px solid #3a2422;border-radius:10px;background:#1a1112;color:#f0a9a4;font-size:13px;opacity:0;transition:opacity .25s,transform .25s}
.pay-toast.is-on{opacity:1;transform:translate(-50%,0)}
/* компактная карточка: всё влезает в 900px высоты */
.pay-body .chk{max-width:560px;margin:0 auto;width:100%}
.pay-body .chk-head{padding:16px 20px 0}
.chk-brand2{display:flex;align-items:center;gap:10px}
.chk-brand2 i{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--surface);border:1px solid var(--border)}
.chk-brand2 i .coin{width:26px;height:26px}
.chk-brand2 div{display:flex;flex-direction:column;gap:1px}
.chk-brand2 b{font-size:14px;font-weight:600;letter-spacing:.01em}
.chk-brand2 span{font-size:12px;color:var(--text-3)}
.chk-brand2 span .mono{color:var(--text-2);letter-spacing:.04em}
.chk-head-r{display:flex;align-items:center;gap:10px}
.chk-timerpill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}
.chk-timerpill i{width:7px;height:7px;border-radius:50%;background:#e8b93a;box-shadow:0 0 0 0 rgba(232,185,58,.5);animation:chkPulse 1.8s ease-out infinite}
.chk.is-seen .chk-timerpill i{background:#4ade80;animation-name:chkPulseG}
.pay-body .chk-amount{padding:16px 20px 14px;gap:4px}
.pay-body .chk-amount > .coin{width:40px;height:40px;margin-bottom:4px}
.pay-body .chk-big{font-size:clamp(26px,4.6vw,34px)}
.chk-netwrap{position:relative;margin-top:6px}
.chk-net.is-menu{cursor:pointer;padding-right:10px;transition:border-color .15s,background .15s;font:inherit;font-size:12.5px}
.chk-net.is-menu:hover,.chk-net.is-open{border-color:#3a3a41;background:var(--raised)}
.chk-net svg{margin-left:2px;color:var(--text-3);transition:transform .15s}
.chk-net.is-open svg{transform:rotate(180deg)}
.chk-net:disabled{cursor:default}
.chk-netmenu{position:absolute;left:50%;top:calc(100% + 8px);z-index:5;width:min(420px,calc(100vw - 48px));transform:translateX(-50%);padding:8px;border:1px solid var(--border-strong);border-radius:14px;background:#111114;box-shadow:0 24px 60px -20px rgba(0,0,0,.9);text-align:left;max-height:min(360px,60vh);overflow:auto}
.chk-netmenu[hidden]{display:none}
.chk-netmenu-h{display:block;padding:6px 10px 8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.chk-netrow{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.chk-netrow:hover{background:var(--raised);border-color:var(--border)}
.chk-netrow.is-cur{background:var(--surface);border-color:var(--border);cursor:default}
.chk-netrow.is-cur:after{content:"current";grid-column:3;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:#7bd39a}
.chk-netrow.is-cur .amt{display:none}
.chk-netrow .coin{width:22px;height:22px}
.chk-netrow .nm{display:flex;flex-direction:column;gap:1px;min-width:0}
.chk-netrow .nm b{font-size:13px;font-weight:500}
.chk-netrow .nm small{font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chk-netrow .amt{font-size:12px;color:var(--text-2)}
.pay-body .chk-body{grid-template-columns:auto 1fr;gap:18px;padding:0 20px 14px}
.pay-body .chk-qr-box{padding:8px;border-radius:12px}
.pay-body .chk-qr-box img:not(.coin),.pay-body .chk-qr-box canvas{width:150px;height:150px}
.pay-body .chk-qr-coin{width:36px;height:36px}
.pay-body .chk-qr-coin .coin{width:26px;height:26px}
.pay-body .chk-fields{gap:4px}
.pay-body .chk-lb{margin-top:0;font-size:11.5px}
.pay-body .chk-copy{margin-bottom:6px;padding:7px 6px 7px 10px;gap:6px}
.pay-body .chk-copy code{font-size:11.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pay-body .chk-copy:hover code,.pay-body .chk-copy.is-copied code{white-space:normal;word-break:break-all}
.pay-body .chk-copy button{height:28px;width:30px;padding:0;justify-content:center;flex:none}
.pay-body .chk-copy.is-copied button{border-color:#2a4a36;color:#4ade80}
.pay-body .chk-meta{font-size:11.5px;gap:2px}
.pay-body .chk-status{margin:0 20px;padding:12px 0 10px}
.pay-body .chk-st{font-size:13.5px}
.pay-body .chk-st .chk-tx{margin:0 0 0 auto;font-size:12px}
.pay-body .chk-steps{margin-top:10px;gap:6px}
.pay-body .chk-steps li{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pay-body .chk-warn{margin:0 20px 10px;padding:9px 11px;font-size:11.5px;line-height:1.45}
.pay-body .chk-claim{margin:0 20px 6px;padding-bottom:10px}
.pay-body .chk-claim summary{font-size:12.5px}
.pay-body .chk-foot{padding:10px 20px 12px;font-size:11.5px}
.pay-body .chk-paid{padding:30px 20px 26px}
.chk-check.is-bad{background:#f0a9a4;box-shadow:0 0 0 8px rgba(240,169,164,.12)}
.pay-body .chk-expired{margin:0 20px 12px;padding:10px 12px;font-size:12.5px}
@media (max-width:620px){
  .pay-body .chk-body{grid-template-columns:1fr;justify-items:center}
  .pay-body .chk-fields{width:100%}
  .pay-body .chk-copy code{white-space:normal;word-break:break-all}
  .pay-body .chk-steps{grid-template-columns:repeat(4,1fr)}
  .pay-body .chk-head,.pay-body .chk-amount,.pay-body .chk-body{padding-left:14px;padding-right:14px}
  .pay-body .chk-status,.pay-body .chk-warn,.pay-body .chk-claim,.pay-body .chk-expired{margin-left:14px;margin-right:14px}
}

/* ---------- homepage v2 (18.09.2026): facts strip, why, compare, trial, use cases, faq ---------- */
.facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--border-soft);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:clamp(40px,6vw,72px)}
.fact{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--surface)}
.fact b{font-family:var(--mono);font-size:20px;font-weight:500;color:var(--text)}
.fact span{font-size:13px;color:var(--text-3)}
@media (max-width:900px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px)}
.why-item{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid #222227}
.why-item h3{font-size:19px;font-weight:500}
.why-item p{font-size:15px;line-height:1.55;color:var(--text-2);text-wrap:pretty}
.why-item ul{margin:4px 0 0;padding-left:18px;font-size:14px;line-height:1.6;color:var(--text-2)}
@media (max-width:760px){.why{grid-template-columns:1fr}}
.compare th:first-child,.compare td:first-child{color:var(--text)}
.compare .us{color:var(--text);font-weight:500}
.compare .no{color:var(--text-3)}
.trial{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(28px,4vw,48px);border:1px solid var(--border);border-radius:16px;background:var(--surface);position:relative;overflow:hidden}
.trial::before{content:"";position:absolute;top:-40%;right:-10%;width:60%;height:120%;background:radial-gradient(closest-side,rgba(74,222,128,.10),transparent 70%);pointer-events:none}
.trial h2{font-size:clamp(28px,3.2vw,38px)}
.trial .hero-cta{margin-top:24px}
.trial-steps{display:flex;flex-direction:column;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2);overflow:hidden;position:relative}
.trial-steps div{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border-soft);font-size:14px}
.trial-steps div:last-child{border-bottom:0}
.trial-steps i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--text-3);width:18px}
@media (max-width:860px){.trial{grid-template-columns:1fr}}
.uses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.use{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.use h3{font-size:16px;font-weight:500}
.use p{font-size:14px;line-height:1.55;color:var(--text-2);text-wrap:pretty}
@media (max-width:960px){.uses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.uses{grid-template-columns:1fr}}
.faq{display:flex;flex-direction:column;max-width:760px}
.faq details{border-top:1px solid var(--border-soft)}
.faq details:last-child{border-bottom:1px solid var(--border-soft)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:16px;font-weight:500;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--text-3);font-size:18px}
.faq details[open] summary::after{content:"-"}
.faq p{padding:0 0 18px;font-size:15px;line-height:1.6;color:var(--text-2);max-width:62ch}
.price-line{font-size:14px;color:var(--text-3)}
.price-line b{color:var(--text);font-weight:500}
.roadmap{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:12px 14px;border:1px dashed #2a2a31;border-radius:10px;font-size:13px;color:var(--text-3);line-height:1.5}
.roadmap b{color:var(--text-2);font-weight:500}

table.compare{min-width:760px}
.faq summary{-webkit-tap-highlight-color:transparent}

/* ---------- homepage v2.1 (18.09.2026): fleet band, why-cards with visuals, compare matrix + cost bars ---------- */
.park{margin-top:clamp(40px,6vw,72px);border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}
.park-top{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(20px,3vw,28px) clamp(20px,3vw,32px);border-bottom:1px solid var(--border-soft)}
.park-num{display:flex;flex-direction:column;gap:4px}
.park-num b{font-family:var(--mono);font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1;letter-spacing:-.03em;color:#f5f5f5}
.park-num span{font-size:14px;color:var(--text-2)}
.park-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.park-stat{display:flex;flex-direction:column;gap:3px;padding-left:16px;border-left:1px solid var(--border-strong)}
.park-stat b{font-family:var(--mono);font-size:18px;font-weight:500;color:var(--text)}
.park-stat span{font-size:12.5px;color:var(--text-3)}
.brands{display:flex;flex-wrap:wrap;gap:8px;padding:16px clamp(20px,3vw,32px);border-bottom:1px solid var(--border-soft)}
.brand-chip{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:var(--raised);font-size:13px;color:var(--text)}
.brand-chip i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--text-3)}
.brand-chip.more{background:transparent;border:1px dashed #2a2a31;color:var(--text-3)}
.ticker{position:relative;overflow:hidden;padding:14px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker + .ticker{padding-top:0}
.ticker-track{display:flex;gap:10px;width:max-content;animation:ticker 70s linear infinite}
.ticker.rev .ticker-track{animation-direction:reverse;animation-duration:85s}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:13px;color:var(--text-2);white-space:nowrap}
.ticker span i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--text-3)}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;flex-wrap:wrap;width:auto}.ticker{mask-image:none;-webkit-mask-image:none;padding:14px clamp(20px,3vw,32px)}}
@media (max-width:860px){.park-top{grid-template-columns:1fr}.park-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.why2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.wcard{display:flex;flex-direction:column;gap:18px;padding:clamp(20px,2.6vw,28px);border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.wcard-head{display:flex;align-items:center;gap:14px}
.wcard-head .ic{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--raised);color:var(--text)}
.wcard-head .ic svg{width:20px;height:20px}
.wcard h3{font-size:19px;font-weight:500;letter-spacing:-.01em}
.wcard > p{font-size:14.5px;line-height:1.55;color:var(--text-2);text-wrap:pretty;margin:0}
.viz{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}
.viz-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:14px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}
.viz-checks span{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text)}
.viz-checks svg{flex:0 0 16px;width:16px;height:16px;color:var(--green)}
.viz-chips{display:flex;flex-wrap:wrap;gap:8px}
.viz-chips span{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:999px;background:var(--raised);font-size:13px;color:var(--text)}
.viz-chips span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dotc,var(--green))}
.viz-chips span.own{--dotc:#9a9aa1;border:1px dashed #2a2a31;background:transparent;color:var(--text-2)}
.viz-note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-3)}
.viz-note svg{width:14px;height:14px;flex:0 0 14px}
.viz-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px}
.viz-flow .node{position:relative;z-index:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border:1px solid var(--border);border-radius:10px;background:var(--raised);text-align:center}
.viz-flow .node b{font-size:13px;font-weight:500;color:var(--text)}
.viz-flow .node span{font-size:11.5px;color:var(--text-3)}
.viz-flow .node svg{width:22px;height:22px;color:var(--text)}
.viz-flow .arr{color:var(--text-3);font-family:var(--mono)}
.viz-flow .node.multi::before,.viz-flow .node.multi::after{content:"";position:absolute;inset:0;border:1px solid var(--border);border-radius:10px;background:var(--raised);z-index:-1}
.viz-flow .node.multi::before{transform:translate(4px,-4px)}
.viz-flow .node.multi::after{transform:translate(8px,-8px);opacity:.6}
.viz-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.viz-tiles div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border:1px solid var(--border);border-radius:10px;background:var(--raised);font-size:12.5px;color:var(--text);text-align:center}
.viz-tiles svg{width:20px;height:20px;color:var(--text)}
.viz-tiles small{font-size:11px;color:var(--text-3)}
@media (max-width:760px){.why2{grid-template-columns:1fr}.viz-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cmp{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,3vw,40px);align-items:start}
@media (max-width:980px){.cmp{grid-template-columns:1fr}}
.matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface-2)}
.matrix th,.matrix td{padding:12px 14px;border-bottom:1px solid var(--border-hair);text-align:center;vertical-align:middle}
.matrix tr:last-child td{border-bottom:0}
.matrix th{font-size:12px;font-weight:400;color:var(--text-3)}
.matrix th:first-child,.matrix td:first-child{text-align:left;color:var(--text)}
.matrix td:first-child small{display:block;font-size:12px;color:var(--text-3);margin-top:2px}
.matrix .us{background:rgba(74,222,128,.05)}
.matrix th.us{color:var(--text);font-weight:500}
.mk{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%}
.mk svg{width:14px;height:14px}
.mk.yes{background:rgba(74,222,128,.16);color:var(--green)}
.mk.part{background:rgba(232,185,58,.14);color:var(--yellow)}
.mk.no{background:var(--raised);color:var(--text-3)}
.matrix td small.sub{display:block;font-size:11.5px;color:var(--text-3);margin-top:4px}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:12.5px;color:var(--text-3)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend .mk{width:20px;height:20px}
.legend .mk svg{width:11px;height:11px}
.cost{display:flex;flex-direction:column;gap:22px;padding:clamp(18px,2.4vw,24px);border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.cost h3{font-size:16px;font-weight:500}
.cost h3 small{display:block;margin-top:4px;font-size:12.5px;font-weight:400;color:var(--text-3)}
.bars{display:flex;flex-direction:column;gap:10px}
.barrow{display:grid;grid-template-columns:92px 1fr 64px;align-items:center;gap:12px;font-size:13px}
.barrow .n{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barrow .b{height:10px;border-radius:5px;background:var(--control);overflow:hidden}
.barrow .b i{display:block;height:100%;border-radius:5px;background:#3a3a42;transform-origin:left;animation:grow 1s cubic-bezier(.2,.7,.2,1) both}
.barrow.us .n{color:var(--text);font-weight:500}
.barrow.us .b i{background:var(--green)}
.barrow .v{font-family:var(--mono);font-size:13px;color:var(--text-2);text-align:right;white-space:nowrap}
.barrow.us .v{color:var(--text)}
@keyframes grow{from{transform:scaleX(0)}}
.cost .foot{font-size:12px;color:var(--text-3);line-height:1.5}
@media (prefers-reduced-motion:reduce){.barrow .b i{animation:none}}

/* ---------- homepage v2.2 (18.09.2026, ночь): ширина, hero, who-cards, AI-сцена, сравнение без имён ---------- */
section.wrap,footer.wrap,main.wrap{width:100%;max-width:1480px;margin-left:auto;margin-right:auto}   /* body - flex-колонка: без width:100% секция берёт ширину контента */
.site-head.wrap{padding-left:max(var(--gutter),calc((100% - 1480px) / 2 + var(--gutter)));padding-right:max(var(--gutter),calc((100% - 1480px) / 2 + var(--gutter)))}
.hero-grid{grid-template-columns:minmax(0,1fr) 460px;gap:clamp(32px,5vw,72px)}
.hero .lede{max-width:540px}
@media (max-width:1080px){.hero-grid{grid-template-columns:1fr}}

.wcard{height:100%}
.wcard .viz-note.viz-foot{margin-top:auto;padding-top:4px}
.viz-result{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--raised);font-size:13px;color:var(--text)}
.viz-result .arr{font-family:var(--mono);color:var(--text-3)}
.viz-result b{font-weight:500}
.viz-result small{color:var(--text-3);font-size:12px}

.who{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.who-card{display:flex;flex-direction:column;gap:14px;padding:clamp(20px,2.6vw,28px);border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.who-head{display:flex;align-items:center;gap:14px}
.who-head .ic{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--raised);color:var(--text)}
.who-head .ic svg{width:20px;height:20px}
.who-head h3{font-size:18px;font-weight:500}
.who-head small{display:block;margin-top:2px;font-size:12.5px;color:var(--text-3)}
.who-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.who-card li{display:grid;grid-template-columns:16px 1fr;gap:10px;font-size:14px;line-height:1.5;color:var(--text-2)}
.who-card li svg{width:16px;height:16px;margin-top:3px;color:var(--green)}
.who-card li b{color:var(--text);font-weight:500}
.who-setup{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border-soft);font-size:12.5px;color:var(--text-3)}
.who-setup span{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--raised);font-family:var(--mono);font-size:12px;color:var(--text-2)}
@media (max-width:760px){.who{grid-template-columns:1fr}}

.ai-stage{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:stretch}
@media (max-width:980px){.ai-stage{grid-template-columns:1fr}}
.ai-stage .panel{height:100%}
.orch{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;min-height:420px}
.orch-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-soft);font-size:13px}
.orch-head b{font-weight:500}
.orch-head span{color:var(--text-3)}
.orch-head .pill{color:var(--green)}
.orch-body{position:relative;flex:1;display:grid;place-items:center;padding:20px;background:
  radial-gradient(60% 55% at 50% 45%,rgba(74,222,128,.08),transparent 70%),
  linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/28px 28px,
  linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/28px 28px}
.orch svg{width:100%;max-width:560px;height:auto;display:block}
.orch .link{stroke:#2a2a31;stroke-width:1;fill:none}
.orch .link.on{stroke:var(--green);stroke-dasharray:4 6;animation:dash 1.2s linear infinite;opacity:.9}
@keyframes dash{to{stroke-dashoffset:-20}}
.orch .ph rect.obody{fill:#151518;stroke:#26262c}
.orch .ph rect.oscr{fill:#0c0c0e}
.orch .ph circle{fill:#3a3a42}
.orch .ph.on rect.obody{stroke:#3a6b4a}
.orch .ph.on rect.oscr{fill:#12241a}
.orch .ph.on circle{fill:var(--green)}
.orch .ph.busy circle{fill:var(--yellow);animation:blink 1s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.orch .core{fill:#0f0f11;stroke:#3a3a42;stroke-width:1.2}
.orch .ring{fill:none;stroke:var(--green);stroke-width:1;opacity:0;transform-origin:center;transform-box:fill-box;animation:ring 3s ease-out infinite}
.orch .ring.r2{animation-delay:1s}.orch .ring.r3{animation-delay:2s}
@keyframes ring{0%{transform:scale(.4);opacity:.6}100%{transform:scale(1.6);opacity:0}}
.orch .core-ic{fill:none;stroke:#ededed;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.orch .lbl{font-family:var(--mono);font-size:9px;fill:#66666e}
.orch-log{border-top:1px solid var(--border-soft);background:var(--surface-2);padding:12px 16px;font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--text-2);min-height:112px}
.orch-log div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orch-log .k{color:var(--text-3)}
.orch-log .ok{color:var(--green)}
.orch-log .w{color:var(--yellow)}
.orch-log .cur::after{content:"▍";color:var(--text-2);animation:blink 1s steps(1) infinite}
.asks{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.asks span{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:13px;color:#c9c9ce}
.asks .cap{border:0;background:transparent;padding-left:0;color:var(--text-3)}
@media (prefers-reduced-motion:reduce){.orch .link.on,.orch .ring,.orch .ph.busy circle,.orch-log .cur::after{animation:none}.orch .ring{opacity:.25}}

.quality{display:flex;flex-direction:column;gap:14px}
.qrow{display:grid;grid-template-columns:1fr;gap:6px}
.qrow .t{display:flex;justify-content:space-between;font-size:13px;color:var(--text-2)}
.qrow .t b{color:var(--text);font-weight:500}
.qbars{display:grid;gap:5px}
.qbar{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:10px;font-size:12px;color:var(--text-3)}
.qbar .b{height:8px;border-radius:4px;background:var(--control);overflow:hidden}
.qbar .b i{display:block;height:100%;border-radius:4px;background:#3a3a42;transform-origin:left;animation:grow 1s cubic-bezier(.2,.7,.2,1) both}
.qbar.us{color:var(--text)}
.qbar.us .b i{background:var(--green)}

/* ---------- v2.3 (18.09.2026): hero в две строки, ценники плитками, отступы секций короче ---------- */
.hero .h1-two{font-size:clamp(40px,5.4vw,76px)}
.hero .h1-two span{white-space:nowrap}
@media (max-width:480px){.hero .h1-two span{white-space:normal}}
.price-strip{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.ps-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;font-size:14px;color:var(--text-3)}
.ps-row span{display:inline-flex;align-items:center;gap:8px;padding-right:18px;margin-right:18px;border-right:1px solid var(--border-strong);line-height:1.2}
.ps-row span:last-child{border-right:0;margin-right:0;padding-right:0}
.ps-row b{font-family:var(--mono);font-size:16px;font-weight:500;color:var(--text)}
.ps-ok span{color:var(--text-2)}
.ps-ok svg{width:14px;height:14px;color:var(--green)}
.section{padding-top:clamp(48px,5.5vw,80px);padding-bottom:clamp(48px,5.5vw,80px)}
.hero{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(40px,5vw,64px)}
.park{margin-top:clamp(32px,4.5vw,56px)}
.section-head{margin-bottom:clamp(24px,3.2vw,40px)}
.asks{margin-top:16px}
@media (max-width:520px){.ps-row span{border-right:0;margin-right:0;padding-right:0;width:100%}.ps-row{gap:6px 0}}
.launcher-notes{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-size:12.5px;color:var(--text-2)}
.launcher-notes span{display:inline-flex;align-items:center;gap:6px}
.launcher-notes svg{width:13px;height:13px;color:var(--green)}

/* ---------- why-cards v3 (18.09.2026, spec by owner): one structure, fixed spacing, one tile component ---------- */
.why2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.wcard{display:flex;flex-direction:column;gap:0;height:auto;padding:28px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.wcard-head{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.wcard-head .ic{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--raised);color:var(--text);display:flex;align-items:center;justify-content:center}
.wcard-head .ic svg{width:20px;height:20px}
.wcard h3{font-size:20px;line-height:28px;font-weight:500;letter-spacing:-.01em;margin:0}
.wcard > p{font-size:14px;line-height:20px;color:var(--text-2);margin:0 0 20px;text-wrap:pretty}
.tiles{display:grid;gap:8px;height:112px;align-items:stretch}
.tiles.cols-3{grid-template-columns:1fr auto 1fr auto 1fr}
.tiles.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tiles.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;padding:10px 6px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);cursor:default}
.tile svg{width:22px;height:22px;flex:0 0 22px}
.tile span{font-size:13px;line-height:1.2;text-align:center;white-space:nowrap;color:#d7d7dc}
.tarr{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;color:var(--text-3);padding:0 4px}
@media (max-width:1180px){.tile span{font-size:12.5px}}
@media (max-width:980px){.why2{grid-template-columns:1fr}.tiles{height:auto}.tiles.cols-4,.tiles.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:88px}.tile span{white-space:normal}}
@media (max-width:480px){.wcard{padding:22px}.tile{padding:10px 4px}}

/* ---------- homepage v2.3 (19.09.2026): лаунчер Android → марка → модель, сеть + страна с флагом; заметки под плитками ---------- */
.menu{max-height:min(380px,70vh);overflow-y:auto;overscroll-behavior:contain}
.menu button{flex:0 0 auto}
.menu button .oh{display:flex;flex-direction:column;gap:3px;min-width:0;padding:7px 0}
.menu button .oh.row{flex-direction:row;align-items:center;gap:10px;padding:0}
.menu button .oh > span{line-height:1.25}
.menu button .oh small{font-size:12px;line-height:1.2;color:#82828a}
.menu button:hover .oh small{color:var(--text-2)}
.flag{width:20px;height:14px;flex:0 0 20px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.1)}
.field-value .flag{display:inline-block;vertical-align:-2px;margin-right:9px}
.field-btn[disabled]{cursor:default}
.field-btn[disabled]:hover{background:none}
.field-btn[disabled] .field-value{color:var(--text-3);font-weight:400}
.field-btn[disabled] > svg{opacity:.35}
.tile-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;font-size:12.5px;line-height:1.4;color:var(--text-2);text-wrap:pretty}
.tile-note svg{width:14px;height:14px;flex:0 0 14px;margin-top:2px;color:var(--green)}
@media (max-width:980px){.tiles.cols-5 .tile:last-child{grid-column:1/-1}}
/* рамка вокруг плиток (владелец 19.09: «как рамка под текстом в v2.1») */
.tilebox{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--raised)}
.tilebox .tile{background:var(--control);border-color:var(--border-strong)}
.tilebox .tile-note{margin-top:0;padding:0 2px 2px}

/* ---------- homepage v2.4 (19.09.2026): фон-точки за страницей, спотлайт карточек, появление при прокрутке ---------- */
.dots{position:fixed;inset:0;z-index:-1;pointer-events:none;display:block;width:100%;height:100%}
.wcard,.who-card{position:relative;isolation:isolate;transition:border-color .3s ease}
.wcard::before,.who-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;opacity:0;transition:opacity .35s ease;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.wcard::after,.who-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;transition:opacity .35s ease;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.06),transparent 62%)}
@media (hover:hover){
  .wcard:hover,.who-card:hover{border-color:var(--border-strong)}
  .wcard:hover::before,.who-card:hover::before,.wcard:hover::after,.who-card:hover::after{opacity:1}
  .tile{transition:border-color .2s ease,background .2s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
  .tile svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
  .tilebox .tile:hover{border-color:#34343c;background:#22222a;transform:translateY(-2px)}
  .tile:hover svg{transform:translateY(-1px) scale(1.06)}
}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv .tile{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),border-color .2s ease,background .2s ease}
.rv.in .tile{opacity:1;transform:none}
.rv.in .tiles > div:nth-of-type(1){transition-delay:.12s}
.rv.in .tiles > div:nth-of-type(2){transition-delay:.2s}
.rv.in .tiles > div:nth-of-type(3){transition-delay:.28s}
.rv.in .tiles > div:nth-of-type(4){transition-delay:.36s}
.rv.in .tiles > div:nth-of-type(5){transition-delay:.44s}
.rv .tile-note{opacity:0;transition:opacity .6s ease .5s}
.rv.in .tile-note{opacity:1}
@keyframes tarrPulse{0%,100%{opacity:.35;transform:translateX(0)}50%{opacity:1;transform:translateX(2px)}}
.rv-done .tarr{animation:tarrPulse 2.4s ease-in-out infinite}
.rv-done .tarr:nth-of-type(2){animation-delay:.5s}
@media (prefers-reduced-motion:reduce){
  .rv,.rv .tile,.rv .tile-note{opacity:1;transform:none;transition:none}
  .rv-done .tarr{animation:none}
  .tile,.tile svg{transition:none}
}

/* ---------- homepage v2.5 (19.09.2026): регионы - точечная карта мира, узлы, искры по линиям, чипы ---------- */
.geo{position:relative;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.geo::before{content:"";position:absolute;left:50%;top:-40%;width:70%;height:80%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,255,255,.045),rgba(255,255,255,0));pointer-events:none}
.geo-map{position:relative;padding:clamp(10px,2vw,24px) clamp(10px,2vw,24px) 0}
.geo-canvas{position:relative}
.geo-canvas svg{display:block;width:100%;height:auto;overflow:visible}
.geo-land{fill:none;stroke:rgba(255,255,255,.15);stroke-width:2.6;stroke-linecap:round}
.geo-link{fill:none;stroke:rgba(255,255,255,.13);stroke-width:1}
.geo-flow{fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:7 93;stroke-dashoffset:0;opacity:.85;animation:geoFlow 5s linear infinite}
@keyframes geoFlow{to{stroke-dashoffset:-100}}
.geo-node{cursor:pointer}
.geo-core{fill:var(--green);stroke:var(--surface);stroke-width:2;transition:fill .2s ease}
.geo-halo{fill:rgba(74,222,128,.14);transition:fill .2s ease}
.geo-pulse{fill:none;stroke:var(--green);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center;animation:geoPulse 2.6s ease-out infinite}
@keyframes geoPulse{0%{transform:scale(.6);opacity:.75}100%{transform:scale(3.6);opacity:0}}
.geo-node.on .geo-core{fill:#fff;stroke:var(--surface)}
.geo-node.on .geo-halo{fill:rgba(255,255,255,.2)}
.geo-tip{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - 16px));padding:8px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--raised);box-shadow:0 14px 34px -14px rgba(0,0,0,.85);white-space:nowrap;pointer-events:none;font-size:13px;line-height:1.25;transition:left .45s cubic-bezier(.2,.7,.2,1),top .45s cubic-bezier(.2,.7,.2,1)}
.geo-tip b{display:block;font-weight:500;color:var(--text)}
.geo-tip span{display:block;margin-top:2px;font-size:12px;color:var(--text-2)}
.geo-tip::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:var(--raised);border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);transform:translateX(-50%) rotate(45deg)}
.geo-foot{display:grid;gap:18px;padding:20px clamp(14px,2vw,24px) clamp(18px,2vw,24px);border-top:1px solid var(--border-soft)}
.geo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.geo-stats div{display:flex;flex-direction:column;gap:5px;padding:0 16px;border-left:1px solid var(--border-strong)}
.geo-stats div:first-child{padding-left:0;border-left:0}
.geo-stats b{font-family:var(--mono);font-size:22px;font-weight:500;line-height:1.1;color:var(--text)}
.geo-stats span{font-size:12.5px;line-height:1.35;color:var(--text-2)}
.geo-chips{display:flex;flex-wrap:wrap;gap:8px}
.geo-chip{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:40px;padding:0 22px 0 18px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-size:14px;color:var(--text);transition:border-color .2s ease,background .2s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.geo-chip small{font:inherit;color:var(--text-2);margin-right:-2px;transition:color .2s ease}
.geo-chip:hover,.geo-chip.on{border-color:var(--border-strong);background:var(--raised);transform:translateY(-1px)}
.geo-chip:hover small,.geo-chip.on small{color:var(--text)}
@media (max-width:980px){.geo-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 0}.geo-stats div{padding:0 14px}.geo-stats div:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:560px){.geo-tip{display:none}.geo-chip small{display:none}.geo-land{stroke-width:3.2}.geo-stats b{font-size:18px}}
@media (prefers-reduced-motion:reduce){.geo-flow,.geo-pulse{animation:none}.geo-pulse{opacity:0}.geo-tip{transition:none}}

/* ---------- homepage v2.6 (21.09.2026): сеть - глобус из точек, типы выходов, строка-результат ---------- */
.net{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(20px,3.5vw,56px);align-items:center;padding:clamp(20px,3vw,44px);border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.net::before{content:"";position:absolute;left:22%;top:-30%;width:60%;height:90%;background:radial-gradient(closest-side,rgba(74,222,128,.06),rgba(74,222,128,0));pointer-events:none}
.net-globe{position:relative;width:100%;max-width:540px;margin:0 auto;aspect-ratio:1}
.net-globe::before{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(closest-side,rgba(74,222,128,.10),rgba(74,222,128,.03) 60%,rgba(74,222,128,0));pointer-events:none}
.net-globe canvas{position:relative}
.net-globe canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}
.net-globe canvas:active{cursor:grabbing}
.net-globe-note{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);font-size:11.5px;letter-spacing:.02em;color:var(--text-3);pointer-events:none;transition:opacity .4s ease}
.net-globe.touched .net-globe-note{opacity:0}
.net-side{display:flex;flex-direction:column;gap:22px;min-width:0}
.net-types{position:relative;display:inline-flex;gap:4px;padding:5px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);align-self:flex-start;max-width:100%}
.net-ind{position:absolute;left:0;top:0;width:0;height:0;border-radius:999px;background:var(--raised);box-shadow:inset 0 0 0 1px var(--border-strong),0 6px 18px -10px rgba(0,0,0,.9);opacity:0;pointer-events:none}
.net-types.ready .net-ind{opacity:1;transition:transform .5s cubic-bezier(.2,.8,.2,1),width .5s cubic-bezier(.2,.8,.2,1),height .5s cubic-bezier(.2,.8,.2,1)}
.net-type{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;height:44px;padding:0 18px 0 14px;border-radius:999px;font-size:15px;font-weight:500;color:var(--text-2);transition:color .25s ease}
.net-type svg{width:19px;height:19px;flex:0 0 19px;color:var(--text-3);transition:color .2s ease}
.net-type:hover{color:var(--text)}
.net-type:hover svg{color:var(--text-2)}
.net-type.on{color:var(--text)}
.net-types:not(.ready) .net-type.on{background:var(--raised);box-shadow:inset 0 0 0 1px var(--border-strong)}
.net-type.on svg{color:var(--green)}
.net-big{display:flex;flex-direction:column;gap:6px}
.net-big > span,.net-big > small{transition:opacity .22s ease,transform .22s ease}
.net-big.swap > span,.net-big.swap > small{opacity:0;transform:translateY(8px)}
.net-big b{display:flex;align-items:flex-start}
.od{display:inline-block;height:1em;overflow:hidden;line-height:1;vertical-align:top;transition:width .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease}
.od.hid{opacity:0}
.od-s{display:block;will-change:transform}
.od i{display:block;height:1em;line-height:1;font-style:normal}
.od-suf{display:inline-block;line-height:1}
.net-big.swap > span{transition-delay:.03s}.net-big.swap > small{transition-delay:.06s}
.net-big b{font-family:var(--mono);font-size:clamp(48px,5.4vw,72px);font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--text)}
.net-big > span{font-size:16px;color:var(--text)}
.net-big > small{font-size:13.5px;color:var(--text-2)}
.net-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.net-facts li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-top:1px solid var(--border-soft)}
.net-facts li:last-child{border-bottom:1px solid var(--border-soft)}
.net-facts li i{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;margin-top:1px;border-radius:9px;background:rgba(74,222,128,.10);color:var(--green)}
.net-facts li i svg{width:16px;height:16px}
.net-facts li div{display:flex;flex-direction:column;gap:3px;min-width:0}
.net-facts b{font-size:16px;line-height:1.3;font-weight:500;color:var(--text)}
.net-facts span{font-size:14px;line-height:1.45;color:#a9a9b0;text-wrap:pretty}
@media (max-width:980px){.net{grid-template-columns:1fr}.net-globe{max-width:380px}}
@media (max-width:480px){.net-big b{font-size:46px}.net-type{height:40px;padding:0 14px 0 12px;font-size:14px}.net-facts b{font-size:15px}}

@media (max-width:560px){.net-types{display:grid;grid-template-columns:1fr 1fr;align-self:stretch;border-radius:14px;overflow:visible}.net-type{justify-content:center;border-radius:10px;padding:0 10px}.net-ind{border-radius:10px}}

/* ---------- who-cards v2 (21.09.2026): инфографика вместо буллетов - группы телефонов, матрица тестов, журнал API, дерево ролей ---------- */
.who-card{gap:16px}
.who-viz{gap:10px;min-height:196px}
.who-viz .tile-note{margin-top:auto}
.wv-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--control)}
.wv-glabel{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}
.wv-glabel b{font-weight:500;color:var(--text)}
.wv-glabel em{font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--text-2);padding:2px 7px;border-radius:5px;background:rgba(255,255,255,.06)}
.wv-phones{display:flex;gap:5px}
.wv-phones i{position:relative;width:13px;height:21px;border:1px solid #3a3a42;border-radius:3px;background:var(--surface-2)}
.wv-phones i::after{content:"";position:absolute;right:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--green)}
.wv-matrix{display:grid;gap:4px;font-size:12.5px}
.wv-mh,.wv-mr{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:4px;align-items:center}
.wv-mh span{font-family:var(--mono);font-size:11px;color:var(--text-3)}
.wv-mh b{text-align:center;font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--text-2)}
.wv-mr span{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wv-mr i{display:flex;align-items:center;justify-content:center;height:26px;border-radius:6px;background:var(--control)}
.wv-mr i::after{content:"";width:5px;height:5px;border-radius:50%;background:#3a3a42}
.wv-mr i.ok{background:rgba(74,222,128,.12)}
.wv-mr i.ok::after{width:12px;height:12px;border-radius:0;background:no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234ade80' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E")}
.wv-log{display:flex;flex-direction:column;gap:5px;font-size:12px}
.wv-log > div{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 10px;border-radius:7px;background:var(--control)}
.wv-log .m{color:var(--green);font-weight:500}
.wv-log .p{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wv-log .s{display:inline-flex;align-items:center;gap:7px;color:var(--text-2);white-space:nowrap}
.wv-log .s i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(74,222,128,.14)}
.wv-tree{display:flex;flex-direction:column;align-items:center;gap:0}
.wv-node{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--control);text-align:center;min-width:0}
.wv-node b{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap}
.wv-node span{font-size:11.5px;color:var(--text-2);white-space:nowrap}
.wv-node.owner{position:relative;border-color:var(--border-strong)}
.wv-node.owner::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:14px;background:var(--border-strong)}
.wv-branches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:14px;padding-top:14px}
.wv-branches::before{content:"";position:absolute;left:16.6%;right:16.6%;top:0;border-top:1px solid var(--border-strong)}
.wv-branches .wv-node{position:relative}
.wv-branches .wv-node::before{content:"";position:absolute;left:50%;top:-14px;width:1px;height:14px;background:var(--border-strong)}
.who-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border-soft)}
.who-stats div{display:flex;flex-direction:column;gap:3px;padding-left:12px;border-left:1px solid var(--border-strong)}
.who-stats div:first-child{padding-left:0;border-left:0}
.who-stats b{font-family:var(--mono);font-size:19px;font-weight:500;line-height:1.1;color:var(--text);white-space:nowrap}
.who-stats span{font-size:12px;line-height:1.3;color:var(--text-2)}
@media (max-width:980px){.who{grid-template-columns:1fr}}
@media (max-width:480px){.wv-phones i:nth-child(n+6){display:none}.wv-glabel b{display:none}.wv-branches{grid-template-columns:1fr 1fr}.wv-branches .wv-node:nth-child(3){display:none}.wv-branches::before{left:25%;right:25%}.who-stats b{font-size:17px}}

/* ---------- apps (21.09.2026): «Tested daily on N+ apps» - плитки-логотипы (маска svg, цвет бренда на hover), проверка домена ---------- */
.apps-head{text-align:center;max-width:720px;margin-left:auto;margin-right:auto;margin-bottom:clamp(28px,3.6vw,44px)}
.apps-head .section-lede{margin-left:auto;margin-right:auto}
.apps-head .hl{color:var(--green)}
.apps-check{display:flex;max-width:560px;margin:0 auto 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .2s ease}
.apps-check:focus-within{border-color:#43434c}
.apps-check input{flex:1;min-width:0;height:52px;padding:0 18px;border:0;background:none;color:var(--text);font:inherit;font-size:15px}
.apps-check input::placeholder{color:var(--text-3)}
.apps-check input:focus{outline:none}
.apps-check button{height:52px;padding:0 24px;background:var(--text);color:var(--bg);font-weight:500;font-size:15px;transition:background .15s ease}
.apps-check button:hover{background:#fff}
.apps-result{display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;margin-bottom:26px;font-size:13.5px;color:var(--text-2)}
.apps-result svg{width:14px;height:14px;color:var(--green)}
.apps-result.miss svg{color:var(--text-3)}
.apps-result b{font-weight:500;color:var(--text)}
.apps-grid{display:flex;flex-direction:column;align-items:center;gap:12px}
.apps-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}   /* 14 + 12 плиток: треугольник вниз */
.app{position:relative;display:flex;align-items:center;justify-content:center;width:70px;height:70px;border:1px solid var(--border);border-radius:16px;background:var(--surface);cursor:default;transition:border-color .25s ease,background .25s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.app i{display:block;width:30px;height:30px;background:var(--text-2);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;transition:background .25s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.app::after{content:attr(data-name);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);padding:5px 9px;border:1px solid var(--border-strong);border-radius:7px;background:var(--raised);font-size:12px;color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.app:hover,.app.on{border-color:var(--border-strong);background:var(--raised);transform:translateY(-2px)}
.app:hover i,.app.on i{background:var(--c);transform:scale(1.08)}
.app:hover::after,.app.on::after{opacity:1;transform:translate(-50%,0)}
@media (max-width:1240px){.app{width:62px;height:62px;border-radius:14px}.app i{width:26px;height:26px}.apps-row{gap:10px}}
@media (max-width:560px){.app{width:52px;height:52px;border-radius:12px}.app i{width:22px;height:22px}.apps-grid,.apps-row{gap:8px}.apps-check input{font-size:16px}}

/* ---------- white label (21.09.2026): факты + партнёрская кнопка, живой макет кабинета под брендом партнёра ---------- */
.wl{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,3.5vw,56px);align-items:start;padding:clamp(20px,3vw,44px);border:1px solid var(--border);border-radius:16px;background:var(--surface);position:relative;overflow:hidden}
.wl::before{content:"";position:absolute;right:-10%;top:-40%;width:60%;height:90%;background:radial-gradient(closest-side,rgba(255,255,255,.05),rgba(255,255,255,0));pointer-events:none}
.wl-side{display:flex;flex-direction:column;gap:22px;min-width:0}
.wl-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wl-stats div{display:flex;flex-direction:column;gap:4px;padding-left:12px;border-left:1px solid var(--border-strong)}
.wl-stats div:first-child{padding-left:0;border-left:0}
.wl-stats b{font-family:var(--mono);font-size:24px;font-weight:500;line-height:1.05;color:var(--text)}
.wl-stats span{font-size:12.5px;line-height:1.35;color:var(--text-2)}
.wl-demo{display:flex;flex-direction:column;gap:12px;min-width:0}
.wl-try{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.wl-name{display:flex;flex-direction:column;gap:6px;flex:1 1 220px}
.wl-name span{font-size:12px;color:var(--text-3)}
.wl-name input{height:40px;padding:0 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);font:inherit;font-size:14px}
.wl-name input:focus{outline:none;border-color:#43434c}
.wl-colors{display:flex;gap:8px;padding-bottom:6px}
.wl-colors button{width:26px;height:26px;border-radius:50%;background:var(--s);box-shadow:0 0 0 2px var(--surface),0 0 0 3px transparent;transition:transform .2s ease,box-shadow .2s ease}
.wl-colors button:hover{transform:scale(1.1)}
.wl-colors button.on{box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--s)}
.wl-mock{border:1px solid var(--border-strong);border-radius:14px;background:#0b0b0d;overflow:hidden;font-size:12.5px;box-shadow:0 30px 70px -40px rgba(0,0,0,.9)}
.wl-top{display:flex;align-items:center;justify-content:space-between;gap:12px;height:44px;padding:0 14px;border-bottom:1px solid var(--border-soft);background:var(--surface)}
.wl-logo{display:inline-flex;align-items:center;gap:8px;min-width:0}
.wl-logo i{width:18px;height:18px;border-radius:6px;background:var(--acc);transition:background .35s ease}
.wl-logo b{font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.wl-url{font-size:11.5px;color:var(--text-3);white-space:nowrap}
.wl-body{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:240px}
.wl-nav{display:flex;flex-direction:column;gap:2px;padding:12px 8px;border-right:1px solid var(--border-soft);background:var(--surface)}
.wl-nav span{padding:7px 10px;border-radius:7px;color:var(--text-2)}
.wl-nav span.on{background:var(--raised);color:var(--text);box-shadow:inset 2px 0 0 var(--acc);transition:box-shadow .35s ease}
.wl-main{display:flex;flex-direction:column;gap:12px;padding:14px}
.wl-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:500}
.wl-bar em{font-style:normal;font-weight:400;color:var(--text-3);margin-left:6px}
.wl-btn{height:28px;padding:0 11px;border-radius:7px;background:var(--acc);color:#0a0a0b;font-size:12px;font-weight:600;cursor:default;transition:background .35s ease}
.wl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wl-dev{display:grid;grid-template-columns:8px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;padding:10px 11px;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface)}
.wl-dev i{grid-row:1/3;align-self:center;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent);transition:background .35s ease,box-shadow .35s ease}
.wl-dev.off i{background:#3a3a42;box-shadow:none}
.wl-dev b{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-dev span{font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-foot{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid var(--border-soft);color:var(--text-2)}
.wl-foot b{font-weight:500;color:var(--text);margin-left:6px}
.wl-demo .tile-note{margin-top:2px}
@media (max-width:980px){.wl{grid-template-columns:1fr}}
@media (max-width:520px){.wl-body{grid-template-columns:1fr}.wl-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border-soft)}.wl-cards{grid-template-columns:1fr}.wl-url{display:none}.wl-stats b{font-size:20px}}

/* ---------- финальный CTA во всю ширину (21.09.2026): карточка, кольцо-таймер «минута до устройства», телефоны загораются ---------- */
.cta2{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(28px,4.5vw,64px);border:1px solid var(--border);border-radius:20px;background:var(--surface);overflow:hidden}
.cta2::before{content:"";position:absolute;right:-10%;top:-30%;width:55%;height:120%;background:radial-gradient(closest-side,rgba(74,222,128,.09),rgba(74,222,128,0));pointer-events:none}
.cta2::after{content:"";position:absolute;left:-10%;bottom:-60%;width:50%;height:100%;background:radial-gradient(closest-side,rgba(255,255,255,.04),rgba(255,255,255,0));pointer-events:none}
.cta2-copy{position:relative;display:flex;flex-direction:column;gap:18px;min-width:0}
.cta2-copy h2{font-size:clamp(34px,4.4vw,58px);line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
.cta2-copy .section-lede{margin:0;max-width:560px}
.cta2-notes{justify-content:flex-start;margin-top:2px}
.cta2-viz{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;justify-self:center}
.cta2-ring{position:relative;width:clamp(150px,16vw,200px);aspect-ratio:1}
.cta2-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.cta2-ring .bg{fill:none;stroke:var(--control);stroke-width:6}
.cta2-ring .fg{fill:none;stroke:var(--green);stroke-width:6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}
.cta2-ring::before{content:"";position:absolute;inset:-34%;border-radius:50%;background:radial-gradient(circle at center,rgba(74,222,128,.20) 0%,rgba(74,222,128,.10) 38%,rgba(74,222,128,.03) 58%,rgba(74,222,128,0) 70%);pointer-events:none}
.cta2-ring svg,.cta2-ring-t{position:relative}
.cta2-ring-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.cta2-ring-t b{font-family:var(--mono);font-size:clamp(26px,2.6vw,34px);font-weight:500;letter-spacing:-.02em;color:var(--text)}
.cta2-ring-t span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.cta2-ring.ready .fg{stroke-dashoffset:0}
.cta2-ring.ready .cta2-ring-t span{color:var(--green)}
.cta2-phones{display:flex;gap:10px}
.cta2-phones i{position:relative;width:26px;height:44px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2);transition:border-color .4s ease,background .4s ease}
.cta2-phones i::before{content:"";position:absolute;left:50%;top:5px;width:8px;height:2px;border-radius:2px;background:#3a3a42;transform:translateX(-50%)}
.cta2-phones i::after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;border-radius:50%;background:#3a3a42;transform:translateX(-50%);transition:background .4s ease,box-shadow .4s ease}
.cta2-phones i.on{border-color:rgba(74,222,128,.5);background:rgba(74,222,128,.06)}
.cta2-phones i.on::after{background:var(--green);box-shadow:0 0 0 3px rgba(74,222,128,.18)}
.cta2-cap{font-family:var(--mono);font-size:11.5px;color:var(--text-3)}
@media (max-width:980px){.cta2{grid-template-columns:1fr}.cta2-viz{justify-self:stretch}}
@media (prefers-reduced-motion:reduce){.cta2-ring .fg{stroke-dashoffset:0}.cta2-phones i{border-color:rgba(74,222,128,.5)}.cta2-phones i::after{background:var(--green)}}
.cta2-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:4px}
.cta2-steps div{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:var(--text-2)}
.cta2-steps i{flex:0 0 auto;font-style:normal;font-family:var(--mono);font-size:11.5px;line-height:1;padding:4px 6px;margin-top:1px;border-radius:5px;background:var(--raised);color:var(--text)}
.cta2-copy h2{font-size:clamp(30px,3.6vw,50px)}
@media (max-width:560px){.cta2-steps{grid-template-columns:1fr}}

/* ---------- завершающий блок во всю ширину + футер в четыре колонки (21.09.2026) ---------- */
.cta2-band{position:relative;margin-top:clamp(24px,4vw,56px);padding:0 var(--gutter) clamp(48px,6vw,88px);background:transparent}
.cta2-band .cta2{position:relative;border:1px solid var(--border);border-radius:24px;background:var(--surface);overflow:hidden;padding:clamp(40px,5vw,80px) clamp(28px,4.5vw,72px)}
.cta2-band .cta2::before{content:"";position:absolute;left:8%;right:8%;top:-1px;height:1px;background:linear-gradient(90deg,rgba(74,222,128,0),rgba(74,222,128,.55),rgba(74,222,128,0));display:block}
.cta2-band .cta2::after{content:"";position:absolute;right:-12%;top:-45%;width:60%;height:140%;background:radial-gradient(closest-side,rgba(74,222,128,.07),rgba(74,222,128,0));pointer-events:none;display:block}
.cta2-band .cta2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(24px,4vw,64px);align-items:center;max-width:1480px;margin:0 auto}
.cta2-copy h2{font-size:clamp(28px,3.3vw,46px);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;max-width:820px}
.cta2-points{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;max-width:860px}
.cta2-points li{display:flex;align-items:center;gap:12px;font-size:clamp(14px,1.1vw,16px);line-height:1.4;color:var(--text);text-wrap:pretty}
.cta2-points li i{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;margin-top:0;border-radius:8px;background:rgba(74,222,128,.12);color:var(--green)}
.cta2-points li i svg{width:12px;height:12px}
.cta2-band .cta2-ring{width:clamp(180px,17vw,240px)}
.site-foot2{border-top:1px solid var(--border-hair);background:var(--bg)}
.foot-cols{display:flex;justify-content:center;flex-wrap:wrap;gap:36px clamp(48px,8vw,140px);max-width:1480px;margin:0 auto;padding-top:clamp(40px,4.5vw,64px);padding-bottom:clamp(32px,4vw,48px)}
.foot-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.foot-col h4{margin:0 0 6px;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.foot-col a{font-size:16.5px;line-height:1.3;color:#b4b4bb;transition:color .15s ease}
.foot-col a:hover{color:var(--text)}
.foot-col a small{display:block;margin-top:2px;font-size:12px;color:var(--text-3)}
.foot-bottom{display:flex;align-items:center;justify-content:center;gap:12px 36px;flex-wrap:wrap;text-align:center;max-width:1480px;margin:0 auto;padding-top:24px;padding-bottom:34px;border-top:1px solid var(--border-hair);font-size:14.5px;color:var(--text-2)}
.foot-bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.foot-bottom nav a{color:var(--text-2)}
.foot-bottom nav a:hover{color:var(--text)}
@media (max-width:980px){.cta2-band .cta2{grid-template-columns:1fr}}
@media (max-width:520px){.foot-cols{flex-direction:column;align-items:flex-start;gap:26px}}

/* ---------- шапка v2 (22.09.2026, главная): фиксированная, лого слева, меню по центру с мега-панелями, вход справа ---------- */
body.has-hd,body:has(> header.hd){padding-top:76px}
.hd{position:fixed;top:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;height:76px;padding:0 clamp(20px,2.4vw,40px);border-bottom:1px solid var(--border-hair);background:rgba(10,10,11,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hd-brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:600;letter-spacing:.14em;color:var(--text)}
.hd-nav{display:flex;align-items:center;justify-content:center;gap:6px;justify-self:center}
.hd-item{position:relative}
.hd-link{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 15px;border-radius:999px;font-size:15.5px;font-weight:500;color:var(--text-2);transition:color .15s ease,background .15s ease;cursor:pointer}
.hd-link .chev{transition:transform .2s ease;color:var(--text-3)}
.hd-link:hover,.hd-item.on .hd-link{color:var(--text);background:var(--raised)}
.hd-item.on .hd-link .chev{transform:rotate(180deg);color:var(--text)}
.hd-right{display:flex;align-items:center;gap:10px;justify-self:end}
.hd-login{display:inline-flex;align-items:center;height:42px;padding:0 14px;font-size:15.5px;font-weight:500;color:var(--text-2);transition:color .15s ease}
.hd-login:hover{color:var(--text)}
.hd-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;background:var(--text);color:var(--bg);font-size:15px;font-weight:600;transition:background .15s ease,transform .1s ease}
.hd-cta:hover{background:#fff}
.hd-cta:active{transform:translateY(1px)}
.hd .menu-btn{margin-right:-8px}
.hd-mega{position:absolute;left:0;right:0;top:100%;pointer-events:none}
.hd-panel{display:none;border-bottom:1px solid var(--border);background:#0d0d10;box-shadow:0 40px 80px -30px rgba(0,0,0,.95)}
.hd-panel.on{display:block;pointer-events:auto;animation:hdIn .18s ease}
@keyframes hdIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.hd-cols{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;min-height:250px}
.hd-cols:has(> :nth-child(3):last-child){grid-template-columns:1.35fr 1fr 1fr}
.hd-c{display:flex;flex-direction:column;gap:4px;padding:34px clamp(24px,2.6vw,44px) 36px;border-left:1px solid var(--border-soft)}
.hd-c:first-child{border-left:0;padding-left:clamp(20px,2.4vw,40px)}
.hd-lead a{display:flex;flex-direction:column;gap:10px;max-width:420px}
.hd-lead b{font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--text);transition:color .15s ease}
.hd-lead p{margin:0;font-size:15px;line-height:1.5;color:var(--text-2);text-wrap:pretty}
.hd-lead a:hover b{color:var(--green)}
.hd-lab{margin:6px 0 10px;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--text-3)}
.hd-row{display:flex;align-items:center;gap:12px;margin:0 -10px;padding:7px 10px;border-radius:10px;font-size:15.5px;font-weight:500;color:var(--text);transition:background .15s ease}
.hd-row:hover{background:var(--raised)}
.hd-ic{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:var(--raised);color:var(--text);transition:background .15s ease,color .15s ease}
.hd-ic svg{width:17px;height:17px}
.hd-ic-b i{display:block;width:17px;height:17px;background:var(--text);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.hd-row:hover .hd-ic{background:var(--control);color:var(--green)}
.hd-bottom{display:flex;align-items:center;gap:14px;padding:22px clamp(20px,2.4vw,40px);border-top:1px solid var(--border-soft);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--text);transition:color .15s ease}
.hd-bottom i{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--raised);color:var(--text);transition:background .15s ease,transform .2s ease}
.hd-bottom i svg{width:16px;height:16px}
.hd-bottom:hover i{background:var(--control);transform:translateX(3px)}
/* Open account: на hover внутри медленно поднимаются мягкие зелёные волны; сама кнопка не двигается */
.hd-cta{position:relative;overflow:hidden;isolation:isolate;transition:box-shadow .35s ease}
.hd-cta-t{position:relative;z-index:3}
.hd-cta-w{position:absolute;inset:0;z-index:1;border-radius:inherit;overflow:hidden;pointer-events:none;transform:translateY(105%);transition:transform .8s cubic-bezier(.22,.8,.2,1)}
.hd-cta:hover .hd-cta-w{transform:translateY(0)}
.hd-cta-w svg{position:absolute;left:0;bottom:-2px;width:200%;height:64%;fill:rgba(74,222,128,.22);animation:ctaWave 7s linear infinite}
.hd-cta-w svg:nth-child(2){height:50%;fill:rgba(110,231,183,.18);animation-duration:9.5s;animation-direction:reverse}
.hd-cta-w svg:nth-child(3){height:38%;fill:rgba(52,211,153,.2);animation-duration:6s}
@keyframes ctaWave{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hd-cta:hover{box-shadow:0 0 0 3px rgba(74,222,128,.12)}
.hd-cta:active{transform:none}
@media (prefers-reduced-motion:reduce){.hd-cta-w svg{animation:none}}
.promo-tag{position:relative;display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 15px 0 12px;border-radius:999px;overflow:hidden;background:linear-gradient(90deg,rgba(74,222,128,.18),rgba(74,222,128,.06));box-shadow:inset 0 0 0 1px rgba(74,222,128,.35);color:#dcf7e6;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;align-self:flex-start;white-space:nowrap}
.promo-tag svg{width:16px;height:16px;flex:0 0 16px;color:var(--green)}
.promo-tag em{font-style:normal;color:rgba(74,222,128,.7);margin:0 -2px}
.promo-tag::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-40%;width:30%;background:linear-gradient(105deg,rgba(255,255,255,0),rgba(255,255,255,.22),rgba(255,255,255,0));transform:skewX(-18deg) translateX(-160%);animation:promoShine 5s ease-in-out infinite;pointer-events:none}
@keyframes promoShine{0%,72%{transform:skewX(-18deg) translateX(-160%)}100%{transform:skewX(-18deg) translateX(560%)}}
.section-head .promo-tag{margin-bottom:14px}
@media (prefers-reduced-motion:reduce){.promo-tag::after{animation:none}}
@media (max-width:480px){.promo-tag{height:32px;font-size:13px;white-space:normal}}
@media (max-width:1100px){.hd-link{padding:0 11px;font-size:14.5px}.hd-nav{gap:2px}}
@media (max-width:900px){.hd{grid-template-columns:auto auto;justify-content:space-between;height:66px}body.has-hd,body:has(> header.hd){padding-top:66px}.hd-nav,.hd-login,.hd-mega{display:none}.hd .menu-btn{display:flex}.hd-cta{height:38px;padding:0 16px;font-size:14px}.mobile-nav{position:fixed;top:66px;left:0;right:0;z-index:59;max-height:calc(100vh - 66px);overflow:auto}}

/* ---------- agent (22.09.2026): «Paste one key. Your AI sets it all up.» - плитки агентов, демо-строка, два пути ---------- */
#agent .apps-grid{margin-bottom:26px}
.agent-chat{position:relative;display:flex;align-items:center;gap:12px;max-width:820px;min-height:58px;margin:0 auto 44px;padding:9px 9px 9px 12px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:0 20px 50px -30px rgba(0,0,0,.9)}
.ac-key{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;height:32px;padding:0 10px;border-radius:8px;background:var(--raised);font-family:var(--mono);font-size:12.5px;color:var(--text-2);white-space:nowrap}
.ac-key svg{width:14px;height:14px;color:var(--text-3)}
.ac-key b{font-weight:500;color:var(--text)}
.ac-line{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0;overflow:hidden;font-size:15px;line-height:1.35;color:var(--text);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px);mask-image:linear-gradient(90deg,transparent,#000 14px)}
.ac-text{flex:0 0 auto;min-width:100%;box-sizing:border-box;padding-left:14px;text-align:left;white-space:nowrap}
.ac-caret{display:none}
.ac-text::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-3px;background:var(--text);animation:acCaret 1s steps(2) infinite}
@keyframes acCaret{50%{opacity:0}}
.ac-send{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--text);color:var(--bg);overflow:visible}
.ac-send svg{width:18px;height:18px}
.ac-send.go svg{animation:acFly .9s cubic-bezier(.3,.6,.2,1) forwards}
@keyframes acFly{0%{transform:translate(0,0) rotate(0);opacity:1}55%{opacity:1}100%{transform:translate(90px,-70px) rotate(-8deg) scale(.6);opacity:0}}
.agent-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:960px;margin:0 auto}
.agent-way{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.agent-way i{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--raised);color:var(--green)}
.agent-way i svg{width:20px;height:20px}
.agent-way div{display:flex;flex-direction:column;gap:4px}
.agent-way b{font-size:16px;font-weight:500;color:var(--text)}
.agent-way span{font-size:14px;line-height:1.45;color:#a9a9b0;text-wrap:pretty}
@media (max-width:700px){.agent-ways{grid-template-columns:1fr}.agent-demo .ad-arr{display:none}.agent-demo{flex-direction:column;align-items:flex-start}}

/* ---------- вход/регистрация v2 (22.09.2026): карточка как у блоков главной, крупные поля, показать пароль, клетки кода ---------- */
.auth-wrap{padding-top:clamp(32px,6vw,72px);padding-bottom:clamp(64px,9vw,120px)}
.auth-card{position:relative;max-width:460px;padding:clamp(28px,4vw,40px);border:1px solid var(--border);border-radius:20px;background:var(--surface);overflow:hidden}
.auth-card::before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;background:linear-gradient(90deg,rgba(74,222,128,0),rgba(74,222,128,.55),rgba(74,222,128,0))}
.auth-card .promo-tag{margin-bottom:16px}
.auth-card h1{font-size:clamp(28px,3.2vw,34px);line-height:1.1;letter-spacing:-.025em}
.auth-sub{margin:10px 0 26px;font-size:15px;line-height:1.5;color:var(--text-2)}
.auth-card .field-row{margin-bottom:16px}
.auth-card .field-row > span:first-child{font-size:13.5px;color:var(--text-2);margin-bottom:7px}
.auth-card .field-row input{height:48px;border-radius:11px;font-size:15.5px;border-color:var(--border-strong);background:var(--surface-2)}
.auth-card .field-row input::placeholder{color:var(--text-3)}
.auth-card .field-row input:focus{border-color:#4d4d56;box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:70px}
.pw-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:32px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--text-2);background:var(--raised);transition:color .15s ease,background .15s ease}
.pw-toggle:hover{color:var(--text);background:var(--control)}
.auth-btn{width:100%;height:50px;margin-top:6px;border-radius:12px;font-size:15.5px}
.auth-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:12.5px;color:var(--text-2)}
.auth-trust span{display:inline-flex;align-items:center;gap:6px}
.auth-trust svg{width:13px;height:13px;color:var(--green)}
.auth-consent{margin-top:14px}
.code-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.auth-card .code-boxes input{height:56px;padding:0;text-align:center;font-family:var(--mono);font-size:22px;font-weight:500;border-radius:11px}
.auth-card .field-row input.is-bad{border-color:#7a2f2b}
.pw-match{color:#f0a9a4}
.pw-match[hidden]{display:none}
/* вход через провайдеров + ловушка для ботов */
.oauth-row{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;border:1px solid var(--border-strong);border-radius:11px;background:var(--surface-2);font-size:15px;font-weight:500;color:var(--text);transition:background .15s ease,border-color .15s ease}
.oauth-btn:hover{background:var(--raised);border-color:#4d4d56}
.oauth-btn svg{width:18px;height:18px;flex:0 0 18px}
.auth-or{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:12.5px;color:var(--text-3)}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--border-soft)}
.hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
/* низ карточки входа: согласие одной строкой, ссылка «уже есть аккаунт» под карточкой */
.auth-wrap{flex-direction:column;align-items:center}
.auth-card{width:100%}
.auth-consent{margin-top:16px;font-size:12.5px;color:var(--text-3)}
.auth-consent a{color:var(--text-2);text-decoration:none;border-bottom:1px solid var(--border-strong)}
.auth-consent a:hover{color:var(--text);border-color:var(--text-2)}
.auth-wrap > .auth-alt{margin-top:22px;font-size:14px;color:var(--text-2)}
.auth-wrap > .auth-alt a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--border-strong)}
.auth-wrap > .auth-alt a:hover{border-color:var(--text)}

/* ===== cabinet shell v3 (22.09.2026): левое меню + верхняя полоса, токены главной; макет - канвас «Clousd cabinet v3» ===== */
.sh{display:flex;min-height:100vh;background:var(--bg)}
.sh-side{position:fixed;top:0;left:0;bottom:0;z-index:35;box-sizing:border-box;width:236px;display:flex;flex-direction:column;padding:22px 14px 18px;background:#0c0c0e;border-right:1px solid var(--border);overflow-y:auto}
.sh-brand{display:flex;align-items:center;gap:10px;padding:0 12px 16px;font-size:17px;font-weight:700;letter-spacing:.08em;color:var(--text)}
.sh-brand svg{width:22px;height:22px;stroke:var(--text);fill:none;stroke-width:1.8;stroke-linecap:round}
.sh-grp{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:18px 12px 8px}
.sh-nav{display:flex;align-items:center;gap:11px;height:42px;padding:0 12px;border-radius:10px;color:var(--text-2);font-size:15px;font-weight:500;letter-spacing:-.01em;transition:background .15s ease,color .15s ease}
.sh-nav:hover{background:var(--raised);color:var(--text)}
.sh-nav.on{background:var(--raised);color:var(--text);font-weight:600}
.sh-nav.is-off{color:var(--dim);cursor:default}
.sh-nav svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sh-mark{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.sh-plan{margin-top:auto;padding:14px;border-radius:14px;background:var(--raised);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.sh-plan-row{display:flex;justify-content:space-between;align-items:center}
.sh-k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.sh-plan-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text)}
.sh-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(74,222,128,.18);display:inline-block;flex:none}
.sh-plan-v{font-size:13px;color:var(--text)}
.sh-plan-sub{font-size:12px;color:var(--text-2)}
.sh-plan-btn{height:32px;font-size:12.5px;border-radius:999px;justify-content:center}
.sh-main{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:236px}
.sh-top{position:sticky;top:0;z-index:30;height:62px;box-sizing:border-box;display:flex;align-items:center;gap:16px;padding:0 32px;background:#0c0c0e;border-bottom:1px solid var(--border)}
.sh-title{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.sh-top-r{margin-left:auto;display:flex;align-items:center;gap:12px}
.sh-team{display:flex;align-items:center;gap:8px;margin:0}
.sh-team select{height:30px;padding:0 24px 0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:12.5px}
.sh-bal{font-size:15px;color:var(--text)}
.sh-top-btn{height:34px;padding:0 16px;font-size:13px;border-radius:999px}
.sh-acct summary{width:32px;height:32px;border-radius:50%;padding:0;background:var(--text)}
.sh-ava{font-size:13px;font-weight:700;color:var(--bg);line-height:1}
.sh-main .app-main{max-width:none;margin:0;padding:28px 32px 64px}
.sh-main .app-main.wel{max-width:none}
.sh-main .site-foot{display:none}
@media (max-width:980px){.sh-side{display:none}.sh-main{margin-left:0}.sh-top{padding:0 16px}.sh-main .app-main{padding:20px 16px 48px}}

/* dashboard */
.db{display:flex;flex-direction:column;gap:22px}
.db-hero{position:relative;overflow:hidden;padding:36px 40px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;background-image:radial-gradient(#1b1b20 1px,transparent 1px);background-size:22px 22px}
.db-hero::before{content:"";position:absolute;top:-40%;right:-10%;width:560px;height:560px;border-radius:50%;background:rgba(74,222,128,.10);filter:blur(60px);pointer-events:none}
.db-hero>*{position:relative}
.db-hero-l{display:flex;flex-direction:column;gap:16px}
.db-eyebrow{display:flex;align-items:center;gap:10px}
.db-eyebrow .sh-k.is-acc{color:var(--green)}
.db-h1{margin:0;font-size:38px;font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--text);white-space:nowrap}
.db-sub{font-size:15px;line-height:1.5;max-width:520px;color:var(--text-2)}
.db-cta{display:flex;gap:10px;align-items:center;margin-top:6px}
.db-cta .btn{height:46px;border-radius:999px;padding:0 22px;font-size:15px;gap:8px}
.db-cta .btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.db-prices{display:flex;gap:22px;margin-top:4px;font-size:13px;color:var(--text-2)}
.db-prices b{font-family:var(--mono);font-weight:500;color:var(--text)}
.db-rings{display:grid;grid-template-columns:1fr 1fr;gap:0;background:linear-gradient(180deg,#101013,#0c0c0e);border:1px solid var(--border-strong);border-radius:18px;box-shadow:0 30px 80px -40px rgba(74,222,128,.25)}
.db-ring{position:relative;padding:26px 20px 22px;display:flex;flex-direction:column;align-items:center;gap:8px}
.db-ring+.db-ring{border-left:1px solid var(--border)}
.db-ring svg{width:156px;height:156px;filter:drop-shadow(0 0 14px rgba(74,222,128,.35))}
.db-ring-t{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em}
.db-ring-s{font-size:13px;color:var(--text-2);text-align:center}
.db-rings-h{grid-column:1/-1;display:flex;align-items:center;padding:14px 22px;border-bottom:1px solid var(--border)}
.db-rings-h b{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.db-kpi{padding:4px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;background:var(--surface);border:1px solid var(--border);border-radius:16px}
.db-tile{padding:20px 20px 20px 0;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--border)}
.db-tile:last-child{border-right:0}
.db-num{font-family:var(--mono);font-weight:500;letter-spacing:-.02em;font-size:30px;line-height:1;color:var(--text)}
.db-num small{font-size:13px;color:var(--dim);font-weight:500;letter-spacing:0}
.db-note{font-size:14px;color:var(--text-2)}
.db-note .bad{color:var(--bad)}
.db-head{display:flex;align-items:center;gap:12px}
.db-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}
.db-head .db-sub{font-size:13.5px}
.db-head .btn{margin-left:auto}
.db-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}
.db-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.db-card-h{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);font-weight:600;font-size:14px}
.db-card-h a{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--green)}
.db-th,.db-tr{display:grid;grid-template-columns:26px 2.1fr 2fr 1fr .9fr auto;gap:12px;align-items:center;padding:0 18px;font-size:13px}
.db-th{height:36px;border-bottom:1px solid var(--border)}
.db-tr{height:48px;border-bottom:1px solid var(--border)}
.db-tr:last-child{border-bottom:0}
.db-tr:hover{background:var(--raised)}
.db-tr .nm{font-weight:600;letter-spacing:-.01em}
.db-tr .dim{color:var(--dim)}
.db-tr .mono{font-size:12.5px}
.db-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--green);box-shadow:0 0 0 3px rgba(74,222,128,.18)}
.db-dot.off{background:var(--dim);box-shadow:none}.db-dot.bad{background:var(--bad);box-shadow:0 0 0 3px rgba(242,107,101,.18)}.db-dot.warn{background:var(--warn);box-shadow:0 0 0 3px rgba(232,185,58,.18)}
.db-side{display:flex;flex-direction:column;gap:16px}
.db-attn{border-color:rgba(242,107,101,.35)}
.db-list{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.db-row{display:flex;align-items:center;gap:10px;font-size:13px}
.db-row .t{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--dim)}
.db-empty{padding:40px 24px;text-align:center;color:var(--text-2);font-size:14px}
.db-strip{display:flex;align-items:center;gap:14px;padding:10px 18px;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.db-strip .bar{width:90px;height:6px;border-radius:999px;background:var(--border-strong);overflow:hidden}
.db-strip .bar i{display:block;height:100%;border-radius:999px;background:var(--green)}
.db-strip a{margin-left:auto;font-weight:600;color:var(--green)}
@media (max-width:1100px){.db-hero{grid-template-columns:1fr}.db-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.db-cols{grid-template-columns:1fr}}

/* mini profile at the bottom of the sidebar (22.09) */
.sh-me-card{margin-top:auto;padding:6px;border-radius:14px;background:#101013;border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}
.sh-me{display:flex;align-items:center;gap:10px;padding:8px 8px}
.sh-me .sh-ava{width:32px;height:32px;border-radius:50%;background:var(--text);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none;overflow:hidden}
.sh-me .sh-ava img{width:100%;height:100%;object-fit:cover;display:block}
.sh-me-t{display:flex;flex-direction:column;min-width:0;gap:1px}
.sh-me-mail{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:118px}
.sh-me-sub{font-size:12px;color:var(--text-2)}
.sh-me-admin{margin-left:auto;font-size:12px;font-weight:600;color:var(--text-2);padding:4px 8px;border-radius:6px;border:1px solid var(--border)}
.sh-me-admin:hover{color:var(--text);background:var(--raised)}
.sh-me-div{height:1px;margin:2px 8px;background:var(--border)}
.sh-bal-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 2px}
.sh-bal-l{font-size:13px;color:var(--text-2)}
.sh-bal-row .sh-bal{font-size:16px;color:var(--text)}
.sh-bal-btn{margin:2px 2px 2px;height:34px;font-size:13px;border-radius:10px;justify-content:center}
.sh-out{margin-left:auto;width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--dim);flex:none}
.sh-out svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sh-out:hover{color:var(--text);background:var(--raised)}
.bill-prices{margin-top:16px}
.bill-prices .db-num{font-size:24px}
.bill-prices .db-num small{margin-left:6px;font-size:13px;color:var(--dim)}
.sh-main .bill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* settings page (23.09, cabinet v3 · S11: profile card + tabs + usage-style tables) */
.sh-main .app-main.us{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:20px;font-size:16px}
.us-head h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.02em}
.us-tbl{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.us-profile{display:flex;align-items:center;gap:20px;padding:22px 24px}
.us-ava-form{margin:0}
.us-ava{position:relative;width:64px;height:64px;border-radius:50%;background:var(--text);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex:none;overflow:hidden;cursor:pointer}
.us-ava img{width:100%;height:100%;object-fit:cover;display:block}
.us-ava input{position:absolute;inset:0;opacity:0;cursor:pointer}
.us-ava-edit{position:absolute;left:0;right:0;bottom:0;padding:3px 0 4px;text-align:center;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:rgba(10,10,11,.7);color:#ededed;opacity:0;transition:opacity .15s ease;pointer-events:none}
.us-ava:hover .us-ava-edit{opacity:1}
.us-profile-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.us-profile-n{font-size:20px;font-weight:600}
.us-profile-s{font-size:15px;color:var(--text-2)}
.us-profile-a{margin-left:auto;display:flex;gap:8px;flex:none}
.us-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}
.us-tabs a{height:44px;padding:0 16px;display:inline-flex;align-items:center;font-size:16px;font-weight:600;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px}
.us-tabs a:hover{color:var(--text)}
.us-tabs a.on{color:var(--text);border-bottom-color:var(--text)}
.us-th{display:grid;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border);font-size:16px;font-weight:600;color:var(--text)}
.us-th span+span{font-size:13.5px;font-weight:500;color:var(--dim)}
.us-tr{display:grid;gap:16px;align-items:center;min-height:64px;padding:10px 22px;border-bottom:1px solid var(--border);font-size:16px;margin:0}
.us-tr:last-child{border-bottom:0}
.us-tr.is-off{opacity:.55}
.us-c3{grid-template-columns:240px minmax(0,1fr) auto}
.us-keys{grid-template-columns:minmax(0,1.6fr) 1fr 1fr 1fr auto}
.us-r{justify-self:end;display:inline-flex;align-items:center;gap:8px}
.us-tr .m,.us-tbl .m{color:var(--text-2);font-size:15px}
.us-tr .mono{font-size:14px}
.us-tag{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:999px;background:var(--raised);border:1px solid var(--border);font-size:13px;font-weight:500;color:var(--text-2);white-space:nowrap;vertical-align:middle}
.us-tag i{width:7px;height:7px;border-radius:50%;background:var(--text-2);display:inline-block}
.us-tag.on{color:var(--text)}
.us-tag.on i{background:var(--green);box-shadow:0 0 0 3px rgba(74,222,128,.18)}
.us-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:9px;border:1px solid var(--border-strong);background:transparent;color:var(--text);font:500 15px var(--sans),sans-serif;white-space:nowrap;cursor:pointer;text-decoration:none}
.us-btn:hover{background:var(--raised)}
.us-btn.p{background:var(--text);color:var(--bg);border-color:transparent;font-weight:600}
.us-btn.d{color:#f0a9a4}
.us-inline{display:inline;margin:0}
.us-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;padding:18px 22px;background:var(--surface-2)}
.us-form-key{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto}
.us-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.us-form-a{display:flex;gap:8px;align-items:center}
.us-form-note{align-self:end;padding-bottom:11px}
.us-form-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.us-lbl{font-size:13.5px;color:var(--dim)}
.us-in{height:42px;border:1px solid var(--border-strong);border-radius:10px;padding:0 12px;font:500 15px var(--sans),sans-serif;color:var(--text);background:var(--surface);box-sizing:border-box;width:100%}
.us-in:focus{outline:none;border-color:#43434c}
select.us-in{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aa1' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px}
.us-codes{margin:12px 0 0;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:15px;line-height:1.7;user-select:all;max-width:340px}
.us-sec-t{font-size:16px;font-weight:600}
.us-danger{border-color:#3a2422}
@media (max-width:760px){.us-c3,.us-keys{grid-template-columns:1fr}.us-form,.us-form-key{grid-template-columns:1fr}.us-profile-a{margin-left:0}.us-r{justify-self:start}}
.sh-main .app-main.bill{max-width:1040px}
.sh-main .bill .tu-coins{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}

/* billing page (23.09, cabinet v3 · usage style) */
.us-head{display:flex;align-items:center;gap:12px}
.us-head-a{margin-left:auto;display:flex;gap:8px}
.us-btn.on{background:var(--raised);border-color:var(--text-2)}
.bl-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bl-stat{display:flex;flex-direction:column;gap:8px;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.bl-stat .l{font-size:14px;color:var(--text-2)}
.bl-stat .v{font-family:var(--mono);font-size:30px;letter-spacing:-.02em;line-height:1}
.bl-stat .s{font-size:14px;color:var(--text-3)}
.bl-chart-h{display:flex;align-items:baseline;gap:12px;padding:16px 22px 6px;font-size:16px;font-weight:600}
.bl-chart-h .m{font-weight:400}
.bl-chart{padding:8px 22px 0}
.bl-chart svg{display:block;width:100%;height:160px}
.bl-chart-empty{padding:40px 0;text-align:center;font-size:14px;color:var(--text-3)}
.bl-chart-f{display:flex;gap:22px;padding:10px 22px 16px;font-size:14px;color:var(--text-2)}
.bl-chart-f .mono{color:var(--text)}
/* billing 23.09 вечер: столбики HTML (подписи не растягиваются), пустое состояние, подсказка дня при наведении */
.bl-bars{position:relative;display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:6px;align-items:end;height:150px;padding-top:10px;border-bottom:1px solid var(--border);background:linear-gradient(to top,transparent calc(33.3% - 1px),var(--border-hair) 33.3%,transparent calc(33.3% + 1px),transparent calc(66.6% - 1px),var(--border-hair) 66.6%,transparent calc(66.6% + 1px))}
.bl-bar{position:relative;height:100%;display:flex;align-items:flex-end;cursor:default}
.bl-bar i{display:block;width:100%;height:var(--h);min-height:0;border-radius:4px 4px 0 0;background:#2c2c33;transition:background .12s ease}
.bl-bar:hover i{background:#4a4a54}
.bl-bar.today i{background:#4ade80}
.bl-bar::after{content:attr(data-tip);position:absolute;bottom:calc(var(--h) + 8px);left:50%;transform:translate(-50%,4px);padding:5px 9px;border-radius:7px;background:var(--raised);border:1px solid var(--border-strong);font:500 12.5px var(--mono),monospace;color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:3}
.bl-bar:hover::after{opacity:1;transform:translate(-50%,0)}
.bl-bars.is-empty .bl-bar{pointer-events:none}
.bl-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-3)}
.bl-axis{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:6px;padding:8px 0 2px;font:12px var(--mono),monospace;color:var(--text-3)}
.bl-axis span{justify-self:center;white-space:nowrap;grid-row:1}
.bl-axis span:first-child{justify-self:start}
.bl-axis span:last-child{justify-self:end;color:var(--text-2)}
.bl-stat-a{color:var(--text-2);text-decoration:none}
.bl-stat-a:hover{color:var(--text)}
.bl-pick{padding:28px 0;text-align:center;font-size:14px}
.bl-coin .tu-amt{font-size:13.5px;color:var(--text)}
.bl-chart-h{align-items:center;padding:16px 22px 8px}
.bl-kpis{margin-left:auto;display:flex;gap:0}
.bl-kpis>span{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:0 0 0 18px;margin-left:18px;border-left:1px solid var(--border)}
.bl-kpis>span:first-child{border-left:0;margin-left:0;padding-left:0}
.bl-kpis i{font-style:normal;font-size:12px;font-weight:500;color:var(--text-3)}
.bl-kpis b{font-size:15px;font-weight:500;color:var(--text)}
.bl-chart{padding:8px 22px 18px}
/* Add funds крупнее (23.09): монеты, суммы, пресеты */
.bl .bl-method{padding:24px 26px}
.bl .bl-method-i{width:52px;height:52px;border-radius:14px}
.bl .bl-method-i svg{width:26px;height:26px}
.bl .bl-method-t b{font-size:19px}
.bl .bl-method-t span{font-size:15px}
.bl .bl-presets{gap:8px}
.bl .bl-presets .us-btn{height:46px;min-width:72px;padding:0 18px;font-size:17px;font-weight:600;border-radius:11px}
.bl .bl-amt{max-width:220px;gap:10px}
.bl .bl-amt span{font-size:18px}
.bl .bl-amt .us-in{height:46px;font-size:18px;font-weight:600;border-radius:11px}
.bl .bl-form{padding:20px 22px}
.bl .us-th:not(.us-cols) span+span{font-size:15px}
.bl .us-th .mono{font-size:15px;color:var(--text)}
.bl .bl-coins{gap:12px;padding:18px 22px 22px}
.bl .bl-coin{gap:14px;padding:16px 18px;border-radius:14px}
.bl .bl-coin .tu-ic,.bl .bl-coin .tu-ic .coin{width:44px;height:44px}
.bl .bl-coin .tu-nm{gap:3px}
.bl .bl-coin .tu-nm b{font-size:18px;font-weight:600}
.bl .bl-coin .tu-nm span{font-size:14px}
.bl .bl-coin .tu-amt{font-size:16px;color:var(--text)}
.bl .bl-coin:hover{border-color:var(--text-2);background:var(--raised)}
/* Usage - вкладка Billing (23.09) */
.bl-use{grid-template-columns:minmax(0,1.6fr) minmax(0,1.8fr) .9fr .9fr 110px}
.bl-use.no-cost{grid-template-columns:minmax(0,1.6fr) minmax(0,1.8fr) .9fr .9fr}
.bl-use-dev{display:inline-flex;align-items:center;gap:12px;min-width:0}
.bl-use-dev>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.bl-use-dev b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-use-dev small{font-size:12.5px;color:var(--text-3)}
.bl-use-today{display:flex;align-items:center;gap:14px}
.bl-use-today .mono{min-width:64px;color:var(--text)}
.bl-track{flex:1;max-width:260px;height:6px;border-radius:99px;background:var(--raised);overflow:hidden}
.bl-track i{display:block;height:100%;border-radius:99px;background:#4ade80}
.bl-use-sum{background:var(--surface-2);font-weight:500}
.bl-stat .v small{font-size:16px;color:var(--text-3);margin-left:2px;letter-spacing:0}
.bl-note{font-size:13.5px;color:var(--text-3);margin-top:-6px}
@media (max-width:760px){.bl-use,.bl-use.no-cost{grid-template-columns:1fr}.bl-track{max-width:none}}
.bl-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bl-method{display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);text-decoration:none;transition:border-color .15s ease,background .15s ease}
.bl-method:hover{background:var(--raised)}
.bl-method.on{border-color:var(--text-2);background:var(--raised)}
.bl-method-i{width:44px;height:44px;border-radius:12px;background:var(--raised);display:inline-flex;align-items:center;justify-content:center;flex:none}
.bl-method-i svg{width:22px;height:22px;stroke:var(--text);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bl-method-t{display:flex;flex-direction:column;gap:3px}
.bl-method-t b{font-size:17px;font-weight:600}
.bl-method-t span{font-size:14px;color:var(--text-2)}
.bl-form{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.bl-presets{display:flex;gap:6px;align-items:center;padding-bottom:1px}
.bl-amt{display:flex;align-items:center;gap:8px;max-width:180px}
.bl-amt span{color:var(--text-3)}
.bl-amt .us-in{-moz-appearance:textfield;appearance:textfield}
.bl-crypto{display:contents}
.bl-coins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 22px}
.bl-coin{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.bl-coin:hover{border-color:#43434c;background:var(--surface)}
.bl-coin .tu-nm b{font-size:15px}
.bl-coin .tu-amt{margin-left:auto;font-size:13px;color:var(--text-2);white-space:nowrap}
.bl-inv{grid-template-columns:1.3fr 1.4fr .8fr 1fr 1fr 1.2fr}
.bl-mov{grid-template-columns:1.2fr 1fr minmax(0,2.4fr) auto}
.bl-inv a{color:var(--text)}
@media (max-width:900px){.bl-stats{grid-template-columns:1fr}.bl-methods{grid-template-columns:1fr}.bl-coins{grid-template-columns:1fr}.bl-form{grid-template-columns:1fr}.bl-inv,.bl-mov{grid-template-columns:1fr}}

/* settings: раскрывающиеся панели, права ключа, команда (23.09) */
.us-acc summary{list-style:none;display:flex;align-items:center;gap:16px;min-height:64px;padding:10px 22px;cursor:pointer;font-size:16px}
.us-acc summary::-webkit-details-marker{display:none}
.us-acc summary:hover{background:var(--raised)}
.us-acc-t{font-size:16px;font-weight:600}
.us-acc summary .us-r{margin-left:auto}
.us-chev{width:18px;height:18px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg) translate(-3px,-3px);transition:transform .15s ease}
.us-acc[open] .us-chev{transform:rotate(-135deg) translate(-3px,-3px)}
.us-acc-b{border-top:1px solid var(--border)}
.us-acc-b .us-form{border-bottom:1px solid var(--border)}
.us-acc-b>*:last-child{border-bottom:0}
.us-acc-note{padding:14px 22px;font-size:14px;color:var(--text-3)}
.us-acc-note a{color:var(--text-2)}
.us-setup{display:flex;gap:22px;align-items:flex-start;padding:20px 22px}
.us-sess{grid-template-columns:minmax(0,2fr) 1fr 1fr auto}
.us-keys{grid-template-columns:minmax(0,2fr) 1fr 1fr 1fr auto}
.us-key-n{display:flex;align-items:baseline;gap:12px;min-width:0}
.us-key-n .mono{font-size:13.5px}
.us-key-sub{margin-left:10px;font-size:13.5px}
.us-perm{grid-template-columns:minmax(0,1fr) 120px 120px}
.us-perm-h label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.us-perm-s{display:block;font-size:13.5px}
.us-perm-c{display:flex;align-items:center;justify-content:flex-start}
.us-perm input[type=checkbox],.us-perm-h input[type=checkbox]{width:18px;height:18px;accent-color:#4ade80;cursor:pointer;margin:0}
.us-team{grid-template-columns:minmax(0,2fr) 1fr 1fr 1fr auto}
.us-sel{height:36px;width:150px;padding-right:32px}
/* удаление аккаунта: плашка «нельзя отменить», фишки того, что уйдёт, кнопка горит только при паролe и DELETE */
.us-danger-t{color:#ff8a80}
.us-del2{display:flex;flex-direction:column;gap:14px;padding:20px 22px;border-bottom:1px solid var(--border)}
.us-warn{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.22)}
.us-warn svg{width:20px;height:20px;stroke:#ff8a80;flex:none;margin-top:1px}
.us-warn b{display:block;font-size:15px;font-weight:600;color:#ffb3ab;margin-bottom:2px}
.us-warn span{font-size:14px;color:var(--text-2)}
.us-del-lbl{font-size:13.5px;color:var(--dim);margin-top:4px}
.us-chips{display:flex;flex-wrap:wrap;gap:8px}
.us-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:9px;background:var(--raised);border:1px solid var(--border);font-size:14px;color:var(--text);white-space:nowrap}
.us-chip svg{width:13px;height:13px;stroke:#ff8a80;flex:none}
.us-chip .mono{font-size:13px;color:var(--text-2)}
.us-del-money{font-size:14px;color:var(--text-2)}
.us-del-money a{color:var(--text)}
.us-lbl b.mono{font-size:12.5px;font-weight:500;color:var(--text-2);letter-spacing:.04em}
.us-btn.d.us-del-go:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff;font-weight:600}
.us-btn.d.us-del-go:not(:disabled):hover{background:#ef4444;border-color:#ef4444;color:#fff}
.us-del-go:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:760px){.us-sess,.us-team,.us-perm{grid-template-columns:1fr}}

/* settings: выравнивание (23.09 вечер). Формы в панелях - сетка «поле · поле · кнопка» (раньше .us-form был блоком и поля
   шли столбиком на всю ширину, кнопка прилипала к полю); последняя колонка таблиц фиксированная - иначе строка с кнопкой
   сдвигала остальные колонки относительно шапки; нативные чекбоксы/селекты в тёмной схеме. */
.sh-main .app-main.us{color-scheme:dark}
.us-acc-b .us-form{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}
.us-acc-b .us-form .us-btn{height:42px}
.us-acc-b .us-form-note{padding-bottom:12px}
.us-form-one{grid-template-columns:minmax(0,420px)!important}
.us-chev{width:9px;height:9px;margin:-4px 6px 0 6px;transform:rotate(45deg);flex:none}
.us-acc[open] .us-chev{margin-top:4px;transform:rotate(-135deg)}
.us-acc-b .us-th span{font-size:13.5px;font-weight:500;color:var(--dim)}
.us-keys{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) 1fr .9fr .9fr 150px}
.us-team{grid-template-columns:minmax(0,1.8fr) 1fr 1fr 1fr 150px}
.us-sess{grid-template-columns:minmax(0,1.8fr) 1fr 1fr 150px}
/* шапка с колонками: все подписи одного веса (первая не заголовок раздела); колонка действий по центру */
.us-th.us-cols span{font-size:13.5px;font-weight:500;color:var(--dim)}
.us-act{justify-self:center;text-align:center;display:inline-flex;align-items:center;justify-content:center}
/* опасная кнопка: тонированная, а не красный текст в серой рамке */
.us-btn.d{color:#ff8a80;background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.28)}
.us-btn.d:hover{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.5);color:#ffb3ab}
.us-foot{display:flex;justify-content:flex-end;padding:14px 22px;background:var(--surface-2);border-top:1px solid var(--border)}
/* права ключа: название + значок i, пояснение карточкой при наведении/фокусе */
.us-perm-n{position:relative;display:inline-flex;align-items:center;gap:8px;justify-self:start;outline:none;cursor:default}
.us-info{width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);color:var(--text-3);font:600 10px/14px var(--sans),sans-serif;font-style:normal;text-align:center;transition:color .12s ease,border-color .12s ease}
.us-tr.us-perm{position:relative}
.us-tr.us-perm:hover,.us-tr.us-perm:focus-within{z-index:5}
.us-tip{position:absolute;left:calc(100% + 12px);top:50%;margin-top:-28px;z-index:20;width:300px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:12px 14px;background:var(--raised);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.45);font-size:13.5px;line-height:1.45;color:var(--text-2);opacity:0;visibility:hidden;transform:translateX(-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s}
.us-tip b{font-weight:600;color:var(--text);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding-top:1px}
.us-perm-n:hover .us-tip,.us-perm-n:focus .us-tip{opacity:1;visibility:visible;transform:none}
.us-perm-n:hover .us-info,.us-perm-n:focus .us-info{color:var(--text);border-color:var(--text-2)}
.us-acc,.us-acc-b{overflow:visible}
.us-tbl:has(.us-perm){overflow:visible}
.us-team .us-sel{width:100%;max-width:160px}
/* чекбоксы прав ключа: свои вместо системных (серые квадраты выбивались из стиля); Read всегда вкл - приглушённый */
.us-perm input[type=checkbox],.us-perm-h input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border-radius:6px;border:1.5px solid #3a3a42;background:var(--surface-2) center/14px no-repeat;cursor:pointer;transition:background-color .12s ease,border-color .12s ease;flex:none}
.us-perm input[type=checkbox]:hover:not(:disabled),.us-perm-h input[type=checkbox]:hover:not(:disabled){border-color:var(--text-2)}
.us-perm input[type=checkbox]:checked,.us-perm-h input[type=checkbox]:checked{background-color:var(--text);border-color:var(--text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.us-perm input[type=checkbox]:disabled,.us-perm-h input[type=checkbox]:disabled{cursor:default;background-color:var(--raised);border-color:var(--border-strong);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aa1' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.us-perm input[type=checkbox]:focus-visible,.us-perm-h input[type=checkbox]:focus-visible{outline:2px solid var(--text-2);outline-offset:2px}
.us-perm-h label{font-size:14px;color:var(--text-2)}
.us-perm-none{display:inline-block;width:20px;text-align:center;color:var(--text-3)}
/* способы входа (23.09): почта+пароль, Google, GitHub */
.us-logins{grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) 1fr 150px}
.us-lg-n{display:inline-flex;align-items:center;gap:12px;font-weight:500}
.us-lg-i{width:34px;height:34px;border-radius:9px;background:var(--raised);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--text)}
.us-lg-i svg{width:18px;height:18px}
.us-btn:disabled{opacity:.45;cursor:not-allowed}
.us-tabs{overflow-x:auto;scrollbar-width:none}
.us-tabs::-webkit-scrollbar{display:none}
.us-tabs a{flex:none;white-space:nowrap}
@media (max-width:760px){.us-acc-b .us-form,.us-keys,.us-team,.us-sess,.us-logins{grid-template-columns:1fr}.us-form-one{grid-template-columns:1fr!important}
  .us-profile{flex-wrap:wrap;gap:16px}.us-profile-a{width:100%}
  .us-th span+span{display:none}.us-tr{gap:6px;padding:14px 18px}.us-th{padding:14px 18px}
  .us-perm{grid-template-columns:minmax(0,1fr) 56px 56px}.us-th.us-perm span+span{display:block}.us-act{justify-self:start}.us-tip{width:240px;left:0;top:calc(100% + 8px);margin-top:0}}

/* network (23.09): панель прокси как у конкурентов - вкладки по типу IP, таблица прокси, окна Add / Get / Use */
.nw-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface-2)}
.nw-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;font-size:16px;font-weight:500;color:var(--text-2);text-decoration:none;border-left:1px solid var(--border);transition:background .12s ease,color .12s ease}
.nw-tabs a:first-child{border-left:0}
.nw-tabs a:hover{color:var(--text);background:var(--surface)}
.nw-tabs a.on{background:var(--raised);color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--text)}
.nw-tabs a span{font:500 12px var(--mono),monospace;padding:2px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-2)}
.nw-bar{display:flex;align-items:center;gap:10px}
.nw-search{position:relative;flex:0 1 320px;display:flex;align-items:center}
.nw-search svg{position:absolute;left:12px;width:17px;height:17px;color:var(--text-3);pointer-events:none}
.nw-search input{width:100%;height:40px;padding:0 12px 0 38px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font:500 15px var(--sans),sans-serif;box-sizing:border-box}
.nw-search input:focus{outline:none;border-color:#43434c}
.nw-bar .us-btn{height:40px;gap:8px}
.nw-bi{width:16px;height:16px;flex:none}
.nw-sel{margin-left:auto;font-size:14px}
.us-btn:disabled{opacity:.45;cursor:not-allowed}
.nw-prow{gap:8px;grid-template-columns:var(--nw-cols,28px minmax(110px,1.4fr) minmax(80px,1fr) minmax(130px,1.4fr) minmax(76px,.8fr) minmax(120px,1.2fr) minmax(64px,.7fr) minmax(72px,.8fr) minmax(76px,.8fr) 140px)}
.nw-cb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border-radius:5px;border:1.5px solid #3a3a42;background:var(--surface-2) center/12px no-repeat;cursor:pointer;display:block;flex:none}
.nw-cb:hover{border-color:var(--text-2)}
.nw-cb:checked{background-color:var(--text);border-color:var(--text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0b' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.us-tr.nw-prow:has(.nw-pick:checked){background:var(--raised)}
.nw-pname{display:flex;flex-direction:column;gap:2px;min-width:0}
.nw-pname b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-pname small{font-size:12.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-src{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:6px;font-size:12.5px;font-weight:500;background:var(--raised);border:1px solid var(--border);color:var(--text-2)}
.nw-src.is-clousd{color:var(--text);border-color:var(--border-strong)}
.nw-addr{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-type{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:7px;font:500 13px var(--sans),sans-serif;background:var(--raised);border:1px solid var(--border);color:var(--text-2)}
.nw-type.is-mobile{color:#4ade80;border-color:rgba(74,222,128,.3);background:rgba(74,222,128,.07)}
.nw-type.is-residential{color:#7dd3fc;border-color:rgba(125,211,252,.3);background:rgba(125,211,252,.07)}
.nw-type.is-isp{color:#c4b5fd;border-color:rgba(196,181,253,.3);background:rgba(196,181,253,.07)}
.nw-type.is-datacenter{color:#fcd34d;border-color:rgba(252,211,77,.28);background:rgba(252,211,77,.06)}
.nw-loc{display:inline-flex;align-items:center;gap:10px;min-width:0}
.nw-loc>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-flag{width:22px;height:16px;border-radius:3px;object-fit:cover;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.08);display:inline-block}
.nw-flag-none{background:var(--raised)}
.nw-st{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--text-3);white-space:nowrap}
.nw-st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.nw-st.ok{color:var(--text)}
.nw-st.ok::before{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.18)}
.nw-st.bad{color:#ff8a80}
.nw-devs{min-width:34px;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--border-strong);background:transparent;color:var(--text);font:500 14px var(--mono),monospace;cursor:pointer}
.nw-devs:hover{background:var(--raised)}
.nw-acts{gap:6px}
.nw-ico{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--border-strong);background:transparent;color:var(--text-2);cursor:pointer}
.nw-ico svg{width:16px;height:16px}
.nw-ico:hover:not(:disabled){background:var(--raised);color:var(--text)}
.nw-ico:disabled{opacity:.35;cursor:not-allowed}
.nw-one{height:34px;padding:0 14px}
.nw-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:64px 22px;text-align:center}
.nw-empty svg{width:56px;height:56px;color:var(--text-3);margin-bottom:8px}
.nw-empty b{font-size:17px;font-weight:600}
.nw-empty-a{display:flex;gap:10px;margin-top:12px}
.nw-empty-a .us-btn{height:40px}
.nw-none{padding:28px 22px;text-align:center}
/* окна */
.nw-dlg{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.nw-dlg::backdrop{background:rgba(0,0,0,.6)}
.nw-dlg form{display:flex;flex-direction:column;max-height:calc(100vh - 50px)}
.nw-dlg-h{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}
.nw-dlg-h>div{display:flex;flex-direction:column;gap:4px}
.nw-dlg-h b{font-size:19px;font-weight:600}
.nw-dlg-h .m{font-size:14px}
.nw-x{width:34px;height:34px;border-radius:9px;border:1px solid var(--border-strong);background:transparent;color:var(--text-2);font-size:20px;line-height:1;cursor:pointer}
.nw-x:hover{background:var(--raised);color:var(--text)}
.nw-dlg-b{padding:20px 24px;overflow:auto;display:flex;flex-direction:column;gap:18px}
.nw-lbl{font-size:13.5px;font-weight:600;color:var(--text-2);margin-bottom:-6px}
.nw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nw-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
.nw-span2{grid-column:span 2}
.nw-span3{grid-column:1/-1}
.nw-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nw-tcard{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}
.nw-tcard:hover{border-color:var(--text-3)}
.nw-tcard input{position:absolute;opacity:0;pointer-events:none}
.nw-tcard:has(input:checked){border-color:var(--text);background:var(--raised);box-shadow:0 0 0 1px var(--text) inset}
.nw-tcard:has(input:focus-visible){outline:2px solid var(--text-2);outline-offset:2px}
.nw-tcard.is-off{opacity:.5;cursor:not-allowed}
.nw-tcard-n{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:600}
.nw-tcard-s{font-size:13px;color:var(--text-3)}
.nw-tcard-p{margin-top:6px;font-size:14px;color:var(--text)}
.nw-soon{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--raised);color:var(--text-3);border:1px solid var(--border)}
.nw-cc{display:flex;align-items:center;gap:12px}
.nw-cc .us-in{flex:1}
.nw-cc .nw-flag{width:28px;height:20px}
.nw-check-out{font-size:14px;min-height:18px;margin-top:-4px}
.nw-check-out:empty{display:none}
.nw-check-out.ok{color:#4ade80}
.nw-check-out.bad{color:#ff8a80}
.nw-bind{gap:0;padding:8px 12px}
.nw-bind-r{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:10px;cursor:pointer}
.nw-bind-r:hover{background:var(--raised)}
.nw-bind-r .bl-use-dev{flex:1}
.nw-bind-cur{font-size:13.5px;white-space:nowrap}
.nw-dlg-f{display:flex;align-items:center;gap:16px;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 16px 16px}
.nw-dlg-f .m{font-size:13.5px}
.nw-dlg-f .us-btn{height:40px}
.nw-dlg-a{margin-left:auto;display:flex;gap:8px}
@media (max-width:980px){.nw-bar{flex-wrap:wrap}.nw-search{flex:1 1 100%}}
@media (max-width:640px){.nw-tabs a{font-size:14px}.nw-grid{grid-template-columns:1fr 1fr}.nw-span2,.nw-span3{grid-column:1/-1}.nw-types{grid-template-columns:1fr}}
.sh-main .app-main.us.nw{max-width:none}
.nw-bar{margin-bottom:14px}
.nw-acts{justify-self:end}
.nw-opt{font-weight:400;color:var(--text-3);margin-left:6px}
/* Get proxy: типы одним компактным списком вместо четырёх карточек */
.nw-tlist{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.nw-trow{display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s ease}
.nw-trow:first-child{border-top:0}
.nw-trow:hover{background:var(--surface-2)}
.nw-trow input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border-radius:50%;border:1.5px solid #3a3a42;cursor:pointer}
.nw-trow input:checked{border:5px solid var(--text)}
.nw-trow:has(input:checked){background:var(--raised)}
.nw-trow-n{font-size:15px;font-weight:600;white-space:nowrap}
.nw-trow-s{font-size:13.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-trow-p{font-size:14px;color:var(--text)}
.nw-trow.is-off{cursor:not-allowed}
.nw-trow.is-off .nw-trow-n,.nw-trow.is-off .nw-trow-s,.nw-trow.is-off .nw-trow-p{color:var(--text-3)}
.nw-trow.is-off input{opacity:.4}
/* таблица прокси: колонки по выбору, сортировка, прокрутка вбок на узком экране */
.nw-tbl{overflow-x:auto}
.nw-tbl .nw-prow{min-width:var(--nw-min,auto)}
.nw-tbl.hide-name [data-col=name],.nw-tbl.hide-type [data-col=type],.nw-tbl.hide-address [data-col=address],.nw-tbl.hide-location [data-col=location],
.nw-tbl.hide-exitip [data-col=exitip],.nw-tbl.hide-status [data-col=status],.nw-tbl.hide-devices [data-col=devices],.nw-tbl.hide-traffic [data-col=traffic],
.nw-tbl.hide-price [data-col=price],.nw-tbl.hide-expires [data-col=expires],.nw-tbl.hide-added [data-col=added]{display:none!important}
.nw-sort{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;white-space:nowrap}
.nw-sort:hover{color:var(--text)}
.nw-sort i{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;opacity:0}
.nw-sort.asc,.nw-sort.desc{color:var(--text)}
.nw-sort.asc i{border-bottom:5px solid currentColor;opacity:1}
.nw-sort.desc i{border-top:5px solid currentColor;opacity:1}
.nw-f{width:auto;height:40px;min-width:140px}
.nw-batch{display:inline-flex;gap:8px}
.nw-batch[hidden]{display:none}
.nw-colset{position:relative}
.nw-colset summary{list-style:none;width:40px;height:40px}
.nw-colset summary::-webkit-details-marker{display:none}
.nw-colset[open] summary{background:var(--raised);color:var(--text)}
.nw-colpop{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:200px;display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--border-strong);border-radius:12px;background:var(--raised);box-shadow:0 16px 40px rgba(0,0,0,.5)}
.nw-colpop-h{font-size:12.5px;font-weight:600;color:var(--text-3);padding:4px 8px 6px;text-transform:uppercase;letter-spacing:.04em}
.nw-colpop label{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;font-size:14.5px;cursor:pointer}
.nw-colpop label:hover{background:var(--surface)}
.nw-colpop .us-btn{margin-top:6px;height:34px}
.nw-exp-warn{color:#fcd34d}
.nw-exp-bad{color:#ff8a80}
.nw-dlg-s{width:min(520px,calc(100vw - 32px))}
.nw-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.us-head-a .us-btn{height:40px;gap:8px}
.nw-stbtn{padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}
.nw-stbtn:hover .nw-st{text-decoration:underline;text-underline-offset:3px}
/* тип IP в таблице прокси: Static / Residential / Mobile IP одинаково для своих и наших */
.nw-type.is-static{color:#fcd34d;border-color:rgba(252,211,77,.28);background:rgba(252,211,77,.06)}
.nw-tbl.hide-proto [data-col=proto]{display:none!important}
/* Add proxy: режимы Single / Bulk */
.nw-dlg-h{align-items:center;gap:16px}
.nw-seg{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);margin-left:auto}
.nw-seg button{height:30px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:var(--text-2);font:500 14px var(--sans),sans-serif;cursor:pointer}
.nw-seg button.on{background:var(--raised);color:var(--text);box-shadow:0 0 0 1px var(--border-strong) inset}
.nw-bulk{display:flex;flex-direction:column;gap:6px}
.nw-bulk[hidden]{display:none}
.nw-bulk textarea{height:auto;min-height:190px;padding:10px 12px;line-height:1.6;font-size:14px;resize:vertical}
#nwSingle[hidden]{display:none}
/* вкладки: подчёркивание переезжает, строки въезжают */
.nw-tabs{position:relative}
.nw-tabs a.on{box-shadow:none}
.nw-tabs a{transition:background .2s ease,color .2s ease}
.nw-tabs-ind{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--text);border-radius:2px;transition:transform .32s cubic-bezier(.3,.7,.2,1),width .32s cubic-bezier(.3,.7,.2,1);pointer-events:none}
@keyframes nwIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.nw-in{animation:nwIn .32s cubic-bezier(.3,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){.nw-in{animation:none}.nw-tabs-ind{transition:none}}
.nw-empty[hidden]{display:none}
/* выпадающие списки в стиле кабинета */
.dd{position:relative;display:inline-flex;min-width:0;width:100%}
.dd-f{width:auto}
.dd-native{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px!important;padding:0!important;border:0!important;left:0;bottom:0}
.dd-btn{display:flex;align-items:center;gap:10px;width:100%;height:42px;padding:0 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);font:500 15px var(--sans),sans-serif;cursor:pointer;text-align:left;white-space:nowrap;transition:border-color .12s ease,background .12s ease}
.dd-f .dd-btn{height:40px;min-width:140px}
.dd-btn:hover{border-color:#43434c}
.dd.open .dd-btn,.dd-btn:focus-visible{outline:none;border-color:var(--text-2)}
.dd-set .dd-btn{border-color:var(--text-2);background:var(--raised)}
.dd-btn>span{flex:1;overflow:hidden;text-overflow:ellipsis}
.dd-ch{width:16px;height:16px;color:var(--text-3);flex:none;transition:transform .15s ease}
.dd.open .dd-ch{transform:rotate(180deg)}
.dd-pop{position:fixed;z-index:1000;max-width:340px;display:flex;flex-direction:column;padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:var(--raised);box-shadow:0 18px 44px rgba(0,0,0,.55);animation:ddIn .14s ease-out}
@keyframes ddIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.dd-q{height:36px;margin:0 0 6px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font:500 14px var(--sans),sans-serif;outline:none}
.dd-q:focus{border-color:var(--text-2)}
.dd-list{position:relative;max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:1px}
.dd-it{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:14.5px;color:var(--text-2);cursor:pointer;white-space:nowrap}
.dd-it>span{flex:1}
.dd-it svg{width:15px;height:15px;opacity:0;color:var(--text);flex:none}
.dd-it.hi{background:var(--surface);color:var(--text)}
.dd-it.on{color:var(--text)}
.dd-it.on svg{opacity:1}
.dd-it.off{opacity:.4;cursor:not-allowed}
.dd-it[hidden]{display:none}
/* группы прокси */
.nw-gtag{display:inline-flex;align-self:flex-start;height:20px;padding:0 7px;margin-top:2px;border-radius:5px;background:var(--raised);border:1px solid var(--border);font-size:12px!important;color:var(--text-2)!important}
.nw-grp-new[hidden]{display:none}
#nwAdd .nw-grid:first-child{grid-template-columns:repeat(4,minmax(0,1fr))}
#nwAdd .nw-grid:first-child .nw-grp-new{grid-column:1/-1}
.dd-pop[hidden],.nw-dlg [hidden],.nw-bar [hidden]{display:none!important}
.nw-tbl [hidden]{display:none!important}
/* колонки прокси по образцу рынка: Proxy = протокол + адрес, Location с городом, статус с временем проверки */
.nw-proxy{display:inline-flex;align-items:center;gap:8px;min-width:0}
.nw-proxy>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}
.nw-proto{flex:none;font:600 11px var(--mono),monospace;letter-spacing:.03em;padding:3px 6px;border-radius:5px;background:var(--raised);border:1px solid var(--border);color:var(--text-2)}
.nw-loc>span{display:flex;flex-direction:column;gap:1px;min-width:0}
.nw-loc small{font-size:12.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-ispc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-stbtn{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.nw-ago{font-size:12.5px;color:var(--text-3)}
.nw-tbl.hide-proxy [data-col=proxy],.nw-tbl.hide-isp [data-col=isp]{display:none!important}
.nw-ellip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.nw-proxy-x{}
.nw-tbl.hide-group [data-col=group]{display:none!important}
/* Apps (23.09): каталог карточками, вкладки Catalog / Pre-install / History, pre-install без перезагрузки */
.ap-pane{display:flex;flex-direction:column;gap:14px}
.ap-pane[hidden]{display:none!important}
.ap .nw-bar{margin-bottom:0}
.ap-cats{display:flex;align-items:center;gap:8px;min-width:0}
.ap-cats-row{display:flex;gap:6px;flex-wrap:nowrap;overflow:hidden;min-width:0}
.ap-cats-row button,.ap-more-btn{flex:none;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:500 14px var(--sans),sans-serif;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease}
.ap-cats-row button em,.ap-more-pop button em{font:500 11.5px var(--mono),monospace;font-style:normal;color:var(--text-3)}
.ap-cats-row button:hover,.ap-more-btn:hover{color:var(--text);border-color:var(--border-strong)}
.ap-cats-row button.on,.ap-more-btn.on{background:var(--text);border-color:var(--text);color:var(--bg)}
.ap-cats-row button.on em{color:rgba(10,10,11,.55)}
.ap-more{flex:none}
.ap-more[hidden]{display:none}
.ap-more-btn svg{width:14px;height:14px;transition:transform .15s ease}
.ap-more.open .ap-more-btn svg{transform:rotate(180deg)}
.ap-more-pop{position:fixed;min-width:190px;max-height:320px;overflow:auto;gap:1px}
.ap-more-pop[hidden]{display:none!important}
.ap-more-pop button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:500 14.5px var(--sans),sans-serif;text-align:left;cursor:pointer}
.ap-more-pop button:hover{background:var(--surface);color:var(--text)}
.ap-more-pop button.on{color:var(--text);background:var(--surface)}
.ap-hint{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);background:transparent;color:var(--text-2);font:500 14.5px var(--sans),sans-serif;cursor:pointer;transition:background .12s ease,color .12s ease}
.ap-hint:hover{background:var(--raised)}
.ap-hint:hover{color:var(--text);border-color:var(--text-3)}
.ap-hint[hidden]{display:none}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.ap-card{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:border-color .15s ease,transform .15s ease}
.ap-card:hover{border-color:var(--border-strong)}
.ap-card[hidden]{display:none}
.ap-top{display:flex;align-items:center;gap:12px;min-width:0}
.ap-i{width:48px;height:48px;border-radius:12px;flex:none;object-fit:cover;background:var(--raised);box-shadow:0 0 0 1px rgba(255,255,255,.09)}
.ap-l{display:inline-flex;align-items:center;justify-content:center;font:700 20px var(--sans),sans-serif;color:#fff;background:hsl(var(--h) 45% 38%)}
.ap-t{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ap-t b{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-t span{font-size:13px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-geo{display:inline-flex;align-items:center;gap:4px;flex:none;align-self:flex-start;color:var(--text-3)}
.ap-geo em{font:500 12px var(--mono),monospace;font-style:normal}
.ap-globe{width:18px;height:18px}
.ap-acts{display:grid;grid-template-columns:1fr auto;gap:8px}
.ap-pre{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;border-radius:9px;border:1px solid var(--border-strong);background:transparent;color:var(--text-2);font:500 14px var(--sans),sans-serif;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}
.ap-pre svg{width:15px;height:15px}
.ap-pre .c{display:none}
.ap-pre:hover{color:var(--text);background:var(--raised)}
.ap-pre.on{color:var(--text);border-color:var(--border-strong);background:var(--raised)}
.ap-pre.on svg{color:#4ade80}
.ap-pre.on .p{display:none}
.ap-pre.on .c{display:inline}
.ap-pre:disabled{opacity:.6}
.ap-inst{height:36px}
.ap-hrow{grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) minmax(0,.8fr) 120px}
.ap-hn{display:inline-flex;align-items:center;gap:12px;min-width:0}
.ap-hn .ap-i{width:32px;height:32px;border-radius:8px;font-size:14px}
.ap-hn b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-dlg-t{display:flex!important;flex-direction:row!important;align-items:center;gap:14px}
.ap-dlg-t>div{display:flex;flex-direction:column;gap:3px}
.ap-dlg-t .ap-i{width:40px;height:40px}
.ap-all{border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;margin-bottom:4px}
.dd-it em{font:500 12px var(--mono),monospace;font-style:normal;color:var(--text-3)}
@media (max-width:760px){.ap-hrow{grid-template-columns:1fr}.ap-grid{grid-template-columns:1fr}}
.nw-bar .dd{width:auto}
.nw-bar .dd .dd-btn{height:40px;min-width:150px}
/* Pre-install: шапка с 5 ячейками (лимит владельца), полный список - кнопки остальных карточек неактивны */
.ap-note{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%)}
.ap-note-i{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.25);color:#4ade80}
.ap-note-i svg{width:22px;height:22px}
.ap-note-t{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ap-note-t b{font-size:16px;font-weight:600}
.ap-note-t span{font-size:14px;color:var(--text-3)}
.ap-slots{display:flex;gap:8px;flex:none}
.ap-slot{width:40px;height:40px;border-radius:11px;border:1.5px dashed var(--border-strong);display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s ease}
.ap-slot.on{border:0}
.ap-slot .ap-i{width:40px;height:40px;border-radius:11px;font-size:16px}
.ap-pre.full{opacity:.4;cursor:not-allowed}
.ap-pre.full:hover{background:transparent;color:var(--text-2)}
@media (max-width:640px){.ap-note{flex-wrap:wrap}.ap-slots{width:100%}}
/* Apps: приложение другого источника (не из Google Play) - короткая метка APK у названия */
.ap-src{display:inline-block;margin-left:7px;padding:1px 5px;border:1px solid var(--border-strong);border-radius:5px;font-size:10.5px;font-style:normal;font-weight:600;letter-spacing:.04em;color:var(--text-3);vertical-align:2px}
/* /agents/ - телефоны для ИИ-агентов (23.09): «в работе» строкой чипов, заявка рядом с текстом */
.ag-next{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:32px}
.ag-next span{padding:6px 11px;border:1px dashed var(--border-strong);border-radius:999px;font-size:13px;color:var(--text-2)}
.ag-next .ag-next-t{padding:0;border:0;margin-right:6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.ag-access{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:clamp(32px,6vw,96px);align-items:start}
.ag-access-copy p{max-width:420px;color:var(--text-2)}
.ag-card{max-width:none}
.auth-card .field-row textarea{width:100%;min-height:92px;padding:12px 13px;border:1px solid var(--border-strong);border-radius:11px;background:var(--surface-2);color:var(--text);font:inherit;font-size:15px;line-height:1.45;resize:vertical}
.auth-card .field-row textarea::placeholder{color:var(--text-3)}
.auth-card .field-row textarea:focus{outline:none;border-color:#4d4d56;box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.ag-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ag-seg label{position:relative;cursor:pointer}
.ag-seg input{position:absolute;opacity:0;pointer-events:none}
.ag-seg span{display:flex;align-items:center;justify-content:center;height:42px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);font-size:14px;color:var(--text-2);transition:border-color .15s ease,color .15s ease,background .15s ease}
.ag-seg label:hover span{color:var(--text)}
.ag-seg input:checked + span{border-color:#5a5a64;background:#1d1d22;color:var(--text)}
.ag-seg input:focus-visible + span{box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.ag-sent{display:flex;flex-direction:column;gap:6px;padding:8px 0}
.ag-sent b{font-size:18px;font-weight:600}
.ag-sent span{color:var(--text-2)}
@media (max-width:900px){.ag-access{grid-template-columns:1fr}}
/* Главная: блок «Real phones for AI agents» (_home_envs.php, 23.09) - текст слева, цикл прогона справа */
.envs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(32px,6vw,88px);align-items:center;padding:clamp(28px,4vw,48px);border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,var(--surface) 0%,var(--bg) 100%)}
.envs-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.envs-copy .hero-cta{margin-top:6px;gap:20px}
.envs-loop{position:relative;margin:0;padding:0;list-style:none;display:grid;gap:10px}
.envs-loop::before{content:"";position:absolute;left:17px;top:22px;bottom:22px;width:1px;background:var(--border-strong)}
.envs-loop li{position:relative;display:grid;grid-template-columns:36px auto 1fr;align-items:center;gap:14px;padding:10px 14px 10px 0}
.envs-loop i{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface-2);font-style:normal;font-family:var(--mono);font-size:13px;color:var(--text-2)}
.envs-loop li:first-child i{border-color:rgba(74,222,128,.45);color:#4ade80}
.envs-loop b{font-size:16px;font-weight:600}
.envs-loop span{font-size:14px;color:var(--text-3)}
@media (max-width:860px){.envs{grid-template-columns:1fr}}
.envs .hl{color:var(--green)}
/* ---------- Devices v3 (24.09, devices.php): сводка, вкладки статусов, карточки с живым экраном и таблица ---------- */
.dv{display:flex;flex-direction:column;gap:18px}
.dv-role{margin-top:-8px;font-size:14px}
.dv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:14px;background:var(--surface-2);overflow:hidden}
.dv-stats>div{display:flex;flex-direction:column;gap:6px;padding:16px 20px;border-left:1px solid var(--border);position:relative}
.dv-stats>div:first-child{border-left:0}
.dv-stats .m{font-size:13.5px}
.dv-stats b{display:inline-flex;align-items:center;gap:10px;font:600 24px var(--sans);letter-spacing:-.01em}
.dv-stat-a{position:absolute;right:18px;bottom:18px;font-size:13.5px;color:var(--text-2);text-decoration:none}
.dv-stat-a:hover{color:var(--text)}
.dv-dot{width:9px;height:9px;border-radius:50%;background:#3a3a42}
.dv-dot.on{background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.16)}
.dv .nw-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:relative}
.dv .nw-bar{margin-bottom:0;flex-wrap:wrap}
.dv .nw-bar .dd{width:auto}
.dv-views{display:inline-flex;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden;flex:none;margin-left:auto}
.nw-sel:not(:empty)~.dv-views{margin-left:0}
.dv-views button{width:40px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-3);cursor:pointer}
.dv-views button+button{border-left:1px solid var(--border-strong)}
.dv-views button svg{width:17px;height:17px}
.dv-views button:hover{color:var(--text)}
.dv-views button.on{background:var(--raised);color:var(--text)}
.nw-st.wait{color:var(--text-2)}
.nw-st.wait::before{background:#e8b93a;box-shadow:0 0 0 3px rgba(232,185,58,.16);animation:dvPulse 1.4s ease-in-out infinite}
@keyframes dvPulse{50%{opacity:.35}}

/* карточки */
.dv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
.dv-grid[hidden],.dv-tbl[hidden],.dv-card[hidden],.dv-row[hidden],#dvColset[hidden]{display:none!important}
.dv-card{display:flex;gap:16px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);transition:border-color .15s ease,background .15s ease}
.dv-card:hover{border-color:var(--border-strong)}
.dv-card.is-sel{border-color:var(--text-2);background:var(--raised)}
.dv-shot{position:relative;flex:none;width:96px;aspect-ratio:9/19.5;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#1a1a1f 0%,#0c0c0e 100%);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;text-decoration:none}
.dv-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dv-shot::after{content:"";position:absolute;top:6px;left:50%;width:22px;height:4px;margin-left:-11px;border-radius:3px;background:rgba(255,255,255,.08)}
.dv-shot-st{font-size:12px;color:var(--text-3);text-align:center;padding:0 6px}
.dv-card.is-starting .dv-shot{background:linear-gradient(110deg,#141418 30%,#1d1d23 50%,#141418 70%) 0 0/300% 100%;animation:dvShim 1.6s linear infinite}
@keyframes dvShim{to{background-position:-300% 0}}
.dv-card.is-stopped .dv-shot,.dv-card.is-failed .dv-shot{opacity:.7}
.dv-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.dv-top{display:flex;align-items:flex-start;gap:10px}
.dv-top .nw-cb{margin-top:3px}
.dv-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dv-name b{font-size:16.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-name .mono{font-size:12.5px}
.dv-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:14px}
.dv-line .m{font-size:14px}
.dv-tag{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-2)}
.dv-meta{display:flex;flex-direction:column;gap:6px;font-size:14px;min-width:0}
.dv-meta>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-meta .m{font-size:14px}
.dv-meta .mono{font-size:13px}
.dv-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--border-soft)}
.dv-foot>.m{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-btns{display:flex;gap:8px;flex:none}
.dv-btns .us-btn{height:34px;padding:0 14px;font-size:14px}
.dv-menu{position:relative;flex:none}
.dv-menu summary{list-style:none;width:32px;height:32px}
.dv-menu summary::-webkit-details-marker{display:none}
.dv-pop{position:absolute;right:0;top:38px;z-index:20;min-width:220px;display:flex;flex-direction:column;padding:6px;border:1px solid var(--border-strong);border-radius:12px;background:var(--raised);box-shadow:0 12px 32px rgba(0,0,0,.5)}
.dv-pop a,.dv-pop button{display:flex;align-items:center;height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font:500 14px var(--sans);text-decoration:none;text-align:left;cursor:pointer}
.dv-pop a:hover,.dv-pop button:hover{background:var(--control)}
.dv-pop button.d{color:#ff8a80}
.dv-pop i{height:1px;margin:5px 4px;background:var(--border)}

/* таблица */
.dv-tbl .us-tr{min-height:62px}
.dv-tname{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--text);text-decoration:none}
.dv-tname b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-tname .mono{font-size:12.5px}
a.dv-tname:hover b{text-decoration:underline;text-underline-offset:3px}
.dv-tbl .nw-acts{display:flex;justify-content:flex-end;gap:8px}
.dv-tbl .nw-acts .us-btn{height:34px;font-size:14px}
.dv-tbl.hide-status [data-col=status],.dv-tbl.hide-android [data-col=android],.dv-tbl.hide-location [data-col=location],.dv-tbl.hide-network [data-col=network],
.dv-tbl.hide-ip [data-col=ip],.dv-tbl.hide-plan [data-col=plan],.dv-tbl.hide-today [data-col=today],.dv-tbl.hide-uptime [data-col=uptime],.dv-tbl.hide-created [data-col=created]{display:none!important}
.dv-tbl{overflow-x:auto}
.dv-tbl .nw-prow{min-width:var(--nw-min,0)}

/* окно New device */
.dv-dlg{width:min(760px,calc(100vw - 32px))}
.dv-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.dv-fgrid>label,.dv-fgrid>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.dv-fgrid .mf-sub{display:contents}
.dv-fgrid .mf-sub[hidden]{display:none}
.dv-fgrid .mf-sub>label{display:flex;flex-direction:column;gap:8px;min-width:0}
.dv-span2,.dv-fgrid .mf-sub.dv-span2>label{grid-column:1/-1}
.dv-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dv-plans label{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.dv-plans label:hover{border-color:#3a3a42}
.dv-plans label.on{border-color:var(--text-2);background:var(--raised)}
.dv-plans input{display:none}
.dv-plans b{font-size:15px;font-weight:600}
.dv-plans span{font-size:13px;color:var(--text-2)}
.dv-step{display:flex;height:42px;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden;background:var(--surface)}
.dv-step button{width:44px;border:0;background:transparent;color:var(--text-2);font-size:18px;cursor:pointer}
.dv-step button:hover{background:var(--raised);color:var(--text)}
.dv-step input{flex:1;min-width:0;border:0;border-left:1px solid var(--border-strong);border-right:1px solid var(--border-strong);background:transparent;color:var(--text);text-align:center;font:600 15px var(--mono);-moz-appearance:textfield}
.dv-step input::-webkit-inner-spin-button,.dv-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dv-file{display:flex;align-items:center;height:42px;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden;cursor:pointer;background:var(--surface)}
.dv-file span{flex:1;min-width:0;padding:0 12px;font-size:14.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-file span.on{color:var(--text)}
.dv-file i{font-style:normal;height:100%;display:flex;align-items:center;padding:0 14px;border-left:1px solid var(--border-strong);font-size:14px;font-weight:500}
.dv-file:hover i{background:var(--raised)}
.dv-check{flex-direction:row!important;align-items:center;gap:12px!important;cursor:pointer}
.dv-check>span{display:flex;align-items:baseline;gap:10px}
.dv-check .m{font-size:13.5px}
.dv-err{padding:10px 14px;border:1px solid rgba(239,68,68,.35);border-radius:10px;background:rgba(239,68,68,.08);color:#ffb3ab;font-size:14px}
.dv-short{color:#f0a9a4!important}
.dv-note{font-size:13.5px;line-height:1.5}
@media (max-width:900px){.dv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dv-stats>div:nth-child(3){border-left:0}.dv-stats>div:nth-child(n+3){border-top:1px solid var(--border)}}
@media (max-width:640px){.dv-grid{grid-template-columns:1fr}.dv-fgrid,.dv-plans{grid-template-columns:1fr}.dv-shot{width:80px}}
#dvForm{display:flex;flex-direction:column;gap:14px}
@media (max-width:640px){.dv .us-head{flex-wrap:wrap}.dv .us-head-a{margin-left:0;width:100%}.dv .us-head-a .us-btn{flex:1;justify-content:center}.dv .nw-batch{flex-wrap:wrap}.dv-stats>div{padding:14px 16px}.dv-stat-a{position:static}}

/* ---------- Device v3 (23.09, device.php): экран с вертикальной панелью кнопок, справа короткие карточки ---------- */
.dp{display:flex;flex-direction:column;gap:18px}
.dp-crumbs{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-3)}
.dp-crumbs a{color:var(--text-2);text-decoration:none}
.dp-crumbs a:hover{color:var(--text)}
.dp-head{align-items:flex-end}
.dp-title{display:flex;flex-direction:column;gap:8px;min-width:0}
.dp-title h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-sub{display:flex;align-items:center;gap:14px;font-size:14px}
.dp-sub .mono{font-size:13px}
.dp-head .us-head-a{align-items:center}
.dp-head .dv-menu summary{width:40px;height:40px}
.dp-note{margin:0}
.dp-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.dp-stage{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 20px;border:1px solid var(--border);border-radius:18px;
  background:radial-gradient(ellipse 70% 60% at 50% 0%,#16161b 0%,var(--surface-2) 70%)}
.dp-dev{display:flex;align-items:center;gap:16px}
.dp .phone{width:310px;padding:9px;border-radius:34px;box-shadow:0 40px 80px -30px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.02) inset}
.dp .phone-inner{height:640px;border-radius:26px}
.dp .live{border-radius:26px}
.dp-empty{gap:12px}
.dp-empty .us-btn{margin-top:6px}
.dp-rail{display:flex;flex-direction:column;padding:6px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface)}
.dp-rg{display:flex;flex-direction:column;gap:2px}
.dp-rg+.dp-rg{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}
.dp-rb{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;color:var(--text-2);cursor:pointer;transition:background .12s ease,color .12s ease}
.dp-rb svg{width:19px;height:19px}
.dp-rb:hover{background:var(--control);color:var(--text)}
.dp-rb.is-on{background:var(--raised);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}
.dp-rb[disabled]{opacity:.32;cursor:default;pointer-events:none}
.dp-rb::after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translate(-4px,-50%);white-space:nowrap;padding:6px 10px;border-radius:8px;
  border:1px solid var(--border-strong);background:var(--raised);font:500 13px var(--sans),sans-serif;color:var(--text);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:6}
.dp-rb:hover::after{opacity:1;transform:translate(0,-50%)}
.dp-type{display:flex;gap:8px;width:min(420px,100%)}
.dp-type[hidden]{display:none}
.dp-type .us-in{flex:1;min-width:0}
.dp-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.dp-card{display:flex;flex-direction:column;gap:14px;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.dp-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dp-card-h b{font-size:16px;font-weight:600}
.dp-card-h a{font-size:14px;color:var(--text-2);text-decoration:none}
.dp-card-h a:hover{color:var(--text)}
.dp-card .m{font-size:14px}
.dp-kv{display:grid;grid-template-columns:88px minmax(0,1fr);gap:11px 14px;margin:0;font-size:14.5px}
.dp-kv dt{color:var(--text-3)}
.dp-kv dd{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-kv dd.nw-loc{display:flex;gap:8px}
.dp-kv dd.mono{font-size:13.5px}
.dp-kv dd a{margin-left:8px;color:var(--text-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong)}
.dp-kv dd a:hover{color:var(--text)}
.dp-row{display:flex;gap:8px;min-width:0}
.dp-row .dd{flex:1;min-width:0}
.dp-drop{display:flex;align-items:center;justify-content:center;gap:10px;height:54px;border:1px dashed #2c2c33;border-radius:12px;font-size:14px;color:var(--text-2);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.dp-drop svg{width:18px;height:18px}
.dp-drop u{color:var(--text);text-underline-offset:3px}
.dp-drop:hover,.dp-drop.is-over{border-color:#43434c;background:var(--surface-2)}
.dp-card .up-bar{margin:0}
.dp-snap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dp-snap .us-btn{height:34px;padding:0 14px;font-size:14px}
.dp-adv summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer}
.dp-adv summary::-webkit-details-marker{display:none}
.dp-adv summary b{font-size:16px;font-weight:600}
.dp-adv summary .m{flex:1}
.dp-adv summary svg{width:16px;height:16px;color:var(--text-3);transition:transform .15s ease}
.dp-adv[open] summary svg{transform:rotate(90deg)}
#phoneFrame:fullscreen .phone-inner{height:100vh}
@media (max-width:1180px){.dp-grid{grid-template-columns:1fr}}
@media (max-width:640px){.dp-stage{padding:18px 10px}.dp-dev{flex-direction:column}.dp-rail{flex-direction:row;flex-wrap:wrap;justify-content:center}.dp-rg{flex-direction:row}
  .dp-rg+.dp-rg{margin:0 0 0 6px;padding:0 0 0 6px;border-top:0;border-left:1px solid var(--border)}.dp-rb::after{display:none}
  .dp .phone{width:min(300px,100%)}.dp .phone-inner{height:560px}.dp-head{flex-wrap:wrap}.dp-head .us-head-a{margin-left:0}}

/* ---------- Multi-view v3 (23.09, wall.php): сетка экранов + большой экран со стримом, Sync на выбранные ---------- */
.mv{display:flex;flex-direction:column;gap:14px}
.mv-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.mv-all{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2);cursor:pointer;min-width:120px}
.mv-tabs{display:inline-flex!important;grid-template-columns:none!important;margin:0;padding:3px;border-radius:10px}
.mv-tabs button{height:32px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:500 14px var(--sans),sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.mv-tabs button em{font-style:normal;font-size:12px;color:var(--text-3)}
.mv-tabs button.on{background:var(--raised);color:var(--text)}
.mv-size{display:inline-flex;align-items:center;gap:10px;margin-left:auto;color:var(--text-3)}
.mv-size svg{width:17px;height:17px}
.mv-size input{width:130px;accent-color:#d6d6da}
.mv-bar .dd{width:auto}
.mv-bar .dd-btn{height:38px}
.mv-sync{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 14px 0 10px;border:1px solid var(--border-strong);border-radius:10px;cursor:pointer;font:500 14px var(--sans),sans-serif;user-select:none}
.mv-sync input{display:none}
.mv-sync i{position:relative;width:32px;height:18px;border-radius:9px;background:var(--control);transition:background .15s ease}
.mv-sync i::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#8a8a92;transition:transform .15s ease,background .15s ease}
.mv-sync input:checked+i{background:#e8b93a}
.mv-sync input:checked+i::after{transform:translateX(14px);background:#fff}
.mv-batch{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px 8px 16px;border:1px solid var(--border-strong);border-radius:14px;background:var(--raised);animation:nwIn .15s ease}
.mv-batch[hidden],.mv-ask[hidden]{display:none}
.mv-batch>.m:first-child{margin-right:6px;font-size:14px;color:var(--text)}
.mv-batch .us-btn{height:34px;padding:0 12px;gap:7px;font-size:14px}
.mv-batch .us-btn svg{width:16px;height:16px;color:var(--text-2)}
.mv-out{margin-left:auto;font-size:13.5px}
.mv-ask{display:flex;gap:8px}
.mv-ask .us-in{flex:1;min-width:0}
.mv-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.mv-grid{--mv-w:170px;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--mv-w),1fr));gap:12px;align-content:start}
.mv-tile{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}
.mv-tile[hidden]{display:none}
.mv-tile:hover{border-color:var(--border-strong)}
.mv-tile.is-sel{border-color:#e8b93a;box-shadow:0 0 0 1px #e8b93a}
.mv-tile.is-focus{border-color:#ededed;box-shadow:0 0 0 1px #ededed}
.mv-tile.is-sel.is-focus{box-shadow:0 0 0 1px #ededed,0 0 0 4px rgba(232,185,58,.45)}
.mv-th{display:flex;align-items:center;gap:8px;height:34px;padding:0 8px;border-bottom:1px solid var(--border-soft);min-width:0}
.mv-th .nw-cb{flex:none;transform:scale(.9)}
.mv-no{flex:none;min-width:20px;height:18px;padding:0 5px;border-radius:5px;background:var(--control);font:600 11.5px var(--mono);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center}
.mv-tile.is-sel .mv-no{background:#e8b93a;color:#111}
.mv-name{flex:1;min-width:0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mv-th .nw-flag{width:18px;height:13px}
.mv-scr{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:9/19.5;padding:0;border:0;background:#050506;cursor:pointer}
.mv-scr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .2s ease}
.mv-scr[disabled]{cursor:default}
.mv-scr .m{font-size:13px}
.mv-tile.is-off .mv-scr{background:linear-gradient(160deg,#141418,#0a0a0c)}
.mv-none{grid-column:1/-1}
.mv-focus{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:18px;background:radial-gradient(ellipse 80% 50% at 50% 0%,#16161b,var(--surface-2) 70%)}
.mv-focus[hidden]{display:none}
.mv-focus.is-sync{border-color:rgba(232,185,58,.55)}
.mv-fh{display:flex;align-items:center;gap:10px}
.mv-fh>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.mv-fh>div b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mv-fh .mono{font-size:12px}
.mv-fh .nw-ico svg{width:17px;height:17px}
.mv-fdev{display:flex;align-items:center;gap:12px}
.mv-fscr{position:relative;width:min(330px,calc(100vh - 230px) * .46);aspect-ratio:9/19.5;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 0 0 7px var(--raised),0 0 0 8px var(--border-strong),0 30px 60px -30px #000;margin:8px}
.mv-fscr video,.mv-fscr img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.mv-pad{position:absolute;inset:0;touch-action:none;outline:none;cursor:crosshair}
.mv-fst{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:4px 10px;border-radius:999px;background:rgba(15,15,17,.85);border:1px solid var(--border-strong);font-size:12px;color:var(--text-2);pointer-events:none;transition:opacity .2s ease}
.mv-fst.is-live{opacity:0}
.mv-fscr:hover .mv-fst.is-live{opacity:1;color:#4ade80}
.mv-rail .dp-rb::after{left:auto;right:calc(100% + 10px);transform:translate(4px,-50%)}
.mv-rail .dp-rb:hover::after{transform:translate(0,-50%)}
.mv-fnote{font-size:13px;text-align:center}
.mv-focus .dp-type{width:100%}
@media (max-width:1100px){.mv-body{grid-template-columns:1fr}.mv-focus{position:static;order:-1;align-items:center}}
@media (max-width:640px){.mv-size{margin-left:0}.mv-grid{--mv-w:130px!important}.mv-fdev{flex-direction:column}.mv-rail{flex-direction:row}.mv-rail .dp-rg{flex-direction:row}
  .mv-rail .dp-rg+.dp-rg{margin:0 0 0 6px;padding:0 0 0 6px;border-top:0;border-left:1px solid var(--border)}.mv-rail .dp-rb::after{display:none}.mv-fscr{width:min(300px,86vw)}}
/* Devices, табличный вид (23.09): один размер текста во всех ячейках, моноширинный только IP */
.dv-tbl .us-tr{font-size:14.5px;min-height:60px}
.dv-tbl .us-tr .m,.dv-tbl .us-tr .nw-st,.dv-tbl .us-tr .nw-loc{font-size:14.5px}
.dv-tbl .us-tr .mono{font-size:13.5px}
.dv-tbl .dv-tname b{font-size:15px}
.dv-tbl .dv-tname .mono{font-size:12.5px}
.dv-tbl .nw-st{color:var(--text-2)}
.dv-tbl [data-col=today],.dv-tbl [data-col=android]{white-space:nowrap;font-variant-numeric:tabular-nums}
/* Device v3, 23.09 вечер: шапка одной строкой, высота телефона от высоты окна - устройство видно целиком без прокрутки */
.dp{gap:14px}
.dp-head{display:flex;align-items:center;gap:14px;min-width:0}
.dp-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dp-head .mono{font-size:13px}
.dp-head .us-head-a{margin-left:auto;display:flex;gap:8px;flex:none}
.dp-head .us-btn{height:36px}
.dp-head .dv-menu summary{width:36px;height:36px}
.dp-back{flex:none;width:34px;height:34px;margin-left:-6px}
.dp-stage{padding:18px 20px}
.dp .phone{width:auto}
.dp .phone-inner{height:clamp(420px,calc(100vh - 215px),720px);aspect-ratio:9/19.5}
.dp .phone-inner>.live,.dp .phone-inner>.phone-empty{width:100%}
@media (max-width:640px){.dp-head{flex-wrap:wrap}.dp-head .us-head-a{margin-left:0;width:100%}.dp .phone-inner{height:auto;width:min(290px,78vw)}}
.dv-plans.dv-plans3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){.dv-plans.dv-plans3{grid-template-columns:1fr}}
/* 0 устройств: без пустых вкладок/фильтров/таблицы - одна карточка «первый телефон бесплатно» */
.dv-zero #dvTabs,.dv-zero .nw-bar,.dv-zero #dvTbl,.dv-zero #dvCards{display:none!important}
.dv-zero #dvEmpty{padding:56px 24px;border:1px solid var(--border);border-radius:16px;background:radial-gradient(ellipse 60% 70% at 50% 0%,#16161b,var(--surface) 70%)}
.dv-zero #dvEmpty b{font-size:22px}
/* New device, 23.09 вечер: план одной строкой, счёт внизу окна, выпадашки без горизонтальной прокрутки */
.dv-plans label{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;height:48px}
.dv-plans span{font:500 14.5px var(--mono);color:var(--text-2)}
.dv-plans label.on span{color:var(--text)}
.dv-bill{display:flex;flex-direction:column;gap:9px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.dv-bill:empty{display:none}
.dv-bill>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:14.5px}
.dv-bill>div span{color:var(--text-2)}
.dv-bill>div b{font:500 14.5px var(--mono);color:var(--text);white-space:nowrap}
.dv-bill .dv-bill-m b{color:var(--text-2)}
.dv-bill .dv-bill-f b,.dv-bill .dv-bill-f span{color:#4ade80}
.dv-bill .dv-bill-t{margin-top:4px;padding-top:12px;border-top:1px dashed var(--border-strong)}
.dv-bill .dv-bill-t span{color:var(--text);font-weight:600}
.dv-bill .dv-bill-t b{font-size:17px;font-weight:600}
.dv-bill p{margin:0;font-size:13px}
.dv-total{font-size:15px;color:var(--text-2)}
.dv-total b{font:600 17px var(--mono);color:var(--text);margin-left:6px}
.dv-total.dv-short b{color:#f0a9a4}
.dd-list{overflow-x:hidden}
.dd-it>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* New device = конфигуратор (23.09, вариант N3): слева форма, справа собираемый телефон, Total и Create device */
.dv-cfg{width:min(920px,calc(100vw - 32px))}
.dv-cfg form{max-height:calc(100vh - 48px)}
.dv-cfg-b{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px}
.dv-cfg-l{overflow:auto;gap:16px}
.dv-cfg-l .dv-fgrid{gap:14px 14px}
.dv-cfg-r{display:flex;flex-direction:column;align-items:center;gap:18px;padding:26px 24px 22px;border-left:1px solid var(--border);
  background:radial-gradient(ellipse 80% 50% at 50% 18%,#17171c,var(--surface) 70%);border-radius:0 0 16px 0}
.dv-pv-phone{position:relative;width:150px;aspect-ratio:9/18;padding:7px;box-sizing:border-box;border-radius:28px;background:var(--raised);border:1px solid var(--border-strong);box-shadow:0 30px 60px -30px #000}
.dv-pv-phone i{display:block;width:100%;height:100%;border-radius:21px;background:linear-gradient(170deg,#1d2a3a 0%,#101418 55%,#0b0b0d 100%)}
.dv-pv-phone i::before{content:"";position:absolute;top:15px;left:50%;width:34px;height:5px;margin-left:-17px;border-radius:3px;background:#0a0a0b}
.dv-pv-os{position:absolute;left:0;right:0;bottom:22px;text-align:center;font:500 11px var(--mono);letter-spacing:.06em;color:rgba(237,237,237,.45)}
.dv-pv-t{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0;max-width:100%}
.dv-pv-t b{font-size:18px;font-weight:600;letter-spacing:-.01em}
.dv-pv-t>span:not(.m){display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2)}
.dv-pv-t .m{font-size:13.5px}
.dv-pv-go{margin-top:auto;width:100%;display:flex;flex-direction:column;gap:12px}
.dv-pv-go .dv-total{display:flex;align-items:baseline;justify-content:space-between}
.dv-pv-go .us-btn{width:100%;height:44px}
.dv-pv-go .us-btn[disabled]{opacity:.45;cursor:not-allowed}
.dv-seg{display:flex!important;padding:4px;gap:4px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2)}
.dv-seg label{flex:1;height:38px;padding:0 14px;border:0;border-radius:9px;justify-content:center;gap:10px}
.dv-seg label b{font-size:14.5px;font-weight:500;color:var(--text-2)}
.dv-seg label span{font-size:13.5px}
.dv-seg label.on{background:var(--control);box-shadow:inset 0 0 0 1px #2c2c33}
.dv-seg label.on b{color:var(--text);font-weight:600}
@media (max-width:860px){.dv-cfg-b{grid-template-columns:1fr;overflow:auto}.dv-cfg-l{overflow:visible}.dv-cfg-r{border-left:0;border-top:1px solid var(--border);border-radius:0 0 16px 16px}.dv-pv-phone{display:none}}
.dv-pv-name{font-size:19px;font-weight:600;letter-spacing:-.01em;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-pv-cc{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;color:var(--text-2)}
/* подтверждение создания (23.09): подарок пробы крупно, дальше тарифы */
.dv-ok{width:min(420px,calc(100vw - 32px))}
.dv-ok-b{display:flex;flex-direction:column;gap:14px;padding:26px 24px 22px}
.dv-ok-gift{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;border:1px solid rgba(74,222,128,.28);border-radius:14px;background:radial-gradient(ellipse 80% 90% at 50% 0%,rgba(74,222,128,.12),transparent 70%);text-align:center}
.dv-ok-gift[hidden]{display:none}
.dv-ok-gift b{font-size:26px;font-weight:700;letter-spacing:-.02em;color:#86efac}
.dv-ok-gift .m{font-size:14px}
.dv-ok-now{border-color:var(--border-strong);background:var(--surface-2)}
.dv-ok-now b{color:var(--text);font-family:var(--mono)}
.dv-ok-rows{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.dv-ok-rows>div{display:flex;align-items:center;justify-content:space-between;gap:16px;height:48px;padding:0 16px;font-size:15px}
.dv-ok-rows>div+div{border-top:1px solid var(--border)}
.dv-ok-rows span{color:var(--text-2)}
.dv-ok-rows b{font:500 15px var(--mono)}
.dv-ok,.dv-cfg{overflow:hidden}
.dv-cfg-l{overflow-x:hidden}
.dv-pv-name{display:inline-flex;align-items:center;gap:10px;max-width:100%;height:40px;padding:0 16px 0 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--raised);box-shadow:0 8px 24px -12px #000}
.dv-pv-name b{font-size:16.5px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-pv-name .nw-flag{width:22px;height:16px}
.dv-ok-gift .m{white-space:nowrap}
/* превью New device, 23.09 вечер (R5 + шапка R4 + экран блокировки P1) */
.dv-cfg-r{padding:14px;background:var(--surface);position:relative;overflow:hidden}
.dv-cfg-r::before{content:"";position:absolute;left:30px;right:30px;bottom:70px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(138,63,252,.32),rgba(59,111,216,.16) 45%,transparent 70%);filter:blur(30px);pointer-events:none}
.dv-glass{position:relative;flex:1;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 16px 14px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
.dv-pv-head{align-self:stretch;display:flex;align-items:center;gap:12px;min-width:0;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}
.dv-pv-flag{flex:none;display:inline-flex;width:30px;height:22px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.12);background:var(--control)}
.dv-pv-flag img{width:100%;height:100%;object-fit:cover}
.dv-pv-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.dv-pv-head b{font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-pv-head span{font-size:13px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-lock{width:158px;padding:7px;border-radius:30px;background:linear-gradient(145deg,#2a2a30,#121215);border:0;box-shadow:0 0 0 1px #34343b,0 30px 60px -24px #000,inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.dv-lock>i{position:absolute;inset:7px;width:auto;height:auto;border-radius:23px;background:radial-gradient(120% 70% at 30% 110%,#3b6fd8 0%,#1d2d6b 35%,transparent 60%),radial-gradient(90% 60% at 90% 0%,#8a3ffc 0%,transparent 55%),#0b0e1c}
.dv-lock>i::before{display:none}
.dv-cam{position:absolute;top:16px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#050506;box-shadow:0 0 0 1.5px #1a1a1f}
.dv-sb{position:absolute;left:7px;right:7px;top:7px;display:flex;align-items:center;justify-content:space-between;padding:11px 14px 0;font:600 10px var(--sans);color:#fff}
.dv-sb-r{display:flex;align-items:center;gap:4px}
.dv-sb-r>span:first-child{font-weight:500;opacity:.85;max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-sb svg{width:12px;height:9px;fill:#fff}
.dv-bat{display:inline-block;width:18px;height:9px;padding:1px;box-sizing:border-box;border:1.2px solid rgba(255,255,255,.8);border-radius:3px}
.dv-bat i{display:block;width:72%;height:100%;border-radius:1px;background:#fff}
.dv-lock-t{position:absolute;left:7px;right:7px;top:62px;display:flex;flex-direction:column;align-items:center;color:#fff}
.dv-lock-t span{font:500 11px var(--sans);opacity:.85}
.dv-lock-t b{font:300 50px/1 var(--sans);letter-spacing:-2px;margin-top:4px}
.dv-lock .dv-pv-os{bottom:22px;color:rgba(255,255,255,.75);letter-spacing:.08em;font-size:9.5px}
.dv-pv-total{display:flex;flex-direction:column;align-items:center;gap:2px}
.dv-pv-total span{font-size:12.5px;color:var(--text-2)}
.dv-pv-total b{font:600 30px var(--mono);letter-spacing:-1px}
.dv-pv-total.dv-short b{color:#f0a9a4}
.dv-glass .dv-pv-go{margin-top:auto}
.dv-sb>span:first-child{font-weight:600;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 23.09 поздно: без карточки-обёртки - прежний фон панели, кнопка у низа окна; строка статуса = время + батарея */
.dv-cfg-r{padding:22px 24px 22px;background:radial-gradient(ellipse 80% 50% at 50% 18%,#17171c,var(--surface) 70%)}
.dv-cfg-r .dv-pv-go{margin-top:auto}
.dv-sb>span:first-child{font-weight:600;font-size:10.5px}
/* 23.09: экран без выреза и камеры; итог - строка «Total … $0.00» под пунктиром, как в варианте R4 */
.dv-lock>i::before,.dv-lock::before,.dv-lock::after{display:none!important;content:none!important}
.dv-pv-total{flex-direction:row;align-items:baseline;justify-content:space-between;align-self:stretch;padding-top:12px;border-top:1px dashed #2c2c33}
.dv-pv-total span{font-size:15px;font-weight:600;color:var(--text)}
.dv-pv-total b{font-size:20px;letter-spacing:-.02em}
/* обои экрана блокировки: верх освещён ровно (прежний угловой блик давал тёмную полосу посередине, похожую на вырез) */
.dv-lock>i{background:radial-gradient(150% 60% at 60% -8%,#7b3ff2 0%,#3b2d9e 40%,rgba(30,30,90,0) 72%),radial-gradient(120% 70% at 30% 110%,#3b6fd8 0%,#1d2d6b 35%,transparent 60%),#0e1026}
.dv-lock i::before{display:none!important;content:none!important}
/* переключатель плана: одна подсветка переезжает под выбранный вариант */
.dv-seg{position:relative}
.dv-seg-ind{position:absolute;left:4px;top:4px;bottom:4px;width:0;border-radius:9px;background:var(--control);box-shadow:inset 0 0 0 1px #2c2c33,0 6px 16px -8px rgba(0,0,0,.8);transition:transform .32s cubic-bezier(.3,1.25,.4,1),width .32s cubic-bezier(.3,1.25,.4,1);pointer-events:none}
.dv-seg label{position:relative;z-index:1;background:transparent!important;box-shadow:none!important;transition:color .2s ease}
.dv-seg label b,.dv-seg label span{transition:color .2s ease}
