/* ================= ТОКЕНЫ ArgHub (ARG-BRAND-001, референс docs/brand/reference-2026-09-28.webp) =================
   Единственное место, где заданы цвета, шрифты, радиусы и тени. Описание — docs/brand/tokens.md.
   Тема: светлая по умолчанию; тёмная — html[data-theme=dark] (ставит app.js по теме Telegram или системы). */
:root{
  /* палитра бренда (одинакова в обеих темах) */
  --c-navy:#141A4A; --c-blue:#3B6EF5; --c-violet:#8B5CF6; --c-pink:#EC7FD0;
  --c-coral:#F9867A; --c-orange:#FDBA74; --c-mint:#7EDDB8; --c-grey:#E6E8EE;
  --grad:linear-gradient(120deg,#3B6EF5 0%,#8B5CF6 55%,#EC7FD0 100%);
  --grad-btn:linear-gradient(135deg,#3B6EF5,#7A55F0);
  --grad-deep:linear-gradient(135deg,#27318A,#141A4A);
  --grad-love:linear-gradient(135deg,#F0567A,#D9559F);
  --on-grad:#fff;
  --scrim-rgb:14,18,52;                     /* затемнение поверх фото и подложки окон */
  --overlay:rgba(var(--scrim-rgb),.55);

  /* поверхности и текст — светлая тема */
  --bg:#F4F5F9; --card:#FFFFFF; --card2:#FAFBFD; --field:#F4F6FB; --media:#E6E8EE;
  --ink:#141A4A; --muted:#5B6285; --line:rgba(20,26,74,.10);
  --accent:#3562EC; --accent-ink:#FFFFFF; --soft:rgba(59,110,245,.10);
  --sun:#E89A0C; --ok:#12976A; --ok-ink:#FFFFFF; --warn:#D9480F; --danger:#D93A4A; --love:#E8456E;
  --toast-bg:#141A4A; --toast-ink:#FFFFFF;
  --glass:rgba(255,255,255,.82); --glass-line:rgba(20,26,74,.08);
  --e-1:0 1px 2px rgba(20,26,74,.06);
  --e-2:0 1px 2px rgba(20,26,74,.04),0 8px 24px -10px rgba(20,26,74,.14);
  --e-3:0 2px 6px rgba(20,26,74,.06),0 20px 48px -12px rgba(20,26,74,.24);
  --e-up:0 -8px 24px -18px rgba(20,26,74,.25);
  --shadow:var(--e-2);
  --ring:0 0 0 3px rgba(59,110,245,.35);
  color-scheme:light;

  /* шрифты: Sora — заголовки и цифры (латиница), Manrope — текст и кириллица; zh/ko — системный */
  --font-head:Sora,Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-text:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fs-xs:11.5px; --fs-sm:13px; --fs-md:15px; --fs-lg:17px; --fs-xl:20px; --fs-2xl:22px;

  /* отступы (шаг 4 px), скругления, высоты касания */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px;
  --r-xs:8px; --r-sm:12px; --r-md:14px; --r-lg:18px; --r-xl:22px; --r-pill:999px; --radius:var(--r-lg);
  --h-chip:32px; --h-btn:44px;
}
:root[data-theme=dark]{
  --bg:#0D1136; --card:#161B4A; --card2:#1B2156; --field:#11163F; --media:#1B2156;
  --ink:#F3F4FB; --muted:#A9AED3; --line:rgba(255,255,255,.09);
  --accent:#7C9BFF; --accent-ink:#0D1136; --soft:rgba(124,155,255,.14);
  --sun:#F6B53C; --ok:#3DD598; --ok-ink:#06231A; --warn:#FF9A5C; --danger:#FF7A85; --love:#FF6F92;
  --toast-bg:#EEF1FF; --toast-ink:#141A4A;
  --glass:rgba(17,22,63,.80); --glass-line:rgba(255,255,255,.07);
  --e-1:0 1px 2px rgba(3,5,20,.3);
  --e-2:0 1px 2px rgba(3,5,20,.24),0 8px 22px -8px rgba(3,5,20,.6);
  --e-3:0 2px 6px rgba(3,5,20,.3),0 18px 44px -10px rgba(3,5,20,.7);
  --e-up:0 -10px 24px -18px rgba(3,5,20,.9);
  --ring:0 0 0 3px rgba(124,155,255,.45);
  color-scheme:dark;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font-text)}
a{color:var(--accent-tx,var(--accent));text-decoration:none}
main{max-width:640px;margin:0 auto;padding:12px 16px 96px}
/* Тема бизнеса (ARG-PLAT-001 шаг 1): app.js ставит переменные инлайном на #app; красим фон/текст здесь, чтобы override сработал визуально */
#app{background:var(--bg);color:var(--ink)}
h1{font-size:22px;margin:4px 0 12px;letter-spacing:-.01em}
h2{font-size:17px;margin:22px 0 10px}
p{margin:0 0 10px}
.muted{color:var(--muted)} .small{font-size:13px}
.loading{padding:40px;text-align:center;color:var(--muted)}

.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:640px;margin:0 auto;padding:10px 16px;background:var(--bg)}
.brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:16px}
.logo{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--grad);font-size:14px;border:1px solid var(--line)}
.langbtn{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:5px 11px;color:var(--ink);font-size:13px}

.search{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit}
[hidden]{display:none!important} /* ARG-SOC-010: .btn{display:block} и .chips перебивали атрибут hidden — «Показать ещё» был виден на пустом списке */
.btn{display:block;width:100%;border:0;border-radius:14px;padding:13px 14px;background:var(--accent);color:var(--accent-ink);font:600 15px/1.2 inherit;text-align:center;cursor:pointer}
.btn.ghost{background:var(--soft);color:var(--accent)}
.btn.sm{display:inline-block;width:auto;padding:8px 12px;font-size:13px;border-radius:10px}
.btn:disabled{opacity:.5}
.mt{margin-top:10px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (min-width:480px){.grid{grid-template-columns:repeat(4,1fr)}}
.badge{position:absolute;top:5px;right:6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--accent)}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px}
.card h3{margin:0 0 4px;font-size:16px}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chip{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:99px;background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.chip.ok{color:var(--ok);border-color:currentColor;background:transparent}
.chip.demo{color:var(--warn);border-color:currentColor;background:transparent}
.fact b{color:var(--sun)}
.shop{display:flex;align-items:center;gap:12px;color:#fff;border-radius:var(--radius);padding:14px;margin:12px 0}
.shop .ico{font-size:30px}
.shop b{display:block;font-size:14.5px}
.shop span{font-size:12.5px;opacity:.9}
.shop{flex-wrap:wrap}
.shop>div:not(.shopbtns){flex:1;min-width:0}
.shopbtns{display:flex;gap:8px;width:100%}
.shop .go{flex:1;text-align:center;background:#fff;color:var(--c-navy);border-radius:10px;padding:7px 10px;font-weight:700;font-size:12.5px;white-space:nowrap}
.notice{font-size:12.5px;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:12px;padding:10px 12px;margin:10px 0}

label{display:block;font-size:13px;color:var(--muted);margin:12px 0 5px}
input,select,textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit}
textarea{min-height:96px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:6px 11px;font:13px inherit;cursor:pointer}
.chips button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

.steps{display:grid;gap:8px;counter-reset:s;margin:10px 0 4px}
.steps div{display:flex;gap:10px;align-items:center;font-size:14px}
.steps div::before{counter-increment:s;content:counter(s);display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12px}

.fav{border:0;background:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:0 2px;margin-left:auto}
.fav.on{color:var(--sun)}
.reviews{margin-top:10px}
.stars-pick{display:flex;gap:2px;margin:6px 0}
.stars-pick button{border:0;background:none;font-size:28px;line-height:1;color:var(--line);cursor:pointer;padding:0 2px}
.stars-pick button.on{color:var(--sun)}
.rv{border-top:1px solid var(--line);padding:8px 0}
.rv-stars{color:var(--sun);letter-spacing:1px}
.rv-reply{background:var(--bg);border-radius:10px;padding:8px}
/* «✨ Черновик ответа» на отзыв (ARG-GRW-010) */
.rrd-row{margin-top:6px}.rrd-row .btn.sm{min-height:44px}.rrd-row>.btn:last-child{margin-left:auto}.rrd-row .check{margin:0;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.rrd-note{margin:2px 0 0}
.rv-form textarea{margin-top:6px}
.chip.rating{color:var(--sun);border-color:currentColor;background:transparent;font-weight:600}
.dest .rank{font-weight:800;color:var(--accent);font-size:18px}
.dest h3{flex:1;min-width:0;margin:0}
.hol{display:grid;grid-template-columns:92px 1fr;gap:2px 10px;padding:6px 0;border-top:1px solid var(--line)}
.hol .small{grid-column:2}
.cab{border-top:2px solid var(--line);margin-top:18px;padding-top:6px}
.cab h2{margin:8px 0 2px}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}
@media (min-width:480px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px}
.stat b{display:block;font-size:22px;letter-spacing:-.02em}
.stat span{font-size:12px;color:var(--muted)}
.chip.pro{background:var(--sun);color:var(--c-navy);border-color:var(--sun);font-weight:700}
.addr{font-family:ui-monospace,Consolas,monospace;font-size:13px;word-break:break-all;background:var(--bg);padding:8px;border-radius:8px}
.place h3{flex:1;min-width:0}
.report{margin-top:10px;display:grid;gap:6px}
.report textarea{min-height:64px}
.row select{flex:1;min-width:150px;width:auto}
input[type=search]{margin-top:8px}
.rate{border-top:1px solid var(--line);padding:12px 0 4px;margin-top:10px}
.rate.best{border-top:2px solid var(--ok)}
.big-num{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:4px 0}
.rate-row{display:grid;grid-template-columns:56px 1fr 1fr;gap:8px;align-items:center;margin-top:8px}
.offer{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.status{font-size:12px;font-weight:600}
.status.open{color:var(--accent)} .status.done{color:var(--ok)}
.progress{height:10px;border-radius:99px;background:var(--bg);overflow:hidden;margin:8px 0}
.progress div{height:100%;background:var(--sun)}
.big{font-size:34px;font-weight:800;letter-spacing:-.02em}
.list a{display:flex;align-items:center;gap:10px;color:var(--ink)}
.list i{font-style:normal;font-size:22px}
article li{margin:6px 0}

.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:space-around;background:var(--card);border-top:1px solid var(--line);padding:6px 0 calc(8px + env(safe-area-inset-bottom))}
.tabs a{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:10.5px;color:var(--muted);min-width:58px}
.tabs a i{font-style:normal;font-size:19px}
.tabs a.on{color:var(--accent);font-weight:600}
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--toast-bg);color:var(--toast-ink);padding:10px 14px;border-radius:12px;font-size:13.5px;max-width:90vw;transition:.25s;pointer-events:none;z-index:9}
.toast.show{opacity:1;transform:translateX(-50%)}

.logo-sm{width:32px;height:32px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--line)}
.logo-prev{width:64px;height:64px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--line)}

.import{background:var(--bg);border-radius:12px;padding:10px;margin-bottom:6px}
.import .row input{flex:1;min-width:160px}
label.check{display:flex;gap:8px;align-items:center;color:var(--ink);margin-top:14px}
label.check input{width:auto}

