/* ===== Televerse design system v3 ===== */
:root{box-sizing:border-box;--bg:#f3f5f9;--bg2:#fff;--sf:#fff;--sf2:#f4f6fa;--line:#e2e7ef;--line2:#cfd7e3;--tx:#0e1520;--tx2:#46536a;--mt:#76839a;--ac:#229ed9;--ac2:#1b87bb;--acw:rgba(34,158,217,.12);--ok:#1fa968;--warn:#d98a0b;--err:#dc4a4a;--sh:0 1px 2px rgba(16,24,40,.05),0 6px 18px rgba(16,24,40,.06);--shl:0 12px 40px rgba(16,24,40,.18);--hero:radial-gradient(60% 90% at 15% 0%,rgba(34,158,217,.10),transparent 70%)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0a0e14;--bg2:#0e131b;--sf:#121824;--sf2:#18202f;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15);--tx:#e8edf5;--tx2:#a2adbf;--mt:#6f7b8f;--ac:#2aabee;--ac2:#4bb9f2;--acw:rgba(42,171,238,.14);--ok:#34c77b;--warn:#f2a93b;--err:#ef5b5b;--sh:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.25);--shl:0 18px 60px rgba(0,0,0,.6);--hero:radial-gradient(60% 90% at 15% 0%,rgba(42,171,238,.13),transparent 70%)}}
:root[data-theme="dark"]{--bg:#0a0e14;--bg2:#0e131b;--sf:#121824;--sf2:#18202f;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15);--tx:#e8edf5;--tx2:#a2adbf;--mt:#6f7b8f;--ac:#2aabee;--ac2:#4bb9f2;--acw:rgba(42,171,238,.14);--ok:#34c77b;--warn:#f2a93b;--err:#ef5b5b;--sh:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.25);--shl:0 18px 60px rgba(0,0,0,.6);--hero:radial-gradient(60% 90% at 15% 0%,rgba(42,171,238,.13),transparent 70%)}
html{scroll-behavior:smooth}*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.55 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
main{flex:1;width:100%}a{color:inherit}h1,h2,h3{letter-spacing:-.015em;margin:0}.w{max-width:1180px;margin:0 auto;padding:0 20px}.mt{color:var(--mt)}.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
svg.i{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.14em}svg.i.f{fill:currentColor;stroke:none}
/* кнопки и поля */
input,select,textarea{background:var(--sf2);color:var(--tx);border:1px solid var(--line);border-radius:10px;padding:0 13px;height:42px;font:inherit;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}
textarea{height:auto;padding:10px 13px;line-height:1.5;resize:vertical}select{padding-right:8px}
input:focus,select:focus,textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--acw)}input::placeholder,textarea::placeholder{color:var(--mt)}input[type=checkbox]{width:auto;height:auto}
button,.btn{font:inherit;font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent;border-radius:10px;height:40px;padding:0 16px;background:var(--ac);color:#fff;transition:background .15s,border-color .15s,transform .05s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
button:hover,.btn:hover{background:var(--ac2)}button:active{transform:translateY(1px)}
button.g,.btn.g{background:var(--sf2);color:var(--tx);border-color:var(--line)}button.g:hover,.btn.g:hover{background:var(--sf);border-color:var(--line2)}
button.r{background:var(--err);color:#fff}button.r:hover{filter:brightness(1.08);background:var(--err)}button.s,.btn.s{height:32px;padding:0 12px;font-size:13px;border-radius:8px}
button:disabled{opacity:.5;cursor:default}
.ib{width:38px;height:38px;padding:0;border-radius:10px;background:transparent;color:var(--tx2);border:1px solid transparent;font-size:19px}.ib:hover{background:var(--sf2);color:var(--tx)}.ib.on{color:#ef4a73}
/* шапка */
.hdr{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:6px;height:64px}
.lg{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.02em;text-decoration:none;margin-right:14px}
.mk{width:32px;height:32px;border-radius:9px;background:linear-gradient(145deg,#37b6f2,#1a8acb);display:grid;place-items:center;color:#fff;font-size:17px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 8px rgba(34,158,217,.35)}
.nv{display:flex;gap:2px;flex:1}.nv a{padding:8px 12px;border-radius:8px;color:var(--tx2);text-decoration:none;font-weight:500;font-size:14.5px}.nv a:hover{background:var(--sf2);color:var(--tx)}.nv a.on{color:var(--tx);background:var(--sf2)}
.hr{display:flex;align-items:center;gap:6px;margin-left:auto}.acc{width:auto;padding:0 12px 0 6px;gap:8px;font-size:14px;font-weight:600;color:var(--tx);border:1px solid var(--line)}.acc .as{width:26px;height:26px;border-radius:50%;background:var(--acw);color:var(--ac);display:grid;place-items:center;font-size:13px}.acc.out{padding:0 14px;color:var(--tx)}
.mbtn{display:none}.mnav{display:none;border-top:1px solid var(--line);background:var(--bg2);padding:8px 20px 14px}.mnav.open{display:grid;gap:2px}.mnav a{padding:11px 8px;border-radius:8px;text-decoration:none;color:var(--tx2);font-weight:500}.mnav a:hover,.mnav a.on{background:var(--sf2);color:var(--tx)}
/* герой */
.hero{position:relative;padding:60px 0 24px;text-align:left}.hero:before{content:"";position:absolute;inset:-80px -100vw 0;background:var(--hero);z-index:-1;pointer-events:none}
.hero h1{font-size:clamp(30px,5vw,48px);line-height:1.1;font-weight:700;max-width:760px}.hero h1 b{color:var(--ac)}.hero p.lead{color:var(--tx2);font-size:17px;max-width:600px;margin:14px 0 24px}
.srch{display:flex;gap:8px;max-width:680px;position:relative}.srch .si{position:absolute;left:15px;top:13px;font-size:18px;color:var(--mt);pointer-events:none}.srch input{height:50px;border-radius:12px;padding-left:44px;font-size:16px;background:var(--sf);box-shadow:var(--sh)}
.stt{display:flex;gap:30px;flex-wrap:wrap;margin-top:26px;color:var(--mt);font-size:13px}.stt div b{display:block;color:var(--tx);font-size:22px;font-weight:700}
.banner{background:var(--acw);color:var(--tx);border:1px solid color-mix(in srgb,var(--ac) 30%,transparent);text-align:center;padding:9px 14px;border-radius:10px;margin-top:16px;font-size:14px}
/* табы и чипы */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tab{background:var(--sf);border:1px solid var(--line);color:var(--tx2);border-radius:999px;height:36px;padding:0 15px;font-weight:500;font-size:14px}.tab:hover{background:var(--sf2);color:var(--tx);border-color:var(--line2)}
.tab.on{background:var(--tx);border-color:var(--tx);color:var(--bg)}.tab .n{opacity:.6;font-weight:500;margin-left:2px}
.sec{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:34px 0 14px}.sec h2{font-size:20px;font-weight:700;display:flex;align-items:center;gap:9px}.sec h2 svg{color:var(--ac)}.sec a{font-size:14px;color:var(--ac);text-decoration:none;font-weight:600}
.sec select{width:auto;height:36px;font-size:14px}
/* карточки каналов */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;padding-bottom:30px}
.row{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin}.row .cd{min-width:310px;max-width:310px;scroll-snap-align:start}
.cd{position:relative;background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh);transition:border-color .15s,transform .15s}.cd:hover{border-color:var(--line2);transform:translateY(-2px)}
.cd .t{display:flex;gap:12px;align-items:center}.av{position:relative;width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:20px;text-decoration:none;background-size:cover;background-position:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 2px 8px rgba(0,0,0,.18)}
.av.sm{width:40px;height:40px;font-size:16px}.av .rk{position:absolute;right:-5px;bottom:-5px;min-width:22px;height:22px;border-radius:11px;background:var(--tx);color:var(--bg);font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;border:2px solid var(--sf)}
.cd .nm{min-width:0;flex:1}.cd h3{font-size:16px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}.cd h3 a{overflow:hidden;text-overflow:ellipsis;text-decoration:none}.cd h3 a:hover{color:var(--ac)}
.vf{color:var(--ac);font-size:16px}.ov{color:var(--ok);font-size:15px}.pn{color:var(--warn);font-size:14px}
.cd .u{font-size:13px;color:var(--mt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd .d{color:var(--tx2);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.tg{display:inline-block;font-size:12.5px;color:var(--ac);background:var(--acw);border-radius:6px;padding:1px 8px;margin:0 4px 4px 0;cursor:pointer;text-decoration:none}
.cd .bt{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.meta{display:flex;gap:13px;color:var(--mt);font-size:13px;flex:1;flex-wrap:wrap}.meta span{display:inline-flex;align-items:center;gap:5px}.meta svg{font-size:15px}
.kind{position:absolute;top:16px;right:56px;font-size:11px;font-weight:600;color:var(--mt);background:var(--sf2);border-radius:6px;padding:2px 7px;text-transform:uppercase;letter-spacing:.04em}.cd .hb{position:absolute;top:12px;right:10px}
.nw{display:inline-block;font-size:10.5px;font-weight:700;color:#fff;background:var(--ok);border-radius:5px;padding:1px 6px;letter-spacing:.04em;vertical-align:middle}
.go{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;background:var(--ac);color:#fff;border-radius:9px;height:34px;padding:0 14px;font-weight:600;font-size:13.5px}.go:hover{background:var(--ac2)}
.empty{text-align:center;color:var(--mt);padding:48px 20px;grid-column:1/-1}
/* рейтинг-строки, плитки */
.rkl{display:grid;gap:8px}.rkr{display:flex;align-items:center;gap:14px;background:var(--sf);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.rkr:hover{border-color:var(--line2)}.rkr .pos{width:28px;text-align:center;font-weight:700;color:var(--mt);font-size:15px}.rkr .pos.t{color:var(--warn)}.rkr .nm{flex:1;min-width:0}.rkr .nm b{display:flex;align-items:center;gap:6px}.rkr .nm a{text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rkr .nm span{font-size:13px;color:var(--mt)}.rkr .st2{text-align:right;font-size:13px;color:var(--mt);min-width:92px}.rkr .st2 b{display:block;color:var(--tx);font-size:15px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tile{display:flex;align-items:center;gap:14px;background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;box-shadow:var(--sh);cursor:pointer}.tile:hover{border-color:var(--line2);transform:translateY(-1px)}.tile .ti{width:44px;height:44px;border-radius:12px;background:var(--acw);color:var(--ac);display:grid;place-items:center;font-size:22px;flex:none}.tile b{display:block}.tile span{font-size:13px;color:var(--mt)}
.prose{max-width:760px}.prose h1{font-size:32px;margin-bottom:18px}.prose h2{font-size:20px;margin:28px 0 10px}.prose p,.prose li{color:var(--tx2);line-height:1.7}.prose a{color:var(--ac)}.prose ul{padding-left:20px}
/* низ */
.ftr{border-top:1px solid var(--line);margin-top:50px;background:var(--bg2)}.ftg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;padding:40px 0 26px}.ftg h4{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--mt)}.ftg a{display:block;color:var(--tx2);text-decoration:none;padding:4px 0;font-size:14.5px}.ftg a:hover{color:var(--ac)}.ftg p{color:var(--mt);font-size:14px;max-width:300px}.fb{border-top:1px solid var(--line);padding:16px 0 24px;color:var(--mt);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
/* модальные окна */
.md{position:fixed;inset:0;background:rgba(5,8,14,.62);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:16px;z-index:60}.md.on{display:flex}
.box{background:var(--sf);border:1px solid var(--line2);border-radius:16px;padding:22px;width:100%;max-width:540px;max-height:92%;overflow:auto;display:grid;gap:12px;box-shadow:var(--shl)}.box h2{font-size:20px}
.r2{display:flex;gap:8px;flex-wrap:wrap}.r2>*{flex:1}.fp{display:block;border:1px dashed var(--line2);border-radius:10px;padding:14px;text-align:center;cursor:pointer;color:var(--mt);font-size:14px}.fp:hover{border-color:var(--ac);color:var(--ac)}#pv img{width:100%;max-height:160px;object-fit:cover;border-radius:10px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--tx);color:var(--bg);padding:11px 18px;border-radius:10px;display:none;z-index:90;font-size:14px;font-weight:500;box-shadow:var(--shl);max-width:90%}
.page{padding-top:28px;padding-bottom:30px}.back{text-decoration:none;color:var(--mt);font-size:14px;display:inline-flex;align-items:center;gap:6px;margin-bottom:14px}.back:hover{color:var(--ac)}
.det{max-width:760px;margin:6px 0}.det h1{font-size:30px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dh{display:flex;gap:18px;align-items:center;margin-bottom:14px}.dh .av{width:84px;height:84px;font-size:32px}
/* кабинет */
.lay{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:28px 0 40px}.side{display:flex;flex-direction:column;gap:3px;position:sticky;top:80px;align-self:start}.side .tab{border-radius:10px;height:40px;justify-content:flex-start;display:flex;align-items:center;background:transparent;border-color:transparent}.side .tab.on{background:var(--sf);border-color:var(--line);color:var(--tx);box-shadow:var(--sh)}
.panel{background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;box-shadow:var(--sh)}.panel h3{margin:0 0 10px;font-size:16px;font-weight:600}
.li{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:11px 0;flex-wrap:wrap}.li:last-child{border:0}.li .grow{flex:1;min-width:160px}.li .grow b{display:block;font-weight:600}.li .grow span{font-size:13px}
.st{font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--sf2);border:1px solid var(--line);white-space:nowrap;color:var(--tx2)}.st.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:transparent}.st.pending{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:transparent}.st.rejected,.st.hidden{color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent);border-color:transparent}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.charts .panel{margin:0}
.ch{display:flex;align-items:flex-end;gap:3px;height:96px;margin-top:10px}.ch div{flex:1;background:var(--ac);opacity:.85;border-radius:3px 3px 0 0;min-height:3px}.ch div:hover{opacity:1}
.hbar{display:flex;align-items:center;gap:10px;font-size:13.5px;margin:7px 0}.hbar span{min-width:110px;color:var(--tx2)}.hbar i{display:block;height:7px;background:var(--ac);border-radius:4px;opacity:.85}.hbar b{font-variant-numeric:tabular-nums}
.frm{display:grid;gap:10px;max-width:440px}.frm label{display:flex;gap:8px;align-items:center}
.bar{height:8px;background:var(--sf2);border-radius:4px;margin:8px 0}.bar i{display:block;height:100%;background:var(--ac);border-radius:4px}
.stars{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.stars button{height:34px;padding:0 11px;background:var(--sf2);border:1px solid var(--line);color:var(--tx)}.stars button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
/* админка */
.adm{display:grid;grid-template-columns:232px 1fr;gap:20px;padding:24px 0 40px;align-items:start}
.anav{position:sticky;top:80px;display:flex;flex-direction:column;gap:2px;background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:var(--sh)}
.ag{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mt);margin:12px 10px 4px;font-weight:600}.ag:first-child{margin-top:2px}
.ai{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;text-decoration:none;position:relative;color:var(--tx2);font-weight:500}.ai b{font-weight:500;flex:1}.ai span{font-size:18px;display:grid}.ai:hover{background:var(--sf2);color:var(--tx)}.ai.on{background:var(--acw);color:var(--ac)}.ai.on b{font-weight:600}
.cnt{font-style:normal;background:var(--err);color:#fff;border-radius:999px;font-size:11.5px;min-width:20px;padding:1px 6px;text-align:center;font-weight:700}
.asb{position:relative;margin-bottom:16px}.asb input{height:44px;border-radius:12px;background:var(--sf)}
.gsr{position:absolute;left:0;right:0;top:100%;z-index:9;background:var(--sf);border:1px solid var(--line2);border-radius:12px;margin-top:6px;overflow:hidden;box-shadow:var(--shl)}.gsr:empty{display:none}.gi{padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--line)}.gi:hover{background:var(--sf2)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}.kpi{background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--sh)}.kpi span{color:var(--mt);font-size:12.5px}.kpi b{font-size:24px;font-weight:700;letter-spacing:-.02em}
.dl{font-size:12.5px;font-weight:600}.dl.up{color:var(--ok)}.dl.dn{color:var(--err)}.li.link{cursor:pointer}.li.link:hover{background:var(--sf2)}
.mc{display:flex;gap:12px;align-items:flex-start;background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:var(--sh)}.mc .mb{flex:1;min-width:0;display:grid;gap:6px}.big2{width:60px;height:60px;font-size:22px}.mact{margin-top:4px}.mact>*{flex:1 1 auto}
.warn{background:color-mix(in srgb,var(--warn) 13%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);color:var(--warn);border-radius:9px;padding:6px 10px;font-size:13px}
.cv{display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(145deg,#37b6f2,#1a8acb);background-size:cover;background-position:center;text-decoration:none}.cv.th{width:44px;height:44px;border-radius:12px;font-size:17px;flex:none}.cv.big{height:200px;border-radius:14px;margin-bottom:14px;font-size:54px}
.crow input[type=checkbox],.mc>input[type=checkbox]{width:19px;height:19px;flex:none}
.flt{margin-top:10px}.flt summary{cursor:pointer;color:var(--mt);padding:4px 0;font-size:14px}.flt .r2{margin-top:8px}.flt select{min-width:140px}
.bulk{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:40;background:var(--sf);border:1px solid var(--ac);box-shadow:var(--shl);border-radius:14px;padding:8px 10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:calc(100% - 20px);justify-content:center}.bulk>b{padding:0 6px}
.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.fl2{display:grid;gap:5px;color:var(--mt);font-size:13px}
@media(max-width:900px){
 .nv{display:none}.mbtn{display:inline-flex}.hr .hide{display:none}.acc{padding:0 6px}.hero{padding:40px 0 18px}.ftg{grid-template-columns:1fr 1fr}.lay{grid-template-columns:1fr}.side{flex-direction:row;overflow-x:auto;position:static}
 .adm{grid-template-columns:1fr;padding-bottom:88px}
 .anav{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:45;flex-direction:row;overflow-x:auto;border-radius:16px 16px 0 0;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));gap:2px;border-bottom:0;background:var(--bg2)}
 .ag{display:none}.ai{flex-direction:column;gap:2px;padding:6px 12px;min-width:68px;text-align:center}.ai span{font-size:20px}.ai b{font-size:11px;flex:none}.cnt{position:absolute;top:1px;right:6px;font-size:10px;min-width:16px}.bulk{bottom:84px}
}
@media(max-width:520px){.w{padding:0 14px}.grid{grid-template-columns:1fr}.row .cd{min-width:280px;max-width:280px}.ftg{grid-template-columns:1fr}.stt{gap:20px}.hdr .btn.pri span{display:none}.rkr .st2{display:none}}
@media(max-width:900px){.hdr.ssr .hd{height:auto;flex-wrap:wrap;padding:10px 0}.hdr.ssr .nv{display:flex;order:3;width:100%;overflow-x:auto}.hdr.ssr .hr{margin-left:auto}}
.det a{color:var(--ac)}.dh .av{flex:none}
.det a.go,.det a.btn{color:#fff}
.ft{display:flex;justify-content:space-between;color:var(--mt);font-size:12px;margin-top:5px}.amain{min-width:0}
@media(max-width:520px){.hdr .lg .ln{display:none}.hdr .lg{margin-right:4px}.hr{gap:2px}}
.side .tab{gap:8px}.side .tab svg{font-size:17px}.asb{display:flex;gap:8px}.asb input{flex:1}.asb .ib{width:44px;height:44px}
@media(max-width:900px){.side{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:static}.side .tab{justify-content:center;padding:0 6px;font-size:13px;height:40px;border-color:var(--line);background:var(--sf)}.side .tab.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}}
@media(max-width:380px){.side{grid-template-columns:repeat(2,1fr)}}

/* ===== v4: обновлённая главная, плитки категорий, баннеры ===== */
.hero{padding:64px 0 30px}.hero-in{position:relative}
.hero:before{background:radial-gradient(55% 80% at 12% 0%,rgba(34,158,217,.16),transparent 70%),radial-gradient(40% 70% at 92% 10%,rgba(124,92,255,.12),transparent 70%)}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ac);background:var(--acw);border:1px solid color-mix(in srgb,var(--ac) 25%,transparent);padding:6px 13px;border-radius:99px;margin-bottom:18px}
.hero h1{font-size:clamp(32px,5.6vw,58px);line-height:1.05;max-width:840px;font-weight:800;letter-spacing:-.03em}
.hero h1 b{background:linear-gradient(120deg,var(--ac),#7c5cff 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:18px;max-width:640px}
.hero .srch{max-width:700px}.hero .srch input{height:56px;border-radius:16px;padding-left:48px;font-size:16.5px;border-color:var(--line2);box-shadow:0 10px 30px rgba(16,24,40,.10)}.hero .srch .si{top:16px;left:17px;font-size:20px}
.stt{gap:14px;margin-top:28px}.stt div{background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:12px 18px;min-width:128px;box-shadow:var(--sh)}.stt div b{font-size:24px}
.ctl{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:6px}
.ct{height:auto;background:var(--sf);color:var(--tx);border:1px solid var(--line);border-radius:14px;padding:14px;justify-content:flex-start;gap:12px;box-shadow:var(--sh);text-align:left}
.ct:hover{background:var(--sf);border-color:var(--line2);transform:translateY(-2px)}
.ct .ci{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(145deg,hsl(var(--h),68%,58%),hsl(calc(var(--h) + 38),68%,42%));flex:none}
.ct b{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis}.ct .cn{color:var(--mt);font-weight:500;font-size:13px}
.cd{border-radius:16px}.cd:hover{box-shadow:var(--sh),0 14px 34px rgba(34,158,217,.12)}
/* баннеры */
.bnr{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:6px 0 22px}
.bn{position:relative;display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--sf2);box-shadow:var(--sh);height:128px;transition:transform .15s,box-shadow .15s}
.bnr .bn:only-child{height:150px}
.bn:hover{transform:translateY(-2px);box-shadow:var(--sh),0 14px 34px rgba(16,24,40,.16)}
.bn img{width:100%;height:100%;object-fit:cover;display:block}
.bn .ad{position:absolute;right:8px;top:8px;font-size:11px;font-weight:600;letter-spacing:.02em;background:rgba(10,14,20,.62);color:#fff;border-radius:6px;padding:2px 7px;backdrop-filter:blur(4px)}
/* баннеры в админке */
.bnrow{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}.bnrow:first-of-type{border-top:0}
.bnrow img{width:200px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--sf2)}
.bnrow .grow{flex:1;min-width:200px;word-break:break-all}.bnb{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:700px){.hero{padding:40px 0 20px}.hero p.lead{font-size:16px}.stt div{min-width:calc(50% - 7px);flex:1}.bnr{grid-template-columns:1fr}.bn,.bnr .bn:only-child{height:104px}.bnrow img{width:100%;height:auto;aspect-ratio:8/1}.ctl{grid-template-columns:1fr 1fr}}
.bnf .fl2{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:13px;color:var(--mt)}.bnf .fl2 input,.bnf .fl2 select{color:var(--tx);font-size:15px}.bnf input[type=file]{height:auto;padding:9px 12px}

/* v5: модалки, баланс, оплата */
.box{overflow-x:hidden}.box>*{min-width:0}.box h2{overflow-wrap:anywhere}
.mhd{display:flex;gap:12px;align-items:center;min-width:0}.mhd .av{flex:none;width:48px;height:48px}.mtx{min-width:0}.mtx h2{font-size:18px;line-height:1.25;margin:0}.mtx .mt{margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mlist{display:grid;gap:6px}.mi{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--sf2,transparent);color:var(--tx);font:inherit;font-weight:600;text-align:left;text-decoration:none;cursor:pointer;justify-content:flex-start}
.mi:hover{border-color:var(--ac,#4c8dff)}.mic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--bg2,rgba(127,127,127,.12));flex:none}.mic svg{width:18px;height:18px}
.pays{display:grid;gap:10px}.pay{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line2);background:var(--sf);color:var(--tx);text-align:left;justify-content:flex-start;cursor:pointer;font:inherit}
.pay:hover:not(:disabled){border-color:var(--ac,#4c8dff);transform:translateY(-1px)}.pay:disabled{opacity:.5;cursor:not-allowed}.pay svg{flex:none}.pay span{display:grid;gap:2px;min-width:0}.pay b{font-size:16px}.pay i{font-style:normal;font-size:12.5px;color:var(--mt)}
.tpc,.pmds{display:flex;flex-wrap:wrap;gap:8px}.tpa,.pmd{padding:9px 14px;border-radius:10px;flex:1 0 auto}.tpa.on,.pmd.on{background:var(--ac,#4c8dff);color:#fff;border-color:transparent}
.pms{display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--bg2,rgba(127,127,127,.1))}.pmr{display:flex;justify-content:space-between;gap:10px}.neg{color:var(--err,#e5484d)}.pos2{color:#2fa84f}
.sbc{display:grid;gap:8px;padding:12px;border-radius:12px;background:var(--bg2,rgba(127,127,127,.1))}.sbr{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sbr span{flex:0 0 120px;color:var(--mt);font-size:13px}.sbr b{flex:1;min-width:0;overflow-wrap:anywhere}
.balc{display:grid;gap:10px;justify-items:start}.balv{font-size:40px;font-weight:800;letter-spacing:-.02em}
@media(max-width:520px){.box{padding:18px;border-radius:14px}.sbr span{flex-basis:100%}.balv{font-size:34px}}
.pays{grid-template-columns:minmax(0,1fr)}.pay{height:auto;min-height:64px;white-space:normal}.pay i{white-space:normal}
.tpc{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}
.mi,a.mi{height:auto;min-height:48px;box-sizing:border-box;padding:6px 12px;margin:0}

/* v6: мастер добавления */
.box:has(.wz){max-width:600px}.wz{display:grid;gap:14px;min-width:0}.wz>*{min-width:0}
.wzh{display:flex;gap:6px;align-items:center}.wzs{display:flex;align-items:center;gap:8px;flex:1;color:var(--mt);font-size:13px;font-weight:600;position:relative}
.wzs i{font-style:normal;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line2);font-size:12px;flex:none;background:var(--sf)}
.wzs span{white-space:nowrap}.wzs:not(:last-child)::after{content:"";flex:1;height:2px;background:var(--line);margin-left:4px;border-radius:2px}
.wzs.on{color:var(--tx)}.wzs.on i{background:var(--ac,#2a9de0);border-color:transparent;color:#fff}.wzs.ok i{background:#2fa84f;border-color:transparent;color:#fff}.wzs.ok::after{background:#2fa84f}
.tt3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tt{height:auto;display:grid;gap:4px;justify-items:center;padding:14px 8px;border-radius:14px;border:1.5px solid var(--line2);background:var(--sf);color:var(--tx);cursor:pointer}
.tt span{font-size:26px;line-height:1}.tt b{font-size:14px}.tt.on{border-color:var(--ac,#2a9de0);background:rgba(42,157,224,.1)}
.wzr{display:flex;gap:8px;align-items:stretch}.wzr input{flex:1;min-width:0}.wzr button{flex:none}
.wzm{padding:10px 12px;border-radius:10px;background:var(--bg2,rgba(127,127,127,.1));font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}.wzm.err{background:rgba(229,72,77,.12);color:var(--err,#e5484d)}.wzm.ok{background:rgba(47,168,79,.12);color:#2a8f46}.wzm a{color:inherit;text-decoration:underline}
.wzf{display:flex;justify-content:space-between;gap:10px;margin-top:4px}.wzf button{min-width:120px}
.wzc{text-align:right;font-size:12px}.wzp{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pvc{border:1px solid var(--line2);border-radius:14px;padding:14px;display:grid;gap:8px;background:var(--bg2,rgba(127,127,127,.06))}
.pvh{display:flex;gap:12px;align-items:center;min-width:0}.pvt{display:grid;min-width:0}.pvt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pvt span{font-size:13px;color:var(--mt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvc p{margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.pvg{display:flex;gap:6px;flex-wrap:wrap}.pvh .av{flex:none}
.wzo{display:grid;gap:8px;padding:14px;border-radius:14px;border:1.5px dashed var(--line2)}
@media(max-width:520px){.wzs span{display:none}.wzs.on span{display:inline}.wzf button{flex:1;min-width:0}}
.pmd.on,.pmd.g.on,.tpa.g.on{background:var(--ac,#2a9de0)!important;color:#fff!important;border-color:transparent!important}

/* v7: главная, платные услуги */
.hero-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:36px;align-items:start}.hl-l{min-width:0}
.hero .srch{max-width:none}.stt{flex-wrap:wrap}
.fz{background:var(--sf);border:1px solid var(--line2);border-radius:20px;padding:16px;display:grid;gap:8px;box-shadow:var(--shl);position:relative;margin-top:6px}
.fz:before{content:"";position:absolute;inset:-1px;border-radius:21px;padding:1.5px;background:linear-gradient(135deg,rgba(255,196,0,.7),rgba(124,92,255,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.fzh{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px}.fzh b{font-size:15px}
.fzi{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;color:inherit;text-decoration:none;min-width:0}.fzi:hover{background:var(--bg2,rgba(127,127,127,.1))}
.fzi .av{flex:none}.fzt{display:grid;min-width:0;flex:1}.fzt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.fzt i{font-style:normal;font-size:12.5px;color:var(--mt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm2{flex:none;height:32px!important;padding:0 12px!important;font-size:13px!important}
.fze{display:grid;gap:4px;padding:18px 10px;text-align:center}.fze span{color:var(--mt);font-size:13.5px}
.fzb{width:100%;margin-top:2px}
.adtag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mt);border:1px solid var(--line2);border-radius:6px;padding:1px 6px;line-height:16px}
.cd.hl{border-color:transparent;background:linear-gradient(var(--sf),var(--sf)) padding-box,linear-gradient(135deg,#ffb300,#7c5cff) border-box;border:1.5px solid transparent;box-shadow:0 6px 24px rgba(124,92,255,.14)}
.adv{margin:48px 0 20px;padding:28px;border-radius:22px;background:radial-gradient(60% 120% at 0 0,rgba(34,158,217,.14),transparent 70%),radial-gradient(50% 100% at 100% 100%,rgba(124,92,255,.14),transparent 70%),var(--sf);border:1px solid var(--line2);display:grid;gap:18px}
.advh h2{font-size:26px;letter-spacing:-.02em;margin:0 0 6px}.advh p{margin:0;color:var(--tx2)}
.advg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.advc{display:grid;gap:6px;align-content:start;padding:16px;border-radius:16px;background:var(--bg2,rgba(127,127,127,.08));border:1px solid var(--line)}
.advc span:not(.si2){font-size:13px;color:var(--mt);line-height:1.4}.advc em{font-style:normal;font-weight:700;margin-top:4px}.advf{display:flex;gap:10px;flex-wrap:wrap}
.si2{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sf);border:1px solid var(--line2);font-size:20px;flex:none}
.svcs{display:grid;gap:8px}.svc{height:auto;display:flex;align-items:center;gap:12px;text-align:left;justify-content:flex-start;padding:12px;border-radius:14px;border:1.5px solid var(--line2);background:var(--sf);color:var(--tx);cursor:pointer;white-space:normal}
.svc.on{border-color:var(--ac,#2a9de0);background:rgba(42,157,224,.08)}.sx{display:grid;gap:2px;min-width:0;flex:1}.sx b{font-size:15px}.sx i{font-style:normal;font-size:12.5px;color:var(--mt);line-height:1.35}
.svc em{font-style:normal;font-weight:700;text-align:right;flex:none}.svc em small{display:block;font-size:11px;color:var(--mt);font-weight:500}
@media(max-width:900px){.hero-in{grid-template-columns:1fr;gap:20px}.advg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.adv{padding:18px}.advg{grid-template-columns:1fr}.advh h2{font-size:22px}.svc em{font-size:14px}}

/* v7.1: полировка */
#app,main{min-width:0;max-width:100%}
.hero-in{align-items:stretch}.fz{align-self:stretch;align-content:start;margin-top:0}
.fz .fzi{padding:12px 10px}.fz .fzb{margin-top:auto}
.cd .bt .meta{flex-wrap:nowrap;gap:8px;min-width:0;overflow:hidden}.cd .bt .meta>span{flex:none}.adtag{flex:none}
.pmds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.pmd{padding:9px 4px;flex:none}
.box h2+p.mt{margin-top:-6px}
.svc .sx i{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:900px){.fz{order:-1}.hero .lead{display:none}.hero{padding-top:36px}}
.hero-in{align-items:start}.fz{align-self:start}
.fzf{width:100%;height:auto;background:transparent;border:1.5px dashed var(--line2);text-align:left;justify-content:flex-start;cursor:pointer;color:var(--mt)}.fzf:hover{border-color:var(--ac,#2a9de0)}
.fzp{display:grid;place-items:center;border:1.5px dashed var(--line2);background:transparent!important;color:var(--mt);font-size:20px;font-weight:400}
.fzf .fzt b{color:var(--tx)}.fz .fzb{margin-top:4px}
@media(max-width:900px){.fz{order:0}.hero .lead{display:block}.fz .fzf~.fzf{display:none}.hero{padding-top:44px}}

/* v8: «Люкс» — тот же голубой Telegram, но богаче: аврора, объём, мягкое свечение */
:root{--fb:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--fd:Manrope,Inter,system-ui,sans-serif;--ac:#1f93d1;--ac2:#157bb3;--vio:#6f5cff;--gold:#f5b335;--hero:radial-gradient(60% 80% at 8% -10%,rgba(34,158,217,.22),transparent 70%),radial-gradient(45% 70% at 92% 0%,rgba(111,92,255,.16),transparent 70%),radial-gradient(40% 50% at 60% 100%,rgba(245,179,53,.08),transparent 70%)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--hero:radial-gradient(60% 80% at 8% -10%,rgba(42,171,238,.22),transparent 70%),radial-gradient(45% 70% at 92% 0%,rgba(124,92,255,.2),transparent 70%)}}
:root[data-theme="dark"]{--hero:radial-gradient(60% 80% at 8% -10%,rgba(42,171,238,.22),transparent 70%),radial-gradient(45% 70% at 92% 0%,rgba(124,92,255,.2),transparent 70%)}
body{font-family:var(--fb)}
.hero h1,.sec h2,.advh h2,.box h2,.det h1,.prose h1{font-family:var(--fd);letter-spacing:-.025em}
.hero{padding:76px 0 30px}.hero-in{display:block}.hl-l{max-width:860px}
.hero:before{background:var(--hero)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px 0 10px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(34,158,217,.28);color:var(--ac2);font-size:13.5px;font-weight:600;backdrop-filter:blur(8px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .eyebrow{background:rgba(255,255,255,.06);color:var(--ac2)}}
:root[data-theme="dark"] .eyebrow{background:rgba(255,255,255,.06);color:var(--ac2)}
.hero h1{font-size:clamp(36px,6vw,68px);line-height:1.04;font-weight:800;max-width:860px;margin-top:18px}
.hero h1 b{background:linear-gradient(110deg,#1f93d1 10%,#6f5cff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:18px;line-height:1.6;max-width:600px;color:var(--tx2)}
.hero .srch{max-width:720px;position:relative}
.hero .srch input{height:62px;border-radius:20px;font-size:16.5px;background:var(--sf);border:1px solid var(--line2);box-shadow:0 10px 34px rgba(31,147,209,.14),0 2px 6px rgba(16,24,40,.05);padding-left:52px}
.hero .srch input:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 4px var(--acw),0 10px 34px rgba(31,147,209,.18)}
.hstat{display:flex;flex-wrap:wrap;gap:6px 22px;margin:20px 0 14px;color:var(--tx2);font-size:14.5px}.hstat span{display:inline-flex;gap:6px;align-items:baseline}.hstat b{color:var(--tx);font-family:var(--fd);font-size:20px;font-weight:800}
.hchips{display:flex;flex-wrap:wrap;gap:8px}.hchips button{height:36px;padding:0 15px;border-radius:999px;background:var(--sf);border:1px solid var(--line2);color:var(--tx);font-weight:500;font-size:14px;cursor:pointer;box-shadow:var(--sh)}.hchips button:hover{border-color:var(--ac);color:var(--ac);background:var(--sf)}
.cd{border-radius:20px;transition:transform .2s,box-shadow .2s,border-color .2s}.cd:hover{transform:translateY(-3px);border-color:rgba(31,147,209,.45);box-shadow:0 14px 36px rgba(31,147,209,.16)}
.cd .av,.feat .av{box-shadow:0 0 0 3px var(--sf),0 4px 12px rgba(16,24,40,.14)}
.cd.hl{background:linear-gradient(var(--sf),var(--sf)) padding-box,linear-gradient(135deg,var(--gold),var(--vio)) border-box;border:1.5px solid transparent;box-shadow:0 10px 30px rgba(111,92,255,.16)}
.go{background:linear-gradient(135deg,#27a6e3,#1b87bb)!important;color:#fff!important;border-radius:12px;box-shadow:0 4px 12px rgba(31,147,209,.3)}.go:hover{filter:brightness(1.06)}
button:not(.g):not(.ib):not(.tab):not(.tt):not(.pay):not(.svc):not(.pmd):not(.tpa):not(.fzf):not(.mi):not(.ct):not(.hb):not([data-a=cattile]):not(.r),a.btn:not(.g){background:linear-gradient(135deg,#27a6e3,#1b87bb);color:#fff;box-shadow:0 4px 14px rgba(31,147,209,.28)}
.tab.on{background:var(--tx);color:var(--bg)}
.sec h2{font-size:25px;font-weight:800}
.ct{border-radius:16px}.ct:hover{border-color:var(--ac);transform:translateY(-2px)}
.featg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:8px}
.feat{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:22px;color:inherit;text-decoration:none;border:1.5px solid transparent;background:linear-gradient(var(--sf),var(--sf)) padding-box,linear-gradient(135deg,var(--gold),var(--ac) 55%,var(--vio)) border-box;box-shadow:0 10px 30px rgba(245,179,53,.14);min-width:0;transition:transform .2s}
.feat:hover{transform:translateY(-3px)}.feat .av{width:58px;height:58px;flex:none}.feat .fzt{display:grid;gap:3px;min-width:0}.feat .fzt b{font-size:16.5px;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.feat .fzt i{font-style:normal;font-size:13px;color:var(--mt)}.feat .fzt em{font-style:normal;font-size:14px;color:var(--tx2);line-height:1.45;overflow-wrap:anywhere}
.adtag{text-transform:none;letter-spacing:0;font-weight:600;font-size:11.5px}
.adv{border-radius:26px;background-image:var(--hero);background-color:var(--sf)}.adv .advh h2{font-size:30px;font-weight:800}
@media(max-width:900px){.featg{grid-template-columns:1fr 1fr}.hero{padding-top:44px}}
@media(max-width:620px){.featg{grid-template-columns:1fr}.hero h1{font-size:36px}.hero .srch input{height:54px}}

/* v9: polish */
:root{--r-sm:10px;--r-md:14px;--r-lg:20px;--ok:#2f8a5b;--err:#c2493f;--lift:0 1px 2px rgba(60,50,30,.05)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ok:#52c08a;--err:#e8685d;--lift:0 1px 2px rgba(0,0,0,.35)}}
:root[data-theme="dark"]{--ok:#52c08a;--err:#e8685d;--lift:0 1px 2px rgba(0,0,0,.35)}
/* container: #app id rule from earlier capped width at 100% and killed the .w centering */
#app.w{max-width:1180px;margin-left:auto;margin-right:auto}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}
button:focus-visible,.btn:focus-visible,a:focus-visible,.tab:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
::selection{background:var(--acw)}

/* header + nav */
.hdr{background:color-mix(in srgb,var(--bg) 86%,transparent)}
.lg{font-family:var(--fd);font-weight:600;font-size:19px}
.nv a{border-radius:999px;padding:7px 13px;transition:background .15s,color .15s}
.nv a.on{background:var(--acw);color:var(--ac)}
.nv a:hover{background:var(--sf2)}
.ib{border-radius:12px}
.acc{border-radius:999px;background:var(--sf);border-color:var(--line2);height:40px}
.acc .as{background:var(--acw);color:var(--ac)}
.hdr .btn.pri,.hdr button.pri{border-radius:999px}

/* buttons / inputs / forms */
button,.btn{border-radius:12px;font-weight:600}
button.s,.btn.s{border-radius:9px}
button.g,.btn.g{background:var(--sf);border-color:var(--line2);color:var(--tx)}
button.g:hover,.btn.g:hover{background:var(--sf2);border-color:var(--line2)}
button.r{background:color-mix(in srgb,var(--err) 12%,transparent);color:var(--err);border-color:color-mix(in srgb,var(--err) 28%,transparent)}
button.r:hover{background:var(--err);color:#fff;filter:none}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}
input,select,textarea{background:var(--sf);border-color:var(--line2);border-radius:12px}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--ac) 35%,var(--line2))}
input:focus,select:focus,textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--acw)}
textarea{padding:10px 13px;line-height:1.5;min-height:92px;resize:vertical}
select{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%237a8077' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:12px}
input[type=checkbox],input[type=radio]{accent-color:var(--ac);width:17px;height:17px;flex:none;margin:0}
.fl2{color:var(--tx2);font-size:13px;font-weight:500}
.frm{max-width:520px;gap:14px}
.frm label.fl2{display:grid;gap:6px;align-items:stretch}
.frm label:not(.fl2){align-items:flex-start;gap:10px;color:var(--tx);line-height:1.4}
.frm label:not(.fl2) input{margin-top:2px}

/* panels + lists */
.panel{border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--lift);border-color:var(--line)}
.panel h3{font-family:var(--fd);font-size:18px;font-weight:600;margin-bottom:12px;letter-spacing:-.01em}
.panel>p:last-child{margin-bottom:0}
.li{padding:13px 0;gap:14px}
.li.link{border-radius:10px;padding-left:8px;padding-right:8px;margin:0 -8px}
.li .grow b{font-weight:600}
.st{background:var(--sf2);border-color:var(--line);color:var(--tx2);font-weight:600}
.st.ok{color:var(--ok)}
.st.err,.st.no{color:var(--err)}
.stt div,.tile{box-shadow:var(--lift)}
.tab{background:var(--sf);border-color:var(--line2)}
.tab.on{background:var(--tx);border-color:var(--tx);color:var(--bg)}

/* account area */
.lay,.adm{max-width:100%}
.lay{grid-template-columns:230px minmax(0,1fr);gap:28px;padding:32px 0 48px}
.lay>section{min-width:0}
.side{gap:2px;top:84px}
.side .tab{text-decoration:none;color:var(--tx2);font-weight:500;border-radius:12px;padding:0 12px;height:42px;transition:background .15s,color .15s}
.side .tab:hover{background:var(--sf2);color:var(--tx)}
.side .tab.on{background:var(--sf);color:var(--ac);border-color:var(--line);box-shadow:var(--lift);font-weight:600}
.side .tab svg{opacity:.85}
.balc{gap:6px}
.balc>.mt:first-child{font-size:14px}
.balv{font-family:var(--fd);font-weight:600;font-size:46px;line-height:1.1;letter-spacing:-.02em;color:var(--tx)}
.balc .mt{max-width:56ch}
#pn .frm,#pn .panel>input,#pn .panel>textarea{max-width:480px}
#pn .panel>button{margin-top:10px}

/* admin */
.adm{grid-template-columns:240px minmax(0,1fr);gap:28px;padding:28px 0 48px}
.anav{border-radius:var(--r-lg);padding:10px;box-shadow:var(--lift);gap:1px;top:84px;max-height:calc(100vh - 100px);overflow-y:auto}
.ag{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--mt);margin:14px 10px 4px}
.ag:first-child{margin-top:4px}
.ai{border-radius:10px;padding:8px 10px;font-size:14.5px}
.ai:hover{background:var(--sf2);color:var(--tx)}
.ai.on{background:var(--acw);color:var(--ac)}
.ai.on b{font-weight:600}
.cnt{background:var(--err)}
.amain>.panel:first-child,.amain>.panel{border-radius:var(--r-lg)}
.amain h2{font-family:var(--fd);font-weight:600;font-size:22px}
.adm .panel h3{font-size:17px}
.adm .li{padding:12px 0}
.adm table{width:100%;border-collapse:collapse;font-size:14px}
.adm th{font-weight:600;color:var(--mt);text-align:left;font-size:13px;padding:8px 10px;border-bottom:1px solid var(--line2)}
.adm td{padding:10px;border-bottom:1px solid var(--line)}
.adm tr:last-child td{border-bottom:0}
.bulk{border-color:var(--line2);border-radius:var(--r-md)}

/* card detail page */
.det{max-width:720px;margin:20px 0 8px}
.det h1{font-size:clamp(26px,4vw,36px);line-height:1.15;font-weight:600}
.det h2{font-family:var(--fd);font-weight:600;letter-spacing:-.01em}
.dh{gap:22px;margin-bottom:18px;align-items:center}
.dh .av{width:92px;height:92px;font-size:36px;box-shadow:var(--sh)}
.dh p.mt{margin-top:6px}
.det .meta{gap:6px 16px;color:var(--mt)}
.det>p{max-width:62ch}
.det a:not(.go):not(.btn):not(.tg){text-decoration-color:color-mix(in srgb,var(--ac) 40%,transparent);text-underline-offset:3px}
.det a.go{height:46px;border-radius:14px;padding:0 28px!important;margin-top:6px;box-shadow:0 6px 16px color-mix(in srgb,var(--ac) 28%,transparent)}
.det a.go:hover{background:var(--ac2)!important}
.det .panel{box-shadow:none;background:var(--sf);border-color:var(--line)}
.det #rate{display:flex;flex-direction:column;gap:2px}
.stars button{background:var(--sf2);color:var(--tx);border-color:var(--line2);border-radius:999px}
.stars button:hover{background:var(--acw);color:var(--ac);border-color:transparent}
.stars button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.tg{border-radius:999px;padding:3px 11px;font-size:13px;transition:background .15s}
.tg:hover{background:color-mix(in srgb,var(--ac) 20%,transparent)}
#revform textarea{margin-top:4px}
#revform button{margin-top:10px}
.det+.adv,.det~h2{font-family:var(--fd);font-weight:600}

/* modals */
.box{border-radius:22px;border-color:var(--line);padding:26px;gap:14px;max-width:460px;box-shadow:var(--shl)}
.box h2{font-family:var(--fd);font-size:24px;font-weight:600;line-height:1.2}
.box .mt{font-size:14px}
.box button.g{background:var(--sf2)}
.box>button:not(.g):not(.s){height:46px;border-radius:14px;font-size:15px}
.box>button.g{height:44px;border-radius:14px}
.box input,.box select{height:46px}
.box textarea{min-height:100px}
.box a{color:var(--ac)}

/* toast */
.toast{border-radius:14px;padding:12px 20px;background:var(--tx);color:var(--bg);box-shadow:var(--shl);font-weight:500}

/* footer */
.ftr{background:var(--bg2);margin-top:64px}
.ftg{gap:36px;padding:48px 0 30px;grid-template-columns:1.5fr 1fr 1fr 1fr}
.ftg h4{text-transform:none;letter-spacing:0;font-family:var(--fd);font-size:15px;font-weight:600;color:var(--tx);margin-bottom:10px}
.ftg a{padding:5px 0;color:var(--tx2);transition:color .15s}
.ftg a:hover{color:var(--ac)}
.ftg>div:first-child{display:grid;gap:10px;align-content:start}
.ftg>div:first-child .lg,.ftg>div:first-child>*:first-child{margin:0}
.ftg p{margin:0;line-height:1.55}
.fb{padding:18px 0 28px}

@media(max-width:900px){
 .lay{grid-template-columns:1fr;gap:16px;padding-top:20px}
 .side{grid-template-columns:repeat(3,1fr)}
 .side .tab{background:var(--sf);border-color:var(--line2);padding:0 8px;height:42px;text-align:center}
 .side .tab.on{background:var(--tx);color:var(--bg);border-color:var(--tx);box-shadow:none}
 .adm{grid-template-columns:1fr;padding-bottom:96px}
 .anav{max-height:none;overflow-y:visible;overflow-x:auto;background:color-mix(in srgb,var(--bg2) 94%,transparent);backdrop-filter:blur(12px);box-shadow:0 -6px 24px rgba(40,34,20,.10);border-top:1px solid var(--line2);border-left:0;border-right:0}
 .ai.on{background:var(--acw)}
 .ftg{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .dh{gap:14px}.dh .av{width:72px;height:72px;font-size:28px}
 .det h1{font-size:25px}
 .det a.go{display:flex!important;width:100%}
 .panel{padding:16px;border-radius:18px}
 .balv{font-size:38px}
 .box{padding:20px;border-radius:20px}
 .ftg{grid-template-columns:1fr 1fr;gap:24px;padding-top:36px}
 .ftg>div:first-child{grid-column:1/-1}
 .side{grid-template-columns:repeat(2,1fr)}
 .toast{bottom:90px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
.ftg h4{font-family:var(--fb);font-size:14px;font-weight:650;color:var(--tx)}
.ftg a.lg,.ftg .lg{display:flex;align-items:center;gap:10px;padding:0;font-size:18px;color:var(--tx)}
.ftg a.lg:hover{color:var(--tx)}
@media(max-width:900px){
 .anav{top:auto}
 .hdr.ssr .hd{padding:10px 20px;row-gap:6px}
 .hdr.ssr .nv{flex:1 1 100%;scrollbar-width:none;margin:0 -6px}
 .hdr.ssr .nv::-webkit-scrollbar{display:none}
}
@media(max-width:520px){.hdr.ssr .hd{padding:10px 14px}}
.imx{background:var(--sf2);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12.5px;overflow:auto;white-space:pre;margin:8px 0}

/* v10: статистика и автопродление */
.stg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stg>div{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:var(--sf2);border:1px solid var(--line)}
.stg b{font-family:var(--fd);font-size:22px;font-weight:800}.stg b small{font-size:12px;font-weight:500;color:var(--mt)}.stg span{font-size:12.5px;color:var(--mt)}.stg em{font-style:normal;font-weight:600;margin-left:4px}
.stt2{padding:12px;border-radius:14px;border:1px solid var(--line)}.stt2 .ch{display:flex;align-items:flex-end;gap:3px;height:90px}.stt2 .ch div{flex:1;background:var(--ac);border-radius:4px 4px 0 0;min-width:3px;opacity:.9}.stt2 .ft{display:flex;justify-content:space-between;font-size:12px;color:var(--mt);margin-top:6px}
.pma,.arl{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--tx2);cursor:pointer}.arl{flex:none;font-weight:600}
@media(max-width:520px){.stg{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v11: промокоды, бейдж, 2FA */
.pcb{display:flex;gap:8px;margin:2px 0 4px}.pcb input{flex:1;min-width:0;text-transform:uppercase}.pcb button{flex:none}
.tfc{text-align:center;font-size:26px;letter-spacing:.35em;font-weight:700}
.bdg{display:block;max-width:100%;height:auto;margin:6px 0 8px;border-radius:14px}
.bdc{width:100%;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;resize:none;color:var(--mt,#64748b)}
.panel .r2 input{flex:1;min-width:0}

/* v12: поиск с подсказками, пакеты, статус */
.srch{position:relative}
.qs{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--sf,#fff);border:1px solid var(--line,#e2e8f0);border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.16);padding:6px;text-align:left;max-height:60vh;overflow:auto}
.qs[hidden]{display:none}
.qi{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:none;border-radius:11px;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:none}
.qi:hover,.qi:focus-visible{background:var(--sf2,#f1f5f9)}
.qi i{font-style:normal;opacity:.6;font-size:.88em}
.qi .i{width:18px;height:18px;flex:none;opacity:.6}
.qt{font-size:18px;flex:none}
.qh{font-size:12.5px;opacity:.6;padding:8px 12px 2px}
.qp{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px}
.adt{font-style:normal;font-size:11px;font-weight:600;padding:2px 7px;border-radius:99px;background:rgba(245,158,11,.16);color:#b45309;vertical-align:middle;margin-left:4px}
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.pkg{border:1px solid var(--line,#e2e8f0);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--sf,#fff)}
.pkg.hot{border-color:#1d8fd6;box-shadow:0 0 0 2px rgba(29,143,214,.18)}
.pkg .ph{display:flex;justify-content:space-between;align-items:center;font-size:17px}
.pkg .ph em{font-style:normal;font-size:12px;font-weight:700;background:#16a34a;color:#fff;padding:2px 8px;border-radius:99px}
.pkg ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13.5px;flex:1}
.pkg li{display:flex;justify-content:space-between;gap:8px}.pkg li span{opacity:.6;white-space:nowrap}
.pkg .pp{display:flex;align-items:baseline;gap:8px}.pkg .pp s{opacity:.5;font-size:13px}.pkg .pp b{font-size:20px}
.pkg button{width:100%}
@media(max-width:640px){.pkgs{grid-template-columns:1fr}}
.sd{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;background:#94a3b8;margin-right:2px}
.sd.ok{background:#16a34a}.sd.warn{background:#f59e0b}.sd.bad{background:#dc2626}
.stb{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;font-weight:700;margin:10px 0;background:rgba(22,163,74,.12);color:#15803d}
.stb.warn{background:rgba(245,158,11,.14);color:#b45309}.stb.bad{background:rgba(220,38,38,.12);color:#b91c1c}
.stl{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line,#e2e8f0)}.stl b{flex:1}
.li .sd{margin-right:10px}
.qi{justify-content:flex-start}
.pkgs{grid-template-columns:1fr!important}
.pkg{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center}
.pkg .ph{grid-column:1/-1}.pkg ul{grid-column:1}.pkg .pp{grid-column:2;grid-row:2;flex-direction:column;align-items:flex-end;gap:0}.pkg button{grid-column:1/-1}
.sd.warn,.sd.bad,.sd.ok{padding:0;border:0;border-radius:50%;width:10px;height:10px;min-width:10px;display:inline-block;margin-top:0}
:root[data-theme="dark"] .stb{color:#4ade80;background:rgba(34,197,94,.14)}:root[data-theme="dark"] .stb.warn{color:#fbbf24;background:rgba(245,158,11,.16)}:root[data-theme="dark"] .stb.bad{color:#f87171;background:rgba(239,68,68,.16)}:root[data-theme="dark"] .adt{color:#fbbf24}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .stb{color:#4ade80;background:rgba(34,197,94,.14)}:root:not([data-theme="light"]) .stb.warn{color:#fbbf24;background:rgba(245,158,11,.16)}:root:not([data-theme="light"]) .stb.bad{color:#f87171;background:rgba(239,68,68,.16)}:root:not([data-theme="light"]) .adt{color:#fbbf24}}

.grid>.cd,.grid>.card{content-visibility:auto;contain-intrinsic-size:auto 200px}

/* v13: компактная мобильная версия */
@media(max-width:600px){
 .grid{gap:10px}
 .cd{padding:12px;border-radius:16px;gap:8px}
 .cd .av{width:42px;height:42px;font-size:17px;box-shadow:0 0 0 2px var(--sf)}
 .cd .t{gap:10px}
 .cd h3{font-size:15px}.cd .u{font-size:12.5px}
 .cd .d{font-size:13px;line-height:1.4;min-height:0;margin:0;-webkit-line-clamp:2}
 .cd .bt{padding-top:8px;gap:10px}
 .cd .bt .go,.cd .bt .btn{padding:7px 12px;font-size:13px;border-radius:10px}
 .cd .meta{font-size:12px;gap:8px}
 .cd .hb{top:8px;right:6px}.cd .nm{padding-right:30px!important}
 .cd .tags,.cd .tg{display:none}
 .kind{display:none}
 .row .cd{min-width:260px;max-width:260px}
 .sec{margin-top:22px}
 .hdr.ssr .hd{padding:8px 14px;row-gap:2px}
 .hdr.ssr .nv a{padding:6px 10px;font-size:14px}
 .hdr.ssr .hr .btn{padding:7px 12px;font-size:13px;min-height:0}
 .prose h1,.det h1{font-size:24px}
}
@media(max-width:600px){.tab{padding:8px 14px;font-size:14px}.tabs{gap:6px}.sec h2{font-size:22px}.hchips button{padding:8px 14px;font-size:14px}}

/* v14: без горизонтальной прокрутки на телефоне */
html,body{overflow-x:clip;max-width:100%}
.hero:before{inset:-80px 0 0 auto!important;left:50%!important;right:auto!important;width:100vw;margin-left:-50vw}
@media(max-width:600px){
 .adv{padding:16px;border-radius:20px;margin-top:24px}
 .adv .advh h2{font-size:21px}.advh p{font-size:14px;margin:6px 0 12px}
 .advg{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
 .advc{padding:12px;gap:3px;border-radius:14px}.advc span:not(.si2){display:none}.advc b{font-size:14px}.advc em{font-size:13px;margin-top:2px}
 .advc .si2{width:32px;height:32px;font-size:16px;border-radius:10px}
 .advf{gap:8px}.advf button{flex:1 1 140px;padding:10px 12px;font-size:14px}
 .stg{gap:8px}
 .hstat{gap:8px 16px;font-size:13px}.hstat b{font-size:20px}
 .hero{padding:28px 0 12px}.hero h1{font-size:30px}
 .hero .srch input{height:50px;font-size:16px}
 .banner{font-size:13px;padding:8px 12px}
}
@media(max-width:600px){.hchips{display:none}}

/* v15: список «Весь каталог» на телефоне — две компактные колонки */
@media(max-width:600px){
 .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
 .grid>.cd{padding:10px;gap:6px;border-radius:14px;min-width:0}
 .grid>.cd .t{flex-direction:column;align-items:flex-start;gap:6px;position:relative}
 .grid>.cd .av{width:36px;height:36px;font-size:15px}
 .grid>.cd .nm{padding-right:0!important;width:100%;min-width:0}
 .grid>.cd h3{display:block;white-space:normal;font-size:14px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}
 .grid>.cd h3 a{display:inline;overflow:visible}
 .grid>.cd .u{font-size:12px}
 .grid>.cd .d,.grid>.cd .nw,.grid>.cd .ov,.grid>.cd .pn{display:none}
 .grid>.cd .hb{position:absolute;top:-4px;right:-4px;width:30px;height:30px}
 .grid>.cd .bt{border:0;padding-top:2px;margin-top:auto;gap:6px;flex-wrap:wrap}
 .grid>.cd .meta>span:not(.adtag){display:none}
 .grid>.cd .meta{flex:0 0 auto}
 .grid>.cd .bt .ib[data-a=more]{display:none}
 .grid>.cd .bt .go{flex:1 1 100%;justify-content:center;padding:7px 8px}
 .grid>.cd.hl{padding:10px}
}
@media(max-width:600px){.grid>.cd .bt .go{height:34px;min-height:0;padding:0 8px;font-size:13px}.grid>.cd{gap:4px}}
@media(max-width:600px){.grid>.cd .d{display:-webkit-box!important;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.35;min-height:0;margin:0;color:var(--tx2)}}

/* v16: нижняя панель, установка на экран, подгрузка */
.bnv{display:none}
.gmore{display:flex;justify-content:center;padding:16px 0 4px}.gmore button{min-width:200px}
.pwa{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:55;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--sf);border:1px solid var(--line2);box-shadow:var(--shl);font-size:13.5px;line-height:1.35}
.pwa span{flex:1}.pwa button{flex:none}
@media(max-width:700px){
 .bnv{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;justify-content:space-around;align-items:stretch;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--sf) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
 .bnv a,.bnv button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:4px 2px;border:0;background:none;box-shadow:none;color:var(--mt);font:inherit;font-size:11px;font-weight:600;text-decoration:none;border-radius:12px;cursor:pointer}
 .bnv .i{width:22px;height:22px}
 .bnv .on{color:var(--ac)}
 .bnv .bad{flex:none;width:52px;height:52px;min-height:0;margin:-14px 6px 0;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--ac),var(--vio,#6f5cff));box-shadow:0 8px 22px rgba(34,120,220,.4)}
 .bnv .bad .i{width:26px;height:26px}
 body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
 .hdr .hr #add{display:none}
 .toast{bottom:calc(92px + env(safe-area-inset-bottom))}
}
@media(max-width:700px){
 #bnv button,#bnv a{background:none!important;box-shadow:none!important;border:0!important;color:var(--mt)!important;transform:none!important}
 #bnv .on{color:var(--ac)!important}
 .bnv a.bad,.bnv button.bad,#bnv .bad{background:linear-gradient(135deg,var(--ac),var(--vio,#6f5cff))!important;color:#fff!important;box-shadow:0 8px 22px rgba(34,120,220,.4)!important}
}
/* v17 hero stats even */
@media(max-width:700px){
 .hstat{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px!important;margin:16px 0 12px}
 .hstat span{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px!important;font-size:12.5px!important;line-height:1.25}
 .hstat b{font-size:22px!important;line-height:1.1}
}
/* v18 notif counter inside buttons */
button.g .cnt{position:static!important;margin-left:auto}
/* v19 tidy mobile menu */
.mnav.open{display:block!important;padding:12px 14px 16px}
.mnav .mgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mnav .mgrid a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--sf);border:1px solid var(--line);color:var(--tx);font-weight:600;font-size:15px}
.mnav .mgrid a .i{width:19px;height:19px;color:var(--ac);flex:none}
.mnav .mgrid a.on{background:var(--acw);border-color:transparent;color:var(--ac)}
.mnav .mgrid a:last-child:nth-child(odd){grid-column:1/-1}
.mnav .minfo{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.mnav .minfo a{padding:4px 0;font-size:13px;font-weight:500;color:var(--mt);background:none}
.mnav .minfo a:hover{color:var(--tx);background:none}
/* v20 compact ranking rows on phone */
@media(max-width:600px){
 .rkl{gap:6px}
 .rkr{gap:10px;padding:8px 10px;border-radius:12px}
 .rkr .pos{width:20px;font-size:14px}
 .rkr .av.sm{width:34px;height:34px;font-size:14px}
 .rkr .nm b{font-size:14px;line-height:1.2}
 .rkr .nm span{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .rkr .nm{min-width:0;flex:1}
 .rkr>.btn,.rkr>a.go,.rkr>button{height:32px!important;min-height:0!important;padding:0 12px!important;font-size:13px!important;border-radius:10px!important;flex:none}
}
@media(max-width:600px){
 .rkr{min-width:0;max-width:100%;overflow:hidden}
 .rkr .nm{flex:1 1 0!important;min-width:0!important;overflow:hidden}
 .rkr .nm b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:600px){
 .rkr .nm b{display:flex!important;align-items:center;gap:4px}
 .rkr .nm b a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 .rkr .nm b .vf{flex:none;display:inline-flex}
}
/* v21: сортировка чипами, скелетоны, подписки, реф-ссылки, ответ владельца, жесты */
.sortc{margin-top:6px}
.sec #subbtn{margin-left:auto}.subb{display:inline-flex;align-items:center;gap:6px;height:34px}.subb .i{width:16px;height:16px}.subb.on{background:var(--acw)!important;color:var(--ac)!important;border-color:transparent!important}
.rrep{margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--ac);background:var(--acw);border-radius:0 10px 10px 0}
.rbadge{display:inline-block;font-size:12px;font-weight:700;color:var(--ac)}
.rfl{display:flex;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.rfl .grow{min-width:0}.rfl .mt{display:block;font-size:12.5px}.rfl code{display:block;font-size:12px;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes shim{0%{background-position:-200px 0}100%{background-position:200px 0}}
.sk-l,.sk-b{display:block;border-radius:8px;background:linear-gradient(90deg,var(--sf2) 0,var(--line2,rgba(128,128,128,.28)) 50%,var(--sf2) 100%);background-size:400px 100%;animation:shim 1.2s linear infinite}
.sk-l{height:11px;margin:6px 0}.sk-l.w90{width:90%}.sk-l.w70{width:70%}.sk-l.w60{width:60%}.sk-l.w40{width:40%}.sk-b{border-radius:50%}
.cd.sk{pointer-events:none}.rkr.sk{pointer-events:none}.rkr.sk .nm{flex:1}
@media(max-width:700px){
 .tabs{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-left:-14px;margin-right:-14px;padding:2px 14px}
 .tabs::-webkit-scrollbar{display:none}.tabs .tab{flex:none;white-space:nowrap}
 .modal .box,#box{animation:sheet .22s ease-out}
}
@keyframes sheet{from{transform:translateY(28px);opacity:.4}to{transform:none;opacity:1}}
.cd:active,.tab:active,.rkr:active,.tile:active,.pay:active{transform:scale(.975)}
.cd,.tab,.rkr,.tile,.pay{transition:transform .12s ease}
@media(prefers-reduced-motion:reduce){.sk-l,.sk-b{animation:none}#box{animation:none!important}}
/* v22 packages entry */
.pkgb{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:10px 0 12px;padding:12px 14px;border-radius:14px;background:var(--acw);border:1px solid var(--ac);cursor:pointer;color:var(--tx)}
.pkgb .pk1{font-size:26px;line-height:1}.pkgb b{display:block;font-size:15px}.pkgb i{display:block;font-style:normal;font-size:12.5px;color:var(--tx2);margin-top:2px;line-height:1.3}.pkgb .pk3{font-size:26px;color:var(--ac);line-height:1}
/* v23: админ-панель на телефоне — разделы лентой сверху (снизу их закрывала нижняя панель сайта) */
@media(max-width:900px){
 .adm{padding:10px 0 96px!important;gap:10px!important}
 .anav{position:sticky!important;top:64px!important;bottom:auto!important;left:auto!important;right:auto!important;z-index:25!important;flex-direction:row!important;flex-wrap:nowrap;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px 10px!important;margin:0 -14px;border-radius:0!important;border:0!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;background:color-mix(in srgb,var(--bg) 92%,transparent)!important;backdrop-filter:blur(12px);scrollbar-width:none;max-height:none!important}
 .anav::-webkit-scrollbar{display:none}
 .anav .ag{display:none!important}
 .anav .ai{flex:none;flex-direction:row!important;align-items:center;gap:7px!important;min-width:0!important;padding:8px 13px!important;border-radius:999px!important;background:var(--sf);border:1px solid var(--line);white-space:nowrap;text-align:left!important}
 .anav .ai span{font-size:16px!important}.anav .ai b{font-size:13.5px!important;font-weight:600;flex:none}
 .anav .ai.on{background:var(--acw)!important;border-color:transparent;color:var(--ac)}
 .anav .ai .cnt{position:static!important;margin-left:2px}
 .adm table{display:block;overflow-x:auto;white-space:nowrap;max-width:100%}
 .adm .panel{padding:14px}
 .bulk{bottom:84px}
}
/* v24: админка телефон, второй проход */
@media(max-width:900px){
 .adm[data-t]:not([data-t=dash]):not([data-t=ana]) .asb{display:none}
 .adm .li{flex-wrap:nowrap;gap:8px;align-items:center}.adm .li .grow{min-width:0;flex:1}
 .adm .li .grow b,.adm .li .grow .mt{overflow-wrap:anywhere}
 .adm .li>button.s,.adm .li>.s{flex:none;min-width:36px;padding:0 10px}
 .adm .frm{grid-template-columns:1fr!important}
 .adm .panel h3{font-size:16px}
}
/* v25: лента подписок, купон */
.feedg{margin-bottom:6px}
/* v26: собственные диалоги */
.dlg{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(6,10,18,.55);backdrop-filter:blur(3px);animation:dlgin .15s ease-out}
.dlgb{width:100%;max-width:400px;background:var(--bg2,#fff);color:var(--tx);border:1px solid var(--line2,var(--line));border-radius:16px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.dlgb p{margin:0 0 14px;font-size:16px;line-height:1.45;white-space:pre-line}
.dlgb input{width:100%;margin:0 0 14px}
.dlgf{display:flex;gap:10px;justify-content:flex-end}.dlgf button{min-width:96px}
@keyframes dlgin{from{opacity:0}to{opacity:1}}
@media(max-width:520px){.dlg{align-items:end;padding:10px}.dlgf button{flex:1}}
/* v27: мастер добавления карточки и ритм блоков админки */
.wz{display:flex!important;flex-direction:column;gap:14px;min-height:min(520px,calc(100vh - 120px))}
.wz>.wzf{margin-top:auto;padding-top:6px}
.wz h2{margin:2px 0 0}
.wzhint{margin:-4px 0 0;font-size:13px;line-height:1.5}.wzhint b{color:var(--tx2);font-weight:600}
.wzpv{display:grid;gap:6px}.wzpv>.mt{font-size:12.5px}
.rq{color:var(--err);font-style:normal}
.fl2.bad input,.fl2.bad select,.fl2.bad textarea{border-color:var(--err)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--err) 18%,transparent)}
.ferr{color:var(--err);font-size:12.5px;font-weight:500}
.wz .tt3{margin:2px 0}
.wz .pvc{margin:0}
@media(max-width:520px){.wz{min-height:calc(100vh - 150px)}}
/* админка: нормальные промежутки между блоками */
.amain .asb{margin-bottom:16px}
.amain #pn>*+*{margin-top:18px!important}
.amain #pn>.tabs,.amain #pn>.chips{margin-top:0!important;margin-bottom:0!important}
.amain #pn>.tabs+*{margin-top:16px!important}
.amain #pn .kpis{margin-bottom:0}
.amain #pn .charts{margin-top:18px}
.amain #pn .panel{padding:20px;margin-bottom:0}
@media(max-width:900px){.amain #pn>*+*{margin-top:14px!important}.amain #pn .panel{padding:16px}.amain .asb{margin-bottom:12px}}
.wz>.wzf{position:sticky;bottom:-1px;background:var(--bg2,var(--sf));padding:10px 0 2px;z-index:2}

/* v28: пополнение баланса */
.sbpi{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid rgba(127,127,127,.25);flex:none}.sbpi img{display:block}
.h2i{display:flex;align-items:center;gap:10px}.h2i .sbpi{width:36px;height:36px}
.tpbox{display:grid;gap:10px;padding:14px;border-radius:14px;background:var(--bg2,rgba(127,127,127,.1));margin:10px 0}
.tpin{display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--ac,#2a9de0);padding-bottom:4px}
.tpin input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;font-size:34px;font-weight:800;padding:0!important;height:auto!important;color:inherit;outline:none}
.tpin span{font-size:28px;font-weight:700;color:var(--mt)}
.tpbox .tpc{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.tpbox .tpa{padding:9px 0;text-align:center;flex:none}
.tpbox .mt{margin:0;font-size:12.5px}
.tpd{margin:0 0 6px}.tpd summary{cursor:pointer;color:var(--ac,#2a9de0);font-weight:600;padding:6px 0;list-style:none}.tpd summary::-webkit-details-marker{display:none}
.tpd .pcb{display:flex;gap:8px;margin-top:6px}.tpd .pcb input{flex:1;min-width:0}
.tph{margin:12px 0 8px;font-size:14px;color:var(--mt);font-weight:600}
.pays .pay{position:relative;padding:12px 14px;min-height:62px}.pays .pay>span:not(.sbpi){flex:1}.pay .sbpi{flex:none;width:40px;height:40px;display:grid}.pay .chev{font-style:normal;font-size:24px;color:var(--mt);line-height:1}
.pay svg{border-radius:11px}.tpf{margin-top:12px;text-align:center}
.sbc{gap:0;padding:4px 14px}.sbc .sbr{flex-wrap:nowrap;display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:10px 0;border-bottom:1px solid var(--line,rgba(127,127,127,.2))}.sbc .sbr:last-child{border:0}
.sbc .sbr span{grid-column:1/-1;flex:none;font-size:12.5px}.sbc .sbr b{grid-column:1;font-size:16px}.sbc .sbr .g.s{grid-column:2;grid-row:2;padding:6px 12px}

/* v29: мастер добавления — ровный индикатор шагов и нижняя панель */
.box{--bp:26px}@media(max-width:520px){.box{--bp:18px}}
.wzh{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wzs,.wzs:not(:last-child){display:grid;gap:7px;flex:none;align-items:start;font-size:13px}
.wzs::after,.wzs:not(:last-child)::after{content:none!important;display:none!important}
.wzs::before{content:"";height:4px;border-radius:4px;background:var(--line2)}
.wzs.on::before{background:var(--ac,#2a9de0)}.wzs.ok::before{background:#2fa84f}
.wzs i,.wzs.on i,.wzs.ok i{display:inline;width:auto;height:auto;border:0;background:none!important;color:inherit;font-size:13px;font-weight:700}
.wzs i::after{content:". "}
.wzs{display:block;position:relative;padding-top:11px;white-space:nowrap}.wzs::before{position:absolute;left:0;right:0;top:0}
.wzs span,.wzs.on span{display:inline!important}.wzs.on{color:var(--tx)}.wzs.ok{color:#2a8f46}
@media(max-width:520px){.wzs{font-size:12.5px}}
.wz{min-height:min(440px,calc(100vh - 140px))!important}
.wz>.wzf{position:sticky;bottom:calc(var(--bp)*-1);margin:auto calc(var(--bp)*-1) calc(var(--bp)*-1);padding:12px var(--bp) var(--bp);background:var(--sf);border-top:1px solid var(--line);z-index:2;display:flex;gap:10px;justify-content:stretch}
.wzf button{min-width:0}.wzf button:last-child{flex:1}.wzf button:first-child:not(:last-child){flex:0 0 auto;min-width:110px}

/* v29b: пакет 7 */
.sec7{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.sec7 h3{margin:0}
.chips7{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips7::-webkit-scrollbar{display:none}.chips7 .tab{flex:none;white-space:nowrap}
.ntf{display:flex;align-items:center;gap:12px;padding:12px 6px;border-top:1px solid var(--line);cursor:pointer;border-radius:10px}.ntf:first-of-type{border-top:0}.ntf:hover{background:var(--bg2,rgba(127,127,127,.08))}
.ntf .nic{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--bg2,rgba(127,127,127,.12));flex:none}.ntf .nic svg{width:18px;height:18px}
.ntf .grow{min-width:0;display:grid;gap:2px}.ntf .nt{overflow-wrap:anywhere;line-height:1.4}.ntf .mt{font-size:12px}
.ntf.new .nt{font-weight:600}.ntf.new .nic{background:var(--ac,#2a9de0);color:#fff}.ntf .chev{color:var(--mt);font-size:22px}
.flact{margin:0 0 12px}.fls{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:12.5px;color:var(--mt)}.fls select{flex:1;min-width:0;padding:6px 8px;font-size:13px}
.lkw{display:grid;gap:8px;margin:8px 0 12px}.lkr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}
@media(max-width:520px){.lkr{grid-template-columns:1fr}}
.bdi{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--bg2,rgba(127,127,127,.12));font-size:20px;flex:none}
.bdg{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.bd{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg2,rgba(127,127,127,.12));font-size:13px;font-weight:600}.bd i{font-style:normal}
.plk{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.plk a{padding:6px 12px;border-radius:999px;border:1px solid var(--line2);font-size:13px;text-decoration:none}
.stp7{padding:10px 12px;border-radius:12px;background:var(--bg2,rgba(127,127,127,.1));font-size:14px;line-height:1.45}.stp7.pending{background:rgba(245,158,11,.14)}.stp7.rejected,.stp7.hidden{background:rgba(229,72,77,.12)}.stp7.ok{background:rgba(47,168,79,.12)}
.vrs .grow{min-width:0;overflow-wrap:anywhere}
.ins7{display:grid;gap:4px;margin-top:6px}.ins7 h4{margin:10px 0 4px;font-size:13px;color:var(--mt);font-weight:600}
.srcr{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13px}.srcr em{display:block;height:8px;border-radius:4px;background:var(--bg2,rgba(127,127,127,.15));overflow:hidden}.srcr em i{display:block;height:100%;background:var(--ac,#2a9de0);border-radius:4px}
.cmp7{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}.cmp7>div{padding:10px;border-radius:12px;background:var(--bg2,rgba(127,127,127,.1));display:grid;gap:2px}.cmp7 span{font-size:11.5px;color:var(--mt);line-height:1.3}.cmp7 b{font-size:17px}
@media(max-width:520px){.cmp7{grid-template-columns:1fr 1fr}}
.cmh,.cmr{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.cmh a{text-decoration:none;color:inherit;display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.cmh .mt{font-size:12px}
.cmr{padding:9px 0;border-top:1px solid var(--line)}.cmr .cl{font-size:12.5px;color:var(--mt)}.cmr b{font-weight:600;overflow-wrap:anywhere}.cmr b.win{color:#2a8f46}.cmr b.win::after{content:" ✓"}
#cmpbar{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:14px;background:var(--sf);border:1px solid var(--line2);box-shadow:var(--shl);font-size:13px;max-width:560px;margin:0 auto}
@media(min-width:900px){#cmpbar{bottom:20px}}
.mc{transition:transform .18s ease,background .18s;position:relative;touch-action:pan-y}.mc.swr{background:rgba(47,168,79,.14)}.mc.swl{background:rgba(229,72,77,.14)}
.ctxbtn{width:100%;margin-top:8px;justify-content:center}
.ctxb{display:grid;gap:8px;margin-top:8px;padding:12px;border-radius:12px;background:var(--bg2,rgba(127,127,127,.1));font-size:13.5px;line-height:1.45}
.ctxb .cr{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px}.ctxb .cr>b{color:var(--mt);font-weight:600}.ctxb .cr>span{min-width:0;overflow-wrap:anywhere}
.ctxb .hs{display:inline-block;margin:0 6px 4px 0;padding:2px 8px;border-radius:8px;background:var(--sf);border:1px solid var(--line);text-decoration:none;color:inherit;font-size:12.5px}
.sp7{font-style:normal;display:inline-block;min-width:22px;text-align:center;padding:1px 7px;border-radius:8px;font-weight:700;background:rgba(47,168,79,.16);color:#2a8f46}.sp7.s1{background:rgba(245,158,11,.18);color:#b7791f}.sp7.s2,.sp7.s3{background:rgba(229,72,77,.16);color:var(--err,#e5484d)}
.tdh{background:linear-gradient(135deg,rgba(42,157,224,.12),transparent)}
.cnt7{display:inline-block;min-width:22px;padding:0 7px;border-radius:11px;background:var(--bg2,rgba(127,127,127,.15));font-size:12.5px;line-height:22px;text-align:center;margin-left:6px;font-weight:700}.cnt7.on{background:var(--ac,#2a9de0);color:#fff}
.fl7{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.fl7 em{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:8px;background:rgba(245,158,11,.16);color:#b7791f}
.msr{padding:12px 0;border-top:1px solid var(--line)}.msr:first-of-type{border-top:0}.msh{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.msg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.msg>div{display:grid;gap:2px;padding:8px;border-radius:10px;background:var(--bg2,rgba(127,127,127,.1));text-align:center}.msg b{font-size:16px}.msg span{font-size:11px;color:var(--mt)}
@media(max-width:520px){.msg{grid-template-columns:repeat(3,1fr)}}
.bll{margin:6px 0 10px;padding-left:18px;display:grid;gap:4px}
#bl_t{width:100%;margin-bottom:10px;font-family:ui-monospace,monospace;font-size:13px}
.exl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.exi{display:grid;gap:3px;padding:14px;border-radius:14px;border:1px solid var(--line2);text-decoration:none;color:inherit}.exi:hover{border-color:var(--ac,#2a9de0)}
.wzh .wzs{display:block!important;position:relative;padding:11px 0 0!important;margin:0;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wzh .wzs::before{position:absolute;left:0;right:0;top:0}
.wzh .wzs i,.wzh .wzs span{display:inline!important}

.cn7{font-style:normal;display:inline-block;min-width:18px;padding:0 6px;border-radius:9px;background:var(--ac,#2a9de0);color:#fff;font-size:11px;line-height:18px;text-align:center;font-weight:700;margin-left:4px}
.tab.on .cn7{background:rgba(255,255,255,.28)}
.fls select{padding-right:28px!important;background-position:right 10px center}
.mc{overflow:hidden}.mc .mb{min-width:0;overflow-wrap:anywhere}.mc .mact{flex-wrap:wrap}.mc .mact>*{flex:1 1 auto}
@media(max-width:520px){.msg{grid-template-columns:repeat(6,minmax(0,1fr))}.msg>div{grid-column:span 2}.msg>div:nth-child(n+4){grid-column:span 3}}
.mc{flex-wrap:wrap}.mc>.ctxw{flex:0 0 100%;min-width:0}.mc>.ctxw .ctxbtn{margin-top:4px}
.vrs .grow{display:block}

/* v30: главная — спокойный ритм, секции с подписями, меньше шума */
.sec{margin:44px 0 16px;align-items:flex-end}.sec .sh{min-width:0}.sec h2{margin:0}
.ssub{margin:3px 0 0;font-size:13.5px;line-height:1.4;color:var(--mt);font-weight:400}
.sec>a,.sec>.adtag{flex:none}
@media(max-width:600px){.sec{margin:30px 0 12px}.ssub{font-size:12.5px}}
.cs7{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:600px){.cs7{margin-top:34px;padding-top:22px}}
.tool7{display:grid;gap:6px;margin:0 0 16px}.tool7 .tabs{margin:0}
.tool7 #ttabs .tab{font-weight:600}
.tool7 .sortc .tab,.tool7 #ctabs .tab{background:transparent;border-color:transparent;color:var(--mt);font-size:13.5px;padding:6px 12px}
.tool7 .sortc .tab.on,.tool7 #ctabs .tab.on{background:var(--bg2,rgba(127,127,127,.12));color:var(--tx);border-color:var(--line2)}
/* категории: одна строка-лента на телефоне, аккуратная сетка на ПК */
.ctl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ct{padding:12px 14px;gap:10px;min-width:0}.ct b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.ctl{display:flex;overflow-x:auto;gap:10px;margin:0 -14px;padding:2px 14px 8px;scroll-snap-type:x proximity;scrollbar-width:none}.ctl::-webkit-scrollbar{display:none}.ct{flex:0 0 auto;min-width:148px;scroll-snap-align:start;padding:10px 12px}}
/* подборки карточек: на ПК три ровные карточки вместо обрезанной ленты */
@media(min-width:900px){.row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:visible;padding:0}.row .cd{min-width:0;max-width:none}.row .cd:nth-child(n+4){display:none}}
@media(min-width:601px) and (max-width:899px){.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible;padding:0}.row .cd{min-width:0;max-width:none}.row .cd:nth-child(n+5){display:none}}
@media(max-width:600px){.row{margin:0 -14px;padding:2px 14px 10px;gap:10px;scroll-padding-left:14px}.row .cd{min-width:268px;max-width:268px}}
/* карточка: спокойнее и ровнее */
.cd{box-shadow:0 1px 2px rgba(15,23,42,.04);border-color:var(--line)}
.cd .d{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--tx2,var(--tx));opacity:.85;line-height:1.45;min-height:2.9em}
.cd .bt{margin-top:auto}
.cd .tg{opacity:.8}
.grid{gap:16px}@media(max-width:600px){.grid{gap:8px}}
.hero{padding-bottom:8px}
@media(max-width:900px){.ctl{scroll-padding-left:14px}}
.alr{display:grid;gap:0}.sub7{padding-left:14px;border-left:3px solid var(--line2);margin-left:4px}.sub7 .grow{min-width:0;overflow-wrap:anywhere}.sub7 .mt{display:block}
.deadl{display:grid;gap:8px;max-height:52vh;overflow:auto;margin:4px 0 8px}
.dli{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg2,rgba(127,127,127,.06))}
.dli .dt{display:grid;gap:2px;min-width:0}.dli .dt b{overflow-wrap:anywhere}.dli .dt .mt{font-size:12.5px;overflow-wrap:anywhere}
.dli .da{display:flex;gap:8px;flex:none}
@media(max-width:520px){.dli{flex-direction:column;align-items:stretch}.dli .da>*{flex:1}}
.dwhy{font-weight:600}.dwhy.unknown{color:#b7791f}.dwhy.dead{color:var(--err,#e5484d)}.dwhy.ok{color:#2a8f46}
/* v31: 18+ */
.cd[data-ad] .d,.cd[data-ad] .av,.cd[data-ad] .nm,.cd[data-ad] .tg{filter:blur(7px);transition:filter .2s}
.cd[data-ad]::after{content:"18+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fde8e8;color:#d33;border:3px solid #d33;font-weight:800;font-size:18px;pointer-events:none}
.feat[data-ad]{position:relative}.feat[data-ad]>*{filter:blur(7px)}
.feat[data-ad]::after{content:"18+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fde8e8;color:#d33;border:3px solid #d33;font-weight:800;font-size:18px;pointer-events:none}
/* v31: окно продвижения */
.pm7 .pm7n{margin:2px 0 14px;font-size:14px}
.pm7 .pm7pk{margin:0 0 4px;padding:12px 14px}
.pm7 .pm7h{font-size:13px;font-weight:600;color:var(--mt);margin:20px 0 8px}
.pm7 .svcs{display:grid;gap:8px}
.pm7 .svc{position:relative;display:grid!important;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;height:auto;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line2)!important;background:var(--sf)!important;color:var(--tx)!important;box-shadow:none!important;text-align:left;transform:none}
.pm7 .svc.on{border-color:var(--ac)!important;background:var(--acw)!important}
.pm7 .svc .si2{width:44px;height:44px;border-radius:12px;font-size:21px}
.pm7 .svc .sx{display:grid;gap:3px;min-width:0}.pm7 .svc .sx b{font-size:15px;font-weight:600;color:var(--tx)}
.pm7 .svc .sx i{display:block;-webkit-line-clamp:unset;overflow:visible;font-style:normal;font-size:12.5px;line-height:1.35;color:var(--tx2)}
.pm7 .svc em{font-style:normal;font-weight:700;font-size:15px;text-align:right;white-space:nowrap;color:var(--tx)}.pm7 .svc em small{display:block;font-size:11px;font-weight:500;color:var(--mt)}
.pm7 .svc.on::after{content:"✓";position:absolute;top:-8px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--ac);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.pm7 .pmds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:4px;border-radius:14px;background:var(--bg2)}
.pm7 .pmd{height:40px;padding:0;border-radius:10px;border:0!important;background:transparent!important;color:var(--tx2)!important;box-shadow:none!important;font-weight:600;font-size:14px}
.pm7 .pmd.on{background:var(--ac)!important;color:#fff!important}
.pm7 .pm7t{margin-top:18px;padding:14px 16px;gap:10px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}
.pm7 .pm7t .pmr{align-items:baseline;color:var(--tx2);font-size:14px}.pm7 .pm7c{font-size:22px;color:var(--tx)}
.pm7 .pm7b{padding-top:10px;border-top:1px solid var(--line)}.pm7 .pm7b b{font-size:15px}
.pm7 .pm7a{display:flex;align-items:flex-start;gap:10px;margin:14px 2px;font-size:13px;line-height:1.4}.pm7 .pm7a input{margin-top:2px;flex:none}
.pm7 .pm7go{width:100%;height:50px;font-size:16px;border-radius:14px}
.pm7 .pm7f{text-align:center;margin:12px 0 0;font-size:12.5px}
/* v31: SEO-блок и хлебные крошки */
.seoh{padding-top:26px;padding-bottom:26px;color:var(--tx2);font-size:14px;line-height:1.6}
.seoh h2{font-size:18px;margin:0 0 6px;color:var(--tx)}.seoh h3{font-size:14px;margin:18px 0 8px;color:var(--mt);font-weight:600}
.seoh ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.seoh li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seoh a{color:var(--tx2);text-decoration:none}.seoh a:hover{color:var(--ac)}
.seoc{display:flex;flex-wrap:wrap;gap:8px}.seoc a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--sf)}.seoc span{color:var(--mt);margin-left:4px}
.seol{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px}
.crumbs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:13px;color:var(--mt);margin:0 0 14px}.crumbs a{color:var(--mt);text-decoration:none}.crumbs a:hover{color:var(--ac)}.crumbs span:last-child{color:var(--tx2)}
.lead{color:var(--tx2);line-height:1.6;margin:0 0 18px;max-width:760px}
.seoq{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px;font-size:14px}.seoq .sk{color:var(--tx2)}.seoq .sk::first-letter{color:#2fa84f}.seoq .sw{color:#d97706}
.seos{padding-left:20px;display:grid;gap:8px}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 4px;font-size:14px;color:var(--mt)}.pager a{color:var(--ac);text-decoration:none;font-weight:600;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:var(--sf)}
a.tile{text-decoration:none;color:inherit}
/* v32: категории в админке */
.cr7{display:grid;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.cr7:last-of-type{border-bottom:0}
.cr7 .cm{min-width:0}.cr7 .cn{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cr7 .cn b{font-size:16px;font-weight:600;word-break:normal;overflow-wrap:anywhere}
.cr7 .a18{font-style:normal;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:#fde8e8;color:#d33;border:1px solid #f3b5b5}
.cr7 .cl{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:3px;font-size:13px;color:var(--mt)}.cr7 .cl a{color:var(--mt);text-decoration:none;overflow-wrap:anywhere}.cr7 .cl a:hover{color:var(--ac)}
.cr7 .ca{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cr7 .cg{display:inline-flex;gap:6px}
.cr7 .ca button{height:38px;min-width:0;padding:0 14px;margin:0;font-size:14px;white-space:nowrap}.cr7 .ca .ic{width:38px;padding:0;font-size:16px}
.cr7 .ca button:disabled{opacity:.35;cursor:default}.cr7 .ca .on18{border-color:#d33!important;color:#d33!important}
@media(min-width:720px){.cr7{grid-template-columns:minmax(0,1fr) auto;align-items:center}}
@media(max-width:719px){.cr7 .ca{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.cr7 .ca>:nth-child(2){grid-column:1;grid-row:1;width:100%}.cr7 .ca>:nth-child(3){grid-column:2;grid-row:1}.cr7 .ca>:nth-child(1){grid-column:1;grid-row:2}.cr7 .ca>:nth-child(4){grid-column:2;grid-row:2}}

/* v33: перетаскивание категорий */
.cr7 .dh{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;font-size:20px;line-height:1;color:var(--mut,#888);padding:6px 8px 6px 0}
.cr7.drag{background:rgba(120,120,255,.12);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.cg2{display:inline-flex;gap:6px;flex-wrap:wrap;margin-left:6px}
/* v34: ровные строки категорий */
.cr7 .cn{flex-wrap:nowrap;gap:10px;align-items:center;min-height:32px}
.cr7 .cn b{flex:0 1 auto;min-width:0;margin:0;line-height:1.25;font-size:16px}
.cr7 .cn .a18{flex:none;margin:0}
.cr7 .dh{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;margin:0 0 0 -4px;padding:0;border-radius:8px;font-size:18px;line-height:1;letter-spacing:0;color:var(--mt);background:transparent}
.cr7 .dh:hover,.cr7.drag .dh{background:rgba(120,130,160,.18);color:var(--tx,inherit)}
.cr7 .cl{margin:2px 0 0 36px;align-items:center}
.cr7 .ca button{display:inline-flex;align-items:center;justify-content:center;height:40px;line-height:1;box-sizing:border-box}
.cr7 .ca .ic{width:40px;min-width:40px;padding:0}
.cr7 .cg{align-items:center}
@media(max-width:719px){.cr7{gap:10px;padding:12px 0}.cr7 .ca{gap:8px}.cr7 .ca>:nth-child(2),.cr7 .ca>:nth-child(3){width:100%}.cr7 .ca>:nth-child(4){justify-self:end}.cr7 .ca>:nth-child(1){justify-self:start}}
@media(min-width:720px){.cr7 .ca{justify-content:flex-end}}
.cg2{display:flex;margin:10px 0 0}.cr7 .dh{align-self:center}
/* v35: цена категории */
.cr7 .ca .onpr{border-color:#2f9e5b!important;color:#2f9e5b!important}
@media(max-width:719px){.cr7 .ca{grid-template-columns:minmax(0,1fr) auto auto}.cr7 .ca>*{width:auto}.cr7 .ca>:nth-child(2){grid-column:1;grid-row:1;width:100%}.cr7 .ca>:nth-child(3){grid-column:2;grid-row:1}.cr7 .ca>:nth-child(4){grid-column:3;grid-row:1;justify-self:stretch}.cr7 .ca>:nth-child(1){grid-column:1;grid-row:2;justify-self:start}.cr7 .ca>:nth-child(5){grid-column:2/4;grid-row:2;justify-self:end}}