.quick{border:2px solid var(--accent)}
.quick .row input{flex:1;min-width:180px}
.ok-note{color:var(--ok);margin:4px 0 0}
.price-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:6px;margin-top:6px}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}
.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.photos .ph{position:relative}
.ph-ed .ph-in{position:relative}
.ph-ed .ph-cap{width:100%;margin:4px 0 0;padding:4px 6px;font-size:12px;min-height:0}
.photos.view a{display:block;color:inherit;text-decoration:none}
.team-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:6px}
.team .tm{display:flex;align-items:center;gap:8px;min-width:0}
.team .tm img,.team .tm-ph{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.team .tm-ph{display:flex;align-items:center;justify-content:center;background:var(--chip,#eee);font-weight:700}
.team .tm b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-row{display:grid;grid-template-columns:44px 1fr 1fr auto;gap:6px;margin-top:6px;align-items:center}
.tm-pick{width:44px;height:44px;border-radius:50%;padding:0;overflow:hidden;border:1px dashed var(--muted);background:none;cursor:pointer}
.tm-pick img{width:100%;height:100%;object-fit:cover}
@media (max-width:420px){.tm-row{grid-template-columns:44px 1fr auto}.tm-row input:nth-of-type(2){grid-column:2/4}}
.photos .ph-cap-v{display:block;margin-top:3px;font-size:12px;line-height:1.3;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photos .ph button{position:absolute;top:4px;right:4px;border:0;border-radius:99px;background:rgba(var(--scrim-rgb),.6);color:#fff;width:24px;height:24px;cursor:pointer}
/* галерея кабинета: обложка и порядок (ARG-BIZ-001 п.2) */
.ph-ed .ph-cover{position:absolute;left:4px;top:4px;padding:1px 6px;border-radius:99px;background:var(--accent);color:var(--accent-ink,#fff);font-size:11px;line-height:18px}
.ph-ed .ph-mv{position:absolute;left:0;right:0;bottom:4px;display:flex;justify-content:space-between;padding:0 4px}
.photos .ph .ph-mv button{position:static;width:32px;height:28px}
.photos .ph .ph-mv button:disabled{opacity:.25;cursor:default}
.svc{margin-top:8px}
.svc-prices .pr{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:14px}

/* график работы */
.hours{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.hrow{display:grid;grid-template-columns:minmax(90px,1fr) auto 70px;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--ink) 4%,transparent)}
.hrow .hrange{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.hrow .hrange input{flex:1;min-width:0;margin:0}
.hrow.off .hrange{display:none}
.switch{position:relative;display:inline-block;width:42px;height:24px;margin:0}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch i{position:absolute;inset:0;border-radius:24px;background:color-mix(in srgb,var(--ink) 18%,transparent);transition:.2s}
.switch i:before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}
.switch input:checked+i{background:var(--accent)}
.switch input:checked+i:before{transform:translateX(18px)}

/* подтверждение владения */
.card.verify{border:1px solid color-mix(in srgb,var(--sun) 45%,transparent)}
.card.verify .row{gap:8px;flex-wrap:wrap}
.center{text-align:center}

/* адрес: подсказки и карта */
.sug{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.sug button{all:unset;cursor:pointer;padding:10px 12px;border-radius:10px;background:var(--soft);color:var(--ink);font-size:14px}
.row.gap{gap:8px;flex-wrap:wrap;margin-top:8px}
.modal{position:fixed;inset:0;z-index:1000;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center}
.modal-card{background:var(--card);width:100%;max-width:560px;border-radius:18px 18px 0 0;padding:14px;display:flex;flex-direction:column;gap:10px}
.modal-card .row{justify-content:space-between}
.map-box{height:60vh;border-radius:var(--r-md);overflow:hidden}
.link-inline{white-space:nowrap}

/* калькулятор обмена */
.conv-row{display:flex;gap:8px}
.conv-row input{flex:1;min-width:0;font-size:18px;font-weight:600}
.conv-row select.cur-sel{width:110px;flex:none;font-weight:600}
.conv-row select.cur-sel:only-child{width:100%}
.conv-mid{display:flex;justify-content:center;margin:8px 0 -4px}
.conv .swap{border-radius:99px;width:40px;height:40px;padding:0;font-size:18px}
.rate .rank{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--accent);font-weight:700;font-size:12px;flex:none}
.rate.best .rank{background:var(--ok);color:var(--ok-ink)}
.rate .grow{flex:1;min-width:0}
.chip.best{background:var(--ok);color:var(--ok-ink);border-color:var(--ok);font-weight:700}


/* ================= ФИРМЕННЫЙ СТИЛЬ ArgHub: базовые правила (токены — в начале файла) ================= */
html,body{background:var(--bg);font:15px/1.5 var(--font-text);-webkit-font-smoothing:antialiased}
h1,h2,h3,.wordmark,.big-num,.big,.stat b{font-family:var(--font-head)}
h1{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em;line-height:1.2}
h2{font-size:18px;font-weight:700;letter-spacing:-.01em}
h3{font-weight:700}
.ic{width:1.15em;height:1.15em;vertical-align:-.2em;flex:none}
.ico-wrap{display:inline-flex;align-items:center;margin-right:.4em;color:var(--accent-tx,var(--accent))}
.btn .ico-wrap,.tabs .ico-wrap,.chip .ico-wrap{color:inherit}
h1 .ico-wrap,h2 .ico-wrap,h3 .ico-wrap{color:var(--accent-tx,var(--accent))}

/* шапка */
.logo{width:34px;height:34px;border-radius:10px;border:0;display:block;box-shadow:var(--e-1)}
/* знак бренда в шапке — без плитки, как в референсе (ARG-BRAND-001 шаг 2) */
.top .logo{width:30px;height:28px;border-radius:0;box-shadow:none;background:none;object-fit:contain}
.wordmark{font-size:18px;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
.wordmark b{font-weight:inherit}
.langbtn{background:var(--card);border:1px solid var(--line);color:var(--ink);font-weight:600}

/* кнопки */
.btn{background:var(--grad-btn);color:var(--on-grad);font-weight:700;border-radius:14px;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 25%,transparent);transition:transform .08s,filter .15s}
.btn:active{transform:scale(.98)}
.btn.ghost{background:var(--soft);color:var(--accent-tx,var(--accent));box-shadow:none;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}
.btn.sm{border-radius:12px;padding:9px 13px;font-weight:600;display:inline-flex;align-items:center;gap:0}
.btn.active{background:var(--ok);color:var(--ok-ink)}

/* поля */
input,select,textarea,.search{background:var(--field);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:14px;color:var(--ink)}
input:focus,select:focus,textarea:focus,.search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.search{padding:14px 16px 14px 44px;font-size:15.5px;background:var(--field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a90b5' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 15px center/19px}
label{color:var(--muted);font-weight:500}

/* карточки */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.notice{background:color-mix(in srgb,var(--accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-style:solid;color:var(--muted)}
.chip{background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:var(--line);color:var(--muted);padding:3px 10px;font-weight:500}
.chip.ok{color:var(--ok)}
.chips button{background:color-mix(in srgb,var(--ink) 4%,transparent);border-color:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink);padding:7px 13px}
.chips button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}
.quick{border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}

/* плитки разделов: фото */
.grid{grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:480px){.grid{grid-template-columns:repeat(3,1fr)}}
.ptile{position:relative;display:flex;align-items:flex-end;min-height:118px;border-radius:18px;overflow:hidden;background:var(--media) center/cover no-repeat;color:#fff;box-shadow:var(--shadow);isolation:isolate}
.ptile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--scrim-rgb),0) 35%,rgba(var(--scrim-rgb),.92));z-index:-1}
.ptile-lbl{display:flex;align-items:center;padding:10px 12px;font:700 13.5px/1.2 var(--font-head)}
.ptile-lbl .ico-wrap{color:#fff;background:rgba(255,255,255,.16);border-radius:9px;padding:5px;margin-right:8px;backdrop-filter:blur(6px)}
.ptile .badge{top:8px;right:8px;background:var(--accent);color:var(--accent-ink);padding:3px 7px;border-radius:99px}
/* плитки разделов (ARG-BRAND-001 шаг 3): линейная иконка 21 px в цвете раздела на мягкой плитке 46 px, подпись 11.5 px, 4 в ряд на 375 px.
   Тон раздела — класс .tn-* (app.js CAT_TONE); на светлой теме цвет темнее палитры, чтобы значок читался (≥3:1). */
:root{--tn-blue:#3562EC;--tn-violet:#7446E6;--tn-pink:#C23F93;--tn-coral:#D94C3A;--tn-orange:#BE6708;--tn-mint:#11875F}
:root[data-theme=dark]{--tn-blue:#8FA9FF;--tn-violet:#B59CFF;--tn-pink:#F59AD9;--tn-coral:#FF9C90;--tn-orange:#FDBA74;--tn-mint:#7EDDB8}
.tn-blue{--tn:var(--tn-blue);--tnl:#3562EC}.tn-violet{--tn:var(--tn-violet);--tnl:#7446E6}.tn-pink{--tn:var(--tn-pink);--tnl:#C23F93}
.tn-coral{--tn:var(--tn-coral);--tnl:#D94C3A}.tn-orange{--tn:var(--tn-orange);--tnl:#BE6708}.tn-mint{--tn:var(--tn-mint);--tnl:#11875F}
.grid{grid-template-columns:repeat(4,1fr);gap:10px 8px}
.grid .ptile{grid-column:span 2}
.subgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 8px;margin-top:14px}
@media (min-width:480px){.grid{grid-template-columns:repeat(6,1fr)}.subgrid{grid-template-columns:repeat(6,1fr)}}
.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-width:0;padding:2px 0 4px;background:none;border:0;border-radius:var(--r-sm);color:var(--ink);text-align:center;font:600 11.5px/1.2 var(--font-text)}
.tile i{display:grid;place-items:center;width:46px;height:46px;flex:none;font-size:0;font-style:normal;border-radius:var(--r-md);background:color-mix(in srgb,var(--tn,var(--accent)) 11%,var(--card));color:var(--tn);box-shadow:var(--e-1),inset 0 0 0 1px color-mix(in srgb,var(--tn,var(--accent)) 14%,transparent);transition:transform .1s,box-shadow .15s}
.tile i .ico-wrap{margin:0;color:inherit}
.tile i .ic{width:21px;height:21px;stroke-width:1.7}
.tile .nm{display:block;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.tile .cnt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:2px;font:500 10px/1.2 var(--font-text);color:var(--muted);letter-spacing:0}
.tile:active i{transform:scale(.94)}
.tile.start i{box-shadow:var(--e-1),0 0 0 1.5px var(--tn,var(--accent))}

/* курсы и прочее */
.rate{border-top:1px solid var(--line)}
.rate.best{border-top:0;background:color-mix(in srgb,var(--ok) 7%,transparent);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);border-radius:14px;padding:12px;margin-top:12px}
.big-num{font-size:20px;font-weight:800;color:var(--ink)}
.stat{background:color-mix(in srgb,var(--ink) 4%,transparent);border-radius:14px}
.shop{background:var(--grad-deep);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}
.toast{font-weight:600;box-shadow:var(--shadow)}
.fact b{color:var(--sun)}
.logo-sm{background:#fff;border:0}
a{color:var(--accent)}
.switch input:checked+i{background:var(--accent)}
.hrow{background:color-mix(in srgb,var(--ink) 4%,transparent)}

/* дашборд партнёра */
.dash-head{justify-content:space-between;margin-bottom:8px}
.seg{display:flex;background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:10px;padding:3px}
.seg button{all:unset;cursor:pointer;padding:5px 10px;border-radius:8px;font-size:12.5px;color:var(--muted)}
.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}
.bars{display:flex;align-items:flex-end;gap:3px;height:70px;margin:12px 0 4px}
.bar{flex:1;height:100%;position:relative;display:flex;align-items:flex-end}
.bar i{display:block;width:100%;background:color-mix(in srgb,var(--accent) 35%,transparent);border-radius:4px 4px 0 0;min-height:2px}
.bar em{position:absolute;left:25%;right:25%;bottom:0;background:var(--ok);border-radius:3px 3px 0 0}
.legend{display:flex;align-items:center;gap:6px}
.dash-hours{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.bars.hours{flex-direction:row;align-items:flex-end;height:48px;gap:2px;margin:8px 0 2px} /* .hours (часы работы) делал график колонкой — столбики схлопывались */ .bar.peak i{background:var(--accent)}
.hours-ax{display:flex;justify-content:space-between}
.dot{display:inline-block;width:9px;height:9px;border-radius:3px}
.dot.v{background:color-mix(in srgb,var(--accent) 60%,transparent)} .dot.c{background:var(--ok)}
.compl{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.compl .row{justify-content:space-between}
.compl-pct{font:800 18px var(--font-head);color:var(--accent)}
.compl .progress div{background:linear-gradient(90deg,var(--accent2),var(--ok))}
.tips{margin:6px 0 0;padding-left:18px;color:var(--muted)}
.tips li{margin:4px 0}
details.preview summary{cursor:pointer;font-weight:600;list-style:none}
details.preview[open] summary{margin-bottom:10px}

/* онбординг партнёра */
.onb{margin:4px 0 8px}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none;border-radius:20px}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;position:relative;border-radius:20px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.slide img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.slide-txt{padding:12px 14px 14px}
.slide-txt b{display:block;font:800 17px/1.25 var(--font-head);margin-bottom:4px}
.slide-txt p{color:var(--muted);margin:0}
.dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
.dots i{width:7px;height:7px;border-radius:99px;background:color-mix(in srgb,var(--ink) 20%,transparent);cursor:pointer;transition:.2s}
.dots i.on{width:20px;background:var(--accent)}
/* плитки разделов: подпись на плотной плашке — читается на любом фото */
.ptile{min-height:128px}
.ptile::after{background:linear-gradient(180deg,rgba(var(--scrim-rgb),0) 55%,rgba(var(--scrim-rgb),.35))}
.ptile-lbl{width:100%;background:rgba(var(--scrim-rgb),.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:9px 10px;font:700 14px/1.2 var(--font-head);color:#fff;letter-spacing:.005em;border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}
.ptile-lbl .ico-wrap{background:rgba(255,255,255,.96);color:var(--tnl,var(--c-blue));border-radius:8px;padding:4px;margin-right:8px}
.ptile .badge{font-size:9.5px}

.chip.spec{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--soft)}

/* счётчики на плитках */
.ptile .cnt{position:absolute;top:8px;left:8px;background:rgba(var(--scrim-rgb),.82);color:rgba(255,255,255,.88);font:600 10.5px/1 var(--font-text);padding:5px 7px;border-radius:99px;backdrop-filter:blur(6px)}

/* скрыть/удалить карточку — неприметно */
.leave{margin:18px 0 4px;text-align:center}
.leave>a{opacity:.7;text-decoration:underline;text-underline-offset:3px}
.leave-opts{margin-top:10px;text-align:left}
.leave-opts .row{justify-content:center}
.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}
.chips button .n{opacity:.6;font-weight:500;font-size:12px}

.report .seg{margin-bottom:6px;align-self:flex-start}

/* сообщества */
.comm-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink)}
.comm-row .chip{margin-left:6px}
.comm .grow{flex:1;min-width:0}

/* недвижимость */
.lst{padding:0;overflow:hidden}
.lst>*:not(.lst-pics):not(.pics-wrap){margin-left:14px;margin-right:14px}
.lst>.row:first-of-type{margin-top:10px}
.lst>:last-child{margin-bottom:14px}
.lst-pics{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--media)}
.lst-pics::-webkit-scrollbar{display:none}
.lst-pics img,.lst-nopic{flex:0 0 100%;scroll-snap-align:start;width:100%;aspect-ratio:4/3;object-fit:contain;display:block}
.pics-wrap{position:relative}
.pics-cnt{position:absolute;right:10px;bottom:10px;background:rgba(var(--scrim-rgb),.6);color:#fff;font:600 12px var(--font-text);padding:3px 8px;border-radius:99px;pointer-events:none}
.ad-pics-wrap{margin:8px 0}.ad-pics-wrap>.ad-pics{margin:0}
.ad-pics img,.ad-pics .lst-nopic{aspect-ratio:1}
.lst-nopic{display:grid;place-items:center;color:var(--muted);font-size:40px}
.lst-price{font:700 var(--fs-xl)/1.2 var(--font-head);letter-spacing:-.01em;color:var(--ink)}
.lst-meta{font-weight:600;margin:2px 0 4px}
.lst-agent{margin-top:6px}
.lst-row{border-top:1px solid var(--line);padding:8px 0}
.lst-row .grow{flex:1;min-width:0}
.lst-form{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;display:flex;flex-direction:column;gap:8px}
.lst-form .row input,.lst-form .row select{flex:1;min-width:0}
/* импорт из Excel/CSV и дубли */
.lst-addr{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip.dup{color:var(--warn);border-color:currentColor;background:transparent;margin-left:6px}
.lst-rv{display:block;margin-top:2px;color:var(--warn);font-size:12px;line-height:1.35}
.lst-rv .chip.dup{margin-left:0}
.lst-rv-hint{color:var(--warn);border-left:2px solid currentColor;padding-left:8px}
.shx-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.shx-cols>b{grid-column:1/-1}
.shx-col{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);min-width:0}
.shx-col select{width:100%;min-width:0}
.shx-col.req span::after{content:' *';color:var(--warn)}
.shx-n{flex:0 0 22px;text-align:right}
.lst-sim{margin-top:8px}
.lst-sim>.card{margin:10px 0 0}

/* главная кнопка «куда писать» */
.btn.cta{display:block;width:100%;margin-top:6px;font-size:15px;padding:12px 14px}
.more-links{width:100%;margin-top:6px}
.more-links a{color:var(--accent)}

.a2hs .row{flex-wrap:nowrap;align-items:flex-start}
.a2hs .grow{flex:1;min-width:0}
.a2hs .logo{width:44px;height:44px;border-radius:12px}

.tokens{display:flex;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in srgb,var(--sun) 8%,transparent);border:1px solid color-mix(in srgb,var(--sun) 30%,transparent);border-radius:12px;padding:10px 12px;margin:8px 0}

.lst-map{height:360px;margin:8px 0}

/* лента «Сегодня» */
.feed-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:10px}
.feed-row::-webkit-scrollbar{display:none}
.feed-tile{flex:0 0 auto;min-width:150px;max-width:220px;display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:16px;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);color:var(--ink)}
.rate-tile{border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.rate-tile b{font:800 17px var(--font-head)}
.promo-tile{border-color:color-mix(in srgb,var(--sun) 40%,transparent)}
.feed-lst{flex:0 0 150px;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column}
.feed-lst img,.feed-lst .lst-nopic{width:100%;aspect-ratio:4/3;object-fit:cover;font-size:28px}
.feed-lst b,.feed-lst span{padding:0 10px}
.feed-lst b{padding-top:6px}
.feed-lst span{padding-bottom:8px}
.feed-head{justify-content:space-between;margin:6px 0}
.promo{background:color-mix(in srgb,var(--sun) 10%,transparent);border:1px solid color-mix(in srgb,var(--sun) 35%,transparent);border-radius:10px;padding:7px 10px;margin:6px 0;font-size:13.5px}

/* быстрый просмотр */
.qv-link{cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:4px}
.qv-map{height:200px;border-radius:var(--r-md);overflow:hidden}
.qv .grow{flex:1;min-width:0;font:700 16px var(--font-head)}

.tr-note{font-size:11.5px;color:var(--muted);margin:-6px 0 8px}
.tr-note a{color:var(--accent)}

/* компактный верх главной */
h1.hero{font-size:20px;margin:2px 0 10px;line-height:1.2}
.search{padding:11px 14px 11px 42px;font-size:15px}
main>.btn.mt{padding:10px 14px;font-size:14.5px;margin-top:8px}
.feed-row.compact{margin:12px -16px 4px;padding:0 16px 4px;gap:8px}
.fchip{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:62px;max-width:210px;padding:8px 12px;border-radius:14px;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);color:var(--ink);overflow:hidden}
.fchip>span:not(.fk):not(.fs){display:flex;flex-direction:column;min-width:0}
.fchip.rate-tile,.fchip.promo-tile{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px}
.fchip .fk{font-size:11px;color:var(--muted);white-space:nowrap}
.fchip .fs{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fchip b{font:700 14px/1.2 var(--font-head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.fchip.promo-tile b{font-size:13px}
.fchip img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}

.search-row{display:flex;gap:8px;align-items:stretch;margin-top:4px}
.search-row .search{flex:1;min-width:0;margin:0}
.search-row .cta-mini{flex:none;display:flex;align-items:center;padding:0 14px;border-radius:14px;white-space:nowrap}
/* 🎤 и «→» внутри строки поиска; «→» появляется, когда есть текст */
.search-wrap{position:relative;flex:1;min-width:0;display:flex}
.search-wrap .search{flex:1;min-width:0;margin:0;padding-right:46px}
.search-wrap.has-go .search{padding-right:84px}
.sbtns{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;gap:4px}
.sbtn,.mic-btn{width:34px;height:34px;flex:none;border-radius:10px;border:0;padding:0;background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mic-btn svg{width:18px;height:18px}
.sbtn.go{display:none;background:var(--accent);color:var(--accent-ink);font-weight:700}
.search-wrap.has-go .sbtn.go{display:flex}
.mic-btn.on{background:var(--danger);color:#fff;animation:mic-pulse 1.1s ease-in-out infinite}
@keyframes mic-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--danger) 22%,transparent)}}
/* 🎤 запись голоса (ARG-UX-062): плашка внизу — точка, «Говорите…», таймер, «Готово», ✕; затем «Распознаю…» */
.mic-btn.busy{opacity:.55;cursor:progress}
.voice-pill{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);padding:8px 8px 8px 14px;border-radius:14px;background:var(--toast-bg);color:var(--toast-ink);box-shadow:var(--shadow);font-size:13.5px;font-weight:600}
.voice-pill .vp-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--danger);animation:mic-pulse 1.1s ease-in-out infinite}
.voice-pill .vp-tx{white-space:nowrap}
.voice-pill .vp-tm{font-variant-numeric:tabular-nums;opacity:.7;font-weight:500;white-space:nowrap}
.voice-pill button{flex:none;height:32px;border:0;border-radius:10px;cursor:pointer;font:inherit}
.voice-pill .vp-ok{padding:0 14px;background:var(--accent);color:var(--accent-ink)}
.voice-pill .vp-x{width:32px;padding:0;background:color-mix(in srgb,currentColor 14%,transparent);color:inherit}
.voice-pill.busy{padding-right:14px}
.voice-pill.busy .vp-dot{background:var(--accent);animation:none;opacity:.8}
.ta-wrap{position:relative}
.ta-wrap textarea{padding-right:48px}
.ta-wrap .mic-btn{position:absolute;right:8px;top:8px}

/* форма заявки */
.req-how{margin-bottom:6px}
.req-how .steps div{font-size:13.5px}
.budget-row input{flex:1;min-width:0}
.budget-row select{width:110px;flex:none}
/* бейдж «СТАРТ» — справа внизу фото, не наезжает на счётчик; подсказка поиска не обрезается */
.ptile .cnt{max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search::placeholder{color:var(--muted);opacity:.9}
.search{margin-bottom:10px}
.img-off{opacity:0}

/* компактный калькулятор и карточки обменников */
.conv-labels{display:flex;justify-content:space-between;margin:2px 2px 4px}
.conv-line{display:grid;grid-template-columns:1fr 82px 40px 82px;gap:6px;align-items:center}
/* страница обменника: курсы сейчас (ARG-EXC-003) */
.ex-rates{width:100%;border-collapse:collapse;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.ex-rates th,.ex-rates td{padding:6px 4px;text-align:right;border-bottom:1px solid var(--line)}
.ex-rates th:first-child{text-align:left}
.ex-rates tr:first-child th{color:var(--muted);font-weight:600}
.ex-sum{font-weight:700;margin:4px 0 8px;padding:8px 10px;border-radius:10px;background:var(--chip,rgba(127,127,127,.12))}
.ex-page .big-num{margin-top:8px}
/* фирменная витрина обменника (ARG-EXC-010): «Курсы сейчас» крупно, валюта и шапка таблицы — цветом бренда; телефон 375 px без прокрутки */
.ex-page.ex-brand>h3{font-size:var(--fs-lg,20px);margin-bottom:2px}
.ex-brand .ex-rates{font-size:18px;font-weight:700;margin:8px 0 6px}
.ex-brand .ex-rates th,.ex-brand .ex-rates td{padding:9px 4px}
.ex-brand .ex-rates tr:first-child th{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-tx,var(--accent))}
.ex-brand .ex-rates tr+tr th{font-size:15px;color:var(--accent-tx,var(--accent))}
.ex-brand .big-num{font-size:20px}
.ex-ord-sum{font-size:17px;margin:2px 0 6px;font-variant-numeric:tabular-nums}
.biz-company h3{margin:0 0 6px;font-size:15px}
.biz-company .more-links{margin-top:8px;color:var(--muted)}
.conv-line input{font-size:17px;font-weight:700;padding:10px 12px;min-width:0}
.conv-line select{padding:10px 8px;font-weight:600;min-width:0}
.conv .swap{width:40px;height:40px;padding:0;border-radius:12px;font-size:18px}
.conv .rate{padding:10px 0 6px;margin-top:8px}
.conv .rate.best{padding:10px 12px;margin-top:10px}
.conv .rate .logo-sm{width:26px;height:26px;border-radius:7px}
.conv .rate b{font-size:14px}
.conv .rate .big-num{font-size:17px;margin:4px 0 2px}
.conv .rate .chips,.conv .rate .row.small{gap:4px}
.conv .rate .chip{padding:1px 7px;font-size:11px}
.conv .btn.cta{padding:9px 12px;font-size:14px;margin-top:4px}
.conv .more-links{margin-top:4px}
@media (min-width:600px){main{max-width:720px}.conv-line{grid-template-columns:1fr 100px 44px 100px}}
.conv-line .swap{display:grid;place-items:center;width:100%;height:44px;padding:0;margin:0;line-height:1}
.conv-line .swap .ico-wrap{margin:0}
.conv-line input,.conv-line select{height:44px}

.cat-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;margin-top:6px;padding:8px 10px;border-radius:10px;background:var(--soft)}
.req-done h3{margin-bottom:6px}
/* «Знаю мастера — пригласить» (ARG-PRD-002) */
.rqi{padding:10px 12px;border-radius:12px;background:var(--soft)}
.rqi p{margin:0 0 8px}
.rqi .row{flex-wrap:wrap}
.rqs{padding:10px 12px;border-radius:12px;background:var(--soft);border:1px solid var(--line,transparent)}
.rqs p{margin:0 0 8px;display:flex;gap:8px;align-items:flex-start}
.rqs p .ico-wrap{flex:none;margin-right:0;color:var(--accent,currentColor);margin-top:1px}
.rqs .row{flex-wrap:wrap}

.req-edit{border-top:1px solid var(--line);margin-top:8px;padding-top:4px}
.status.closed,.status.expired{color:var(--muted)}
/* полоса «Сегодня»: карточки растягиваются на всю ширину, доллар — одной строкой */
.feed-row.compact .fchip{flex:1 0 auto}
.fchip.skel-chip{flex:1 0 100%;height:62px;padding:0;border-color:transparent;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 25%,color-mix(in srgb,var(--ink) 11%,transparent) 37%,color-mix(in srgb,var(--ink) 5%,transparent) 63%);background-size:400% 100%;animation:skel 1.3s ease-in-out infinite}
.feed-row.compact .fchip.rate-tile{min-width:170px}
.feed-row.compact .fchip.rate-tile:only-child{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-width:100%;height:auto;padding:10px 14px}
.fchip.rate-tile .fk{font-size:12px}
.fchip.rate-tile b{font-size:16px}
.fchip.rate-tile .fs{font-size:12px}
.feed-row.compact .fchip.rate-tile{height:auto;min-height:62px;padding:8px 12px}
.fchip.rate-tile b,.fchip.rate-tile .fs,.fchip.rate-tile .fk{max-width:none;overflow:visible}
.feed-row.compact .fchip.rate-tile:only-child .fs{margin-left:auto}
.feed-row.compact .fchip.rate-tile:only-child .fs{white-space:normal;text-align:right;max-width:38%;line-height:1.25}
.feed-row.compact .fchip.rate-tile:only-child .fk{flex:none}

.notice.bad{border-color:color-mix(in srgb,var(--danger) 50%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}

.xfilters{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}
.xfilters>.btn{align-self:flex-start}

.faq details summary{cursor:pointer;font-weight:600;list-style:none}
.faq details summary::after{content:'＋';float:right;color:var(--accent)}
.faq details[open] summary::after{content:'－'}
.faq details p{margin:8px 0 0;color:var(--muted)}
.faq .card{padding:12px 14px;margin-bottom:8px}

/* страница специалиста */
.prof-head{display:flex;gap:12px;align-items:flex-start;margin:8px 0}
.prof-head h1{margin:0 0 4px;font-size:21px}
.prof-head .grow{flex:1;min-width:0}
.prof-logo{width:72px;height:72px;border-radius:18px;object-fit:cover;background:var(--card);display:grid;place-items:center;font-size:30px;flex:none;border:1px solid var(--line)}
.prof-rating b{color:var(--sun);font-size:16px}
.prof-facts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.prof-facts span{font-size:12.5px;padding:5px 10px;border-radius:99px;background:var(--soft);color:var(--ink)}
.rv-sum{display:flex;gap:16px;align-items:center;margin-bottom:8px}
.rv-big{display:flex;flex-direction:column;align-items:center;min-width:80px}
.rv-big b{font:800 34px var(--font-head)}
.rv-bars{flex:1}
.rv-bar{display:grid;grid-template-columns:12px 1fr 24px;gap:6px;align-items:center;font-size:11.5px}
.rv-bar i{height:6px;border-radius:9px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}
.rv-bar em{display:block;height:100%;background:var(--sun)}
/* критерии отзыва об услуге: средние на странице и строки выбора в форме */
.rv-crit{display:grid;gap:5px;margin:4px 0 10px;padding:10px 12px;border-radius:14px;background:var(--soft)}
.rv-crit-avg{display:grid;grid-template-columns:minmax(0,1fr) 72px 28px;gap:8px;align-items:center;font-size:12.5px}
.rv-crit-avg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-crit-avg i{height:6px;border-radius:9px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}
.rv-crit-avg em{display:block;height:100%;background:var(--sun)}
.rv-crit-avg b{text-align:right}
.rv-crit-form{margin-bottom:6px}
.rv-crit-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rv-crit-row .stars-pick{margin:2px 0}
.rv-crit-row .stars-pick button{font-size:22px}
.rv-crit-line{margin:2px 0}

.svc-hits{margin:8px 0 12px}
.svc-hits .chips{margin-top:6px}

/* офис */
.agents{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:560px){.agents{grid-template-columns:1fr 1fr}}
.agent{margin:0}
.agent.off{opacity:.55}
.agent .grow{flex:1;min-width:0}
.ag-emoji{font-size:26px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--soft)}
.ag-sum{background:color-mix(in srgb,var(--ink) 4%,transparent);border-radius:10px;padding:8px 10px}
.decision{border-color:color-mix(in srgb,var(--sun) 45%,transparent)}
.feed-log .ev{display:grid;grid-template-columns:86px 1fr;gap:8px;padding:6px 0;border-top:1px solid var(--line)}
.feed-log .ev:first-child{border-top:0}
/* воздух между сеткой разделов и блоками ниже */
.grid{margin-bottom:18px}
main>.card,main>a.card{margin-bottom:12px}

/* барахолка */
.ads-head{justify-content:space-between}
.ads-head h1{margin:4px 0}
.ad-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
@media (min-width:560px){.ad-grid{grid-template-columns:repeat(3,1fr)}}
.ad-card{display:flex;flex-direction:column;gap:2px;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line);color:var(--ink);padding-bottom:8px}
.ad-card img,.ad-card .lst-nopic{width:100%;aspect-ratio:1;object-fit:cover;font-size:30px}
.ad-card b{padding:6px 10px 0;font:800 15px var(--font-head)}
.ad-card .ad-t{padding:0 10px;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ad-card .small{padding:0 10px}
.ad-card .lst-nopic,.feed-lst .lst-nopic{flex:none}
.ad-card .ad-mod{color:var(--danger)}
.ad-pics{border-radius:16px;margin:8px 0}
/* избранное и «из канала» на карточке объявления */
.ad-card{position:relative}
.ad-fav{position:absolute;top:8px;right:8px;width:34px;height:34px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(var(--scrim-rgb),.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:17px;line-height:0}
.ad-fav .ico-wrap{margin:0;color:inherit}
.ad-fav.on{color:var(--love)}
.ad-fav.on svg,.ad-fav.on svg path{fill:currentColor}
.ad-fav.big{position:static;margin-left:auto;width:40px;height:40px;font-size:20px;background:var(--card);border:1px solid var(--line);color:var(--muted)}
.ad-fav.big.on{color:var(--love)}
.ad-card>.ad-src{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:99px;font-size:10.5px;font-weight:600;color:#fff;background:rgba(var(--scrim-rgb),.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ads-seg{margin:6px 0 8px;align-self:flex-start;display:inline-flex}
.fchip .fad-ic{width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center;flex:none;background:color-mix(in srgb,var(--sun) 16%,transparent);font-size:20px}

/* 9 блоков главной и страницы групп */
.ptile.wide{grid-column:1/-1;min-height:110px;background-position:center 30%}

/* визуальный аудит 375 px: ровные ряды кнопок, видимые иконки, отступы между блоками фильтров */
.chips button{display:inline-flex;align-items:center;line-height:1.2}
.chips button .n{margin-left:.3em}
.chips button.on .ico-wrap{color:inherit}
.btn.sm{min-height:38px;justify-content:center;line-height:1.2;border:1px solid transparent}
.btn.sm.ghost{border-color:color-mix(in srgb,var(--accent) 18%,transparent)}
.chips+.chips{margin-top:6px}
.chips+.row,.row+.chips{margin-top:8px}
.lst-total{margin:8px 0 4px}
.rate .row>.grow{flex:1 1 130px}
.rate .row>.grow~.chip{margin-left:auto}
.card>.row+.row.small,.card>.row.small+.row,.rate>.row+.row.small,.rate>.row.small+.row{margin-top:8px}

.tasks .tk{padding:8px 0;border-top:1px solid var(--line)}
.tasks .tk:first-child{border-top:0}
.tasks .tk.done{opacity:.6}
.tasks .row{justify-content:space-between;flex-wrap:nowrap}
/* профиль человека и витрина продавца */
.avatar{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:var(--soft);color:var(--accent);font:700 17px var(--font-head);border:1px solid var(--line)}
.avatar.lg{width:56px;height:56px;font-size:22px}
.avatar.xl{width:72px;height:72px;font-size:28px}
.usr-head{gap:12px;align-items:center}
.usr-head .grow{flex:1;min-width:0}
.usr-head h1,.usr-head b{overflow-wrap:anywhere}
.seller-row{gap:10px;align-items:center;color:var(--ink);padding:10px 12px}
.seller-row .grow{flex:1;min-width:0}
/* Дерево услуг: чипы услуг в разделе (одна строка с прокруткой), цена в карточке, редактор в кабинете */
.svc-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:4px -2px 8px;padding:0 2px 2px;-webkit-overflow-scrolling:touch}
.svc-chips::-webkit-scrollbar{display:none}
.svc-chips button{flex:0 0 auto;white-space:nowrap}
.svc-hit{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:13.5px;padding:7px 10px;margin:6px 0;border-radius:10px;background:var(--soft);border:1px solid var(--line)}
.svc-hit b{white-space:nowrap}
.svc-min span{min-width:0;font-size:12.5px;line-height:1.35}
.svc-prices .svc-note{display:block;color:var(--muted);font-size:12px}
.svc-prices .pr b{white-space:nowrap}
/* «Задать вопрос» по услуге мастера (ARG-CHAT-001 шаг 3): линейная иконка справа от цены, зона нажатия 40px */
.svc-prices .pr{align-items:center}
.svc-prices .pr>span{flex:1;min-width:0}
.svc-ask{flex:none;width:40px;height:40px;margin:-6px -8px -6px 0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:transparent;color:var(--accent);cursor:pointer}
.svc-ask:active{background:color-mix(in srgb,currentColor 12%,transparent)}
.svc-ask .ico-wrap{margin:0}
.svc-ask .ico-wrap svg{width:20px;height:20px}
.ch-svc{white-space:normal}
.svc-ed-row label.check{margin-top:8px}
.svc-ed-more{display:grid;grid-template-columns:1fr 84px;gap:6px;margin:6px 0 4px 26px}
.svc-ed-more input:last-child{grid-column:1/-1}
/* онлайн-запись и планировщик */
.bk-dates{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.bk-dates::-webkit-scrollbar{display:none}
.bk-date{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:52px;padding:7px 6px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--ink);font:inherit;cursor:pointer}
.bk-date b{font-size:17px;line-height:1.1}
.bk-date.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.bk-date.on .muted{color:inherit;opacity:.8}
.bk-slots button{min-width:64px;text-align:center}
.bk-st{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:99px;border:1px solid currentColor;white-space:nowrap}
.bk-st.pending{color:var(--sun)} .bk-st.confirmed,.bk-st.done{color:var(--ok)} .bk-st.declined,.bk-st.cancelled,.bk-st.noshow,.bk-st.expired{color:var(--muted)}
.bk-item .row{flex-wrap:nowrap} .bk-item .grow{flex:1;min-width:0;overflow-wrap:anywhere}
.bk-item .row.gap{flex-wrap:wrap}
.bk-item.block{border-left:3px solid var(--warn)} .bk-item.task{border-left:3px solid var(--accent)} .bk-item.done{opacity:.6}
.bk-offer{border-left:3px solid var(--accent);background:var(--card2);border-radius:10px;padding:8px 10px;margin:8px 0} .bk-offer p{margin:0 0 6px}
.bk-time{white-space:nowrap;font-variant-numeric:tabular-nums}
.bk-day{flex-wrap:nowrap;gap:6px;margin-top:6px} .bk-day input[type=time],.bk-day input[type=date]{flex:1;min-width:0;padding:8px}
.bk-day label.check{margin:0;min-width:64px}
.bk-svc{flex-wrap:nowrap;gap:6px;margin-top:6px} .bk-svc input{padding:8px} .bk-svc input:first-child{flex:2;min-width:0} .bk-svc input[type=number]{flex:0 0 64px} .bk-svc input:nth-child(3){flex:1;min-width:0}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;align-items:end}
.bk-sync{display:grid;gap:8px;margin-top:8px} .bk-sync .btn.sm{width:100%;justify-content:center;text-align:center}
.pl-nav{flex-wrap:nowrap;margin:6px 0 10px} .pl-nav b{text-align:center} .pl-nav b::first-letter{text-transform:uppercase}
.pl-nav .btn.sm{min-height:44px;min-width:44px}
.pl-day{margin:14px 0 6px;font-size:14px;color:var(--muted)} .pl-day::first-letter{text-transform:uppercase}

/* ---------- 💞 Знакомства: компактно для 375 px, реалистичные фото, без «мультяшности» ---------- */
.dt-hero{position:relative;min-height:170px;border-radius:20px;overflow:hidden;background:var(--media) center 30%/cover no-repeat;display:flex;align-items:flex-end;box-shadow:var(--shadow);margin:8px 0 10px}
.dt-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--scrim-rgb),.05) 20%,rgba(var(--scrim-rgb),.94))}
.dt-hero>div{position:relative;z-index:1;padding:14px 16px;color:#fff}
.dt-hero h1{margin:0 0 4px;color:#fff}
.dt-hero p{margin:0;font-size:13.5px;color:rgba(255,255,255,.85)}
.dt-goals{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dt-goals .card{margin:0;padding:12px}
.dt-goals .card p{margin:4px 0 0}
.dt-rules{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}
.dt-birth select,.dt-birth input{flex:1;min-width:0}
.dt-nav{display:flex;gap:4px;background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid var(--line);border-radius:14px;padding:4px;margin:0 0 10px}
.dt-nav a{flex:1;text-align:center;padding:8px 4px;border-radius:10px;color:var(--muted);font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}
.dt-nav a.on{background:var(--accent);color:var(--accent-ink)}
.dt-n{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--love);color:#fff;font:700 11px/1 var(--font-text)}
.dt-card{border-radius:20px;overflow:hidden;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:10px}
.dt-photo{position:relative}
.dt-pics{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--media)}
.dt-pics::-webkit-scrollbar{display:none}
.dt-pics img,.dt-pics .lst-nopic{flex:0 0 100%;scroll-snap-align:start;width:100%;aspect-ratio:4/5;max-height:56vh;object-fit:cover;display:flex;align-items:center;justify-content:center}
.dt-over{position:absolute;left:0;right:0;bottom:0;padding:40px 14px 12px;background:linear-gradient(180deg,rgba(var(--scrim-rgb),0),rgba(var(--scrim-rgb),.9));color:#fff;display:flex;flex-direction:column;gap:2px;pointer-events:none}
.dt-over b{font:800 21px/1.2 var(--font-head)}
.dt-over .small{color:rgba(255,255,255,.85)}
.dt-dots{position:absolute;top:8px;left:0;right:0;display:flex;gap:4px;padding:0 10px;pointer-events:none}
.dt-dots i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35)}
.dt-dots i.on{background:#fff}
.dt-body{position:relative;padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}
.dt-body .row{gap:6px}
.dt-langs{display:flex;gap:12px;flex-wrap:wrap;color:var(--ink)}
.dt-about{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.chip.dt-goal{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.chip.dt-common{color:var(--ok);border-color:currentColor}
.dt-dots-btn{position:absolute;top:16px;right:10px;z-index:2;border:0;background:rgba(var(--scrim-rgb),.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;width:36px;height:32px;border-radius:10px;font:700 18px/1 inherit;cursor:pointer}
.dt-actions{position:sticky;bottom:calc(70px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px 0;z-index:3}
.dt-btn{display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:16px;padding:14px 10px;font:700 15px/1 var(--font-text);cursor:pointer;box-shadow:var(--shadow)}
.dt-btn .ico-wrap{color:inherit}
.dt-btn.skip{background:var(--card2);color:var(--ink)}
.dt-btn.like{background:var(--grad-love);color:#fff;border-color:transparent}
.dt-btn:disabled{opacity:.6}
.dt-left{text-align:center;margin:4px 0 0}
.dt-empty p{margin-bottom:10px}
.dt-photos .ph.main img{outline:2px solid var(--accent);outline-offset:-2px}
.dt-main{position:absolute;left:4px;bottom:4px;background:rgba(var(--scrim-rgb),.8);color:#fff;font-size:10.5px;padding:2px 6px;border-radius:99px}
.dt-add{aspect-ratio:1;border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:600 12px var(--font-text);cursor:pointer}
.dt-add .ico-wrap{margin:0;font-size:20px}
.dt-sheet{position:fixed;inset:0;z-index:20;background:rgba(var(--scrim-rgb),.6);display:flex;align-items:flex-end;justify-content:center}
.dt-sheet-in{width:100%;max-width:640px;max-height:88vh;overflow:auto;background:var(--card);border-radius:20px 20px 0 0;border:1px solid var(--line);padding:14px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}
.dt-sheet-head{margin-bottom:4px}
.dt-sheet-head .grow{flex:1;font:700 16px var(--font-head)}
.dt-sheet textarea{min-height:80px}
.dt-match{display:flex;justify-content:center;padding:6px 0}
.dt-match .avatar.xl{width:112px;height:112px;border:3px solid var(--love)}
.dt-list .dt-row{gap:10px;align-items:center;color:var(--ink);padding:10px 12px;flex-wrap:nowrap}
.dt-row .grow{flex:1;min-width:0}
.dt-last{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-chat-head{flex-wrap:nowrap;gap:10px;margin-bottom:6px}
.dt-chat-head>a.small{font-size:20px;padding:0 4px}
.dt-who{flex:1;min-width:0;color:var(--ink);flex-wrap:nowrap}
.dt-who b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-tg{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0}
.dt-tg:empty{display:none}
.dt-msgs{display:flex;flex-direction:column;gap:6px;padding:6px 0 12px;min-height:30vh}
.dt-msg{align-self:flex-start;max-width:82%;background:var(--card2);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:8px 11px;overflow-wrap:anywhere;white-space:pre-line}
.dt-msg.mine{align-self:flex-end;background:var(--grad-btn);color:var(--on-grad);border-color:transparent;border-radius:16px 16px 4px 16px}
.dt-msg i{display:block;font-style:normal;font-size:10.5px;opacity:.65;text-align:right;margin-top:2px}
.dt-sys{align-self:center;color:var(--muted);background:color-mix(in srgb,var(--ink) 4%,transparent);border-radius:99px;padding:4px 10px;text-align:center}
.dt-hi{text-align:center;margin-top:20px}
.dt-input{position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));display:flex;gap:8px;align-items:flex-end;padding:8px 0;background:var(--bg);z-index:3}
.dt-input textarea{flex:1;min-width:0;resize:none;min-height:46px;height:46px;max-height:120px;padding:11px 13px;font:inherit}
.dt-send{flex:none;width:46px;height:46px;border:0;border-radius:14px;background:var(--grad-btn);color:var(--on-grad);display:flex;align-items:center;justify-content:center;cursor:pointer}
.dt-send .ic{width:20px;height:20px}
.dt-send:disabled{opacity:.5}

/* ================= ВИЗУАЛ 2026 (ARG-UI-002): токены, стекло, состояния, скелетоны =================
   Только внешний вид: раскладка и логика экранов не меняются. Новые правила — через токены ниже. */
html,body{font-family:var(--font-text);font-size:var(--fs-md);text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--font-head);text-wrap:balance;overflow-wrap:break-word}
h1{font-size:var(--fs-2xl)} h2{font-size:18px} h3{font-size:16px}
p,li{text-wrap:pretty}
.small{font-size:var(--fs-sm)}

/* иконки: единый размер и посадка по центру строки */
.ic{width:1.15em;height:1.15em;vertical-align:-.21em}
.ico-wrap{line-height:0}

/* шапка и нижнее меню — «стекло» */
.top{background:var(--glass);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid var(--glass-line)}
.langbtn{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-sm)}
.langbtn .ico-wrap{margin-right:.35em;color:var(--accent)}
.tabs{background:var(--glass);backdrop-filter:saturate(1.6) blur(20px);-webkit-backdrop-filter:saturate(1.6) blur(20px);border-top:1px solid var(--glass-line);box-shadow:var(--e-up);padding-top:4px}
/* нижнее меню (ARG-BRAND-001 шаг 3): те же линейные иконки 22 px; активная — цвет акцента, лёгкая заливка и градиентная черта сверху */
.tabs a{position:relative;min-height:48px;justify-content:center;gap:3px;max-width:20vw;font:500 10.5px/1.2 var(--font-text);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}
.tabs a i{display:grid;place-items:center;height:26px;font-style:normal;line-height:0;transition:transform .1s}
.tabs a i .ico-wrap{margin:0}
.tabs a .ic{width:22px;height:22px;stroke-width:1.6}
.tabs a.on{color:var(--accent);font-weight:600}
.tabs a.on .ic{fill:color-mix(in srgb,currentColor 16%,transparent);stroke-width:1.85}
.tabs a.on::before{content:'';position:absolute;top:0;left:50%;width:18px;height:3px;margin-left:-9px;border-radius:0 0 3px 3px;background:var(--grad)}
.tabs a:active i{transform:scale(.92)}

/* кнопки: высота касания и нажатие */
.btn{min-height:var(--h-btn);border-radius:var(--r-md);transition:transform .08s,filter .15s,box-shadow .15s}
.btn.sm{min-height:var(--h-chip);border-radius:var(--r-sm);padding:7px 13px}
.btn.sm .ico-wrap{margin-right:.35em}
main>.btn.mt{padding:12px 14px}
.btn:active{transform:scale(.97);filter:brightness(.95)}
.btn:disabled{opacity:.5;transform:none}
@media (hover:hover){.btn:hover{filter:brightness(1.07)}.chips button:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}a.card:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.tile:hover i{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--tn,var(--accent)) 45%,transparent)}}

/* чипы-фильтры: одна высота, иконка по центру */
.chips{gap:var(--s-2) 6px}
.chips button{min-height:var(--h-chip);padding:0 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);transition:background .15s,border-color .15s,transform .08s}
.chips button:active{transform:scale(.96)}
.chips:not(:empty)+p{margin-top:var(--s-2)}
.chips button .ico-wrap{margin-right:.35em}
/* подписи-чипы в карточках */
.chip{display:inline-flex;align-items:center;min-height:24px;line-height:1.2;font-size:var(--fs-xs);border-radius:var(--r-pill);vertical-align:middle}
.chip .ico-wrap{margin-right:.3em}
.seg button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px} /* UX-039: зона нажатия ≥44 px */

/* фокус с клавиатуры — заметное кольцо */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}
.btn:focus-visible,.chips button:focus-visible{box-shadow:var(--ring)}
input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--ring)}

/* поля: высота касания, длинная подсказка — многоточием */
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select{min-height:var(--h-btn)}
input,.search{text-overflow:ellipsis}
.search{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3b3cb' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")}
label.check{min-height:var(--h-btn);margin-top:var(--s-2);margin-bottom:0}

/* карточки и плитки: мягкая тень, нажатие */
.card{box-shadow:var(--e-2)}
a.card,.tile,.ptile,.ad-card,.fchip,.feed-lst{transition:transform .1s,border-color .15s}
a.card:active,.tile:active,.ptile:active,.ad-card:active,.fchip:active,.feed-lst:active{transform:scale(.985)}
.stat{border:1px solid var(--line);border-radius:var(--r-md)}
.ptile{border-radius:var(--r-lg)}
/* подпись плитки — одной высоты в ряду, чтобы низ плашек совпадал */
.ptile-lbl{min-height:52px}
.ptile .badge{box-shadow:var(--e-1)}
.card>.row+p,.card>.row+.small{margin-top:6px}
.row>h3{min-width:0}
.toast{border-radius:var(--r-md);box-shadow:var(--e-3)}
.modal-card{border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--e-3)}
.fav{display:inline-grid;place-items:center;min-width:36px;min-height:36px}
.leave>a{opacity:.85}

/* факты места (площадка, часы, кухня…): каждый со своей иконкой */
.pfacts{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 10px}
.pfacts span{display:inline-flex;align-items:center;min-width:0}
/* сложные часы OSM (ARG-UX-002): свёрнуты под «часы работы», исходная запись — по нажатию */
.oh-raw{display:inline}
.oh-raw summary{cursor:pointer;list-style:none;text-decoration:underline dotted;text-underline-offset:3px}
.oh-raw summary::-webkit-details-marker{display:none}
.oh-raw[open] span{display:block;margin-top:2px;word-break:break-word}

/* Маркет: пустой список — на всю ширину сетки */
.ad-grid>p{grid-column:1/-1}

/* статусы в «Офисе» — цветные точки вместо эмодзи-кружков */
.sdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:.05em;background:color-mix(in srgb,var(--ink) 35%,transparent);flex:none}
.s-ok{background:var(--ok)} .s-work{background:var(--accent)} .s-wait{background:var(--sun)} .s-err{background:var(--danger)}
.s-review{background:var(--c-violet)} .s-test{background:var(--c-mint)} .s-block{background:var(--c-orange)} .s-off{background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 35%,transparent)}

/* скелетоны, пока грузятся списки */
.skel{display:grid;gap:10px;margin:8px 0}
.skel-card{display:grid;gap:10px;padding:16px 14px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line)}
.skel-line,.skel-block,.skel-grid i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 25%,color-mix(in srgb,var(--ink) 11%,transparent) 37%,color-mix(in srgb,var(--ink) 5%,transparent) 63%);background-size:400% 100%;animation:skel 1.3s ease-in-out infinite}
.skel-line.w60{width:60%;height:16px} .skel-line.w90{width:90%} .skel-line.w40{width:40%}
.skel-h{height:26px;width:55%;margin:6px 0 4px}
.skel-block{height:46px;border-radius:var(--r-md)}
.skel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.skel-grid i{height:128px;border-radius:var(--r-lg)}
.ad-grid>.skel{margin:0}
.ad-grid .skel-card{min-height:200px;align-content:end}
@keyframes skel{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.skel-line,.skel-block,.skel-grid i{animation:none}}

/* «Поделиться» (ARG-GRW-002): кнопка в шапке карточки, меню «Куда отправить», экран «карточка недоступна» */
.prof-acts{display:flex;flex-direction:row;align-items:center;gap:2px;flex:none} /* ☆ ⚖ поделиться — в ряд (ARG-UX-065) */
.share-btn{color:var(--muted)}
.share-btn .ico-wrap svg,.sh-ico .ico-wrap svg{width:20px;height:20px}
.row>.fav+.share-btn{margin-left:-4px}
.sh-prev{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md,12px);background:var(--soft)}
.sh-prev b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 6px;margin:4px 0}
.sh-ch{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:var(--ink);font:inherit;font-size:12px;cursor:pointer;padding:4px 0;min-height:44px}
.sh-ch span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font:600 19px/1 var(--font-head);font-style:normal;color:#fff;background:var(--soft);box-shadow:var(--e-1,none)}
.sh-ico .ico-wrap{color:var(--accent)}
.sh-ch:active .sh-ico{transform:scale(.94)}
/* ARG-SHARE-010: «Открыть в браузере» и «Ошибка или дополнение» под каналами — одна строка, переносятся целиком */
.sh-more{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.sh-more .btn{flex:1 1 auto;justify-content:center;white-space:nowrap}
.sh-more .ico-wrap svg{width:16px;height:16px}
.modal-card.sh .report{margin-top:8px}
.sh-head{flex-wrap:nowrap;align-items:flex-start}
.sh-head>.grow{flex:1;min-width:0}
.fact-row{flex-wrap:nowrap;align-items:flex-start}
.fact-row>.fact{flex:1;min-width:0;margin:0}
.sh-gone{text-align:center}
.sh-gone .btn{margin-top:8px}
/* Обмен: карточка обменника кликабельна (→ профиль), ★ рейтинг и отзывы — ссылка к отзывам */
.rate.tap{cursor:pointer}
.rate.tap:active{opacity:.85}
.rate-rv{display:inline-flex;align-items:center;gap:4px;margin:4px 0 0 32px;padding:4px 0;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none}
.rate-rv .st{color:var(--sun)}
.rate-rv.none{color:var(--muted);font-weight:400}

/* Карточка пользователя 2.0 (ARG-GRW-004): шкала, «Первые 7 дней», «Знаток города», доверие — сдержанно, без конфетти */
.uc-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin:6px 0}
.uc-bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .3s}
.uc-next{align-items:center;gap:8px}
.uc-badges{gap:6px;flex-wrap:wrap;margin-top:4px}
.chip.uc-lvl{color:var(--accent);border-color:currentColor;background:transparent;font-weight:600}
.chip.uc-lock{font-size:11px}
.uc-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.uc-check{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px}
.uc-step{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;border-radius:10px;color:inherit;text-decoration:none}
a.uc-step:active{background:var(--line)}
.uc-step .grow{flex:1;min-width:0}
.uc-step-go{color:var(--muted);padding:0 4px}
.uc-check li.done .uc-step .grow{color:var(--muted);text-decoration:line-through}
.uc-box{flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--ok)}
.uc-check li.done .uc-box{border-color:var(--ok)}
.uc-coll{border:1px solid var(--line);border-radius:10px;padding:8px;margin:6px 0;display:grid;gap:6px}
/* «Первые 7 дней» на главной — компактно: строка + полоска, шаги по нажатию */
.uc-onb.compact{padding-top:8px;padding-bottom:8px}
.uc-onb>.row{flex-wrap:nowrap;align-items:center}.uc-onb>.row>.grow{flex:1;min-width:0}
.uc-onb.compact .uc-onb-head{flex:1;min-width:0}
.uc-onb-head{display:flex;align-items:center;gap:4px;min-height:40px;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden}
.uc-onb-head b{overflow:hidden;text-overflow:ellipsis}
.uc-onb-chev{margin-left:auto;padding:0 6px;color:var(--muted);transition:transform .2s}
.uc-onb.open .uc-onb-chev{transform:rotate(90deg)}
.uc-onb.compact .uc-bar{margin:2px 0 0}
.share-slot{display:flex;justify-content:flex-end}
.rv-help.on{color:var(--accent);border-color:currentColor}
/* UX P2: «← Назад» — зона нажатия 44 px (UX-003); вид прежний */
a.back{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding-right:8px;-webkit-tap-highlight-color:transparent}
/* UX-004: карта Leaflet (слои 400, кнопки 1000) — в своём слое, не поверх шапки и нижнего меню */
.map-box,.qv-map{position:relative;z-index:0;isolation:isolate}
/* UX-005: общий блок ошибки загрузки с кнопкой «Повторить» */
.err-box{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:10px}
.err-box p{margin:0;color:var(--muted)}
.ad-grid .err-box,.bk-dates .err-box{grid-column:1/-1;flex-basis:100%}
/* ARG-GRW-001: «Друзья» (лестница наград) и пропуск Клуба ArgHub — без горизонтальной прокрутки на 360 px */
.ref-lvl{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 11%,transparent)}
.ref-lvl:last-child{border-bottom:0}
.ref-lvl .chip{white-space:nowrap}
.club-offer{border-color:color-mix(in srgb,var(--ok) 35%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}
.club-pass{text-align:center}
.club-code{font-size:52px;font-weight:800;letter-spacing:.18em;color:var(--sun);margin:4px 0;font-variant-numeric:tabular-nums}
.club-clock{font-variant-numeric:tabular-nums;font-size:18px;margin:6px 0 0}

/* Личная ссылка на запись (ARG-SVC-006) */
.bl-link{margin-bottom:6px}.bl-url{display:block;font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere;min-width:0}
.bl-qr-box{display:flex;justify-content:center;margin:8px 0}.bl-qr{width:200px;height:200px;border-radius:12px;background:#fff;padding:6px}
.bl-text{border-top:1px solid var(--line);padding:8px 0}.bl-text p{margin:4px 0}

/* «Афиша» (ARG-LEI-001) */
.ev-list{display:flex;flex-direction:column;margin:8px 0}
.ev-card{display:flex;gap:12px;align-items:flex-start;color:var(--ink)}
.ev-date{flex:none;width:48px;padding:6px 0;border-radius:12px;background:var(--soft);color:var(--accent);text-align:center;line-height:1.1}
.ev-date b{display:block;font:700 20px/1.1 var(--font-head)}.ev-date span{font-size:11px;text-transform:uppercase}
.ev-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ev-t{font-size:15px;line-height:1.25;overflow-wrap:anywhere}
.ev-chips{flex-wrap:wrap;gap:4px;margin-top:2px}
.ev-when{font-weight:600}
.ev-actions{flex-wrap:wrap}.ev-actions .btn{width:auto;flex:1 1 auto}
.ev-desc{white-space:pre-line;overflow-wrap:anywhere}
.ev-map{height:220px;margin:10px 0}
.fchip.ev-chip{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px}
.fchip.ev-chip b{font-size:13px}
/* Пустой раздел (ARG-PRD-001): экран «пополняется» и тихое «скоро» на плитках (плитка остаётся кликабельной) */
.cold-acts{display:flex;flex-direction:column;gap:8px;margin-top:10px}.cold-form{padding:4px 0}.cold-guide{margin-top:12px}
.tile.soon{opacity:.72}.tile.soon .cnt{font-style:italic}.ptile.soon{filter:saturate(.55)}

/* Большая кнопка сразу над плашками/строкой кнопок — отступ, чтобы тень и край не наезжали (жалоба владельца 28.09: «Туризм» и др.) */
.btn:not(.sm)+.chips,.btn:not(.sm)+.seg,.btn:not(.sm)+.row,.btn:not(.sm)+.xfilters,.btn:not(.sm)+.subgrid,.btn:not(.sm)+div:not([class]),.btn:not(.sm)+.card:not(.mt){margin-top:14px}
/* Факт дня: кнопка «Поделиться» внутри карточки (карточка на всю ширину) и отступ до следующего блока — не наезжает на «Праздники» */
.fact-row{position:relative;margin:10px 0 12px}
.fact-row>.fact{padding-right:48px}
.fact-row>.share-btn{position:absolute;top:8px;right:8px}
.row.sh-head{margin-bottom:12px}.row.sh-head h1{margin-bottom:0}
/* Нижнее меню из 5 вкладок с длинными подписями («Мои заявки», «Партнёрам») — в одну строку на 360 px */
.tabs a{min-width:0;flex:1;padding:0 2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px}
/* «Категории»: группа — строка-заголовок и подразделы чипами; «Моё» — ссылки Гид/Друзья/Язык */
.cats-g{padding:10px 12px}.cats-h{align-items:center;gap:8px;color:inherit;min-height:36px}.cats-h i{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r-sm);background:color-mix(in srgb,var(--tn,var(--accent)) 11%,var(--card));color:var(--tn,var(--accent))}.cats-h i .ico-wrap{margin:0;color:inherit}.cats-h .ic{width:19px;height:19px}.cats-h .grow{flex:1;min-width:0}
.cats-g .chips{margin-top:8px}.cats-g .chip{text-decoration:none;display:inline-flex;align-items:center;min-height:32px;padding:4px 12px}
.me-links{padding:0 12px}.me-links .row{color:inherit;min-height:46px;align-items:center;border-top:1px solid var(--line)}.me-links .row:first-child{border-top:0}
/* Пустой Маркет: карточка «выложить первым» + «позвать продавца» */
.ads-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:20px 16px}
.ads-empty .ads-empty-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--soft);color:var(--accent)}
.ads-empty .ads-empty-ico svg{width:24px;height:24px}
.ads-empty b{font-size:16px;line-height:1.3}
.ads-empty p{margin:0 0 4px}
.ads-empty .btn{max-width:320px}
/* ARG-UX-003: своё окно подтверждения (вместо системных confirm) — по центру, в стиле карточек */
.dlg{position:fixed;inset:0;z-index:30;background:rgba(var(--scrim-rgb),.62);display:flex;align-items:center;justify-content:center;padding:16px;animation:dlg-in .14s ease-out}
.dlg-in{width:100%;max-width:360px;background:linear-gradient(180deg,var(--card2,var(--card)),var(--card));border:1px solid var(--line);border-radius:18px;padding:18px 16px 14px;box-shadow:var(--e-3)}
.dlg-q{margin:0 0 16px;font:600 15.5px/1.45 var(--font-text);color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}
.dlg-acts{display:flex;gap:10px}.dlg-acts .btn{flex:1;margin:0}
.btn.danger-solid{background:var(--danger);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--danger) 25%,transparent)}
@keyframes dlg-in{from{opacity:0}to{opacity:1}}
/* «Мой кабинет»: счётчики вверху «Моё» — 4 в ряд, на узком экране 2×2 */
.me-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 12px}
.me-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:8px 4px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:inherit;text-decoration:none;text-align:center}

.me-n{font:700 20px/1.1 var(--font-head);color:var(--accent)}
.me-stat.zero .me-n{color:var(--muted);font-weight:600}
@media (max-width:359px){.me-stats{grid-template-columns:repeat(2,1fr)}}
.me-top{display:flex;align-items:center;gap:5px}.me-ic{font-style:normal;color:var(--muted);display:inline-flex}
.me-stat .me-lbl{font-size:11.5px;line-height:1.2;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 🦁 Лео (ARG-LEO-001): чат — пузыри, кнопки под ответом, строка ввода с фото/голосом */
.leo-tile{align-items:center;gap:10px;padding:10px 14px;color:inherit;margin:10px 0}.leo-ava{font-size:22px;line-height:1}
.leo-log{display:flex;flex-direction:column;gap:8px;margin:6px 0 12px}
.leo-msg{max-width:88%;padding:9px 12px;border-radius:16px;background:var(--card);border:1px solid var(--line);align-self:flex-start;overflow-wrap:anywhere}
.leo-msg.u{align-self:flex-end;background:var(--soft);border-color:transparent}
.leo-msg.wait{color:var(--muted);font-style:italic}
.leo-txt{white-space:pre-wrap}
.leo-img{display:block;max-width:100%;border-radius:12px;margin-top:8px}
.leo-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.leo-bar{display:flex;gap:8px;align-items:flex-end;position:sticky;bottom:72px;background:var(--bg);padding:6px 0}
.leo-bar textarea.leo-in{min-height:44px;max-height:140px;flex:1}
.leo-acts{display:flex;gap:6px;flex:none}
.mic-btn.att{background:var(--accent);color:var(--accent-ink)}
.leo-go{background:var(--accent);color:var(--accent-ink)}
.lst-moveby{margin:6px 0 2px}
.lst-moveby input[type=date]{width:auto;flex:0 1 170px;margin:0;min-height:36px}
/* Еда и доставка (ARG-EDA-001): меню недели по дням, блюда с фото, тарифы, «Заказать в боте» */
.food-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap}
.food-days button{white-space:nowrap;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;color:inherit;cursor:pointer}
.food-days button.on{background:var(--accent);color:var(--accent-ink);border-color:transparent}
.food-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}
.dish{display:flex;gap:10px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:12px}
.dish img,.dish .dish-ph{width:76px;height:76px;flex:none;border-radius:10px;object-fit:cover;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:28px}
.dish .dish-name{display:block}
.dish p{margin:2px 0}
.dish.off{opacity:.5}
.dish{cursor:pointer}
.dish.open{flex-direction:column}
.dish.open img{width:100%;height:auto;max-height:320px;object-fit:contain}
/* 2–3 фото блюда — кадры одного размера друг над другом, листает public/photo-cycle.js (ui/photo-cycle); точки — какой кадр */
.cyc{position:relative;display:block;flex:none;overflow:hidden}
.cyc>img+img{position:absolute;inset:0;opacity:0;transition:opacity .25s ease}
.cyc>img.cyc-on{opacity:1}
.cyc-dots{position:absolute;left:0;right:0;bottom:5px;display:flex;justify-content:center;gap:4px;pointer-events:none}
.cyc-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 2px rgba(0,0,0,.45);transition:background .3s}
.cyc-dots i.on{background:#fff}
@media (prefers-reduced-motion:reduce){.cyc>img+img,.cyc-dots i{transition:none}}
.dish .cyc{width:76px;height:76px;border-radius:10px}
.dish.open .cyc{width:100%;height:auto}
.dish.open .cyc>img+img{height:100%;max-height:none}
.fd-tile .cyc{width:100%;aspect-ratio:1/1;border-radius:9px;margin-bottom:4px}
.fd-tile .cyc>img{height:100%;margin:0}
.dish .dish-gal{display:none}
.dish.open .dish-gal{display:flex;gap:6px;width:100%;overflow-x:auto;scroll-snap-type:x mandatory}
.dish.open .dish-gal img{width:calc(50% - 3px);height:auto;aspect-ratio:1;max-height:none;object-fit:cover;scroll-snap-align:start;cursor:zoom-in}
.dash-dishes ol{margin:4px 0 8px;padding-left:20px}
.food-how{list-style:none;counter-reset:fh;margin:0 0 10px;padding:0;display:grid;gap:8px}
.food-how li{counter-increment:fh;position:relative;padding:10px 12px 10px 52px;min-height:44px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.food-how li::before{content:counter(fh);position:absolute;left:12px;top:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--accent);color:var(--accent-ink,#fff)}
.food-how b,.food-how span{display:block}
.food-plan{margin:6px 0}
.food-cta{margin:10px 0}
.food-cta .btn{display:block;width:100%;text-align:center;box-sizing:border-box}
.food-sticky{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:5}
.food-sticky .btn{box-shadow:0 6px 18px rgba(0,0,0,.18)}
.food-plan .pr .btn{margin-left:8px;flex:none}
/* Аренда авто (ARG-RENT-001): сетка машин 2 в ряд, по клику — тарифы по срокам и «Забронировать» */
.cars-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 12px}
.car-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;background:var(--card)}
.car-card img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;background:var(--soft)}
.car-card .car-ph{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:32px;background:var(--soft)}
.car-card .car-body{padding:8px}
.car-card .car-name{display:block}
.car-card p{margin:2px 0}
.car-card .car-price{color:var(--accent);font-weight:600}
.car-card.off{opacity:.5}
.car-card.open{grid-column:1/-1}
.car-card.open img{max-height:280px;object-fit:contain}
.car-detail{padding:0 8px 8px}
.car-perks{margin:4px 0;padding-left:18px;font-size:13px}
.car-tiers{width:100%;border-collapse:collapse;margin:6px 0;font-size:13px}
.car-tiers td{padding:3px 6px;border-bottom:1px solid var(--line)}
.car-detail .btn{display:block;width:100%;text-align:center;box-sizing:border-box;margin-top:6px}
/* «🚚 Сегодня доставка в ваш район» (ARG-EDA-001): сегодня — заметно, ближайшая — спокойно; длинный текст переносится */
.fd-today-box{margin:8px 0}
.chip.fd-today{white-space:normal;line-height:1.3}
.chip.fd-today.on{color:var(--ok);border-color:currentColor;font-weight:600}
.fe-slots{margin:8px 0}
/* кабинет: меню еды и доставки (ARG-EDA-001 шаг 3) */
.fe-dish{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px}
.fe-dish.off{opacity:.6}
.fe-dish input,.fe-dish textarea,.fe-dish select,.fe-plan input,.fe-plan textarea,.fe-plan select{width:100%;box-sizing:border-box;min-width:0}
.fe-ph{width:64px;height:64px;flex:none;border:1px dashed var(--line);border-radius:10px;background:var(--soft);font-size:22px;padding:0;overflow:hidden;cursor:pointer}
.fe-ph img{width:100%;height:100%;object-fit:cover;display:block}
/* «Фото из брендбука» (ARG-EDA-002 шаг 7): кнопка под фото блюда и сетка фото в шторке */
.fe-phs{display:flex;flex-direction:column;gap:4px;flex:none;align-items:center}
.fe-lib-btn{min-height:32px;padding:2px 10px}
.fe-lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:60vh;overflow-y:auto;padding-bottom:8px}
.fe-lib-i{display:flex;flex-direction:column;gap:4px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--card,#fff);overflow:hidden;cursor:pointer;text-align:left;color:inherit;font:inherit}
.fe-lib-i img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.fe-lib-i span{font-size:12px;line-height:1.25;padding:0 6px 6px}
.fe-nums{flex-wrap:wrap}
.fe-nums label{flex:1 1 80px;min-width:0;font-size:12px}
.fe-nums select{flex:1 1 90px;width:auto}
.fe-plan{display:flex;flex-direction:column;gap:6px;padding:8px;margin:6px 0;border:1px solid var(--line);border-radius:12px}
.fe .row.gap{flex-wrap:wrap}
/* Рабочее место обменника (ARG-EXC-002) */
.xd-sec{border-top:1px solid var(--line);padding:12px 0 4px}
.xd-sec:first-of-type{border-top:0}
.xd-sec h3{margin:0 0 6px;font-size:15px}
details.xd-sec>summary{font-weight:600;cursor:pointer}
.xd-warn{color:var(--warn)}
.xd-list{list-style:none;margin:6px 0 10px;padding:0}
.xd-list li{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;min-width:0}
.xd-list li:last-child{border-bottom:0}
.xd-list .grow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xd-when{white-space:nowrap;font-variant-numeric:tabular-nums}
.xd-bars{display:flex;align-items:flex-end;gap:2px;height:64px;margin-top:4px}
.xd-bars i{flex:1;min-width:0;background:var(--muted);opacity:.45;border-radius:2px 2px 0 0}
.xd-bars i.bk{background:var(--accent);opacity:1}
.xd-axis{margin:4px 0 0}
.xd-stats{grid-template-columns:repeat(3,1fr)}
/* умные слоты доставки обменника (ARG-EXC-002) */
.bk-slots button.xs-near{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,var(--card));color:var(--ink);font-weight:600}
.bk-slots button.xs-near.on{background:var(--ok);color:var(--ok-ink)}
.xs-near-note{flex-basis:100%;margin:0 0 4px;color:var(--ok)}
.xs-areas{max-height:220px;overflow-y:auto}
.xs-route{padding-left:0}
.row.wrap{flex-wrap:wrap}
/* «Советы ArgHub» на карточке (ARG-GRW-008): свёрнутый блок, вопросы на испанском с копированием */
.tips summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}
.tips summary::-webkit-details-marker{display:none}
.tips summary::after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
.tips[open] summary::after{transform:rotate(-135deg)}
.tips-list{margin:10px 0;padding-left:18px;display:grid;gap:6px;font-size:14px;line-height:1.4}
.tips-ask{margin-top:10px;display:grid;gap:8px}
.tips-ask[hidden]{display:none}
.tips-q{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--soft)}
.tips-q .btn.sm{flex:none;width:36px;padding:8px}
.tips-q .ico-wrap svg{width:16px;height:16px}
/* ARG-GRW-008: язык готовых вопросов — ES · EN · ещё ▾ */
.tips-lang-row{align-items:center;justify-content:space-between;flex-wrap:nowrap}
.tips-lang{align-items:center;flex:none}
.tips-lang button{min-width:40px;justify-content:center}
.tips-more{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--muted);font:500 var(--fs-sm,12.5px)/1.2 var(--font-text,inherit);min-height:32px;padding:0 10px;border-radius:calc(var(--r-sm,10px) - 3px);cursor:pointer;max-width:120px}
.tips-more.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:var(--e-1)}
.tips-more:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tips-qs{display:grid;gap:8px}
.sh-ico:not([style*=background]){color:var(--accent)}

/* «Где курьер» (ARG-EXC-002, этап 3) */
.trip-map{height:300px;border-radius:var(--r-md);margin:12px 0;overflow:hidden}

/* кошелёк партнёрки (ARG-GRW-012): баланс, воронка, доход по месяцам, история */
.bw{margin:10px 0;padding:14px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--card);box-shadow:var(--e-2)}
.bw-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.bw-head>div{display:flex;flex-direction:column;min-width:0}
.bw-sum{font:700 26px/1.1 var(--font-head);letter-spacing:-.02em;color:var(--ink);margin:2px 0}
.bw-rate{flex:none;font:700 13px var(--font-head);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--r-pill);padding:4px 10px}
.bw-sub{margin:6px 0 0;color:var(--muted)}
.bw-fun{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:12px 0 4px}
.bw-step{position:relative;text-align:center;padding:8px 2px;border-radius:10px;background:color-mix(in srgb, var(--ink) 4%, transparent);min-width:0}
.bw-step b{display:block;font:800 18px var(--font-head);color:var(--muted)}
.bw-step.on b{color:var(--ink)}
.bw-step span{display:block;font-size:10.5px;line-height:1.2;color:var(--muted);overflow-wrap:break-word;hyphens:auto}
.bw-step+.bw-step::before{content:'';position:absolute;left:-4px;top:50%;width:4px;height:1px;background:color-mix(in srgb, var(--accent) 45%, transparent)}
.bw-months{display:flex;align-items:flex-end;gap:6px;height:92px;margin:12px 0 2px}
.bw-mo{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}
.bw-mo i{display:block;width:70%;max-width:34px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb, var(--accent) 35%, transparent));border-radius:5px 5px 0 0}
.bw-mo em{font-style:normal;font-size:10px;color:var(--muted);margin-bottom:2px;white-space:nowrap}
.bw-mo span{font-size:10.5px;color:var(--muted);margin-top:3px}
.bw-hist{margin-top:10px;border-top:1px solid var(--line)}
.bw-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.bw-row b{flex:none;min-width:58px;font-weight:700}
.bw-row b.plus{color:var(--ok)}
.bw-row.void{opacity:.5}.bw-row.void b{text-decoration:line-through}
.bw-who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bw-st{flex:none;font-size:11px;padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--muted)}
.bw-st.ready{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}
.bw-st.hold,.bw-st.wait{background:var(--soft);color:var(--accent)}
/* «Доставка домашней еды» в «Еда и магазины» (ARG-EDA-001 п.6) */
.home-food-card{display:flex;gap:10px;align-items:flex-start;color:inherit;text-decoration:none}
.home-food-card img,.home-food-card .dish-ph{width:64px;height:64px;flex:none;border-radius:10px;object-fit:cover;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:26px}
.home-food-card p{margin:2px 0}
.home-food-card .grow{min-width:0}
/* Тёмная шапка главной с фото города (ARG-BRAND-001 шаг 4): тёмная в обеих темах, текст белый поверх затемнения */
.home-hero{position:relative;isolation:isolate;overflow:hidden;margin:0 0 var(--s-3);padding:var(--s-4) var(--s-4) var(--s-4);border-radius:var(--r-lg);color:#fff;
  background:linear-gradient(160deg,rgba(var(--scrim-rgb),.93) 0%,rgba(var(--scrim-rgb),.78) 55%,rgba(var(--scrim-rgb),.55) 100%),url(img/hero-city.jpg) center 65%/cover,var(--c-navy);box-shadow:var(--e-2)}
.home-hero::before{content:'';position:absolute;z-index:-1;width:190px;height:190px;right:-60px;top:-80px;border-radius:50%;background:var(--grad);opacity:.38;filter:blur(40px)}
.hh-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);font-size:var(--fs-xs);color:rgba(255,255,255,.78)}
.hh-city{display:inline-flex;align-items:center;gap:4px;font-weight:700;letter-spacing:.02em;color:#fff}
.hh-city .ico-wrap{color:var(--c-pink)}
.hh-city .ico-wrap svg{width:15px;height:15px}
.hh-time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hh-hi{margin:var(--s-3) 0 2px;font:700 var(--fs-2xl)/1.15 var(--font-head);letter-spacing:-.015em;color:#fff}
.hh-sub{margin:0 0 var(--s-3);font-size:var(--fs-sm);color:rgba(255,255,255,.78)}
.home-hero .search-row{margin:0}
.home-hero .search{background-color:var(--card);border-color:transparent;box-shadow:var(--e-1)}
:root[data-theme=dark] .home-hero .search{background-color:var(--field);border-color:rgba(255,255,255,.12)}
.home-hero .cta-mini{gap:6px;background:var(--grad-btn);color:var(--on-grad);border:0;font-weight:700;height:auto;min-height:var(--h-btn)}
.cta-mini .ico-wrap svg{width:16px;height:16px}
.home-hero+*{margin-top:0}
/* Карточки и карты на токенах (ARG-BRAND-001 шаг 4, ч. 2): белая карточка, сдержанный заголовок, карта в цвете бренда */
.card h3{font:600 var(--fs-md)/1.3 var(--font-head);letter-spacing:-.01em}
/* подложка карты: в светлой — спокойнее, в тёмной — тёмная (инверсия OSM), без второго поставщика карт */
.leaflet-container{background:var(--media);font:var(--fs-xs)/1.4 var(--font-text)}
.leaflet-tile-pane{filter:saturate(.7) contrast(.97)}
:root[data-theme=dark] .leaflet-tile-pane{filter:invert(1) hue-rotate(185deg) brightness(.9) contrast(.9) saturate(.5)}
html .leaflet-container .leaflet-bar{border:0;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--e-2)}
html .leaflet-container .leaflet-bar a{width:34px;height:34px;line-height:34px;background:var(--card);color:var(--ink);border-bottom:1px solid var(--line);font:500 18px/34px var(--font-text)}
html .leaflet-container .leaflet-bar a:last-child{border-bottom:0}
html .leaflet-container .leaflet-control-attribution{background:color-mix(in srgb,var(--card) 82%,transparent);color:var(--muted);font-size:10px;border-radius:var(--r-xs) 0 0 0}
html .leaflet-container .leaflet-control-attribution a{color:var(--muted)}
/* метка-капля: цвет токена, белая обводка и точка, мягкая тень */
.bpin{background:none;border:0}
.bpin svg{display:block;width:28px;height:36px;overflow:visible;filter:drop-shadow(0 3px 4px rgba(var(--scrim-rgb),.35));transform-origin:50% 95%;transition:transform .15s}
.bpin path{fill:var(--c-blue);stroke:#fff;stroke-width:2}
.bpin circle{fill:#fff}
.bpin-ev path,.bpin-on path{fill:var(--c-violet)}
.bpin-go path{fill:var(--ok)}
.bpin-on svg{transform:scale(1.22)}
/* карта объектов: карточка выбранного объекта снизу, поверх карты */
.map-wrap{position:relative;isolation:isolate;margin:var(--s-2) 0}
.map-wrap>.lst-map{margin:0}
.map-sheet{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;display:flex;gap:var(--s-3);padding:10px 42px 10px 10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-3)}
.map-sheet[hidden]{display:none}
.ms-pic{flex:none;width:84px;height:84px;border-radius:var(--r-sm);object-fit:cover;background:var(--media)}
.ms-nopic{display:grid;place-items:center;color:var(--muted)}
.ms-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ms-price{font:700 var(--fs-lg)/1.25 var(--font-head);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-price span{font:500 var(--fs-xs) var(--font-text);color:var(--muted)}
.ms-meta{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-acts{display:flex;gap:6px;margin-top:auto;padding-top:6px}
.ms-acts .btn.sm{display:inline-flex;align-items:center;justify-content:center;min-height:var(--h-chip);padding:6px 14px}
.ms-acts .ms-src{width:var(--h-chip);padding:0}
.ms-acts .ico-wrap svg,.ms-x svg{width:16px;height:16px}
.ms-x{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted);cursor:pointer}
/* Остальные экраны на токенах (ARG-BRAND-001 шаг 4, ч. 3): Маркет, Услуги, Недвижимость-список, Знакомства, Профиль/кабинет, Обмен.
   Только радиусы, шрифты и поверхности из токенов — без градиентных фонов карточек и «цифр по вкусу» */
.seg{border-radius:var(--r-sm);padding:3px}
.seg button{border-radius:calc(var(--r-sm) - 3px);padding:0 12px;font:500 var(--fs-sm)/1.2 var(--font-text)}
.seg button.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:var(--e-1)}
.stat,.rate.best,.me-stat,.rv-crit{border-radius:var(--r-md)}
/* Маркет (UX-033): «Мои объявления» — ссылка в шапке, сортировка — переключатель среди чипсов */
.ads-head{flex-wrap:nowrap;gap:var(--s-2)}
.ads-head h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ads-acts{flex:none;gap:var(--s-3);align-items:center}
/* UX-059: на узких экранах «Мои объявления»+«Продать» не помещаются рядом с заголовком — title обрезался до «Мар…» */
@media (max-width:420px){
  .ads-head{flex-wrap:wrap}
  .ads-head h1{flex:1 1 auto;overflow:visible;text-overflow:clip;min-width:max-content}
  .ads-acts{flex:1 1 100%;justify-content:flex-end}
}
.ads-mine{font:600 var(--fs-sm)/1.2 var(--font-text);color:var(--accent);white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:0 8px} /* UX-044: зона нажатия 44 px */
.ads-sort{margin:var(--s-2) 0 0}
.ad-grid{gap:var(--s-3)}
.ad-card{border-radius:var(--r-md);box-shadow:var(--e-1)}
.ad-card b{font:700 var(--fs-md)/1.25 var(--font-head);letter-spacing:-.01em}
.ad-card .ad-t{font-size:var(--fs-sm)}
.ad-pics{border-radius:var(--r-lg)}
/* Услуги: карточка специалиста и отзывы */
.prof-head h1{font-size:var(--fs-xl)}
.prof-logo{border-radius:var(--r-lg);box-shadow:var(--e-1)}
.prof-facts span{font-size:var(--fs-xs);border-radius:var(--r-pill)}
.rv-big b{font:700 32px/1 var(--font-head);letter-spacing:-.02em}
.svc-hit{border-radius:var(--r-sm)}
.ag-emoji{border-radius:var(--r-sm)}
.ag-sum{border-radius:var(--r-sm)}
/* Знакомства: карточки без градиента, радиусы бренда */
.dt-hero,.dt-card{border-radius:var(--r-xl)}
.dt-card{background:var(--card)}
.dt-over b{font:700 var(--fs-xl)/1.2 var(--font-head);letter-spacing:-.01em}
.dt-nav{border-radius:var(--r-md)}
.dt-nav a{border-radius:var(--r-xs);font-size:var(--fs-sm)}
.dt-btn{border-radius:var(--r-lg);font-size:var(--fs-md)}
.dt-send{border-radius:var(--r-md)}
.dt-msg{border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 4px}
.dt-msg.mine{border-radius:var(--r-lg) var(--r-lg) 4px var(--r-lg)}
.dt-sheet-in{border-radius:var(--r-xl) var(--r-xl) 0 0}
/* Профиль и кабинет */
.me-stat{box-shadow:var(--e-1)}
.me-n{font-size:var(--fs-xl);letter-spacing:-.01em}
.dlg-in{background:var(--card);border-radius:var(--r-lg)}
.modal-card{border-radius:var(--r-xl) var(--r-xl) 0 0}
/* Обмен: калькулятор и курсы */
.conv .swap{border-radius:var(--r-sm)}
.conv .rate .logo-sm{border-radius:var(--r-xs)}
.big-num{font:700 var(--fs-xl)/1.2 var(--font-head);letter-spacing:-.01em}
.conv .rate .big-num{font-size:var(--fs-lg)}
/* «Ближайшее окно» на карточке услуг (ARG-BRB-001 этап 2) */
.next-slot{margin:6px 0}
.next-slot b{color:var(--ok)}

/* 💬 Чат по предмету (ARG-CHAT-001): мини-карточка предмета, фото в сообщениях, быстрые ответы, «Моё → Сообщения» */
.dt-input.ch-input{flex-direction:column;align-items:stretch;gap:6px}
.ch-bar{flex:1;min-width:0;flex-wrap:nowrap;gap:8px;align-items:flex-end}
.ch-bar textarea{flex:1;min-width:0}
.dt-send.ghost{background:var(--card2);color:var(--ink);border:1px solid var(--line)}
.ch-quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.ch-quick::-webkit-scrollbar{display:none}
.ch-quick .chip{flex:none;white-space:nowrap;cursor:pointer;min-height:34px}
.ch-strip{display:flex;gap:6px}
.ch-strip:empty{display:none}
.ch-thumb{position:relative;flex:none;width:56px;height:56px;border-radius:var(--r-md,12px);overflow:hidden;border:1px solid var(--line)}
.ch-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ch-thumb button{position:absolute;top:2px;right:2px;width:20px;height:20px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:11px;line-height:20px;padding:0;cursor:pointer}
.dt-msg.ch-ph{max-width:72%;padding:4px 4px 6px}
.dt-msg.ch-ph>span{display:block;padding:4px 7px 0}
.dt-msg.ch-ph>i{padding:0 7px}
.ch-tr{display:block}
.ch-tr>span{display:block}
.ch-tr-note{display:block;margin-top:3px;font-size:11px;opacity:.7;white-space:normal}
.ch-tr-sw{background:none;border:0;padding:0;font:inherit;color:var(--accent-tx,var(--accent));text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.ch-tr-row{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;text-align:left}
.ch-tr-row>span:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ch-tr-row b{font-weight:600;font-size:14px}
.ch-tr-row small{font-size:12px;line-height:1.35;white-space:normal}
.ch-tr-row .switch{flex:none}
.ch-pics{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.ch-pics img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block;cursor:zoom-in;background:var(--media)}
.ch-pics img:only-child{grid-column:span 2;aspect-ratio:4/3}
.ch-item{gap:10px;align-items:center;flex-wrap:nowrap;color:var(--ink);padding:8px 10px;margin:0 0 6px}
.ch-item>img,.ch-nopic{flex:none;width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--media)}
.ch-nopic{display:grid;place-items:center;color:var(--muted)}
.ch-item .grow{min-width:0}
.ch-item b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-item .row{gap:6px;align-items:center}
.ch-item .lst-price{font-size:14px}
.ch-alt{text-align:center}
.ch-alt .link-inline{color:var(--muted);text-decoration:underline}
.ch-row img.ch-av{flex:none;width:56px;height:56px;border-radius:12px;object-fit:cover;background:var(--media)}
.ch-row-top{flex-wrap:nowrap;gap:6px;align-items:baseline}
.ch-row-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-new{color:var(--ink);font-weight:600}
.ch-me{gap:10px;align-items:center;flex-wrap:nowrap;color:var(--ink);padding:12px 14px}
.ch-me .grow{flex:1;min-width:0}
.ch-me-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-style:normal}
.ch-me-ic .ic{width:18px;height:18px}
.ch-me .dt-n[hidden]{display:none}
.ch-me-ic .ico-wrap,.ch-nopic .ico-wrap{margin:0}
.tab-dot{position:absolute;top:6px;left:calc(50% + 8px);width:8px;height:8px;border-radius:50%;background:var(--love);box-shadow:0 0 0 2px var(--bg)}

/* Переключатель темы в «Моё» */
.theme-row{gap:10px;align-items:center}
.seg{display:inline-flex;background:var(--field);border:1px solid var(--line);border-radius:10px;padding:2px;gap:2px}
.seg-b{border:0;background:transparent;color:var(--muted);font-family:inherit;font-weight:600;font-size:12px;line-height:1;padding:7px 10px;border-radius:8px;cursor:pointer}
.seg-b.on{background:var(--card);color:var(--ink);box-shadow:var(--e-1)}
/* ARG-UX-063: «Тема» не обрезается — переключатель занимает остаток строки (или всю строку под подписью), кнопки делят ширину поровну */
.theme-row{flex-wrap:wrap;row-gap:8px}
.theme-row .theme-seg{display:flex;flex:1 1 230px;min-width:0;max-width:min(100%,360px);margin-left:auto}
.theme-seg .seg-b{flex:1 1 0;min-width:0;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}

/* Категории — раскрывающийся список (решение владельца 29.09) */
.cats-list{padding:4px 12px}
.cats-list .cats-g{padding:0;border-bottom:1px solid var(--line)}.cats-list .cats-g:last-child{border-bottom:0}
.cats-list .cats-h{width:100%;border:0;background:none;font:inherit;text-align:left;cursor:pointer;padding:10px 0;min-height:44px}
.cats-chev{flex:none;width:7px;height:7px;margin-right:4px;border-right:1.75px solid var(--muted);border-bottom:1.75px solid var(--muted);transform:rotate(-45deg);transition:transform .2s}
.cats-g.open .cats-chev{transform:rotate(45deg)}
.cats-body{padding:0 0 12px 42px}.cats-body .chips{margin-top:0}
.cats-all{display:inline-block;margin-top:8px;color:var(--accent)}

/* UX-017: «Ошибка или дополнение», «Пожаловаться» и т. п. — мелкий текст, но зона нажатия 44 px */
.rep-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin-left:-4px}

/* ARG-TECH-001: «Техника из Парагвая» — витрина TecnoPuente (тёмная шапка как у Главной, фото товаров целиком на белом) */
.tech-head{position:relative;isolation:isolate;overflow:hidden;margin:0 0 var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);color:#fff;background:linear-gradient(150deg,#0B1B4D 0%,#0F2E7A 60%,#1552C4 100%);box-shadow:var(--e-1)}
.tech-head::before{content:'';position:absolute;z-index:-1;width:180px;height:180px;right:-60px;top:-70px;border-radius:50%;background:var(--grad);opacity:.35;filter:blur(40px)}
.tech-head h1,.tech-head h2{margin:0;font:700 var(--fs-xl)/1.15 var(--font-head);color:#fff}
.tech-head p{margin:2px 0 0;color:rgba(255,255,255,.8)}
.tech-head .row{gap:12px;align-items:center}
.tech-logo{width:56px;height:56px;border-radius:14px;flex:none;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.tech-perks{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}
.tech-head .chip{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff;font-size:12px}
.tech-ship{margin:0 0 10px!important;color:rgba(255,255,255,.9)!important}
.tech-ship[hidden],.tech-banner[hidden],.tech-hits-box[hidden]{display:none}
.tech-open{margin:4px 0 8px;background:#fff!important;color:#0F2E7A!important;box-shadow:none}
.tech-head .btn.ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}
.tech-head .row.gap{gap:8px}.tech-head .row.gap .btn{flex:1}
.tech-card img,.tech-hit img{object-fit:contain!important;background:#fff;padding:8px;box-sizing:border-box}
.tech-card b{color:var(--ink)}
.tech-hits{margin:0 -16px 6px;padding:0 16px 4px}
.tech-hit{flex:0 0 132px;display:flex;flex-direction:column;gap:2px;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line);color:var(--ink);padding-bottom:8px}
.tech-hit img,.tech-hit .lst-nopic{width:100%;aspect-ratio:1;font-size:26px}
.tech-hit b{padding:6px 10px 0;font:800 14px var(--font-head)}
.tech-hit .ad-t{padding:0 10px;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tech-tabs{margin:8px 0 4px}
.tech-how{list-style:none;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.tech-how li{display:flex;gap:10px;align-items:flex-start}
.tech-how p{margin:2px 0 0}
.tech-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font:700 13px var(--font-head)}
.tech-banner{display:block;color:inherit;padding:12px 14px}
.tb-head{gap:10px;align-items:center}
.tb-logo{width:36px;height:36px;border-radius:10px;flex:none}
.tb-go{font-size:22px;color:var(--muted)}
/* поиск на Главной: блок TecnoPuente первым (ARG-TECH-001 шаг 2) */
.tech-found{margin-bottom:12px}
/* шаг 3: категория Маркета — чип с логотипом, пометка «Новое · из Парагвая» */
.tech-chip img{width:16px;height:16px;border-radius:4px;vertical-align:-3px;margin-right:5px}
.ad-card>.tech-src{background:rgba(15,46,122,.88)}
.tech-box{margin-top:var(--s-2)}
.tech-found .tb-head{color:inherit;text-decoration:none}
.tech-found .tech-hits{margin:10px -14px 0;padding:0 14px 2px}
/* «Витрина бизнеса» (ARG-EXC-003 п.4): вход по ссылке бизнеса — без шапки и меню ArgHub, обложка и полное название */
.biz-mode .top,.biz-mode .tabs{display:none}
.biz-mode main{padding-bottom:32px}
.biz-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin:6px 0 2px;background:var(--line)}
.biz-mode .prof-head h1{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}
.biz-mode .prof-logo{width:72px;height:72px}
/* Брендированная шапка карточки бизнеса (ARG-PLAT-001 шаг 1б): обложка на всю ширину экрана, снизу стеклянная подложка
   в цвете бренда (--hero = primary) → прозрачный; логотип, название, ✔ и рейтинг — белым. .flat — без обложки, плотный градиент */
.biz-hero{position:relative;margin:4px -16px 10px;min-height:236px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--hero);color:#fff;isolation:isolate}
.biz-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.biz-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.42),rgba(0,0,0,0) 62%),linear-gradient(to top,color-mix(in srgb,var(--hero) 92%,transparent) 0%,color-mix(in srgb,var(--hero) 55%,transparent) 38%,transparent 72%)}
.biz-hero-bar{display:flex;gap:12px;align-items:flex-end;padding:44px 16px 14px;-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);-webkit-mask-image:linear-gradient(to top,#000 58%,transparent);mask-image:linear-gradient(to top,#000 58%,transparent);text-shadow:0 1px 3px rgba(0,0,0,.35)}
.biz-hero-bar .grow{flex:1;min-width:0}
.biz-hero h1{margin:0 0 3px;font-size:var(--fs-xl,22px);line-height:1.2;color:inherit;white-space:normal;overflow:visible;word-break:break-word}
.biz-hero .prof-logo{width:64px;height:64px;border:2px solid rgba(255,255,255,.85);box-shadow:0 4px 14px rgba(0,0,0,.25);text-shadow:none;color:var(--ink)}
.biz-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;font-weight:600;opacity:.95}
.biz-hero-ok,.biz-hero-pro{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--r-pill,99px);background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);font-size:12px;line-height:1.3}
.biz-hero-rt{margin-top:4px;font-size:13px}
.biz-hero-rt b{font-size:15px}
.biz-hero-acts{position:absolute;top:10px;right:12px;display:flex;gap:8px}
.biz-hero-acts .fav{margin:0;min-width:40px;min-height:40px;border-radius:var(--r-pill,99px);background:rgba(var(--scrim-rgb),.38);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:20px}
.biz-hero-acts .fav.on{color:var(--sun)}
.biz-hero-acts .share-btn .ico-wrap{color:#fff}
.biz-hero.flat{min-height:0;color:var(--hero-ink,#fff);background:linear-gradient(135deg,var(--hero),color-mix(in srgb,var(--hero) 72%,#000))}
.biz-hero.flat::before{display:none}
.biz-hero.flat .biz-hero-bar{padding-top:60px;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none;text-shadow:none}
.biz-hero.flat .biz-hero-ok,.biz-hero.flat .biz-hero-pro{background:color-mix(in srgb,currentColor 14%,transparent);border-color:color-mix(in srgb,currentColor 30%,transparent)}
.biz-badges{margin:-2px 0 8px}
@media (min-width:600px){.biz-hero{margin:6px 0 12px;border-radius:var(--r-lg,18px);min-height:280px}}
.biz-foot{display:block;text-align:center;margin:28px 0 8px;font-size:12px;color:var(--muted)}
/* ---------- «Сравнить» (ARG-GRW-011) ---------- */
.cmp-btn{color:var(--muted)}
.cmp-btn .ico-wrap svg{width:20px;height:20px}
.cmp-btn.on{color:var(--accent)}
.row>.fav+.cmp-btn,.row>.cmp-btn+.share-btn,.row>.share-btn+.cmp-btn{margin-left:-4px}
.cmp-bar{position:fixed;left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom));z-index:6;display:flex;align-items:center;gap:6px;max-width:520px;margin:0 auto;
  background:var(--c-navy);color:#fff;border-radius:14px;padding:4px 4px 4px 14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(20,26,74,.28)}
.cmp-go{flex:1;display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:14px;min-height:44px}
.cmp-go .ico-wrap svg{width:20px;height:20px}
.cmp-go .cmp-lbl{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-go b{font-size:12px;background:rgba(255,255,255,.14);border-radius:999px;padding:3px 9px}
.cmp-x{border:0;background:none;color:rgba(255,255,255,.7);min-width:44px;min-height:44px;font-size:16px;cursor:pointer}
.cmp-wrap{overflow-x:auto;margin:12px -16px;padding:0 16px;-webkit-overflow-scrolling:touch}
.cmp-tbl{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.cmp-tbl th,.cmp-tbl td{padding:9px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);min-width:108px;max-width:150px;overflow-wrap:anywhere}
.cmp-tbl tbody tr:last-child>*{border-bottom:0}
.cmp-tbl tbody th{position:sticky;left:0;z-index:1;background:var(--card2,var(--card));color:var(--muted);font-weight:500;font-size:12px;min-width:92px;max-width:104px}
.cmp-tbl thead td{position:sticky;left:0;z-index:1;background:var(--card2,var(--card));min-width:92px}
.cmp-tbl thead th{font-weight:600}
.cmp-tbl thead th.gone{opacity:.6}
.cmp-tbl td.none{color:var(--muted)}
.cmp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cmp-n{font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.02em}
.cmp-rm{border:0;background:none;color:var(--muted);min-width:44px;min-height:44px;margin:-14px -12px -14px 0;cursor:pointer}
.cmp-pic{display:block;width:100%;height:64px;object-fit:cover;border-radius:8px;background:var(--media);margin-bottom:6px}
.cmp-name{display:block;font-size:13px;line-height:1.3;color:var(--ink)}
a.cmp-name{color:var(--accent)}
.cmp-tips ul{margin:6px 0 8px;padding-left:18px}
.cmp-tips li{margin:4px 0;font-size:14px}
body.cmp-on main{padding-bottom:150px}
body.cmp-on .toast{bottom:136px}
:root[data-theme=dark] .cmp-bar{background:var(--card2);border-color:var(--accent)}
.cmp-tbl tbody th::first-letter{text-transform:uppercase}
/* «Помоги выбрать» (ARG-GRW-011, этап 1): строка голосов и кнопка ссылки */
.cmp-votes>*{background:var(--soft)}
.cmp-vote,.cmp-vc{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;font:inherit;font-size:13px}
.cmp-vote{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;min-width:64px;justify-content:center}
.cmp-vote.on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
.cmp-vote:disabled{opacity:.6}
.cmp-vc{padding:0;color:var(--muted)}
.cmp-vc.has{color:var(--accent)}
.cmp-vote .ico-wrap svg,.cmp-vc .ico-wrap svg{width:16px;height:16px}
.cmp-ask{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:4px 0 6px}
.cmp-ask .ico-wrap svg{width:18px;height:18px}
.cmp-vnote{margin:-4px 0 10px}
.ico-inl{margin:0}

/* Режим администратора (ARG-ADM-001): плашка под шапкой — тёмно-синяя, чтобы не спутать с кабинетом владельца */
.adm-bar{position:sticky;top:48px;z-index:4;max-width:640px;margin:0 auto 6px;padding:8px 16px;background:var(--grad-deep);color:var(--on-grad);box-shadow:var(--e-2);display:flex;flex-direction:column;gap:6px}
.adm-row{display:flex;align-items:center;gap:8px;min-width:0}
.adm-eye{display:inline-flex;width:18px;height:18px;flex:none;opacity:.9}
.adm-eye svg{width:18px;height:18px}
.adm-txt{font-size:var(--fs-sm);font-weight:600;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.adm-lbl{opacity:.8;flex:none}
.adm-bar .btn.sm{min-height:36px;padding:0 12px;flex:none}
.adm-bar .adm-exit{background:#fff;color:var(--c-navy);border-color:#fff}
.adm-bar .adm-clear{color:var(--on-grad);border-color:rgba(255,255,255,.35);background:transparent;padding:0 10px}
.adm-bar .adm-clear svg{width:16px;height:16px}
/* «Вход для проверки» (ARG-QA-010): тонкая плашка под шапкой; ссылка истекла — тёплый цвет */
.qa-bar{position:sticky;top:48px;z-index:4;max-width:640px;margin:0 auto 6px;padding:6px 16px;display:flex;align-items:center;gap:8px;background:var(--grad-deep);color:var(--on-grad);font-size:13px;line-height:1.3;box-shadow:var(--e-2)}
.qa-bar .qa-ic{display:inline-flex;flex:none}
.qa-bar .qa-ic svg{width:16px;height:16px}
.qa-bar.off{background:#fff4e5;color:#7a4b00}
.adm-seg{flex:1;min-width:0;background:rgba(255,255,255,.12)}
.adm-seg button{flex:1;min-height:36px;color:rgba(255,255,255,.85);font-size:var(--fs-xs);padding:0 6px}
.adm-seg button.on{background:#fff;color:var(--c-navy)}

/* ARG-PLAT-001: предпросмотр витрины бизнеса из кабинета («как видит клиент») — тот же язык, что и adm-bar */
.biz-preview-bar{position:sticky;top:0;z-index:4;margin:0 0 10px;padding:8px 12px;border-radius:12px;background:var(--grad-deep);color:var(--on-grad);box-shadow:var(--e-2);display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600}
.biz-preview-bar i{display:inline-flex;width:18px;height:18px;flex:none;opacity:.9}
.biz-preview-bar i svg{width:18px;height:18px}
.biz-preview-bar .btn.sm{min-height:32px;padding:0 12px;flex:none;background:#fff;color:var(--c-navy);border-color:#fff}
.adm-filters{display:flex;flex-direction:column;gap:8px}
.adm-filters .seg{align-self:stretch}
.adm-filters .seg button{flex:1;font-size:var(--fs-xs);padding:0 6px}
.adm-biz h3{margin:0;font-size:var(--fs-md)}
.adm-no{font-weight:500;font-size:var(--fs-xs)}
.adm-biz .row.gap{flex-wrap:wrap}
.adm-edits summary{cursor:pointer;color:var(--ink)}
.adm-edits ul{margin:6px 0 0;padding-left:18px}

/* Доставка Россия ⇄ Аргентина (ARG-DLV-001): витрина, форма, статусы — компактно, в общем стиле карточек */
.dv-page h3{margin:0}
.dv-rep{white-space:nowrap}
.dv-rep-card{border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line))}
.dv-demo{margin:8px 0;font-size:13px}
.dv-tariffs{display:grid;gap:6px;margin:10px 0}
.dv-tariff{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.dv-trips{display:grid;gap:4px;margin:8px 0}
.dv-trip{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);padding:3px 0}
.dv-form label{display:block;margin-top:10px}
.dv-form .seg{flex-wrap:wrap}
.dv-cities{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dv-price{margin-top:12px;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent);display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.dv-price p{flex-basis:100%;margin:0}
.dv-item{display:block;color:inherit;text-decoration:none}
.dv-item p{margin:4px 0 0}
.dv-sum p{margin:4px 0}
.dv-req{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}
.dv-req code{word-break:break-all;font-size:13px}
.dv-proof-prev{max-width:160px;border-radius:8px;margin-top:6px}
.dv-steps{list-style:none;padding:0;margin:12px 0;display:grid;gap:4px}
.dv-steps li{display:flex;justify-content:space-between;padding:6px 10px;border-radius:8px;color:var(--muted);font-size:13px}
.dv-steps li.done{color:var(--ink)}
.dv-steps li.on{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--ink);font-weight:600}
.dv-st-wait,.dv-st-pricing{background:color-mix(in srgb,#f5a524 18%,transparent)}
.dv-st-rejected,.dv-st-cancelled{background:color-mix(in srgb,#e5484d 16%,transparent)}
@media (max-width:360px){.dv-cities{grid-template-columns:1fr}}
.dv-form .err,.dv-pay .err,.dv-steps+.err,p.small.err{color:#d93036}
/* Кабинет представителя доставки (ARG-DLV-001 шаг 3) */
.dd-load{display:grid;gap:6px}
.dd-load-trip summary{list-style:none;cursor:pointer;padding:4px 0}
.dd-load-trip summary::-webkit-details-marker{display:none}
.dd-bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden;margin-top:4px}
.dd-bar i{display:block;height:100%;background:var(--accent)}
.dd-load-list{padding:2px 0 6px}
.dd-tabs,.dd-filter{overflow-x:auto;flex-wrap:nowrap;max-width:100%;scrollbar-width:none;margin:10px 0}
.dd-tabs button,.dd-filter button{white-space:nowrap;flex:0 0 auto}
.dd-order summary{list-style:none;cursor:pointer}
.dd-order summary::-webkit-details-marker{display:none}
.dd-order label,.dd-form label{display:block;margin-top:10px}
.dd-order[open]{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.dd-hot{border:1px solid color-mix(in srgb,#f5a524 55%,var(--line))}
.dd-pay{margin-top:10px}
.dd-proof{max-width:100%;max-height:420px;border-radius:10px;margin-top:8px;display:block}
.dd-route{padding:10px 0;border-bottom:1px dashed var(--line)}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dd-member{padding:6px 0;border-bottom:1px dashed var(--line)}
.dd-entry{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}
@media (max-width:360px){.dd-grid{grid-template-columns:1fr}}
/* Чат по заказу доставки (ARG-DLV-001 шаг 5) */
.dv-chat{margin-top:12px}
.dd-chat .dv-chat{border-top:1px dashed var(--line);padding-top:10px}
.dv-chat-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;margin:8px 0}
.dv-msg{max-width:85%;padding:6px 10px;border-radius:12px;background:color-mix(in srgb,var(--ink) 6%,transparent);align-self:flex-start;word-break:break-word;white-space:pre-wrap}
.dv-msg.mine{align-self:flex-end;background:color-mix(in srgb,var(--accent) 14%,transparent)}
.dv-msg b,.dv-msg small{display:block}
.dv-chat-form textarea{width:100%;box-sizing:border-box}
.dv-unread{background:color-mix(in srgb,var(--accent) 18%,transparent);margin-right:6px}
.dv-review{margin-top:12px}
/* ARG-BIZ-002: превью сообщения-карточки в Telegram и «Ваше пространство готово» */
.bi-msg{max-width:320px;margin:6px 0 4px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card2);box-shadow:var(--e-1)}
.bi-msg-pic{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--media)}
.bi-msg-nopic{aspect-ratio:3/1;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.bi-msg-nopic svg{width:40px;height:40px}
.bi-msg-txt{display:flex;flex-direction:column;gap:2px;padding:8px 12px 10px}
.bi-msg-txt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bi-msg-btn{padding:9px 12px;border-top:1px solid var(--line);text-align:center;font-weight:600;font-size:14px;color:var(--accent)}
.bi-ready{border:1px solid var(--soft);background:linear-gradient(180deg,var(--soft),var(--card) 60%)}
.bi-ready h3{margin:0 0 4px}

/* Недвижимость: фильтры (ARG-RLT-011) — подписанные группы, один стиль выбранного, кнопки ≥44 px (ARG-UX-006) */
.lf{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-3) var(--s-4)}
.lf-g{display:flex;flex-direction:column;gap:6px;min-width:0}
.lf-l{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.lf .chips button,.lf-empty .chips button{min-height:44px}
.lf-deal{width:100%}
.lf-deal button{flex:1 1 0;gap:6px;font-size:var(--fs-sm);font-weight:600;text-align:center;line-height:1.15;min-width:0}
.lf-deal button .ico-wrap{flex:none}
.lf-hint{margin:0;font-size:var(--fs-xs);color:var(--muted)}
.lf-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--s-4));padding:0 var(--s-4)}
.lf-scroll::-webkit-scrollbar{display:none}
.lf-scroll button{flex:none;white-space:nowrap}
.lf-budget{display:flex;align-items:center;gap:var(--s-2)}
.lf-budget input{flex:0 1 150px;min-height:44px;margin:0}
.lf-unit{font-size:var(--fs-sm);color:var(--muted)}
.lf-more,.lf-reset,.lf-x,.lf-act{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--fs-sm)}
.lf-more{font-weight:600;color:var(--ink);border-top:1px solid var(--line);padding-top:var(--s-1)}
.lf-n{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--fs-xs);display:inline-flex;align-items:center;justify-content:center}
.lf-caret{margin-left:auto;color:var(--muted);transition:transform .15s}
.lf-caret.up{transform:rotate(180deg)}
.lf-extra{display:flex;flex-direction:column;gap:var(--s-2)}
.lf-extra[hidden]{display:none}
.lf-date{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--muted)}
.lf-date input{flex:1 1 auto;min-height:44px;margin:0;max-width:180px}
.lf-x{justify-content:center;min-width:44px;color:var(--muted)}
.lf-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);border-top:1px solid var(--line);padding-top:var(--s-2)}
.lf-total{font-weight:600;font-size:var(--fs-sm)}
.lf-reset{color:var(--accent);font-weight:600}
.lf-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);flex-wrap:wrap;margin:var(--s-2) 0}
.lf-sort{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--muted)}
.lf-sortsel{min-height:44px;margin:0;width:auto;padding:0 var(--s-3);border-radius:var(--r-sm);font:inherit;font-weight:600;color:var(--ink)}
.lf-acts{display:flex;gap:2px}
.lf-act{flex-direction:column;gap:2px;justify-content:center;min-width:56px;padding:4px 6px;border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--muted);text-align:center}
.lf-act .ico-wrap{color:var(--ink)}
.lf-act.on{background:var(--soft);color:var(--accent)}
.lf-act.on .ico-wrap{color:var(--accent)}
.lf-empty{display:flex;flex-direction:column;gap:var(--s-3)}
.lf-empty p{margin:0}
.lf-empty .btn{align-self:flex-start}
@media (hover:hover){.lf-act:hover,.lf-more:hover{color:var(--accent)}}
.lf-more:focus-visible,.lf-reset:focus-visible,.lf-act:focus-visible,.lf-x:focus-visible{box-shadow:var(--ring);border-radius:var(--r-xs)}
.lf-open .ico-wrap{color:var(--accent)}
.lf-open .lf-caret{font-size:18px;line-height:1}
/* Полный экран «Фильтры» (ARG-RLT-020 раздел 3): шапка, прокрутка, снизу «Сбросить» и «Показать N объектов» */
.lfs{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;animation:dlg-in .14s ease-out}
.lfs-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:calc(8px + env(safe-area-inset-top)) var(--s-4) 8px;border-bottom:1px solid var(--line);background:var(--card)}
.lfs-head b{font:700 var(--fs-lg)/1.2 var(--font-head);color:var(--ink)}
.lfs-x{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;margin-right:-10px;display:grid;place-items:center;color:var(--muted);border-radius:50%}
.lfs-x:focus-visible{box-shadow:var(--ring)}
.lfs-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--s-3) var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-4);width:100%;max-width:560px;margin:0 auto;box-sizing:border-box}
.lfs-body .chips button{min-height:44px}
.lfs-barrios{max-height:196px;overflow-y:auto}
.lfs-pair{display:flex;align-items:center;gap:var(--s-2)}
.lfs-pair input{flex:1 1 0;min-width:0;min-height:44px;margin:0}
.lfs-dash{color:var(--muted)}
.lfs-seg{align-self:stretch}
.lfs-seg button{flex:1 1 0;min-width:0;font-size:var(--fs-sm);text-align:center}
.lfs-foot{display:flex;gap:var(--s-2);padding:var(--s-2) var(--s-4) calc(var(--s-2) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card)}
.lfs-foot .btn{margin:0;min-height:48px;width:auto}
.lfs-reset{flex:0 0 auto}
.lfs-show{flex:1 1 auto;font-weight:700}
body.lfs-lock{overflow:hidden}

/* Недвижимость «как ЦИАН» (ARG-RLT-020): карточка выдачи и страница объекта */
.lst-c{cursor:pointer;margin-bottom:var(--s-3)}
.lst-c:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.lst-ph{position:relative}
.lst-new{position:absolute;left:10px;top:10px;background:var(--accent);color:var(--on-grad,#fff);font:600 var(--fs-xs)/1 var(--font-text);padding:5px 9px;border-radius:var(--r-pill);letter-spacing:.02em}
.lst-ov{position:absolute;right:8px;top:8px;display:flex;gap:6px}
.lst-ov .fav{background:rgba(var(--scrim-rgb),.45);color:#fff;border-radius:var(--r-pill);min-width:44px;min-height:44px;margin:0;backdrop-filter:blur(6px)}
.lst-ov .cmp-btn.on{background:var(--accent);color:#fff}
.lst.lst-c>.lst-ph,.lst.lst-c>.lst-body{margin:0}
.lst-body{padding:10px 14px 12px}
.lst-top{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.lst-top .grow{flex:1}
.lst-top .fav{align-self:center;margin-left:0}
.lst-per{font-size:var(--fs-sm);color:var(--muted)}
.lst-c .lst-meta{margin:2px 0 0}
.lst-c .lst-addr{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lst-bs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lst-b{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--ink);background:var(--soft);border-radius:var(--r-pill);padding:4px 9px}
.lst-b .ico-wrap svg{width:14px;height:14px;color:var(--accent)}
.lst-b.lst-stale{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}
.lst-b.lst-stale .ico-wrap svg{color:currentColor}
.lo-stale{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:var(--r-md,12px);color:var(--ink);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);line-height:1.4}
.lo-stale .ico-wrap svg{width:16px;height:16px;color:var(--warn);flex:none;margin-top:1px}
.lo-stale b{color:var(--warn);font-weight:600}
.lst-foot{display:flex;align-items:center;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.lst-foot .grow{flex:1}
.lst-ag{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lst-ok{display:inline-flex;color:var(--accent)}
.lst-ok .ico-wrap svg{width:14px;height:14px}
.lst-top-btn{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:30;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--card);color:var(--ink);box-shadow:var(--e-2,var(--shadow));font:600 var(--fs-sm) var(--font-text);cursor:pointer}
.lst-top-btn[hidden]{display:none}
.lst-top-btn .ico-wrap svg{width:18px;height:18px}
.lo-gal{margin:0 -16px var(--s-3)}
.lst-gal img,.lst-gal .lst-nopic{aspect-ratio:4/3;max-height:62vh;cursor:zoom-in}
.lo-head .lo-price{font-size:var(--fs-2xl)}
.lo-title{margin:6px 0 0;font-weight:500}
.lo-head .lo-h{margin:var(--s-4) 0 var(--s-2);font-size:var(--fs-md)}
.lo-facts{display:grid;grid-template-columns:auto 1fr;gap:0;margin:0;font-size:var(--fs-sm)}
.lo-facts dt,.lo-facts dd{margin:0;padding:8px 0;border-top:1px solid var(--line)}
.lo-facts dt{color:var(--muted);padding-right:var(--s-4)}
.lo-facts dd{text-align:right;font-weight:600;overflow-wrap:anywhere}
.lo-desc{white-space:pre-line;margin:0}
.lo-desc.clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.lo-more{all:unset;cursor:pointer;color:var(--accent);font-weight:600;font-size:var(--fs-sm);min-height:44px;display:inline-flex;align-items:center}
.lo-map{height:200px;margin:0;border-radius:var(--r-md);overflow:hidden}
.lo-ag{display:flex;align-items:center;gap:10px}
.lo-ag .grow{flex:1;min-width:0}
.lo-ag b{display:inline-flex;align-items:center;gap:4px}
.lo-av{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--accent)}
.lo-acts{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 4px}
.lo-acts .btn{width:100%;min-height:44px}
.lo-near h3{margin:var(--s-4) 0 var(--s-2)}
.lo-near-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px}
.lo-near-row::-webkit-scrollbar{display:none}
.lo-mini{flex:0 0 150px;scroll-snap-align:start;display:flex;flex-direction:column;gap:2px;color:var(--ink);text-decoration:none;background:var(--card);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--e-1,none);padding-bottom:8px}
.lo-mini img,.lo-mini .lst-nopic{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--media);font-size:28px}
.lo-mini b,.lo-mini span{padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lo .rep-link{display:inline-block;margin:var(--s-4) 0}
/* Галерея фото на весь экран; не .lg — этот класс уже размер аватара .avatar.lg (ARG-UX-063) */
.lgal{position:fixed;inset:0;z-index:1000;background:#000;display:flex;align-items:center}
.lg-pics{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.lg-pics::-webkit-scrollbar{display:none}
.lg-pics img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:start}
.lg-cnt{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom));color:#fff;font:600 13px var(--font-text);background:rgba(255,255,255,.14);padding:4px 10px;border-radius:99px}
.lg-x{position:absolute;right:12px;top:calc(12px + env(safe-area-inset-top));width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;cursor:pointer}
.lg-x .ico-wrap,.lg-x svg{color:#fff;stroke:#fff}
.lst-gal .lst-nopic{aspect-ratio:16/7}
/* Карта с ценами (ARG-RLT-020 шаг 3): «Список | Карта», пины-цены, кластеры, «Искать в этой области» */
.lf-view{flex:none}
.lf-view button{gap:6px}
.lf-view .ico-wrap svg{width:16px;height:16px}
.lf-mapmode .lst-listonly{display:none}
.map-wrap[hidden]{display:none}
.lf-mapmode .map-wrap>.lst-map{height:min(68vh,560px);min-height:360px;border-radius:var(--r-lg)}
.ppin{width:0!important;height:0!important;background:none;border:0}
.ppin span{position:absolute;left:0;bottom:7px;transform:translateX(-50%);padding:4px 8px;border-radius:var(--r-pill);background:var(--card);color:var(--ink);border:1px solid color-mix(in srgb,var(--c-blue) 45%,var(--line));box-shadow:var(--e-2);font:700 12px/1.1 var(--font-head);letter-spacing:-.01em;white-space:nowrap;transition:transform .12s,background .12s}
.ppin span::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;margin-left:-4px;background:inherit;border:inherit;border-width:0 1px 1px 0;transform:rotate(45deg)}
.ppin.approx span{border-style:dashed;color:var(--muted)}
.ppin.on span{background:var(--c-blue);border-color:var(--c-blue);color:#fff;transform:translateX(-50%) scale(1.08)}
.pclu{display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--c-blue) 22%,transparent)}
.pclu span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c-blue);color:#fff;border:2px solid #fff;box-shadow:var(--e-2);font:700 12px/1 var(--font-head)}
.mp-me{fill:var(--c-blue)}
.mp-top{position:absolute;top:10px;left:10px;right:10px;z-index:2;display:flex;justify-content:center;pointer-events:none}
.mp-note,.mp-here{pointer-events:auto;max-width:100%;border-radius:var(--r-pill);box-shadow:var(--e-2);font-size:var(--fs-xs)}
.mp-note{padding:6px 12px;background:color-mix(in srgb,var(--card) 92%,transparent);color:var(--ink);font-weight:600;text-align:center;backdrop-filter:blur(6px)}
.mp-note[hidden],.mp-here[hidden]{display:none}
.mp-here:not([hidden])+.mp-note{display:none}
.mp-here{all:unset;pointer-events:auto;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:var(--r-pill);background:var(--c-blue);color:#fff;font:600 var(--fs-sm)/1 var(--font-text);box-shadow:var(--e-3)}
.mp-here .ico-wrap{color:#fff}
.mp-here .ico-wrap svg{width:16px;height:16px}
.mp-loc{all:unset;position:absolute;right:10px;bottom:98px;z-index:2;box-sizing:border-box;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--card);color:var(--ink);box-shadow:var(--e-2);cursor:pointer}
.mp-loc .ico-wrap svg{width:18px;height:18px}
.map-wrap:has(.map-sheet:not([hidden])) .mp-loc,.map-wrap:has(.map-sheet:not([hidden])) .leaflet-bottom.leaflet-right .leaflet-control-zoom{visibility:hidden}
.ms-link{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:var(--s-3);flex:1;min-width:0}
.ms-go{margin-top:auto;padding-top:4px;font-size:var(--fs-sm);font-weight:600;color:var(--accent)}
.ms-approx{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--muted)}
.ms-approx .ico-wrap svg{width:12px;height:12px}
.ms-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;max-height:min(44vh,300px);overflow:auto}
.ms-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-weight:700;font-size:var(--fs-sm);color:var(--ink)}
.ms-row{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:var(--s-2);align-items:center;min-height:52px;padding:4px;border-radius:var(--r-sm)}
.ms-row .ms-price{font-size:var(--fs-md)}
.ms-pic.sm{width:48px;height:48px}
@media (hover:hover){.ms-row:hover{background:var(--soft)}.mp-loc:hover{color:var(--accent)}}
/* ARG-UX-060 плавность: заставка при запуске, мягкое появление экрана; «Наверх» и плашка сравнения не наезжают друг на друга */
#splash{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:opacity .2s ease}
#splash img{width:64px;height:auto;animation:splash-pulse 1.6s ease-in-out infinite}
#splash.gone{opacity:0;pointer-events:none}
@keyframes splash-pulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.06);opacity:1}}
#app.enter{animation:scr-in .2s ease-out}
@keyframes scr-in{from{opacity:0}to{opacity:1}}
body.cmp-on .lst-top-btn{bottom:calc(136px + env(safe-area-inset-bottom))}
.cmp-bar{transition:transform .2s ease,opacity .2s ease}
.cmp-bar.away{transform:translateY(calc(100% + 72px));opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){#splash img,#app.enter{animation:none}#splash,.cmp-bar{transition:none}}
/* ARG-UX-006: зона нажатия ≥44 px у маленьких кнопок и чипсов без смены вида — невидимый ::before шире/выше кнопки.
   :where() — нулевая специфичность: не перебивает position у кнопок, где он уже задан (fixed/absolute и т.п.) */
:where(.btn.sm,.chips button,.chips .chip){position:relative}
:where(.btn.sm,.chips button,.chips .chip)::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
/* ARG-DESK-001: широкая версия для компьютера (≥1024 px). Телефон и Telegram на телефоне не затронуты — всё только внутри @media.
   Меню — в шапке, рядом со знаком; экраны для чтения (карточки, формы, чат) — колонкой 760 px; главная, «Категории» и выдача
   Недвижимости (body.wide, ставит app.js) — до 1200 px: разделы 5–6 в ряд, фильтры слева, карта справа от списка */
@media (min-width:1024px){
  :root{--desk-w:1200px;--top-h:57px}
  .top{max-width:none;padding-inline:max(24px,calc((100vw - var(--desk-w)) / 2))}
  .brand{font-size:17px}
  .tabs{top:0;bottom:auto;left:50%;right:auto;z-index:6;transform:translateX(-50%);height:var(--top-h);align-items:center;justify-content:center;gap:2px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .tabs a{flex:none;flex-direction:row;gap:7px;min-height:38px;max-width:none;padding:0 14px;border-radius:var(--r-pill);font:600 13.5px/1 var(--font-text);color:var(--muted);overflow:visible}
  .tabs a i{height:auto}
  .tabs a .ic{width:19px;height:19px}
  .tabs a.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
  .tabs a.on::before{display:none}
  .tabs .tab-dot{top:6px;left:24px}
  main{max-width:760px;padding:20px 24px 48px}
  body.wide main{max-width:var(--desk-w)}
  .adm-bar{max-width:760px;top:var(--top-h)}
  .toast{bottom:28px}
  body.cmp-on main{padding-bottom:110px}
  body.cmp-on .toast{bottom:96px}
  .cmp-bar{bottom:20px}
  .lst-top-btn,body.cmp-on .lst-top-btn{right:max(24px,calc((100vw - var(--desk-w)) / 2));bottom:28px}
  body.cmp-on .lst-top-btn{bottom:96px}
  .dt-actions,.dt-input,.leo-bar{bottom:12px}
  @media (hover:hover){.tabs a:not(.on):hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}}
  /* главная и «Категории»: фото-разделы 5–6 в ряд, плитки-иконки плотнее */
  body.wide .grid:has(.ptile){grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
  body.wide .grid .ptile{grid-column:auto;min-height:150px}
  body.wide .grid:not(:has(.ptile)),body.wide .subgrid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
  /* выдача Недвижимости: фильтры — колонка слева (прилипает), справа панель вида и список в 2 столбца;
     в режиме «Карта» список остаётся виден, карта — третьей колонкой рядом со списком */
  .lf-wrap{display:grid;grid-template-columns:288px minmax(0,1fr);column-gap:24px;align-items:start}
  .lf-wrap>*{grid-column:2}
  .lf-wrap>h2{grid-column:1/-1}
  .lf-wrap>.lf{grid-column:1;grid-row:2/span 40;position:sticky;top:calc(var(--top-h) + 12px);margin:8px 0 0;max-height:calc(100vh - var(--top-h) - 24px);overflow-y:auto}
  .lf-wrap>.lf .lf-deal{flex-direction:column;align-items:stretch}
  .lf-wrap>.lf .lf-deal button{justify-content:flex-start;min-height:40px;text-align:left}
  .lst-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-items:start}
  .lst-list>.lf-empty,.lst-list>.card:only-child{grid-column:1/-1}
  .lf-wrap.lf-mapmode{grid-template-columns:288px minmax(0,1fr) minmax(0,1.25fr)}
  .lf-mapmode>.lf-bar,.lf-mapmode>h2{grid-column:1/-1}
  .lf-mapmode>.lf-bar{grid-column:2/-1}
  .lf-mapmode .lst-listonly{display:block}
  .lf-mapmode>.lf-bar .lst-listonly{display:flex}
  .lf-mapmode .lst-list{grid-template-columns:minmax(0,1fr)}
  .lf-mapmode>.map-wrap{grid-column:3;grid-row:3/span 40;position:sticky;top:calc(var(--top-h) + 12px);margin:0}
  .lf-mapmode .map-wrap>.lst-map{height:calc(100vh - var(--top-h) - 32px);min-height:420px}
  .lf-mapmode>.lst-listonly,.lf-mapmode>.btn,.lf-mapmode>.notice,.lf-mapmode>p{grid-column:2}
  /* «Фильтры (N)»: на компьютере — окно по центру, а не весь экран */
  .lfs{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:min(600px,calc(100vw - 48px));max-height:min(86vh,820px);border-radius:var(--r-lg);box-shadow:0 0 0 100vmax rgba(var(--scrim-rgb),.55),var(--e-2);overflow:hidden}
  .lfs-head{padding-top:10px}
}

/* ARG-UX-061: подписи не ломаются на 375 px — переключатель сделки в 1 строку, «Проверено» и «Ошибка или дополнение» переносятся целиком */
.lf-deal button{white-space:nowrap;overflow:hidden;padding:0 8px;flex:1 1 auto;gap:5px}
@media (max-width:380px){.lf-deal button{padding:0 6px;gap:4px}}
.lf-deal button .one{overflow:hidden;text-overflow:ellipsis;min-width:0}
.meta-line{display:flex;flex-wrap:nowrap;align-items:center;column-gap:8px;margin-top:4px;min-width:0}
.meta-line>.small{font-size:12px}
.meta-line .ico-wrap{margin-right:3px}
.meta-line>*{white-space:nowrap}
.meta-line>.meta-chk{min-width:0;overflow:hidden;text-overflow:ellipsis}
.meta-line>.rep-link{flex:none}
.meta-line>.meta-chk+.rep-link{margin-left:auto}
.rep-link{white-space:nowrap}
/* ARG-TECH-002 этап 2б: корзина TecnoPuente и кабинет заказов */
.tech-card[role=button],.tech-hit[role=button]{cursor:pointer}
.tc-add{margin-top:6px;width:100%}
.tcart-bar{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom,0px));display:block;width:100%;margin:14px 0 4px;text-align:center;z-index:5;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.tcart-bar[hidden]{display:none}
.tc-row{display:flex;align-items:center;gap:10px;padding:10px}
.tc-row img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:10px;padding:4px;box-sizing:border-box;flex:none}
.tc-row .grow{min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.tc-qty{display:flex;align-items:center;gap:2px;flex:none;padding:2px;border:1px solid var(--line);border-radius:var(--r-pill,99px);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.tc-qty span{min-width:22px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.tc-qty .btn.sm{width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;border:0;background:transparent;box-shadow:none;font-size:18px;line-height:1}
.tc-qty .btn.sm:disabled{opacity:.35}
.tc-row .grow>span:first-child{font-weight:500;line-height:1.3}
.tc-row .grow b{font-variant-numeric:tabular-nums}
.tc-total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin:12px 2px 14px;font-size:15px;color:var(--muted)}
.tc-total[hidden]{display:none}
.tc-total b{font-size:20px;color:var(--ink);font-variant-numeric:tabular-nums}
.tc-total .tc-note{flex-basis:100%;font-size:var(--fs-xs,12px);color:var(--muted);text-align:right}
.prof-cta:empty{display:none}
.dv-item>.row>b.grow{min-width:0;overflow-wrap:anywhere}
.dv-item>.row>.chip{flex:none;white-space:nowrap}
.tc-form label{display:block;margin-top:8px}
.tc-form input,.tc-form textarea{width:100%;box-sizing:border-box}
.tc-items{margin:6px 0;padding-left:18px}
.tc-items li{margin:3px 0;overflow-wrap:anywhere}
.ta-ord .row{gap:6px}
.ta-task{border-left:3px solid var(--warn)} .ta-task b{color:var(--warn)} .ta-task .btn{margin-top:6px}

/* ---------- Кабинет бизнеса вкладками (ARG-PLAT-001 шаг 5) ---------- */
.cab-tabbed{padding-bottom:6px}
.cab-themed{background:var(--bg);color:var(--ink);border-radius:var(--r-md,16px);padding:12px;border-top:0;margin-top:14px}
.cab-head{gap:10px;align-items:center}
.cab-logo{width:40px;height:40px;border-radius:12px;object-fit:cover;flex:none}
/* шапка кабинета в бренде (ARG-EDA-002 шаг 8): обложка, крупный логотип, сводка за 7 дней, быстрые кнопки */
.cab-hero{position:relative;margin:-12px -12px 4px;padding:0 0 2px;border-radius:var(--r-md,16px) var(--r-md,16px) 0 0;overflow:hidden;background:var(--card2)}
/* ARG-PLAT-021: имя и статус — на обложке белым, снизу затемнение; без обложки — плашка основного цвета бренда */
.cab-top{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:118px;padding:48px 14px 14px;background:var(--cab-top,#141a4a);color:var(--cab-ink,#fff)}
.cab-hero.has-cover .cab-top{min-height:176px;padding-top:88px;background:#141a4a}
.cab-cover{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.cab-hero.has-cover .cab-top::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,10,30,.04) 0%,rgba(8,10,30,.3) 45%,rgba(8,10,30,.85) 100%)}
.cab-sub .ico-wrap,.cab-ok .ico-wrap{color:inherit}
.cab-id{position:relative;z-index:2;display:flex;gap:12px;align-items:center;min-width:0;width:100%}
.cab-id .grow{min-width:0}
.cab-id h2{margin:0;font:800 22px/1.15 var(--font-head);color:var(--cab-ink,#fff);overflow-wrap:anywhere}
.cab-hero.has-cover .cab-id h2{text-shadow:0 1px 10px rgba(0,0,0,.45)}
.cab-sub{margin:5px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;line-height:1.3;color:var(--cab-ink,#fff)}
.cab-hero.has-cover .cab-sub{text-shadow:0 1px 6px rgba(0,0,0,.5)}
.cab-ok{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--cab-ink,#fff) 18%,transparent);font-weight:700;font-size:12px;text-shadow:none}
.cab-logo.big{width:64px;height:64px;border-radius:16px;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 6px 18px rgba(0,0,0,.28)}
.cab-logo.ph{display:grid;place-items:center;font-size:28px}
.cab-hero>.cab-kpis,.cab-hero>.cab-kpi-note,.cab-hero>.cab-acts{margin-left:12px;margin-right:12px}
.cab-kpis{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.cab-kpi{background:var(--bg);border-radius:14px;padding:10px 12px;min-width:0}
.cab-kpi b{display:block;font:800 28px/1.05 var(--font-head);letter-spacing:-.02em;color:var(--accent-tx,var(--accent))}
.cab-kpi span{display:block;margin-top:3px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cab-kpi-note{position:relative;margin-top:6px;margin-bottom:0;color:var(--muted)}
.cab-acts{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;margin-bottom:10px}
.cab-acts.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cab-acts.n1{grid-template-columns:minmax(0,1fr)}
.cab-act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;min-width:0;padding:8px 6px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:600 12.5px/1.15 var(--font-text,inherit);cursor:pointer}
.cab-act i{font-style:normal;font-size:19px;line-height:1}
.cab-act span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cab-act:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* вкладки кабинета в цветах бренда: активная — основной цвет, остальные — лёгкий оттенок бренда (ARG-PLAT-021) */
.cab-themed .cab-tabs button{background:color-mix(in srgb,var(--biz-primary,var(--accent)) 7%,var(--card));border-color:color-mix(in srgb,var(--biz-primary,var(--accent)) 24%,transparent)}
.cab-themed .cab-tabs button.on{background:var(--biz-primary,var(--accent));border-color:var(--biz-primary,var(--accent));color:var(--biz-primary-ink,var(--accent-ink))}
/* «Как видят клиенты»: живая витрина в рамке телефона, без нажатий (ARG-PLAT-021) */
.cab-live{position:relative;margin:4px auto 0;max-width:420px;overflow:hidden;padding:12px;border-radius:22px;border:1px solid var(--line);background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--ink) 6%,transparent)}
.cab-live[inert]{user-select:none}
.cab-live[inert] *{pointer-events:none}
.cab-live.plain{padding:0;border:0;box-shadow:none;background:none}
.cab-live .biz-hero{margin-left:-12px;margin-right:-12px;margin-top:-12px}
/* блоки в теме — отдельными «карточками» на фоне бренда, заголовок блока — цветом бренда */
.cab-themed .cab-pane>.card,.cab-themed .cab-pane>details.card{border:0;border-radius:var(--r-md,16px);box-shadow:0 1px 2px rgba(0,0,0,.05),0 6px 18px rgba(0,0,0,.06)}
.cab-themed .cab-pane>details.card>summary,.cab-themed .cab-pane>.card>b:first-child{color:var(--accent-tx,var(--accent))}
.cab-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px -2px 12px;padding:2px;scroll-snap-type:x proximity}
.cab-tabs::-webkit-scrollbar{display:none}
.cab-tabs button{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:22px;
  border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 13.5px/1 var(--font-text,inherit);cursor:pointer;white-space:nowrap}
.cab-tabs button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.cab-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* иконка вкладки — цветом текста: на активной (фон = accent) иначе сливалась */
.cab-tabs .ico-wrap{color:inherit;margin-right:0}
.cab-tabs .ico-wrap svg{width:17px;height:17px}
.cab-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#d93025;color:#fff;font:700 11.5px/20px var(--font-text,inherit);text-align:center}
.cab-badge[hidden]{display:none}
.cab-pane[hidden]{display:none}
.cab-pane>.card,.cab-pane>details.card,.cab-pane>section{margin-top:10px}
.cab-filter{display:flex;overflow-x:auto;scrollbar-width:none;margin:10px 0;max-width:100%}
.cab-filter button{flex:none;white-space:nowrap}
.cl-list{display:flex;flex-direction:column;margin-top:6px}
.cl-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.cl-row:first-child{border-top:0}
.cl-num{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.cab-spark{display:flex;align-items:flex-end;gap:2px;height:48px;margin-top:10px}
.cab-spark i{flex:1;background:var(--accent);opacity:.75;border-radius:2px 2px 0 0;min-height:2px}
.chip.warn{background:color-mix(in srgb,#f2a900 22%,transparent);color:inherit}

/* ARG-RLT-021: «Долгосрочно · Краткосрочно · Купить» на телефоне, полные подписи — на широком экране */
.lf-deal .lf-df{display:none}
@media (min-width:600px){.lf-deal .lf-ds{display:none}.lf-deal .lf-df{display:inline}}
/* удобства группами: подзаголовок группы, чипы с иконками, «Ещё удобства (N)» */
.lfa{display:flex;flex-direction:column;gap:var(--s-2)}
.lfa-g{display:flex;flex-direction:column;gap:6px}
.lfa-l{font-size:var(--fs-xs);color:var(--muted)}
.lfa .chips button{min-height:40px}
.lfa-more{all:unset;box-sizing:border-box;align-self:flex-start;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--fs-sm);font-weight:600;color:var(--accent)}
.lfa-more:focus-visible{box-shadow:var(--ring);border-radius:var(--r-xs)}
/* точка района без точного адреса — полупрозрачная */
.ppin.approx{opacity:.62}
.ppin.approx.on{opacity:1}
.lo-amen{margin-top:4px}
/* 375 px: три подписи целиком — ширина по тексту, без иконок */
@media (max-width:420px){.lf-deal button{flex:1 1 auto;padding-left:4px;padding-right:4px}.lf-deal button .ico-wrap{display:none}}
/* «💡 Улучшить ArgHub» (ARG-FB-001): кнопка в шапке, окно идеи, подсказка, «Мои предложения» */
.top-acts{display:flex;align-items:center;gap:8px}
.ideabtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line);color:var(--sun);cursor:pointer}
.ideabtn .ico-wrap svg{width:18px;height:18px}
.ideabtn:active{transform:scale(.94)}
.idea-h{display:flex;align-items:center;gap:8px}
.idea-ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--sun) 16%,transparent);color:var(--sun)}
.idea-ic svg{width:17px;height:17px}
.idea-ic.lg{width:48px;height:48px}.idea-ic.lg svg{width:26px;height:26px}
.idea-ta{width:100%;min-height:96px;resize:vertical}
.idea-where{margin:0}
.idea-acts{align-items:center;gap:10px}
.idea-tip{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(70px + env(safe-area-inset-bottom));z-index:8;width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-2);font-size:var(--fs-sm,13.5px);animation:ideaIn .3s ease}
.idea-tip .btn{white-space:nowrap}
.idea-x{background:none;border:0;color:var(--muted);font-size:15px;padding:4px 6px;cursor:pointer}
@keyframes ideaIn{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
.idea-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 16px}
.idea-empty p{margin:0;color:var(--muted)}
.idea-list{display:flex;flex-direction:column;padding:0}
.idea-it{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-top:1px solid var(--line)}
.idea-it:first-child{border-top:0}
.idea-it .row{justify-content:space-between}
.idea-tx{margin:0;white-space:pre-wrap;word-break:break-word}
.idea-it .btn{align-self:flex-start;margin-top:4px}
.idea-st.st-accepted,.idea-st.st-progress{color:var(--accent);border-color:currentColor}
.idea-st.st-done,.idea-st.st-fixed{color:var(--ok);border-color:currentColor}
.idea-st.st-later{color:var(--sun);border-color:currentColor}
.idea-st.st-rejected{opacity:.7}
@media (prefers-reduced-motion:reduce){.idea-tip{animation:none}}
.ta-mk{flex-wrap:wrap;align-items:center;margin-top:6px}.ta-mk .ta-mk-in{width:84px}.ta-mk p{flex-basis:100%;margin:2px 0 0}
/* ARG-EDA-002: брендированная карточка — ссылки кнопками-иконками одного размера вместо строки «Ещё: …» */
.biz-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;width:100%;margin-top:10px}
.biz-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:6px 4px;border-radius:var(--r-md,14px);border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;text-align:center}
.biz-link i{font-style:normal;font-size:20px;line-height:1}
.biz-link:active{transform:scale(.97)}
main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.biz-mode main{padding-bottom:calc(32px + env(safe-area-inset-bottom))}
/* Онлайн-бронь машины (ARG-RENT-010 этап 3): форма в раскрытой карточке машины */
.rb-form{cursor:default;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.rb-form h3{margin:0 0 8px}
.rb-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rb-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;margin:0}
.rb-dt{display:flex;flex-direction:column;gap:4px}
.rb-dt input{width:100%;min-width:0;box-sizing:border-box}
.rb-res{margin:8px 0}
.rb-res p{margin:2px 0}
.rb-ok{padding:8px 10px;border-radius:10px;background:var(--card);border:1px solid var(--line)}
.rb-alts{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.rb-alt{text-align:left;justify-content:flex-start}
.rb-car{color:var(--accent);margin:4px 0}
.rb-car:empty{display:none}
@media (min-width:480px){.rb-dt{flex-direction:row}}
/* Продление аренды (ARG-RENT-010 этап 5) */
.rb-form[hidden]{display:none}
.rx-card .rb-form{margin-top:8px}
.rx-pro{border-color:var(--accent,#e8590c)}

/* Шахматка проката (ARG-RENT-010 этап 2): машины строками, дни столбцами, полосы броней по источникам; 375 px — горизонтальная прокрутка */
.rc-nav{flex-wrap:wrap;margin:8px 0}
.rc-nav .btn{width:auto}
.rc-grid{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card2)}
.rc-names{flex:none;width:112px;border-right:1px solid var(--line);background:var(--card)}
.rc-corner,.rc-head{height:38px;border-bottom:1px solid var(--line)}
.rc-name{height:40px;display:flex;align-items:center;padding:0 8px;font-size:12px;font-weight:600;line-height:1.15;overflow:hidden;border-bottom:1px solid var(--line)}
.rc-name.off{color:var(--muted);font-weight:400}
.rc-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1;min-width:0}
.rc-head{display:flex}
.rc-day{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--muted);border-right:1px solid var(--line)}
.rc-day b{font-size:13px;color:var(--ink)}
.rc-day.we{background:var(--soft)}
.rc-day.today b{color:var(--accent)}
.rc-row{position:relative;height:40px;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,var(--line) 1px,transparent 1px)}
.rc-now{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);opacity:.6;pointer-events:none}
.rc-bar{position:absolute;top:6px;height:28px;border:0;border-radius:8px;padding:0 6px;font:600 11px/28px inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;cursor:pointer;background:var(--muted)}
.rc-bar.on{outline:2px solid var(--ink);outline-offset:1px}
.rc-bar.stale{background:repeating-linear-gradient(45deg,var(--muted) 0 6px,transparent 6px 10px);color:var(--ink);opacity:.75}
.rc-bar.clash{box-shadow:inset 0 0 0 2px var(--danger)}
.src-arghub{background:var(--accent);color:var(--accent-ink)}
.src-localrent{background:#E8590C}
.src-rentenials{background:#0B7285}
.src-tripwip{background:#5F3DC4}
.src-telegram{background:#1C7ED6}
.src-instagram{background:#C2255C}
.src-whatsapp{background:#2B8A3E}
.src-manual,.src-phone,.src-other{background:#495057}
.src-block{background:repeating-linear-gradient(45deg,#868E96 0 6px,#ADB5BD 6px 12px);color:#212529}
.rc-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;color:var(--muted)}
.rc-legend span{display:inline-flex;align-items:center;gap:4px}
.rc-dot{display:inline-block;width:12px;height:12px;border-radius:4px}
.rc-dot.stale{background:repeating-linear-gradient(45deg,var(--muted) 0 3px,transparent 3px 5px)}
.rc-form label{display:block;margin-top:8px}
.rc-form label>input,.rc-form label>select{display:block;width:100%;margin-top:4px}
.rc-form .row .btn{width:auto}
.rc-form .seg{flex-wrap:wrap}
.rc-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rc-warn{color:var(--warn)}
.rc-load{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.rc-lrow{display:flex;align-items:center;gap:8px;font-size:13px}
.rc-lrow i{flex:none;width:90px;height:8px;border-radius:4px;background:linear-gradient(to right,var(--accent) var(--w),var(--soft) var(--w))}
.rc-lrow b{flex:none;width:38px;text-align:right}
.rc-ical{margin-top:6px}
.rc-ical .btn{width:auto}
.rc-close{border-left:3px solid var(--warn)}
.rc-cli{width:100%;background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.rc-cli.black b{color:var(--danger)}
.rc-cli .chip{margin-left:6px}
.rc-cli-open{border-bottom:1px solid var(--line);padding-bottom:10px}
.rc-cli-open textarea{width:100%;margin-top:4px}
.rc-cli-open .btn{width:auto}
@media (max-width:420px){.rc-names{width:92px}.rc-name{font-size:11px}}
/* 👥 Сообщество (ARG-SOC-001): лента «Люди», вкладка «Моё», правила */
.soc-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.soc-card{display:block;color:var(--ink);text-decoration:none}
.soc-top{gap:10px;align-items:center;flex-wrap:nowrap}
.soc-new{margin-left:6px;font-size:11px;padding:1px 6px}
.soc-about{margin:8px 0 6px;overflow-wrap:anywhere}
.soc-tags{gap:4px;margin-bottom:6px}
.soc-act{margin-top:8px}
.soc-filters{margin:8px 0 2px}
.soc-switch{gap:12px;align-items:center;flex-wrap:nowrap;cursor:pointer}
.soc-switch input{width:22px;height:22px;flex:none}
.soc-links{display:flex;flex-direction:column;gap:8px}
.soc-rules ol{padding-left:20px;margin:10px 0 14px;display:flex;flex-direction:column;gap:6px}
.soc-join{margin:8px 0}
.soc-first{text-align:center;padding:22px 16px;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.soc-first h2{margin:0;font:700 18px/1.3 var(--font-head)}
.soc-first p{margin:0;color:var(--muted)}
.soc-first-ico{font-size:40px;line-height:1}
.soc-first-row{display:flex;gap:8px;flex-wrap:wrap}
.soc-first-row .btn{flex:1 1 140px;width:auto}
.soc-none{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.soc-none p{margin:0}
/* Темы Сообщества (шаг 2): карточка темы как в макете — рубрика, заголовок, ответы и 👍 */
.soc-topic{display:block;color:var(--ink);text-decoration:none}
.soc-topic h3{font:600 14.5px/1.35 var(--font-head);margin:4px 0 6px;overflow-wrap:anywhere}
.soc-rub{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.soc-best{border-color:var(--sun)}
.soc-best-tag{color:var(--sun);font-weight:600;margin-bottom:4px}
.soc-solved{color:var(--sun)}
.soc-notes-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.soc-note{display:flex;color:var(--ink);text-decoration:none;padding:8px;border-radius:10px;background:var(--field)}
.soc-note b{font-weight:500;overflow-wrap:anywhere}
.soc-note.unread b{font-weight:700}
.soc-note.unread{box-shadow:inset 3px 0 0 var(--sun)}
.soc-pin{color:var(--sun);border-color:currentColor;background:transparent;font-weight:600}
.soc-snip{margin:0 0 6px;color:var(--muted);overflow-wrap:anywhere}
.soc-foot{gap:14px}
.soc-warn{color:var(--warn)}
.soc-newbtn{display:block;text-align:center;margin:0 0 10px}
.soc-title{font-size:19px;margin:6px 0 8px;overflow-wrap:anywhere}
.soc-by{gap:6px;align-items:center;color:var(--ink);text-decoration:none;flex-wrap:nowrap}
.soc-by .avatar{width:24px;height:24px;font-size:11px}
.soc-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.soc-hid{opacity:.7}
.soc-reasons{margin-top:6px;width:100%}
.soc-form{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.soc-form textarea,.soc-form input{width:100%;box-sizing:border-box}

/* ARG-CUR-001: цена в выбранной валюте — «≈ 72 000 ₽» крупно, исходная мелко рядом; строка выбора в «Моё» */
.fx{display:inline-flex;align-items:baseline;flex-wrap:wrap;column-gap:6px;row-gap:0;cursor:help;max-width:100%}
.fx-a{white-space:nowrap}
.fx-o{font:500 var(--fs-xs)/1.3 var(--font-text);letter-spacing:0;color:var(--muted);white-space:nowrap}
.ms-price .fx{flex-wrap:nowrap;overflow:hidden}
.ms-price .fx-o{overflow:hidden;text-overflow:ellipsis}
.cur-row{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;padding:8px 0}
.cur-row .grow{flex:1 1 auto;min-width:0;line-height:1.3}
.cur-row .cur-sel{flex:0 0 auto;width:auto;min-width:0;max-width:46%;min-height:36px;padding:6px 28px 6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:500 var(--fs-sm) var(--font-text)}
/* «Итого ≈ … в месяц» под ценой недвижимости (аренда + expensas) */
.lst-tot{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;margin:2px 0 2px;font:600 var(--fs-sm)/1.35 var(--font-text);color:var(--muted)}
.lst-tot b{font-weight:600;white-space:nowrap}
.lst-tot.full{color:var(--ink)}
.lst-tot.full b{font-weight:700}
.lst-tot-p{font-weight:500;font-size:var(--fs-xs);color:var(--muted)}
.lst-tot.full{margin:6px 0 4px;padding:6px 10px;border-radius:10px;background:var(--soft);cursor:help;width:fit-content;max-width:100%}
/* круг «район примерно» вокруг выбранной приблизительной точки (ARG-DQ-013) */
.mp-ring{fill:var(--c-blue);fill-opacity:.10;stroke:var(--c-blue);stroke-opacity:.55;stroke-width:1.5;stroke-dasharray:5 5}

/* свой домен бизнеса в кабинете (ARG-PLAT-001 шаг 11): длинные записи DNS переносятся на 375 px */
.dm-box { border-top: 1px solid var(--line, rgba(127,127,127,.25)); padding-top: 10px; }
.dm-rec { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 4px 0; }
.dm-rec code { overflow-wrap: anywhere; word-break: break-all; font-size: 12px; }

/* Блоки витрины в кабинете (ARG-PLAT-001 шаг 12): строка — номер, галочка, название, ↑ ↓; скрытый блок приглушён.
   Полировка 375 px и тёмной темы: строки-плашки с номером позиции, кнопки ↑ ↓ одной парой, длинные названия переносятся */
.blk-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:blk}
.blk-row{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 8px;min-height:48px;
  background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);counter-increment:blk;transition:background .15s,opacity .15s}
.blk-row::before{content:counter(blk);flex:0 0 22px;height:22px;border-radius:var(--r-pill);display:grid;place-items:center;
  font:600 var(--fs-xs)/1 var(--font-head);color:var(--accent);background:var(--soft)}
.blk-row label{flex:1 1 auto;margin:0;gap:8px;align-items:center;min-width:0;flex-wrap:nowrap;font-size:var(--fs-sm);line-height:1.3;color:var(--ink);cursor:pointer}
.blk-row label input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--accent)}
.blk-row label input[disabled]{cursor:default}
.blk-row label span{overflow-wrap:anywhere;min-width:0}
.blk-row label small{display:inline-block;margin-left:4px}
.blk-row.off{background:transparent;border-style:dashed}
.blk-row.off::before{color:var(--muted);background:var(--field)}
.blk-row.off label span{opacity:.55;text-decoration:line-through}
.blk-row .btn.sm{flex:0 0 auto;min-width:40px;min-height:40px;padding:0;border-radius:var(--r-xs);font-size:var(--fs-md);line-height:1}
.blk-row .btn.sm:disabled{opacity:.3}
:root[data-theme=dark] .blk-row{border-color:rgba(255,255,255,.10)}
:root[data-theme=dark] .blk-row.off{border-color:rgba(255,255,255,.14)}
@media (max-width:380px){.blk-row{gap:4px;padding-left:6px}}
/* Отказ от покупки (ARG-PLAT-001 шаг 9): код — моноширинный, переносится на 375 px; кнопка отказа — во всю ширину на телефоне */
.wd-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px;overflow-wrap:anywhere}
.wd-req code.wd-code{font-size:15px;font-weight:700;padding:4px 8px;border-radius:8px;background:var(--soft);color:var(--ink)}
.wd-card .btn.danger{min-height:44px}
@media (max-width:480px){.wd-card .btn.danger{width:100%}}
.wd-row p{overflow-wrap:anywhere}
.wd-row.done{opacity:.7}
.wd-row .btn{min-height:40px}
/* «Всё меню» (ARG-EDA-002 шаг 10): плитка 2 в ряд */
.food-all{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 12px}
.fd-tile{display:flex;flex-direction:column;gap:2px;padding:6px 6px 10px;border:1px solid var(--line);border-radius:12px;background:var(--card,transparent);min-width:0}
.fd-tile img,.fd-tile .dish-ph{width:100%;aspect-ratio:1/1;border-radius:9px;object-fit:cover;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:4px}
.fd-tile b{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.fd-incl{color:var(--ok,#2e7d32)}

/* ARG-UX-007: пустое обязательное поле после «Отправить» — красная рамка; снимается при вводе */
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent)}
.chips[aria-invalid="true"],.photos[aria-invalid="true"],label.check[aria-invalid="true"]{outline:1.5px solid var(--danger);outline-offset:4px;border-radius:var(--r-sm)}
/* ARG-UX-065: карточка бизнеса в списке — название слева, ☆ / ⚖ / поделиться одним рядом справа, чипы строкой ниже */
.pc-head{flex-wrap:nowrap;align-items:center}
.pc-head h3{flex:1;margin:0;min-width:0;overflow-wrap:anywhere}
.pc-acts{display:flex;align-items:center;gap:2px;flex:none}
.pc-acts>.fav{margin-left:0}
.pc-chips{margin-top:6px}
.pc-chips:empty{display:none}
/* ARG-SHARE-010: «Поделиться» в ленте Маркета — кружок левее ♥ (у своего объявления ♥ нет — на его месте) */
.ad-fav.ad-share{right:48px}
.ad-fav.ad-share.solo{right:8px}
.ad-fav.ad-share svg{width:17px;height:17px}
/* Гид: пункты статьи открываются в подробный экран (ARG-GUIDE-020) */
.g-items{padding:4px 0}
.g-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;min-height:44px;color:var(--ink);border-top:1px solid var(--line);line-height:1.45}
.g-item:first-child{border-top:0}
.g-item:active{background:var(--soft)}
.g-dot{flex:0 0 6px;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--accent)}
.g-more{display:block;margin-top:4px;color:var(--accent-tx,var(--accent));font-weight:600}
.g-chev{flex:0 0 auto;color:var(--muted);font-size:20px;line-height:1.1}
.g-crumb{margin:4px 0 2px}
h1.g-lead{font-size:19px;line-height:1.35}
.g-detail{padding:4px 16px}
.g-sec{padding:12px 0;border-top:1px solid var(--line)}
.g-sec:first-child{border-top:0}
.g-sec h3{margin:0 0 6px;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.g-sec p,.g-sec ul,.g-sec ol{margin:0;line-height:1.5}
.g-sec ul,.g-sec ol{padding-left:20px}
.g-sec li+li{margin-top:4px}
.g-cats{margin:10px 0}
.g-cats .small{margin:0 0 6px}
.chip-link{display:inline-flex;align-items:center;min-height:36px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:6px 12px;font-size:13px}
.g-nav{justify-content:space-between;margin:10px 0}

/* 📊 Онлайн (ARG-STAT-010): экран админа — число «сейчас», пульс за час, кто сейчас, полосы разделов и карточек */
.onl-now .row{align-items:center;gap:6px}
.onl-n{font:700 34px/1 var(--font-head,inherit);letter-spacing:-.02em;margin-right:6px}
.bars.onl-hour{height:44px;gap:1px;margin:10px 0 2px}
.bars.onl-hour .bar i{border-radius:2px 2px 0 0}
.bars.onl-days{height:56px;gap:2px;margin:8px 0 2px}
.onl-who{padding:0}
.onl-u{display:block;padding:10px 12px;color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.onl-u:last-child{border-bottom:0}
.onl-u .row{align-items:center;gap:6px;flex-wrap:nowrap}
.onl-u .one,.onl-li .one{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.onl-new{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.onl-chips{flex-wrap:wrap;gap:6px;margin:0 0 8px}
.onl-hd{align-items:center;gap:8px;flex-wrap:wrap}
.onl-per .stats{grid-template-columns:repeat(3,1fr)}
.onl-per .stat{padding:8px 10px}
.onl-per .stat b{font-size:19px}
.onl-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.onl-li{display:grid;grid-template-columns:minmax(0,9.5em) 1fr auto;align-items:center;gap:8px;font-size:13px;color:inherit;text-decoration:none}
.onl-li i{display:block;height:8px;border-radius:4px;background:color-mix(in srgb,var(--accent) 55%,transparent);min-width:3px}
.onl-li b{font-variant-numeric:tabular-nums}
@media (max-width:340px){.onl-per .stats{grid-template-columns:repeat(2,1fr)}}

/* Подписка на еду в ArgHub (ARG-EDA-003): вкладки Меню · Тарифы · Чат · Кабинет · Админка — как в старом Mini App Myfoodservice. 375 px */
.fs-app{margin:12px 0}
.fs-tabs{display:flex;gap:4px;padding:4px;border-radius:var(--r-md);background:color-mix(in srgb,var(--ink) 6%,var(--bg));position:sticky;top:calc(var(--top-h,57px) + 4px);z-index:4;overflow-x:auto;scrollbar-width:none;scroll-margin-top:calc(var(--top-h,57px) + 8px)} /* под шапкой ArgHub (.top sticky, ~57 px), фон непрозрачный — меню не просвечивает */
.fs-tabs::-webkit-scrollbar{display:none}
.fs-tab{flex:1 0 auto;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:600 13px/1.1 inherit;padding:0 10px;cursor:pointer;white-space:nowrap}
.fs-app .food-sticky{bottom:calc(68px + env(safe-area-inset-bottom,0px))} /* «Выбрать тариф →» — над нижним меню ArgHub (.tabs fixed, ~61 px) */
@media (min-width:1024px){.fs-app .food-sticky{bottom:12px}}
.fs-tab.on{background:var(--card);color:var(--ink);box-shadow:var(--e-1)}
.fs-pane{padding-top:4px}
.fs-pane[hidden]{display:none}
.fs-weeks{margin:6px 0 8px}
.fs-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:4px 0 10px}
.fs-day{position:relative;min-height:58px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font:inherit;padding:4px 0}
.fs-day span{font-size:11.5px;text-transform:uppercase;color:var(--muted);letter-spacing:.02em}
.fs-day b{font-size:18px;line-height:1}
.fs-day.past{opacity:.5}
.fs-day.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);opacity:1}
.fs-day.on span{color:var(--accent-ink);opacity:.85}
.fs-lock{position:absolute;top:2px;right:4px;font-style:normal;font-size:10px}
.fs-dish{align-items:flex-start}
.fs-dish .btn.sm{flex:none;width:auto;align-self:center}
.fs-dish.sel{outline:2px solid var(--accent);outline-offset:-2px}
.fs-chg{color:var(--ok)}
.fs-seg{margin:8px 0;width:100%;box-sizing:border-box}
.fs-seg button{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;font-size:13.5px}
.fs-seg button small{font-size:11px;opacity:.8;font-weight:400}
.fs-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:99px;background:var(--ok);color:var(--ok-ink);font-size:10.5px;font-weight:700}
.fs-persons{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}
.fs-person{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.fs-person.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.fs-person .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.fs-radio{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--line);box-sizing:border-box}
.fs-person.on .fs-radio{border:5px solid var(--accent)}
.fs-ic{flex:none;font-size:13px;letter-spacing:-3px;min-width:34px}
.fs-price{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.fs-price b{font-size:16px}
.fs-subcard h3{margin:8px 0 2px}
.fs-r{text-align:right}
.fs-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.fs-kv>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--r-sm);background:var(--field)}
.fs-sec{margin:14px 0 4px}
.fs-sec h3{margin:0 0 6px}
.fs-list{padding:4px 12px}
.fs-it{gap:10px}
.fs-list .fs-it{padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.fs-list .fs-it:last-child{border-bottom:0}
.fs-list .btn.sm,.fs-it .btn.sm{width:auto;flex:none}
.card.fs-it{display:block;margin:8px 0}
.card.fs-it .row{gap:8px;flex-wrap:wrap}
.card.fs-it p{margin:4px 0}
a.card.fs-it{color:var(--ink)}
.fs-st-active,.fs-ps-confirmed{color:var(--ok);border-color:currentColor;background:transparent}
.fs-st-pending,.fs-ps-none,.fs-ps-claimed{color:var(--warn);border-color:currentColor;background:transparent}
.fs-st-ended,.fs-st-cancelled,.fs-ps-cancelled,.fs-ps-rejected{opacity:.75}
.fs-deadline{margin:2px 0 8px}
.fs-pick .row{align-items:center;margin-bottom:6px}
.fs-empty{text-align:center}
.fs-empty .btn{margin-top:10px}
.fs-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.fs-kpi{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);text-align:center}
.fs-kpi b{font-size:20px}
.fs-kitchen{list-style:none;margin:6px 0 0;padding:0}
.fs-kitchen li{display:flex;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line)}
.fs-kitchen li:last-child{border-bottom:0}

/* ARG-RENT-010 / ARG-PLAT-020: фирменная страница проката (страница сайта бренда в shadow DOM — стили там из /site.css);
   здесь — то, что вокруг: «← Назад» с логотипом, кнопки внизу экрана, лист брони, отзывы ArgHub внутри «Отзывов» */
.rs-top{align-items:center;gap:10px;min-height:40px}
.rs-top .back{margin:0}
.rs-wm img{display:block;height:24px;width:auto}
.rs-host{display:block;margin:0 -2px}
.rs-rv{display:block;margin-top:14px}
.rs-sticky{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:16px;padding:8px;border-radius:18px;background:var(--glass,var(--card));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--e-3)}
.rs-sticky .btn{margin:0;min-height:48px}
.modal-card.rb-sheet{max-height:92vh;overflow:auto;overscroll-behavior:contain;color:var(--ink)}
.modal-card.rb-sheet select{width:100%;margin-top:4px}

/* ARG-UX-067: плитка бизнеса платформы в списке раздела — та же шапка, что на карточке (.biz-hero), только компактнее */
.card.biz-tile{padding:0;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.card.biz-tile:active{transform:scale(.99)}
.card.biz-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.biz-tile .bt-hero{margin:0;min-height:176px;border-radius:0}
.biz-tile .bt-hero.flat{min-height:0}
.biz-tile .biz-hero-bar{padding:40px 14px 12px;gap:10px}
.biz-tile .bt-hero.flat .biz-hero-bar{padding-top:48px}
.biz-tile .prof-logo{width:52px;height:52px;border-radius:14px;font-size:24px}
.biz-tile .bt-hero h3{margin:0 0 3px;font-size:18px;line-height:1.2;color:inherit;word-break:break-word}
.biz-tile .biz-hero-meta{font-size:12px;gap:3px 8px}
.biz-tile .biz-hero-acts{top:8px;right:8px}
.biz-tile .biz-hero-acts .fav{min-width:36px;min-height:36px;font-size:18px}
.biz-tile .biz-hero-acts{gap:6px}
.biz-hero-acts .cmp-btn,.biz-hero-acts .cmp-btn .ico-wrap{color:#fff}
.bt-top{position:absolute;top:10px;left:12px}
.bt-open{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-pill,99px);font-size:12px;font-weight:600;color:#fff;background:rgba(var(--scrim-rgb),.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.bt-open::before{content:"";width:7px;height:7px;border-radius:50%;background:#9aa3b8}
.bt-open.on::before{background:#3DD598}
.biz-tile .bt-hero.flat .bt-open{color:var(--hero-ink,#fff);background:color-mix(in srgb,currentColor 14%,transparent)}
.bt-body{padding:12px 14px 14px}
.bt-body>*{margin:0 0 8px}
.bt-body>*:last-child{margin-bottom:0}
.bt-promo{padding:8px 10px;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bt-desc{color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bt-acts{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:4px}
.bt-acts .btn{margin:0;min-height:44px}
.bt-acts>.btn:only-child{grid-column:1/-1}

/* ARG-RENT-011: «Куда подать машину» — чипы-варианты (переносятся, «На карте» всегда на виду), подсказки адреса под полем */
.rb-where{display:grid;gap:6px;margin-top:4px}
.rb-wchips{gap:6px}
.rb-wchips button{white-space:nowrap;min-height:36px;padding:6px 11px}
.rb-wchips button:disabled{opacity:.6}
.rb-where .sug{margin-top:0}
.rb-where .sug:empty,.rb-wnote:empty{display:none}
.rb-wnote{margin:0}
