/* StomStom — стили. База: переменные темы Telegram с фолбэками. */
:root {
  --bg: var(--tg-theme-bg-color, #f5f7f8);
  --bg2: var(--tg-theme-secondary-bg-color, #ffffff);
  --text: var(--tg-theme-text-color, #17222b);
  --hint: var(--tg-theme-hint-color, #7b8a94);
  --accent: #0fa3a3;
  --accent-soft: rgba(15,163,163,.12);
  --card: var(--bg2);
  --line: rgba(123,138,148,.20);
  --muted: var(--hint);
  --ok: #2fa84f; --warn: #e8a23d; --bad: #e05b4b;
  --radius: 14px;
  --shadow: 0 1px 3px rgba(23,34,43,.08);
}
* { box-sizing: border-box; margin: 0; }
html, body { height: 100%; }
body {
  font: 16px/1.45 -apple-system, system-ui, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg); color: var(--text);
  padding-bottom: calc(64px + env(safe-area-inset-bottom));
}
.hidden { display: none !important; }

#topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; background: var(--bg); }
.brand { font-weight: 800; font-size: 20px; letter-spacing: -.5px; cursor: pointer; }
.brand span { color: var(--accent); }
.dir-switch { display: flex; background: var(--bg2); border-radius: 999px; padding: 3px; box-shadow: var(--shadow); }
.dir-switch button { border: 0; background: transparent; color: var(--hint); font: inherit; font-size: 14px; font-weight: 600; padding: 6px 14px; border-radius: 999px; cursor: pointer; }
.dir-switch button.on { background: var(--accent); color: #fff; }
.account-btn { border: 0; border-radius: 999px; padding: 8px 13px; color: #fff; background: var(--accent); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.account-btn.signed { color: var(--accent); background: var(--accent-soft); }
.guest-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 14px; padding: 12px; border: 1px solid rgba(15,163,163,.22); border-radius: 14px; background: var(--accent-soft); }
.guest-banner b, .guest-banner span { display: block; }
.guest-banner b { font-size: 14px; }
.guest-banner span { color: var(--hint); font-size: 12px; margin-top: 2px; }
.guest-banner button { flex: 0 0 auto; border: 0; border-radius: 10px; padding: 8px 12px; color: #fff; background: var(--accent); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }

main { padding: 4px 16px calc(104px + env(safe-area-inset-bottom)); max-width: 640px; margin: 0 auto; }
h1 { font-size: 24px; font-weight: 800; letter-spacing: -.5px; margin: 14px 0 4px; }
h2 { font-size: 18px; font-weight: 700; margin: 18px 0 8px; }
.sub { color: var(--hint); font-size: 14px; margin-bottom: 14px; }

/* Экран выбора направления — сигнатурный элемент */
.doors { display: grid; gap: 14px; margin-top: 18px; }
.door { position: relative; background: var(--bg2); border-radius: 20px; padding: 22px 20px 20px; box-shadow: var(--shadow); cursor: pointer; overflow: hidden; border: 2px solid transparent; transition: transform .12s, border-color .12s; }
.door:active { transform: scale(.98); }
.door .ic { font-size: 34px; }
.door h3 { font-size: 19px; font-weight: 800; margin: 8px 0 4px; }
.door p { color: var(--hint); font-size: 14px; }
.door::after { content: '→'; position: absolute; right: 18px; top: 20px; font-size: 22px; color: var(--accent); }
.door.rent { border-color: var(--accent-soft); }

/* Карточки */
.card { background: var(--bg2); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px; margin-bottom: 12px; }
.card img.cover { width: 100%; height: 160px; object-fit: cover; border-radius: 10px; margin-bottom: 10px; background: var(--accent-soft); }
.card .t { font-weight: 700; }
.card .m { color: var(--hint); font-size: 14px; margin-top: 2px; }
.cabinet-card { cursor: pointer; transition: transform .15s, box-shadow .15s; }
.cabinet-card:active { transform: scale(.985); }
.card-facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 5px; color: var(--hint); font-size: 12px; }
.card-facts span { background: var(--bg); border-radius: 999px; padding: 4px 8px; }
.card-tags { margin-top: 6px; }
.price { color: var(--accent); font-weight: 800; margin-top: 6px; }
.row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.spread { justify-content: space-between; }

.badge { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); }
.badge.ok { background: rgba(47,168,79,.13); color: var(--ok); }
.badge.warn { background: rgba(232,162,61,.15); color: var(--warn); }
.badge.bad { background: rgba(224,91,75,.13); color: var(--bad); }
.badge.mut { background: rgba(123,138,148,.14); color: var(--hint); }

/* Формы и кнопки */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 12px; background: var(--accent); color: #fff; font: inherit; font-weight: 700; padding: 12px 18px; cursor: pointer; width: 100%; }
.btn:disabled { opacity: .5; }
.btn.ghost { background: var(--accent-soft); color: var(--accent); }
.btn.small { width: auto; padding: 8px 14px; font-size: 14px; border-radius: 10px; }
.btn.danger { background: rgba(224,91,75,.12); color: var(--bad); }
input, select, textarea { width: 100%; font: inherit; color: var(--text); background: var(--bg2); border: 1.5px solid rgba(123,138,148,.25); border-radius: 12px; padding: 11px 12px; margin: 5px 0 12px; }
textarea { min-height: 84px; resize: vertical; }
label { font-size: 13px; font-weight: 600; color: var(--hint); }
.filters { display: flex; gap: 8px; margin: 10px 0; }
.filters select, .filters input { margin: 0; padding: 9px 10px; font-size: 14px; }

/* Этап I1 — компактный каталог */
.catalog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.catalog-head h1 { margin-top:14px; }
.catalog-view-switch { display:flex; flex:0 0 auto; margin-top:12px; padding:3px; border-radius:11px; background:var(--bg2); box-shadow:var(--shadow); }
.catalog-view-switch button { border:0; border-radius:8px; padding:7px 9px; color:var(--hint); background:transparent; font:inherit; font-size:10px; font-weight:800; }
.catalog-view-switch button.on { color:#fff; background:var(--accent); }
.catalog-view-switch button:disabled { opacity:.45; }
.catalog-search { margin:12px 0 10px; padding:11px; border:1px solid rgba(123,138,148,.13); border-radius:18px; background:var(--bg2); box-shadow:var(--shadow); }
.catalog-search-box { display:flex; align-items:center; gap:8px; }
.catalog-search-box > span { display:grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border-radius:10px; color:var(--accent); background:var(--accent-soft); font-size:20px; }
.catalog-search-box input { margin:0; border:0; padding:9px 2px; background:transparent; }
.catalog-search-box input:focus { outline:0; }
.catalog-quick-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:9px; }
.catalog-quick-row label { display:flex; align-items:center; gap:7px; min-width:0; border:1px solid rgba(123,138,148,.2); border-radius:11px; padding:0 9px; }
.catalog-quick-row label span { flex:0 0 auto; color:var(--hint); font-size:9px; }
.catalog-quick-row input { min-width:0; margin:0; border:0; padding:9px 0; background:transparent; font-size:11px; }
.catalog-quick-row > button { position:relative; display:flex; align-items:center; gap:6px; border:0; border-radius:11px; padding:0 12px; color:#fff; background:var(--accent); font:inherit; font-size:11px; cursor:pointer; }
.catalog-quick-row > button i { position:absolute; top:-6px; right:-5px; display:grid; place-items:center; min-width:18px; height:18px; border:2px solid var(--bg2); border-radius:999px; color:#fff; background:var(--bad); font-size:9px; font-style:normal; font-weight:900; }
.filter-overlay { position:fixed; z-index:80; inset:0; }
.filter-overlay[hidden] { display:none; }
.filter-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(8,22,28,.58); backdrop-filter:blur(3px); }
.filter-sheet { position:absolute; right:0; bottom:0; left:0; display:flex; flex-direction:column; max-height:min(88vh,760px); border-radius:24px 24px 0 0; background:var(--bg2); box-shadow:0 -18px 60px rgba(0,0,0,.22); }
.filter-sheet header { display:flex; align-items:center; justify-content:space-between; padding:17px 18px 12px; border-bottom:1px solid rgba(123,138,148,.13); }
.filter-sheet header small { color:var(--accent); font-size:9px; font-weight:900; text-transform:uppercase; }
.filter-sheet header h2 { margin:2px 0 0; font-size:21px; }
.filter-sheet header button { display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:50%; color:var(--text); background:var(--bg); font-size:23px; cursor:pointer; }
.filter-sheet-body { overflow:auto; padding:15px 18px 7px; overscroll-behavior:contain; }
.filter-choice { margin:0 0 16px; border:0; padding:0; }
.filter-choice legend { margin-bottom:8px; color:var(--text); font-size:13px; font-weight:800; }
.filter-radio-row { display:flex; flex-wrap:wrap; gap:6px; }
.filter-radio-row label, .condition-filters label { margin:0; }
.filter-radio-row input { position:absolute; opacity:0; pointer-events:none; }
.filter-radio-row span { display:block; border:1px solid rgba(123,138,148,.22); border-radius:999px; padding:8px 11px; color:var(--text); background:var(--bg); font-size:11px; }
.filter-radio-row input:checked + span { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); font-weight:800; }
.filter-select-label { display:block; margin-bottom:10px; color:var(--text); font-size:12px; font-weight:800; }
.filter-select-label select { margin:6px 0 0; }
.filter-equipment { margin:15px 0; }
.filter-equipment .multi-choice { flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; scrollbar-width:none; }
.filter-equipment .multi-choice::-webkit-scrollbar { display:none; }
.filter-equipment .multi-choice label { flex:0 0 auto; }
.filter-sheet footer { display:grid; grid-template-columns:.8fr 1.6fr; gap:8px; padding:11px 18px calc(11px + env(safe-area-inset-bottom)); border-top:1px solid rgba(123,138,148,.13); background:var(--bg2); }
.filter-sheet footer .btn { min-width:0; padding:11px 8px; font-size:12px; }
body.filters-open { overflow:hidden; }
.compact-cabinet-card { overflow:hidden; margin-bottom:12px; border:1px solid rgba(123,138,148,.13); border-radius:18px; background:var(--bg2); box-shadow:var(--shadow); }
.compact-cover { position:relative; height:142px; overflow:hidden; }
.compact-cover img { width:100%; height:100%; object-fit:cover; background:var(--accent-soft); }
.compact-cover:after { content:""; position:absolute; right:0; bottom:0; left:0; height:45%; background:linear-gradient(transparent,rgba(0,0,0,.24)); pointer-events:none; }
.compact-cover .catalog-badges { z-index:2; top:10px; left:10px; }
.compact-fav { position:absolute; z-index:3; top:9px; right:9px; display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:50%; color:#d64c57; background:rgba(255,255,255,.93); box-shadow:0 4px 14px rgba(0,0,0,.14); font-size:21px; cursor:pointer; }
.compact-card-body { padding:13px 14px 12px; }
.compact-card-body h2 { margin:0 38px 3px 0; font-size:17px; line-height:1.22; }
.compact-location { overflow:hidden; color:var(--hint); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.compact-availability { display:flex; align-items:center; gap:6px; margin-top:9px; color:var(--ok); font-size:10px; font-weight:750; }
.compact-availability i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--ok); box-shadow:0 0 0 3px rgba(47,168,79,.12); }
.compact-price-row { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:9px; }
.compact-price-row strong { color:var(--accent); font-size:17px; }
.compact-price-row span { color:var(--hint); font-size:9px; white-space:nowrap; }
.compact-tags { display:flex; flex-wrap:nowrap; gap:5px; overflow:hidden; margin-top:9px; }
.compact-tags .tag { flex:0 0 auto; max-width:42%; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.compact-card-actions { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; margin-top:10px; border-top:1px solid rgba(123,138,148,.12); padding-top:9px; }
.compact-compare { display:flex; align-items:center; gap:5px; border:0; border-radius:9px; padding:7px 8px; color:var(--hint); background:var(--bg); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.compact-compare span { display:grid; place-items:center; width:17px; height:17px; border-radius:6px; color:var(--accent); background:var(--accent-soft); font-size:11px; }
.compact-compare.selected { color:var(--accent); background:var(--accent-soft); }
.compact-compare.selected span { color:#fff; background:var(--accent); }
.compact-details { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; padding:7px 1px; color:var(--text); background:transparent; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.compact-details span { color:var(--accent); font-size:16px; }
@media (min-width:700px) { #list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .compact-cabinet-card { margin:0; } .filter-sheet { top:4%; right:16px; bottom:4%; left:auto; width:min(440px,calc(100% - 32px)); max-height:none; border-radius:24px; } }

/* Этап I3 — упрощённое сравнение */
.compare-bar { position:fixed; z-index:19; right:12px; bottom:72px; left:12px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:9px; max-width:730px; margin:auto; border:1px solid rgba(15,163,163,.2); border-radius:16px; padding:9px 10px; background:var(--bg2); box-shadow:0 12px 35px rgba(25,52,59,.2); }
.compare-bar[hidden] { display:none; }
.compare-bar-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color:#fff; background:var(--accent); font-size:20px; font-weight:900; }
.compare-bar b,.compare-bar span { display:block; }
.compare-bar b { font-size:11px; }
.compare-bar span { margin-top:2px; color:var(--hint); font-size:8px; }
.compare-bar > button { display:flex; align-items:center; gap:6px; border:0; border-radius:11px; padding:10px 11px; color:#fff; background:var(--accent); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.compare-bar > button i { display:grid; place-items:center; min-width:20px; height:20px; border-radius:999px; color:var(--accent); background:#fff; font-size:10px; font-style:normal; }
.compare-overlay { position:fixed; z-index:95; inset:0; }
.compare-overlay[hidden] { display:none; }
.compare-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(8,22,28,.62); backdrop-filter:blur(3px); }
.compare-sheet { position:absolute; right:0; bottom:0; left:0; display:flex; flex-direction:column; max-height:92dvh; width:min(760px,100%); margin:auto; overflow:hidden; border-radius:24px 24px 0 0; background:var(--bg2); box-shadow:0 -18px 50px rgba(8,22,28,.25); }
.compare-sheet > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px 12px; border-bottom:1px solid rgba(123,138,148,.13); }
.compare-sheet > header small { color:var(--accent); font-size:9px; font-weight:900; text-transform:uppercase; }
.compare-sheet > header h2 { margin:2px 0 0; font-size:20px; }
.compare-sheet > header button { display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:50%; color:var(--text); background:var(--bg); font-size:23px; cursor:pointer; }
.compare-body { overflow:auto; padding:13px 14px calc(16px + env(safe-area-inset-bottom)); }
.compare-cabinets,.compare-actions { display:grid; grid-template-columns:repeat(var(--compare-count),minmax(0,1fr)); gap:7px; }
.compare-cabinets article { position:relative; min-width:0; }
.compare-cabinets img { width:100%; height:82px; border-radius:12px; object-fit:cover; background:var(--accent-soft); }
.compare-cabinets b,.compare-cabinets span { display:block; }
.compare-cabinets b { margin-top:6px; overflow:hidden; font-size:10px; line-height:1.25; }
.compare-cabinets span { margin-top:3px; color:var(--ok); font-size:8px; font-weight:700; }
.compare-remove { position:absolute; top:5px; right:5px; display:grid; place-items:center; width:25px; height:25px; border:0; border-radius:50%; color:var(--text); background:rgba(255,255,255,.92); box-shadow:0 3px 9px rgba(0,0,0,.13); font-size:17px; cursor:pointer; }
.compare-rows { margin-top:13px; }
.compare-rows section { border-top:1px solid rgba(123,138,148,.13); padding:9px 0; }
.compare-rows h3 { margin:0 0 6px; color:var(--hint); font-size:8px; text-transform:uppercase; letter-spacing:.3px; }
.compare-rows section > div { display:grid; grid-template-columns:repeat(var(--compare-count),minmax(0,1fr)); gap:7px; }
.compare-rows p { min-width:0; margin:0; overflow-wrap:anywhere; font-size:9px; line-height:1.35; }
.compare-actions { position:sticky; bottom:0; padding-top:10px; background:var(--bg2); }
.compare-actions .btn { min-width:0; padding:10px 4px; font-size:9px; }
body.compare-open { overflow:hidden; }
@media (min-width:700px) { .compare-sheet { top:4%; bottom:4%; border-radius:24px; } .compare-cabinets img { height:120px; } .compare-cabinets b { font-size:12px; } .compare-rows p { font-size:11px; } }

/* Слоты */
.slots { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.slot { border: 1.5px solid var(--accent-soft); background: var(--bg2); color: var(--text); border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.slot.sel { background: var(--accent); color: #fff; border-color: var(--accent); }
.slot.busy { opacity: .62; border-style: dashed; color: var(--hint); background: rgba(123,138,148,.1); cursor: not-allowed; }
.slot.busy small { display: block; margin-top: 2px; font-size: 9px; font-weight: 800; text-transform: uppercase; text-decoration: none; }
.slot.held { border-style: dashed; border-color: #e4a828; color: #9b6500; background: rgba(245,184,49,.14); cursor: not-allowed; }
.slot.held small { display:block; margin-top:2px; color:#9b6500; font-size:8px; font-weight:850; text-transform:uppercase; }
.slot-hint { color: var(--hint); font-size: 12px; margin: -7px 0 13px; }

/* Таб-бар */
#tabbar { position: fixed; bottom: 0; left: 0; right: 0; display: flex; background: var(--bg2); border-top: 1px solid rgba(123,138,148,.15); padding-bottom: env(safe-area-inset-bottom); z-index: 20; }
#tabbar button { flex: 1; border: 0; background: transparent; color: var(--hint); font: inherit; font-size: 11px; font-weight: 600; padding: 8px 2px 10px; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px; }
#tabbar button .i { font-size: 20px; }
#tabbar button.on { color: var(--accent); }

/* Статистика админа */
.stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.stat { background: var(--bg2); border-radius: var(--radius); box-shadow: var(--shadow); padding: 12px; }
.stat b { font-size: 22px; display: block; }
.stat span { color: var(--hint); font-size: 12px; }

.toast { position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%); background: var(--text); color: var(--bg); padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; z-index: 50; max-width: 90%; text-align: center; }
.empty { text-align: center; color: var(--hint); padding: 36px 12px; }
.empty .i { font-size: 40px; display: block; margin-bottom: 8px; }
.gallery { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 10px; }
.gallery img { height: 150px; border-radius: 10px; }
.tag { display: inline-block; background: var(--bg); border-radius: 8px; padding: 4px 9px; font-size: 13px; margin: 0 6px 6px 0; color: var(--hint); }
.seg { display: flex; background: var(--bg); border-radius: 12px; padding: 3px; margin: 10px 0; }
.seg button { flex: 1; border: 0; background: transparent; color: var(--hint); font: inherit; font-size: 14px; font-weight: 700; padding: 9px; border-radius: 10px; cursor: pointer; }
.seg button.on { background: var(--bg2); color: var(--text); box-shadow: var(--shadow); }
.admin-seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.admin-seg::-webkit-scrollbar { display: none; }
.admin-seg button { flex: 0 0 auto; white-space: nowrap; }
.admin-seg button i { display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;border-radius:999px;padding:0 5px;color:#fff;background:var(--bad);font-size:9px;font-style:normal }
.admin-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.admin-title h1{margin:1px 0}
.admin-sync-note{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;margin:12px 0;padding:12px;border:1px solid rgba(47,168,79,.2);border-radius:15px;background:rgba(47,168,79,.07)}
.admin-sync-note>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#fff;background:var(--ok);font-weight:900}.admin-sync-note b,.admin-sync-note small{display:block}.admin-sync-note small{color:var(--hint);font-size:9px}.admin-sync-note button,.admin-panel-head button{border:0;color:var(--accent);background:transparent;font:inherit;font-size:10px;font-weight:750;cursor:pointer}
.admin-workflow{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:11px}.admin-workflow button{display:grid;grid-template-columns:38px 1fr 14px;align-items:center;gap:9px;min-width:0;border:1px solid var(--line);border-radius:16px;padding:12px;color:var(--text);background:var(--card);text-align:left;cursor:pointer}.admin-workflow-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent-soft);font-size:19px}.admin-workflow small,.admin-workflow b,.admin-workflow em{display:block}.admin-workflow small,.admin-workflow em{overflow:hidden;color:var(--hint);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.admin-workflow b{margin:3px 0;color:var(--accent);font-size:24px}.admin-workflow>button>i{color:var(--hint);font-size:20px;font-style:normal}
.admin-status-panel{margin:11px 0;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.admin-panel-head h2,.admin-panel-head p{margin:0}.admin-panel-head p{color:var(--hint);font-size:10px}.admin-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.admin-status-grid span{min-width:0;border-radius:11px;padding:9px 5px;background:var(--bg);text-align:center}.admin-status-grid b,.admin-status-grid small{display:block}.admin-status-grid b{font-size:18px}.admin-status-grid small{margin-top:2px;overflow:hidden;color:var(--hint);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.admin-attention{margin-top:9px;border-radius:10px;padding:8px;color:#9a620f;background:rgba(232,162,61,.1);font-size:9px;font-weight:650}
.admin-lock { max-width:430px; margin:34px auto; border:1px solid rgba(123,138,148,.15); border-radius:22px; padding:24px 20px; background:var(--bg2); box-shadow:var(--shadow); text-align:center; }
.admin-lock-icon { display:grid; place-items:center; width:66px; height:66px; margin:0 auto 13px; border-radius:20px; background:var(--accent-soft); font-size:32px; }
.admin-lock h1 { margin:5px 0 8px; }
.admin-lock > p { margin:0 0 18px; color:var(--hint); font-size:12px; line-height:1.5; }
.admin-lock form { text-align:left; }
.admin-lock form .btn { margin-top:3px; }
.admin-lock > .btn { margin-top:9px; }
.admin-lock > small { display:block; margin-top:13px; color:var(--hint); font-size:9px; line-height:1.4; }
.admin-lock .gate-error { margin-top:9px; text-align:left; }
.admin-title-actions { display:flex; align-items:center; gap:7px; }
.admin-title-actions .btn { white-space:nowrap; }
.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px}.admin-section-head h2,.admin-section-head p{margin:0}.admin-section-head p{color:var(--hint);font-size:10px}.admin-section-head>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-weight:800}.admin-linked-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.admin-linked-counts span{border-radius:8px;padding:5px 7px;color:var(--hint);background:var(--bg);font-size:9px}.admin-linked-counts b{color:var(--text)}
@media(max-width:390px){.admin-workflow{grid-template-columns:1fr}.admin-sync-note{grid-template-columns:34px 1fr}.admin-sync-note button{grid-column:2;text-align:left;padding:0}.admin-status-panel{padding:12px}.admin-status-grid small{font-size:7px}}
.dir-switch.personnel-hidden button[data-dir="hr"] { display: none; }
.dir-switch.personnel-hidden button[data-dir="rent"] { flex: 1; }
.doors.single { grid-template-columns: minmax(0, 1fr); }
.paywall { text-align: center; padding: 20px 14px; }
.paywall .i { font-size: 40px; }
.modal { position: fixed; inset: 0; z-index: 100; display: grid; align-items: end; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(8, 22, 28, .62); backdrop-filter: blur(3px); }
.modal-sheet { position: relative; max-height: 94dvh; width: min(760px, 100%); margin: 0 auto; overflow-y: auto; background: var(--bg2); border-radius: 24px 24px 0 0; box-shadow: 0 -18px 50px rgba(8,22,28,.25); animation: sheet-in .22s ease-out; }
.modal-open { overflow: hidden; }
.modal-grab { width: 42px; height: 5px; border-radius: 999px; background: rgba(123,138,148,.35); margin: 9px auto; }
.modal-close { position: absolute; right: 14px; top: 16px; z-index: 3; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(23,34,43,.78); color: #fff; font-size: 27px; line-height: 1; cursor: pointer; }
.popup-gallery { scroll-snap-type: x mandatory; margin: 0; padding: 0 16px 8px; }
.popup-gallery img { width: min(88vw, 560px); height: 240px; flex: 0 0 auto; object-fit: cover; scroll-snap-align: center; border-radius: 16px; }
.modal-content { padding: 2px 18px calc(18px + env(safe-area-inset-bottom)); }
.eyebrow { color: var(--accent); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .35px; margin-top: 8px; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 14px 0; }
.metric { min-width: 0; background: var(--bg); border-radius: 13px; padding: 11px; }
.metric b { display: block; font-size: 16px; overflow-wrap: anywhere; }
.metric span { display: block; color: var(--hint); font-size: 11px; margin-top: 2px; }
.trust-note { padding: 11px 12px; border-radius: 12px; color: var(--ok); background: rgba(47,168,79,.1); font-size: 13px; font-weight: 650; }
.detail-section { padding: 2px 0; }
.detail-section p { color: var(--text); }
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.feature { padding: 9px 10px; border-radius: 10px; background: var(--bg); font-size: 13px; }
.tag.strong { color: var(--accent); background: var(--accent-soft); font-weight: 700; }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 16px 0; }
.info-grid > div { padding: 11px; border: 1px solid rgba(123,138,148,.18); border-radius: 12px; }
.info-grid span, .info-grid b { display: block; }
.info-grid span { color: var(--hint); font-size: 11px; }
.info-grid b { font-size: 13px; margin-top: 3px; }
.sticky-actions { position: sticky; bottom: -1px; display: grid; grid-template-columns: .75fr 1.5fr; gap: 8px; padding: 10px 0; background: var(--bg2); }
.privacy-note { color: var(--hint); text-align: center; font-size: 11px; }

/* Этап I2 — структурированный popup и фиксированная бронь */
#cabinetModalBody { position:relative; }
.popup-hero { position:relative; }
.popup-photo-count { position:absolute; right:27px; bottom:19px; z-index:2; border-radius:999px; padding:5px 9px; color:#fff; background:rgba(15,25,31,.72); font-size:9px; font-weight:800; backdrop-filter:blur(4px); }
.structured-popup { padding-bottom:0; }
.popup-summary h1 { margin:6px 0 3px; font-size:24px; line-height:1.15; }
.popup-address { margin-top:7px; color:var(--text); font-size:12px; font-weight:700; }
.popup-address span { display:block; margin-top:3px; color:var(--hint); font-size:10px; font-weight:500; }
.popup-metrics { margin:12px 0; }
.popup-metrics .metric { padding:10px; }
.popup-metrics .metric b { color:var(--text); font-size:14px; }
.popup-metrics .metric span { font-size:8px; line-height:1.25; }
.popup-anchor-nav { position:sticky; z-index:5; top:0; display:flex; gap:6px; overflow-x:auto; margin:0 -18px 12px; padding:9px 18px; border-top:1px solid rgba(123,138,148,.11); border-bottom:1px solid rgba(123,138,148,.11); background:var(--bg2); scrollbar-width:none; }
.popup-anchor-nav::-webkit-scrollbar { display:none; }
.popup-anchor-nav button { flex:0 0 auto; border:0; border-radius:999px; padding:7px 10px; color:var(--hint); background:var(--bg); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.popup-section-card { scroll-margin-top:58px; margin:10px 0; border:1px solid rgba(123,138,148,.14); border-radius:18px; padding:14px; background:var(--bg2); box-shadow:0 5px 18px rgba(49,65,72,.055); }
.popup-section-head { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:9px; margin-bottom:11px; }
.popup-section-head > span { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; color:#fff; background:var(--accent); font-size:12px; font-weight:900; }
.popup-section-head h2,.popup-section-head p { margin:0; }
.popup-section-head h2 { font-size:16px; }
.popup-section-head p { margin-top:2px; color:var(--hint); font-size:9px; }
.popup-description { margin:0 0 10px; font-size:12px; line-height:1.5; }
.popup-specialties { margin-bottom:5px; }
.popup-section-card .info-grid { margin:10px 0; }
.popup-section-card .listing-rates { margin-top:12px; }
.popup-section-card .listing-rates h3,.popup-feature-group h3 { margin:0 0 8px; font-size:12px; }
.popup-feature-group { margin-top:13px; }
.popup-feature-group:first-of-type { margin-top:0; }
.popup-feature-group .feature { position:relative; padding-left:28px; }
.popup-feature-group.included .feature { color:#176f50; background:rgba(47,168,79,.08); }
.popup-feature-group.paid .feature { color:#795512; background:rgba(232,162,61,.08); }
.compact-trust { margin:11px 0 0; }
.popup-section-card .booking-clarifications { margin-bottom:0; }
.popup-booking-section select { margin-bottom:8px; }
.popup-booking-section textarea { margin-bottom:4px; }
.popup-reviews .popup-section-head > span { background:#e8a23d; }
.popup-content-spacer { height:92px; }
.booking-dock { position:sticky; z-index:9; right:0; bottom:0; left:0; display:grid; grid-template-columns:38px minmax(0,1fr) minmax(118px,1.15fr); align-items:center; gap:9px; border-top:1px solid rgba(123,138,148,.16); padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:var(--bg2); box-shadow:0 -10px 28px rgba(34,48,55,.13); }
.booking-route { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(15,163,163,.2); border-radius:12px; color:var(--accent); background:var(--accent-soft); font-size:20px; font-weight:900; cursor:pointer; }
.booking-dock-summary { min-width:0; }
.booking-dock-summary small,.booking-dock-summary b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.booking-dock-summary small { color:var(--hint); font-size:8px; }
.booking-dock-summary b { margin-top:2px; color:var(--text); font-size:13px; }
.booking-dock .btn { min-width:0; padding:11px 8px; font-size:11px; }
@media (max-width:370px) { .booking-dock { grid-template-columns:36px minmax(0,1fr) 108px; gap:7px; padding-inline:10px; } .booking-dock-summary b { font-size:11px; } .booking-dock .btn { font-size:10px; } .popup-metrics .metric { padding:8px; } }
.auth-sheet { padding: 20px 22px calc(26px + env(safe-area-inset-bottom)); text-align: center; }
.auth-sheet .auth-icon { display: grid; place-items: center; width: 70px; height: 70px; margin: 4px auto 14px; border-radius: 22px; background: var(--accent-soft); font-size: 34px; }
.auth-sheet h1 { margin: 4px 0 8px; }
.auth-sheet p { color: var(--hint); margin: 0 auto 20px; max-width: 430px; }
.auth-sheet .btn { margin-top: 9px; }
.telegram-login { background: #229ed9; }
.auth-sheet .privacy-note { margin-top: 14px; }
.web-pilot-form { display:grid; gap:12px; text-align:left; }
.web-pilot-form > label { margin:0; font-weight:750; }
.web-pilot-form input[type="text"] { margin:6px 0 0; }
.web-pilot-roles { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.web-pilot-roles label { cursor:pointer; }
.web-pilot-roles input { position:absolute; opacity:0; pointer-events:none; }
.web-pilot-roles span { display:grid; min-height:78px; place-items:center; padding:10px; border:1.5px solid var(--line); border-radius:16px; background:var(--bg); text-align:center; font-weight:800; }
.web-pilot-roles input:checked + span { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); box-shadow:0 0 0 2px rgba(15,163,163,.08); }
.web-pilot-error { margin:0; color:#b33b3b; font-size:12px; text-align:left; }
.pilot-banner { display:flex; align-items:center; justify-content:center; gap:8px; padding:7px 14px; color:#705413; background:#fff4cf; border-bottom:1px solid #ead69a; font-size:11px; }
.pilot-banner b { text-transform:uppercase; letter-spacing:.04em; }
.web-session-card { margin-top:12px; padding:14px; border:1px solid #f0d7d7; border-radius:17px; background:#fffafa; }
.web-session-card p { margin:4px 0 12px; color:var(--hint); font-size:12px; }
@media(max-width:390px){.web-pilot-roles{grid-template-columns:1fr}.pilot-banner{align-items:flex-start;flex-direction:column;gap:1px}}
.guest-hero { max-width: 460px; margin: 50px auto 0; padding: 26px 20px; border-radius: 22px; background: var(--bg2); box-shadow: var(--shadow); text-align: center; }
.guest-hero > span { font-size: 46px; }
.guest-hero p { color: var(--hint); margin: 8px 0 20px; }
.guest-hero .btn { margin-top: 9px; }
.user-welcome { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 12px 0 18px; }
.user-welcome h1 { margin-top: 2px; }
.role-line { color: var(--hint); font-size: 13px; }
.avatar-btn { width: 48px; height: 48px; flex: 0 0 auto; border: 0; border-radius: 17px; color: #fff; background: linear-gradient(145deg, var(--accent), #067c86); font: inherit; font-size: 20px; font-weight: 800; cursor: pointer; }
.next-booking, .empty-booking { padding: 17px; border-radius: 18px; background: var(--bg2); box-shadow: var(--shadow); }
.next-booking h2 { margin: 7px 0 5px; }
.next-booking .row { margin: 12px 0; }
.empty-booking { text-align: center; }
.empty-booking > span { font-size: 36px; }
.empty-booking h2 { margin: 7px 0 3px; }
.empty-booking p { color: var(--hint); margin-bottom: 14px; }
.dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0 20px; }
.dashboard-stats button { border: 0; border-radius: 14px; padding: 12px 8px; color: var(--text); background: var(--bg2); box-shadow: var(--shadow); cursor: pointer; }
.dashboard-stats b, .dashboard-stats span { display: block; }
.dashboard-stats b { color: var(--accent); font-size: 21px; }
.dashboard-stats span { color: var(--hint); font-size: 10px; margin-top: 2px; }
.quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick-actions button { min-height: 120px; border: 0; border-radius: 16px; padding: 15px; color: var(--text); background: var(--bg2); box-shadow: var(--shadow); text-align: left; cursor: pointer; }
.quick-actions span, .quick-actions b, .quick-actions small { display: block; }
.quick-actions span { font-size: 25px; }
.quick-actions b { margin: 8px 0 2px; }
.quick-actions small { color: var(--hint); }
.request-card { padding: 15px; margin-bottom: 12px; border-radius: 16px; background: var(--bg2); box-shadow: var(--shadow); }
.hold-timer { display:flex; align-items:center; gap:10px; margin:12px 0; padding:11px 12px; border:1px solid rgba(228,168,40,.38); border-radius:13px; color:#805500; background:linear-gradient(135deg,rgba(255,245,214,.96),rgba(255,250,235,.96)); }
.hold-timer-icon { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:50%; color:#fff; background:#d99a16; font-size:19px; }
.hold-timer div { min-width:0; }
.hold-timer small,.hold-timer b { display:block; }
.hold-timer small { margin-bottom:2px; font-size:10px; line-height:1.3; }
.hold-timer b { font-size:14px; font-variant-numeric:tabular-nums; }
.hold-timer.owner { margin-top:9px; }
.hold-timer.expired { border-color:var(--line); color:var(--hint); background:var(--bg); }
.hold-timer.expired .hold-timer-icon { background:var(--hint); }
.request-date { margin: 10px 0 4px; font-weight: 700; }
.request-comment { margin-top: 10px; padding: 9px 10px; border-radius: 10px; color: var(--hint); background: var(--bg); font-size: 13px; }
.request-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.empty.compact { padding-top: 22px; }
.empty.compact .btn { margin-top: 14px; }
.profile-head { display: flex; align-items: center; gap: 13px; margin: 15px 0; }
.profile-avatar { display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 auto; border-radius: 19px; color: #fff; background: linear-gradient(145deg, var(--accent), #067c86); font-size: 24px; font-weight: 800; }
.profile-head h1 { margin: 0 0 2px; }
.profile-head .sub { margin: 0; }
.profile-card { padding: 16px; border-radius: 17px; background: var(--bg2); box-shadow: var(--shadow); }
.profile-card h2 { margin-top: 0; }
.role-picks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 7px 0 14px; }
.role-picks label { cursor: pointer; }
.role-picks input { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
.role-picks span { display: block; height: 100%; padding: 12px 10px; border: 1.5px solid rgba(123,138,148,.22); border-radius: 12px; color: var(--text); background: var(--bg); text-align: center; }
.role-picks input:checked + span { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.clinic-profile-cta { position: relative; margin-top: 14px; padding: 14px; border: 2px solid rgba(15,163,163,.28); border-radius: 15px; background: linear-gradient(145deg, var(--accent-soft), rgba(15,163,163,.04)); }
.clinic-profile-cta > div { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; }
.clinic-profile-cta > div > span { font-size: 30px; }
.clinic-profile-cta b, .clinic-profile-cta small { display: block; }
.clinic-profile-cta small { color: var(--hint); margin-top: 2px; }
.clinic-profile-cta .btn { box-shadow: 0 7px 18px rgba(15,163,163,.22); }
.clinic-cta-close { position: absolute; z-index: 1; top: 8px; right: 8px; display: grid; place-items: center; width: 29px; height: 29px; border: 0; border-radius: 50%; padding: 0; color: var(--hint); background: rgba(123,138,148,.12); font: inherit; font-size: 21px; line-height: 1; cursor: pointer; }
.clinic-cta-close:hover { color: var(--text); background: rgba(123,138,148,.2); }
.clinic-profile-cta > div { padding-right: 25px; }
.profile-menu { margin: 12px 0 20px; overflow: hidden; border-radius: 17px; background: var(--bg2); box-shadow: var(--shadow); }
.profile-menu button { display: grid; grid-template-columns: 30px 1fr 20px; align-items: center; gap: 8px; width: 100%; border: 0; border-bottom: 1px solid rgba(123,138,148,.12); padding: 13px 14px; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.profile-menu button:last-child { border-bottom: 0; }
.profile-menu button > span { font-size: 20px; }
.profile-menu b, .profile-menu small { display: block; }
.profile-menu small { color: var(--hint); margin-top: 2px; }
.profile-menu i { color: var(--hint); font-size: 23px; font-style: normal; }
.admin-entry { color: var(--accent) !important; background: linear-gradient(135deg,rgba(15,163,163,.14),rgba(15,163,163,.035)) !important; }
.admin-entry > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: #fff; background: var(--accent); font-size: 15px !important; }
.admin-entry b { color: var(--accent); }
.admin-entry.standalone { display: grid; grid-template-columns: 30px 1fr 20px; align-items: center; gap: 9px; width: 100%; margin: 11px 0; border: 1.5px solid rgba(15,163,163,.2); border-radius: 15px; padding: 12px 13px; text-align: left; cursor: pointer; box-shadow: var(--shadow); }
.admin-entry.standalone small, .admin-entry.standalone b { display: block; }
.admin-entry.standalone small { margin-top: 2px; color: var(--hint); }
.admin-entry.standalone i { color: var(--accent); font-size: 22px; font-style: normal; text-align: right; }
.owner-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 15px 0; }
.owner-head h1 { margin: 2px 0; }
.owner-head .sub { margin: 0; }
.owner-list { display: grid; gap: 12px; }
.owner-cabinet { overflow: hidden; border-radius: 17px; background: var(--bg2); box-shadow: var(--shadow); }
.owner-cabinet > img { width: 100%; height: 155px; object-fit: cover; background: var(--accent-soft); }
.owner-cabinet-body { padding: 13px; }
.owner-cabinet-body .price { font-size: 14px; }
.moderation-note { margin-top: 9px; padding: 9px; border-radius: 10px; color: var(--bad); background: rgba(224,91,75,.1); font-size: 12px; }
.owner-empty { padding: 26px 18px; border-radius: 19px; background: var(--bg2); box-shadow: var(--shadow); text-align: center; }
.owner-empty > span { font-size: 44px; }
.owner-empty h2 { margin: 8px 0 3px; }
.owner-empty p { color: var(--hint); margin-bottom: 16px; }
.owner-help { margin-top: 13px; padding: 15px; border-radius: 15px; background: var(--accent-soft); }
.owner-help ol { padding-left: 20px; margin-top: 7px; color: var(--hint); font-size: 13px; }
.owner-sections { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 0 0 13px; padding: 4px; border-radius: 13px; background: var(--bg2); box-shadow: var(--shadow); }
.owner-sections button { border: 0; border-radius: 10px; padding: 10px 8px; color: var(--hint); background: transparent; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.owner-sections button.on { color: #fff; background: var(--accent); }
.owner-tab-label { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.owner-tab-label i { display: inline-grid; place-items: center; min-width: 21px; height: 21px; border: 2px solid var(--bg2); border-radius: 999px; padding: 0 5px; color: #fff; background: var(--bad); box-shadow: 0 3px 9px rgba(224,91,75,.34); font-size: 10px; font-style: normal; font-weight: 900; }
.owner-sections button.on .owner-tab-label i { border-color: var(--accent); background: #fff; color: var(--bad); }
.calendar-controls { padding: 14px; border-radius: 16px; background: var(--bg2); box-shadow: var(--shadow); }
.calendar-controls select { margin-bottom: 9px; }
.month-switch { display: grid; grid-template-columns: 38px 1fr 38px; align-items: center; gap: 7px; text-align: center; }
.month-switch button { height: 36px; border: 0; border-radius: 10px; color: var(--accent); background: var(--accent-soft); font: inherit; font-size: 20px; cursor: pointer; }
.month-switch b { text-transform: capitalize; }
.calendar-card { margin-top: 11px; padding: 11px; border-radius: 16px; background: var(--bg2); box-shadow: var(--shadow); }
.calendar-week, .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.calendar-week span { padding: 4px 0 7px; color: var(--hint); text-align: center; font-size: 10px; font-weight: 700; }
.calendar-day { min-width: 0; min-height: 56px; border: 1px solid transparent; border-radius: 9px; padding: 6px 2px; color: var(--text); background: var(--bg); font: inherit; text-align: center; cursor: pointer; }
.calendar-day b, .calendar-day span { display: block; }
.calendar-day b { font-size: 13px; }
.calendar-day span { margin-top: 4px; font-size: 7px; line-height: 1.15; }
.calendar-day.free { background: rgba(47,168,79,.08); }
.calendar-day.waiting { border-color: rgba(232,162,61,.32); background: rgba(232,162,61,.12); }
.calendar-day.occupied { border-color: rgba(15,163,163,.35); background: var(--accent-soft); }
.calendar-day.blocked { border-color: rgba(123,138,148,.32); background: rgba(123,138,148,.14); }
.calendar-day.blank { background: transparent; }
.calendar-legend { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 11px; color: var(--hint); font-size: 10px; }
.calendar-legend span { display: flex; align-items: center; gap: 4px; }
.calendar-legend i { width: 10px; height: 10px; border-radius: 3px; }
.calendar-legend i.free { background: rgba(47,168,79,.28); }
.calendar-legend i.waiting { background: rgba(232,162,61,.45); }
.calendar-legend i.occupied { background: rgba(15,163,163,.45); }
.calendar-legend i.blocked { background: rgba(123,138,148,.48); }
.calendar-details { margin-top: 12px; padding: 14px; border-radius: 16px; background: var(--bg2); box-shadow: var(--shadow); }
.calendar-details h2 { margin-top: 0; text-transform: capitalize; }
.calendar-booking { display: flex; justify-content: space-between; gap: 10px; padding: 11px 0; border-bottom: 1px solid rgba(123,138,148,.13); }
.calendar-booking:last-child { border-bottom: 0; }
.calendar-booking > div:last-child { text-align: right; }
.calendar-booking b, .calendar-booking span { display: block; }
.calendar-booking span:not(.badge) { color: var(--hint); font-size: 12px; }
.calendar-booking .badge { margin-bottom: 4px; }
.calendar-booking.is-block { background: rgba(123,138,148,.07); margin: 0 -7px; padding: 11px 7px; }
.calendar-booking-main { min-width: 0; flex: 1; }
.calendar-booking-side { flex: 0 0 auto; }
.calendar-renter-contacts { display: flex; flex-direction: column; gap: 4px; margin-top: 7px; }
.calendar-renter-contacts a, .calendar-renter-contacts span { color: var(--hint); font-size: 11px; text-decoration: none; }
.calendar-renter-contacts a { color: var(--accent); font-weight: 700; }
.calendar-entry-list { display: grid; gap: 10px; }
.calendar-entry { overflow: hidden; border: 1px solid rgba(123,138,148,.16); border-radius: 15px; padding: 13px; background: var(--bg); }
.calendar-entry.booking.pending { border-color: rgba(232,162,61,.32); box-shadow: 0 6px 18px rgba(76,88,94,.07); }
.calendar-entry.booking.confirmed { border-color: rgba(15,163,163,.28); }
.calendar-entry.is-block { color: var(--hint); background: rgba(123,138,148,.07); }
.calendar-entry.is-block p { margin: 7px 0 0; font-size: 12px; }
.calendar-entry-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.calendar-entry-top small, .calendar-entry-top strong { display: block; }
.calendar-entry-top small { margin-bottom: 2px; color: var(--hint); font-size: 10px; }
.calendar-entry-top strong { font-size: 20px; }
.calendar-entry-person { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.calendar-entry-person > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--accent-soft); }
.calendar-entry-person small, .calendar-entry-person b { display: block; }
.calendar-entry-person small { color: var(--hint); font-size: 9px; }
.calendar-entry-contacts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 9px; }
.calendar-entry-contacts > a, .calendar-entry-contacts > span { overflow: hidden; border-radius: 10px; padding: 9px; color: var(--hint); background: var(--bg2); font-size: 10px; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.calendar-entry-contacts > a { color: var(--accent); font-weight: 750; }
.calendar-entry-finance { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; align-items: stretch; margin-top: 9px; }
.calendar-entry-finance > div:first-child { border-radius: 11px; padding: 9px 10px; background: var(--accent-soft); }
.calendar-entry-finance small, .calendar-entry-finance strong { display: block; }
.calendar-entry-finance small { color: var(--hint); font-size: 9px; }
.calendar-entry-finance strong { margin-top: 2px; color: var(--accent); font-size: 16px; }
.calendar-entry-comment { margin-top: 9px; border-left: 3px solid var(--accent-soft); padding: 7px 9px; color: var(--hint); font-size: 11px; }
.calendar-entry-actions { display: grid; grid-template-columns: 1.35fr .85fr; gap: 7px; margin-top: 11px; }
.calendar-entry-actions.secondary { grid-template-columns: 1fr 1fr; }
.calendar-entry-actions .btn { min-height: 40px; }
.danger-text { color: var(--bad)!important; }
.payment-control { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 10px 0; border: 1px solid rgba(123,138,148,.15); border-radius: 12px; padding: 9px 10px; background: var(--bg); }
.payment-control > div small { display: block; margin-bottom: 3px; color: var(--hint); font-size: 9px; }
.payment-control select { width: auto; min-width: 135px; margin: 0; padding: 7px 28px 7px 8px; font-size: 11px; }
.payment-control.compact { height: 100%; margin: 0; background: var(--bg2); }
.payment-control.compact select { min-width: 118px; }
.payment-status { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 7px; font-size: 10px; font-weight: 800; }
.payment-status.awaiting { color: #9a6510; background: rgba(232,162,61,.16); }
.payment-status.paid { color: #23833d; background: rgba(47,168,79,.14); }
.payment-status.cancelled { color: var(--bad); background: rgba(224,91,75,.12); }
.payment-status.not-required { color:var(--hint); background:rgba(123,138,148,.12); }
.payment-disabled-note { margin:9px 0; padding:10px; border-radius:11px; color:var(--hint); background:var(--bg); font-size:10px; font-weight:750; text-align:center; }
.renter-payment-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.renter-payment-line small { color: var(--hint); }
.booking-recovery { display:grid; grid-template-columns:36px minmax(0,1fr) auto 28px; align-items:center; gap:9px; margin:0 0 13px; padding:11px; border:1px solid rgba(19,157,154,.24); border-radius:15px; background:linear-gradient(135deg,#ecfbf9,#f8fffe); box-shadow:var(--shadow); }
.booking-recovery>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:var(--accent); font-size:20px; }
.booking-recovery b,.booking-recovery small { display:block; }
.booking-recovery b { font-size:12px; }.booking-recovery small { margin-top:2px; color:var(--hint); font-size:9px; line-height:1.3; }
.booking-recovery button { border:0; border-radius:10px; padding:9px 10px; color:#fff; background:var(--accent); font:inherit; font-size:10px; font-weight:800; }
.booking-recovery button.dismiss { padding:5px; color:var(--hint); background:transparent; font-size:20px; }
.doctor-rent-profile { margin: 15px 0; border: 1.5px solid rgba(15,163,163,.22); border-radius: 15px; padding: 13px; background: linear-gradient(145deg,var(--accent-soft),rgba(15,163,163,.02)); }
.rent-specialty-badge { display: inline-block; margin-top: 5px; border-radius: 999px; padding: 4px 8px; color: var(--accent); background: var(--accent-soft); font-size: 10px; font-weight: 800; }
.doctor-rent-profile h3, .doctor-rent-profile p { margin: 0; }
.doctor-rent-profile p { margin-top: 2px; color: var(--hint); font-size: 11px; }
.profile-time { border-radius: 999px; padding: 5px 8px; color: var(--accent); background: var(--bg2); font-size: 10px; font-weight: 800; }
.rent-type-picks { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin: 8px 0 13px; border: 0; padding: 0; }
.rent-type-picks legend { margin-bottom: 6px; font-size: 12px; font-weight: 700; }
.rent-type-picks label { margin: 0; }
.rent-type-picks input { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
.rent-type-picks span { display: block; border: 1px solid rgba(123,138,148,.2); border-radius: 9px; padding: 8px 3px; background: var(--bg2); text-align: center; font-size: 10px; }
.rent-type-picks input:checked + span { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); font-weight: 800; }
.advanced-filters { margin: 9px 0 11px; border-radius: 14px; padding: 0 12px; background: var(--bg2); box-shadow: var(--shadow); }
.advanced-filters summary { display: flex; justify-content: space-between; padding: 12px 0; color: var(--text); font-size: 13px; font-weight: 800; cursor: pointer; }
.advanced-filters summary span { color: var(--hint); font-size: 10px; font-weight: 500; }
.advanced-filters[open] { padding-bottom: 12px; }
.condition-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 7px 0 12px; }
.condition-filters label { margin: 0; cursor: pointer; }
.condition-filters input { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
.condition-filters span { display: block; border: 1px solid rgba(123,138,148,.2); border-radius: 999px; padding: 8px 10px; background: var(--bg); font-size: 11px; }
.condition-filters input:checked + span { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); font-weight: 800; }
.results-meta-card { display: flex; align-items: center; gap: 10px; margin: 11px 0; border: 1px solid rgba(123,138,148,.13); border-radius: 15px; padding: 11px 12px; background: var(--bg2); box-shadow: 0 5px 16px rgba(49,65,72,.06); transition: .18s ease; }
.results-meta-card.has-filters { border-color: rgba(15,163,163,.24); background: linear-gradient(135deg,var(--accent-soft),var(--bg2)); }
.results-icon { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 auto; border-radius: 11px; color: #fff; background: var(--accent); font-size: 17px; font-weight: 900; }
.results-copy { min-width: 0; flex: 1; }
.results-copy strong, .results-copy span { display: block; }
.results-copy strong { color: var(--text); font-size: 22px; line-height: 1; }
.results-copy span { margin-top: 3px; color: var(--hint); font-size: 10px; }
.results-meta-card button { border: 0; border-radius: 9px; padding: 7px 9px; color: var(--accent); background: var(--bg2); font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.booking-clarifications { margin: 14px 0; border: 1.5px solid rgba(232,162,61,.3); border-radius: 15px; padding: 13px; background: rgba(232,162,61,.07); }
.clarifications-title { display: flex; align-items: center; gap: 9px; }
.clarifications-title > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; color: #fff; background: #e8a23d; font-weight: 900; }
.clarifications-title h2, .clarifications-title p { margin: 0; }
.clarifications-title p { margin-top: 2px; color: var(--hint); font-size: 10px; }
.booking-clarifications dl { margin: 11px 0 0; }
.booking-clarifications dl > div { display: grid; grid-template-columns: 92px 1fr; gap: 8px; border-top: 1px solid rgba(232,162,61,.16); padding: 8px 0; }
.booking-clarifications dt { color: var(--hint); font-size: 10px; font-weight: 750; }
.booking-clarifications dd { margin: 0; font-size: 11px; line-height: 1.4; }
.confirmed-clinic-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 9px; border-radius: 12px; padding: 10px; background: var(--accent-soft); }
.confirmed-clinic-contact b { grid-column: 1 / -1; font-size: 11px; }
.confirmed-clinic-contact a, .confirmed-clinic-contact span { overflow: hidden; color: var(--accent); font-size: 10px; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.mini-action { display: block; margin: 5px 0 0 auto; border: 0; border-radius: 8px; padding: 5px 8px; color: var(--accent); background: var(--accent-soft); font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.mini-action.danger { color: var(--bad); background: rgba(224,91,75,.12); }
.mini-action.confirm { color: #fff; background: var(--accent); }
.mini-actions { display: flex; justify-content: flex-end; gap: 5px; }
.mini-actions .mini-action { display: inline-block; }
.block-time-note { margin: -3px 0 11px; color: var(--hint); font-size: 12px; line-height: 1.4; }
.block-form-actions { display: grid; gap: 8px; }
.multi-field { min-width: 0; margin: 15px 0; border: 0; padding: 0; }
.multi-field legend { padding: 0; color: var(--text); font-size: 14px; font-weight: 700; }
.multi-field > p { margin: 3px 0 9px; color: var(--hint); font-size: 12px; }
.multi-choice { display: flex; flex-wrap: wrap; gap: 8px; }
.multi-choice label { margin: 0; cursor: pointer; }
.multi-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.multi-choice span { display: block; border: 1.5px solid rgba(123,138,148,.22); border-radius: 999px; padding: 8px 11px; color: var(--text); background: var(--bg); font-size: 12px; font-weight: 650; transition: .15s ease; }
.multi-choice input:checked + span { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px rgba(15,163,163,.12); }
.multi-choice input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.multi-choice input:checked + span::before { content: '✓ '; font-weight: 900; }
.admin-field-hint { display: block; margin: 3px 0 6px; color: var(--hint); font-weight: 400; }
.option-admin textarea { min-height: 150px; font-size: 13px; line-height: 1.45; }
.owner-request-card { margin-bottom: 11px; padding: 15px; border-radius: 17px; background: var(--bg2); box-shadow: var(--shadow); }
.owner-request-card h2 { margin: 10px 0 4px; font-size: 17px; }
.booking-total { border-radius: 11px; padding: 7px 10px; color: var(--accent); background: var(--accent-soft); text-align: right; }
.booking-total small, .booking-total b { display: block; }
.booking-total small { margin-bottom: 1px; color: var(--hint); font-size: 9px; font-weight: 600; }
.booking-total b { font-size: 16px; }
.owner-request-time { margin-bottom: 5px; color: var(--text); font-size: 14px; font-weight: 750; }
.owner-request-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; margin-top: 12px; }
.owner-request-actions .btn:last-child:nth-child(3) { grid-column: 1 / -1; }
.owner-request-count { display: grid; place-items: center; min-width: 34px; height: 34px; border-radius: 999px; color: #fff; background: var(--bad); font-weight: 800; }
.renter-contact { margin-top: 11px; padding: 11px; border-radius: 13px; background: var(--bg); }
.renter-contact-head { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; }
.renter-contact-head > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--accent-soft); }
.renter-contact-head small, .renter-contact-head b { display: block; }
.renter-contact-head small { color: var(--hint); font-size: 10px; }
.renter-contact-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.renter-contact-actions a, .renter-contact-actions .contact-missing { min-width: 0; border: 1px solid rgba(123,138,148,.17); border-radius: 10px; padding: 8px; color: var(--text); background: var(--bg2); text-decoration: none; }
.renter-contact-actions a > span, .renter-contact-actions a > small, .renter-contact-actions a > b,
.renter-contact-actions .contact-missing > span, .renter-contact-actions .contact-missing > small, .renter-contact-actions .contact-missing > b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.renter-contact-actions small { margin: 3px 0 1px; color: var(--hint); font-size: 9px; }
.renter-contact-actions b { font-size: 11px; }
.renter-contact-actions .contact-missing { opacity: .58; }
.free-day-note { padding: 18px; border-radius: 12px; color: var(--ok); background: rgba(47,168,79,.1); text-align: center; font-weight: 700; }
.block-time-form { margin-top: 14px; padding: 13px; border: 1px solid rgba(224,91,75,.16); border-radius: 13px; background: rgba(224,91,75,.045); }
.block-time-form h3 { margin-bottom: 8px; font-size: 15px; }
.block-time-form select, .block-time-form input { background: var(--bg2); }
.editor-top { display: flex; align-items: center; gap: 12px; margin: 13px 0; }
.editor-top h1 { margin: 1px 0; }
.back-btn { width: 40px; height: 40px; flex: 0 0 auto; border: 0; border-radius: 13px; color: var(--accent); background: var(--accent-soft); font: inherit; font-size: 20px; cursor: pointer; }
.cabinet-form { display: grid; gap: 12px; padding-bottom:94px; }
.form-section { min-width: 0; padding: 16px; border-radius: 17px; background: var(--bg2); box-shadow: var(--shadow); }
.step-title { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.step-title > span { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 auto; border-radius: 10px; color: #fff; background: var(--accent); font-size: 13px; font-weight: 800; }
.step-title h2 { margin: 0; }
.step-title p { color: var(--hint); font-size: 12px; }
.field-help { color: var(--hint); font-size: 11px; margin: -2px 0 9px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.photo-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.photo-picker label { position: relative; cursor: pointer; }
.photo-picker input { position: absolute; opacity: 0; pointer-events: none; }
.photo-picker img { width: 100%; height: 105px; object-fit: cover; border: 3px solid transparent; border-radius: 12px; transition: border-color .12s, transform .12s; }
.photo-picker input:checked + img { border-color: var(--accent); transform: scale(.97); }
.photo-picker label > span { position: absolute; right: 6px; bottom: 8px; padding: 3px 6px; border-radius: 7px; color: #fff; background: rgba(23,34,43,.7); font-size: 9px; }
.clinic-byline { margin: -1px 0 5px; color: var(--accent); font-size: 13px; font-weight: 700; }
.editor-actions { position:fixed; z-index:18; right:12px; bottom:calc(8px + env(safe-area-inset-bottom)); left:12px; display:grid; grid-template-columns:1fr 1.35fr; gap:8px; width:min(736px,calc(100% - 24px)); margin:auto; border:1px solid rgba(123,138,148,.15); border-radius:17px; padding:9px; background:var(--bg2); box-shadow:0 -7px 26px rgba(23,34,43,.14); }
.trust-passport { margin: 14px 0; padding: 14px; border: 1.5px solid rgba(15,163,163,.24); border-radius: 16px; background: linear-gradient(145deg, rgba(15,163,163,.1), rgba(15,163,163,.025)); }
.trust-passport-head { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 9px; }
.trust-passport-head > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: var(--accent); font-size: 20px; }
.trust-passport-head h2, .trust-passport-head p { margin: 0; }
.trust-passport-head p { color: var(--hint); font-size: 10px; }
.trust-passport-head > b { border-radius: 999px; padding: 5px 8px; color: var(--ok); background: rgba(47,168,79,.13); font-size: 10px; }
.trust-passport-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; }
.trust-passport-grid > div { min-width: 0; border-radius: 11px; padding: 9px; background: var(--bg2); }
.trust-passport-grid small, .trust-passport-grid strong { display: block; }
.trust-passport-grid small { color: var(--hint); font-size: 9px; }
.trust-passport-grid strong { margin-top: 2px; overflow-wrap: anywhere; font-size: 11px; }
.trust-responsibility { margin-top: 9px; color: var(--hint); font-size: 11px; }
.legal-entry { display: grid; grid-template-columns: 36px 1fr 15px; align-items: center; gap: 9px; width: 100%; margin-top: 10px; border: 1.5px solid rgba(232,162,61,.28); border-radius: 13px; padding: 10px; color: var(--text); background: rgba(232,162,61,.07); text-align: left; cursor: pointer; }
.legal-entry > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: #fff; background: var(--warn); }
.legal-entry b, .legal-entry small { display: block; }
.legal-entry b { font-size: 12px; }
.legal-entry small { margin-top: 2px; color: var(--hint); font-size: 9px; }
.legal-entry i { color: var(--hint); font-size: 20px; font-style: normal; }
.legal-entry.done { border-color: rgba(47,168,79,.25); background: rgba(47,168,79,.07); }
.legal-entry.done > span { background: var(--ok); font-weight: 900; }
.legal-sheet { padding: 2px 18px calc(22px + env(safe-area-inset-bottom)); }
.legal-progress { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; margin: 14px 0; padding: 12px; border-radius: 14px; background: var(--accent-soft); }
.legal-progress b, .legal-progress span { display: block; }
.legal-progress b { color: var(--accent); font-size: 22px; }
.legal-progress span { color: var(--hint); font-size: 9px; }
.legal-progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(15,163,163,.15); }
.legal-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--accent); transition: width .2s; }
.legal-checks { display: grid; gap: 8px; margin-bottom: 12px; }
.legal-check { position: relative; display: grid; grid-template-columns: 32px 1fr; align-items: start; gap: 9px; border: 1.5px solid rgba(123,138,148,.18); border-radius: 13px; padding: 11px; color: var(--text); background: var(--bg); cursor: pointer; }
.legal-check input { position: absolute; opacity: 0; pointer-events: none; }
.legal-check > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1.5px solid rgba(123,138,148,.3); border-radius: 9px; color: transparent; background: var(--bg2); font-weight: 900; }
.legal-check input:checked + span { border-color: var(--accent); color: #fff; background: var(--accent); }
.legal-check b, .legal-check small { display: block; }
.legal-check b { font-size: 12px; }
.legal-check small { margin-top: 3px; color: var(--hint); font-size: 10px; line-height: 1.35; }
.legal-warning { margin: 11px 0; border-radius: 12px; padding: 10px; color: var(--hint); background: rgba(232,162,61,.08); font-size: 10px; }
.trust-hero { display: grid; grid-template-columns: 78px 1fr; align-items: center; gap: 13px; margin-bottom: 12px; padding: 15px; border-radius: 18px; color: var(--text); background: linear-gradient(145deg, var(--accent-soft), var(--bg2)); box-shadow: var(--shadow); }
.trust-score { display: grid; place-items: center; align-content: center; width: 74px; height: 74px; border: 7px solid rgba(15,163,163,.2); border-top-color: var(--accent); border-radius: 50%; }
.trust-score b, .trust-score span { display: block; }
.trust-score b { font-size: 20px; }
.trust-score span { color: var(--hint); font-size: 8px; }
.trust-hero h2 { margin: 7px 0 2px; }
.trust-hero p { color: var(--hint); font-size: 11px; }
.trust-check-list { margin-bottom: 12px; overflow: hidden; border-radius: 16px; background: var(--bg2); box-shadow: var(--shadow); }
.trust-check-list > div { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid rgba(123,138,148,.12); padding: 11px 13px; }
.trust-check-list > div:last-child { border-bottom: 0; }
.trust-check-list > div > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: var(--warn); background: rgba(232,162,61,.12); font-weight: 900; }
.trust-check-list > div.done > span { color: var(--ok); background: rgba(47,168,79,.12); }
.trust-check-list b, .trust-check-list small { display: block; }
.trust-check-list b { font-size: 12px; }
.trust-check-list small { color: var(--hint); font-size: 9px; }
.trust-check-list button { border: 0; border-radius: 8px; padding: 6px 8px; color: var(--accent); background: var(--accent-soft); font: inherit; font-size: 9px; font-weight: 750; cursor: pointer; }
.trust-form { margin-bottom: 12px; }
.document-upload-placeholder { display: flex; align-items: center; gap: 10px; margin: 3px 0 13px; border: 1.5px dashed rgba(123,138,148,.28); border-radius: 13px; padding: 12px; }
.document-upload-placeholder > span { font-size: 23px; }
.document-upload-placeholder b, .document-upload-placeholder small { display: block; }
.document-upload-placeholder b { font-size: 12px; }
.document-upload-placeholder small { color: var(--hint); font-size: 9px; }
.legal-owner-fields { margin-bottom: 13px; border: 1.5px solid rgba(15,163,163,.2); border-radius: 14px; padding: 12px; background: var(--accent-soft); }
.deal-progress { margin-top: 10px; border: 1.5px solid rgba(15,163,163,.2); border-radius: 14px; padding: 11px; background: rgba(15,163,163,.045); }
.deal-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.deal-progress-head b, .deal-progress-head small { display: block; }
.deal-progress-head b { font-size: 12px; }
.deal-progress-head small { color: var(--hint); font-size: 9px; }
.deal-progress-head > span { border-radius: 999px; padding: 4px 8px; color: var(--accent); background: var(--accent-soft); font-size: 10px; font-weight: 800; }
.deal-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin: 10px 0; }
.deal-steps > div { position: relative; min-width: 0; color: var(--hint); text-align: center; }
.deal-steps > div::after { content: ''; position: absolute; top: 12px; left: 65%; width: 70%; height: 2px; background: rgba(123,138,148,.18); }
.deal-steps > div:last-child::after { display: none; }
.deal-steps i { position: relative; z-index: 1; display: grid; place-items: center; width: 25px; height: 25px; margin: 0 auto 4px; border-radius: 50%; color: var(--hint); background: var(--bg2); font-size: 9px; font-style: normal; font-weight: 800; }
.deal-steps span { display: block; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.deal-steps > div.done i { color: #fff; background: var(--ok); }
.deal-steps > div.done { color: var(--ok); }
.deal-steps > div.done::after { background: rgba(47,168,79,.35); }
.checkin-btn { margin-top: 7px; padding: 10px; font-size: 12px; }
.deal-next { margin-top: 6px; color: var(--hint); font-size: 9px; text-align: center; }
.deal-next.ok { color: var(--ok); }
.deal-receipt { margin-top: 10px; overflow: hidden; border: 1.5px solid rgba(47,168,79,.22); border-radius: 15px; background: rgba(47,168,79,.055); }
.deal-receipt-head { display: flex; align-items: center; gap: 9px; padding: 11px; }
.deal-receipt-head > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: #fff; background: var(--ok); font-weight: 900; }
.deal-receipt-head b, .deal-receipt-head small { display: block; }
.deal-receipt-head b { font-size: 12px; }
.deal-receipt-head small { color: var(--hint); font-size: 9px; }
.deal-receipt dl { margin: 0; padding: 0 11px 11px; }
.deal-receipt dl > div { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid rgba(47,168,79,.12); padding: 7px 0; font-size: 10px; }
.deal-receipt dt { color: var(--hint); }
.deal-receipt dd { margin: 0; font-weight: 750; text-align: right; }
.deal-receipt dd small { display: block; color: var(--hint); font-size: 8px; font-weight: 400; }
.deal-receipt .total { color: var(--text); font-size: 12px; font-weight: 800; }
.owner-deal-state { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin-top: 10px; }
.owner-deal-state span { border-radius: 8px; padding: 6px 3px; color: var(--hint); background: var(--bg); font-size: 8px; font-weight: 750; text-align: center; }
.owner-deal-state span.done { color: var(--ok); background: rgba(47,168,79,.1); }
.review-sheet { padding: 2px 18px calc(22px + env(safe-area-inset-bottom)); }
.review-stars { display: flex; justify-content: center; gap: 6px; margin: 15px 0 18px; }
.review-stars button { border: 0; padding: 2px; color: rgba(123,138,148,.25); background: transparent; font-size: 36px; cursor: pointer; }
.review-stars button.on { color: #f0b429; }
.cabinet-reviews { display: grid; gap: 8px; }
.cabinet-reviews article { border-radius: 12px; padding: 10px; background: var(--bg); }
.cabinet-reviews article > div { display: flex; justify-content: space-between; gap: 8px; }
.cabinet-reviews b { color: #f0b429; font-size: 12px; letter-spacing: 1px; }
.cabinet-reviews small { color: var(--hint); font-size: 9px; }
.cabinet-reviews p { margin-top: 5px; font-size: 11px; }
.clinic-verification-status { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; border: 1.5px solid rgba(123,138,148,.18); border-radius: 16px; padding: 13px; background: var(--bg2); box-shadow: var(--shadow); }
.clinic-verification-status > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; color: var(--hint); background: var(--bg); font-size: 21px; }
.clinic-wizard { margin-bottom: 12px; border-radius: 18px; padding: 15px; background: var(--bg2); box-shadow: var(--shadow); }
.clinic-wizard-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.clinic-wizard-head span, .clinic-wizard-head b { display: block; }
.clinic-wizard-head span { margin-bottom: 2px; color: var(--hint); font-size: 10px; font-weight: 650; }
.clinic-wizard-head b { font-size: 16px; }
.clinic-wizard-head strong { flex: 0 0 auto; color: var(--accent); font-size: 23px; }
.clinic-wizard-track { height: 8px; margin: 11px 0 13px; overflow: hidden; border-radius: 999px; background: rgba(15,163,163,.13); }
.clinic-wizard-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--accent),#34c7b8); transition: width .25s ease; }
.clinic-wizard-dots { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
.clinic-wizard-dots button { min-width: 0; border: 0; padding: 0; color: var(--hint); background: transparent; font: inherit; cursor: pointer; }
.clinic-wizard-dots i { display: grid; place-items: center; width: 27px; height: 27px; margin: 0 auto 5px; border: 1.5px solid rgba(123,138,148,.24); border-radius: 50%; background: var(--bg); font-size: 10px; font-style: normal; font-weight: 800; }
.clinic-wizard-dots span { display: block; overflow: hidden; font-size: 8px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.clinic-wizard-dots button.active { color: var(--accent); }
.clinic-wizard-dots button.active i { border-color: var(--accent); color: #fff; background: var(--accent); box-shadow: 0 4px 12px rgba(15,163,163,.25); }
.clinic-wizard-dots button.done { color: var(--ok); }
.clinic-wizard-dots button.done i { border-color: var(--ok); color: #fff; background: var(--ok); }
.clinic-wizard-step { display: none; animation: clinic-step-in .18s ease; }
.clinic-wizard-step.active { display: block; }
@keyframes clinic-step-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.clinic-profile-actions.final-step { grid-template-columns: .8fr 1fr 1.45fr; }
.clinic-profile-actions.final-step .btn { min-width: 0; padding-inline: 8px; font-size: 11px; }
@media (max-width: 380px) {
  .clinic-profile-actions.final-step { grid-template-columns: 1fr 1fr; }
  .clinic-profile-actions.final-step .btn:last-child { grid-column: 1 / -1; }
}
.clinic-verification-status b, .clinic-verification-status small { display: block; }
.clinic-verification-status b { font-size: 14px; }
.clinic-verification-status small { margin-top: 2px; color: var(--hint); font-size: 10px; }
.clinic-verification-status p { margin-top: 5px; color: var(--bad); font-size: 10px; }
.clinic-verification-status.ok { border-color: rgba(47,168,79,.25); background: rgba(47,168,79,.06); }
.clinic-verification-status.ok > span { color: #fff; background: var(--ok); }
.clinic-verification-status.warn { border-color: rgba(232,162,61,.28); background: rgba(232,162,61,.06); }
.clinic-verification-status.warn > span { color: #fff; background: var(--warn); }
.clinic-verification-status.bad { border-color: rgba(224,91,75,.25); background: rgba(224,91,75,.055); }
.clinic-profile-form { display: grid; gap: 12px; }
.license-upload { display: flex; align-items: center; gap: 10px; border: 1.5px dashed rgba(15,163,163,.35); border-radius: 14px; padding: 13px; color: var(--text); background: var(--accent-soft); cursor: pointer; }
.license-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.license-upload > span { font-size: 26px; }
.license-upload b, .license-upload small { display: block; }
.license-upload b { max-width: 390px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.license-upload small { color: var(--hint); font-size: 9px; }
.license-upload > div { min-width: 0; }
.license-upload b { overflow-wrap: anywhere; }
.clinic-profile-form { min-width: 0; }
.clinic-profile-actions { position: sticky; bottom: calc(58px + env(safe-area-inset-bottom)); z-index: 5; display: grid; grid-template-columns: .8fr .8fr 1.35fr; gap: 7px; padding: 10px; border-radius: 15px; background: var(--bg2); box-shadow: 0 -6px 22px rgba(23,34,43,.12); }
.clinic-profile-actions .btn { min-width: 0; padding: 11px 7px; font-size: 11px; }
.clinic-profile-form .field-invalid { color: var(--bad); }
.clinic-profile-form .field-invalid input,
.clinic-profile-form .field-invalid textarea,
.clinic-profile-form .field-invalid select,
.clinic-profile-form .license-upload.field-invalid { border-color: var(--bad); background: rgba(224,91,75,.06); box-shadow: 0 0 0 3px rgba(224,91,75,.08); }
.clinic-profile-errors { display: grid; gap: 3px; margin: 4px 0 86px; padding: 12px 14px; border: 1px solid rgba(224,91,75,.3); border-radius: 14px; color: var(--bad); background: rgba(224,91,75,.08); }
.clinic-profile-errors b { font-size: 12px; }
.clinic-profile-errors span { font-size: 10px; line-height: 1.4; }
.defer-option { display: block; margin: 4px 0 13px; cursor: pointer; }
.defer-option > input { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
.defer-option > span { display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 1px 9px; align-items: center; border: 1.5px solid rgba(15,163,163,.22); border-radius: 14px; padding: 11px 12px; color: var(--text); background: var(--accent-soft); }
.defer-option i { display: grid; grid-row: 1 / 3; place-items: center; width: 27px; height: 27px; border: 2px solid rgba(15,163,163,.35); border-radius: 9px; color: transparent; background: var(--card); font-style: normal; font-weight: 900; }
.defer-option b,.defer-option small { display: block; }
.defer-option b { font-size: 12px; }
.defer-option small { color: var(--muted); font-size: 9px; line-height: 1.3; }
.defer-option > input:checked + span { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(15,163,163,.08); }
.defer-option > input:checked + span i { border-color: var(--accent); color: #fff; background: var(--accent); }
.deferred-fields { transition: opacity .18s ease; }
.deferred-fields.is-deferred { opacity: .46; }
.deferred-fields.is-deferred input,.deferred-fields.is-deferred textarea,.deferred-fields.is-deferred .license-upload { cursor: not-allowed; }
.admin-deferred-docs { margin: 8px 0; padding: 9px 10px; border-radius: 10px; color: #765400; background: rgba(240,180,41,.14); font-size: 10px; }
.clinic-preview { padding: 2px 18px calc(22px + env(safe-area-inset-bottom)); }
.clinic-preview-cover { display: grid; place-items: center; height: 150px; margin: 0 -2px 13px; border-radius: 18px; background: linear-gradient(145deg, var(--accent-soft), rgba(15,163,163,.03)); font-size: 62px; }
.clinic-preview section { margin: 15px 0; }
.clinic-preview section h2 { margin-bottom: 5px; }
.clinic-profile-summary { display: grid; grid-template-columns: 40px 1fr 15px; align-items: center; gap: 10px; width: 100%; margin-bottom: 12px; border: 1.5px solid rgba(15,163,163,.2); border-radius: 15px; padding: 12px; color: var(--text); background: var(--accent-soft); text-align: left; cursor: pointer; }
.clinic-profile-summary > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: #fff; background: var(--accent); font-size: 20px; }
.clinic-profile-summary b, .clinic-profile-summary small { display: block; }
.clinic-profile-summary b { font-size: 13px; }
.clinic-profile-summary small { margin-top: 2px; color: var(--hint); font-size: 9px; }
.clinic-profile-summary i { color: var(--hint); font-size: 20px; font-style: normal; }
.listing-completeness { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; margin-bottom: 12px; border-radius: 15px; padding: 12px; background: var(--bg2); box-shadow: var(--shadow); }
.listing-completeness > div:first-child b, .listing-completeness > div:first-child span { display: block; }
.listing-completeness > div:first-child b { color: var(--accent); font-size: 20px; }
.listing-completeness > div:first-child span { color: var(--hint); font-size: 9px; }
.listing-completeness-track { height: 9px; overflow: hidden; border-radius: 999px; background: var(--accent-soft); }
.listing-completeness-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--accent); transition: width .2s; }
.listing-completeness > small { grid-column: 2; margin-top: -7px; color: var(--hint); font-size: 10px; }
.four-prices { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.listing-badge-picks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 5px 0 10px; }
.listing-badge-picks label { cursor: pointer; }
.listing-badge-picks input { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
.listing-badge-picks span { display: block; height: 100%; border: 1.5px solid rgba(123,138,148,.2); border-radius: 12px; padding: 10px; color: var(--text); background: var(--bg); font-size: 11px; text-align: center; }
.listing-badge-picks input:checked + span { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.listing-badge-picks .top-request input:checked + span { border-color: #f0b429; color: #9b6a00; background: rgba(240,180,41,.12); }
.availability-setup { margin: 9px 0 0; }
.availability-setup p { border-radius: 12px; padding: 10px; color: var(--hint); background: var(--bg); font-size: 10px; text-align: center; }
.cabinet-photo-upload { display: flex; align-items: center; gap: 10px; border: 1.5px dashed rgba(15,163,163,.4); border-radius: 14px; padding: 14px; color: var(--text); background: var(--accent-soft); cursor: pointer; }
.cabinet-photo-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.cabinet-photo-upload > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px; color: #fff; background: var(--accent); font-size: 25px; }
.cabinet-photo-upload b, .cabinet-photo-upload small { display: block; }
.cabinet-photo-upload b { font-size: 13px; }
.cabinet-photo-upload small { color: var(--hint); font-size: 9px; }
.owner-upload-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.owner-upload-gallery article { position: relative; overflow: hidden; border: 2px solid transparent; border-radius: 13px; background: var(--bg); }
.owner-upload-gallery article.cover { border-color: var(--accent); }
.owner-upload-gallery img { display: block; width: 100%; height: 105px; object-fit: cover; }
.owner-upload-gallery article > span { position: absolute; top: 6px; left: 6px; border-radius: 7px; padding: 3px 6px; color: #fff; background: rgba(23,34,43,.72); font-size: 8px; font-weight: 750; }
.owner-upload-gallery article > div { display: flex; gap: 4px; padding: 6px; }
.owner-upload-gallery button { flex: 1; border: 0; border-radius: 7px; padding: 5px 3px; color: var(--accent); background: var(--accent-soft); font: inherit; font-size: 8px; cursor: pointer; }
.owner-upload-gallery button.danger { color: var(--bad); background: rgba(224,91,75,.1); }
.owner-photo-empty { grid-column: 1 / -1; border-radius: 12px; padding: 22px; color: var(--hint); background: var(--bg); text-align: center; font-size: 11px; }
.editor-step-nav { position:sticky; z-index:6; top:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin:10px 0 12px; padding:7px; border:1px solid rgba(123,138,148,.14); border-radius:16px; background:var(--bg2); box-shadow:0 7px 22px rgba(36,55,62,.09); }
.editor-step-nav button { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; border:0; border-radius:11px; padding:8px 2px; color:var(--hint); background:transparent; font:inherit; font-size:9px; font-weight:750; text-align:center; cursor:pointer; }
.editor-step-nav button span { display:grid; place-items:center; width:25px; height:25px; border:1.5px solid rgba(123,138,148,.25); border-radius:8px; background:var(--bg); font-size:10px; }
.editor-step-nav button.complete { color:var(--accent); background:var(--accent-soft); }
.editor-step-nav button.complete span { border-color:var(--accent); color:#fff; background:var(--accent); }
.listing-structured-step { scroll-margin-top:82px; border:1px solid rgba(123,138,148,.12); box-shadow:0 5px 18px rgba(49,65,72,.055); }
.listing-structured-step .step-title { margin:-2px -2px 14px; padding-bottom:11px; border-bottom:1px solid rgba(123,138,148,.12); }
.listing-photo-subsection { margin-top:17px; border-top:1px solid rgba(123,138,148,.13); padding-top:14px; }
.listing-photo-subsection > h3,.listing-photo-subsection > p { margin:0; }
.listing-photo-subsection > h3 { font-size:14px; }
.listing-photo-subsection > p { margin:3px 0 10px; color:var(--hint); font-size:10px; }
.listing-options { margin:9px 0; overflow:hidden; border:1px solid rgba(123,138,148,.16); border-radius:14px; background:var(--bg); }
.listing-options summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:9px; padding:12px; cursor:pointer; list-style:none; }
.listing-options summary::-webkit-details-marker { display:none; }
.listing-options summary div { min-width:0; }
.listing-options summary b,.listing-options summary small { display:block; }
.listing-options summary b { color:var(--text); font-size:12px; }
.listing-options summary small { margin-top:2px; color:var(--hint); font-size:9px; }
.listing-options summary > span { border-radius:999px; padding:5px 8px; color:var(--accent); background:var(--accent-soft); font-size:8px; font-weight:800; white-space:nowrap; }
.listing-options summary:after { content:'⌄'; grid-column:2; justify-self:end; margin-top:-28px; color:var(--hint); transform:translateX(-2px); opacity:0; }
.listing-options[open] { background:var(--bg2); }
.listing-options[open] summary { border-bottom:1px solid rgba(123,138,148,.13); }
.listing-options .multi-field { margin:0; padding:12px; }
.listing-options .multi-choice { gap:7px; }
.listing-options .multi-choice span { padding:7px 9px; font-size:10px; }
.structured-listing-form .legal-owner-fields { margin-top:8px; }
.structured-listing-form .editor-license-gate { scroll-margin-top:82px; }
.editor-actions.listing-actions { grid-template-columns: .85fr .75fr 1.2fr; }
.editor-actions.listing-actions .btn { min-width: 0; padding: 11px 6px; font-size: 11px; }
.editor-actions.listing-actions .verify-submit { line-height: 1.18; }
.editor-license-gate { display: flex; gap: 11px; align-items: flex-start; margin: 4px 0 86px; padding: 14px; border: 1px solid rgba(38, 148, 116, .24); border-radius: 16px; background: linear-gradient(135deg, rgba(38,148,116,.12), rgba(255,255,255,.72)); }
.editor-license-gate > span { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 12px; background: var(--card); font-size: 20px; box-shadow: var(--shadow-soft); }
.editor-license-gate b { display: block; margin-bottom: 4px; }
.editor-license-gate p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.modal-sheet.deferred-gate-sheet { max-height: min(90dvh, 680px); overflow-y: auto; overscroll-behavior: contain; }
.deferred-gate { padding: 1px 16px calc(18px + env(safe-area-inset-bottom)); text-align: left; }
.deferred-gate-intro { display: flex; align-items: center; gap: 10px; padding-right: 46px; margin: 2px 0 12px; }
.deferred-gate-icon { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 14px; background: var(--accent-soft); font-size: 23px; }
.deferred-gate-intro .eyebrow { margin: 0 0 2px; font-size: 10px; }
.deferred-gate-intro b { display: block; font-size: 12px; }
.deferred-gate h2 { margin: 0 0 6px; padding-right: 30px; font-size: 21px; line-height: 1.15; }
.deferred-gate > p { margin: 0 0 14px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.deferred-gate form { display: grid; gap: 10px; }
.deferred-gate label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.deferred-gate input { width: 100%; min-height: 46px; margin: 0; }
.deferred-gate .btn { width: 100%; min-height: 49px; margin: 4px 0 0; }
.deferred-gate-note { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 7px; align-items: start; margin-top: 11px; padding: 9px 10px; border-radius: 12px; color: var(--muted); background: var(--bg); }
.deferred-gate-note span { font-size: 13px; text-align: center; }
.deferred-gate-note small { font-size: 10px; line-height: 1.35; }
.gate-error { padding: 10px 12px; border-radius: 12px; background: rgba(220, 58, 65, .1); color: var(--danger); font-size: 12px; }

@media (max-width: 390px) {
  .editor-step-nav button { font-size:8px; }
  .editor-step-nav { gap:3px; padding:6px; }
  .editor-actions.listing-actions { grid-template-columns: .72fr .72fr 1.36fr; }
  .editor-actions.listing-actions .btn { padding-inline: 4px; font-size: 10px; }
  .deferred-gate { padding-inline: 14px; }
}
.listing-preview { padding-bottom: env(safe-area-inset-bottom); }
.listing-preview-empty { display: grid; place-items: center; height: 170px; background: var(--accent-soft); font-size: 48px; }
.listing-preview-body { padding: 2px 18px 20px; }
.listing-preview-badges { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
.listing-preview-badges span, .catalog-badges span { border-radius: 999px; padding: 4px 8px; color: var(--accent); background: var(--accent-soft); font-size: 9px; font-weight: 800; }
.listing-preview-badges span.top, .catalog-badges span.top { color: #805800; background: rgba(240,180,41,.18); }
.preview-rates { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 12px 0; }
.preview-rates > div { border-radius: 11px; padding: 9px; background: var(--bg); }
.preview-rates small, .preview-rates b { display: block; }
.preview-rates small { color: var(--hint); font-size: 9px; }
.preview-rates b { font-size: 13px; }
.cabinet-card { position: relative; }
.catalog-badges { position: absolute; z-index: 2; top: 21px; left: 21px; display: flex; gap: 5px; }
.listing-rates > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.listing-rates article { border-radius: 11px; padding: 9px; background: var(--bg); }
.listing-rates article.muted { opacity: .55; }
.listing-rates small, .listing-rates b { display: block; }
.listing-rates small { color: var(--hint); font-size: 9px; }
.listing-rates b { font-size: 12px; }
@keyframes sheet-in { from { transform: translateY(24px); opacity: .75; } }
@media (min-width: 760px) {
  .modal { align-items: center; padding: 24px; }
  .modal-sheet { border-radius: 24px; max-height: calc(100dvh - 48px); }
}
@media (max-width: 420px) {
  .metric-row { grid-template-columns: 1fr 1fr; }
  .metric:last-child { grid-column: 1 / -1; }
  .feature-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
.alternative-offer,.owner-alternative-summary{display:flex;gap:12px;padding:14px;margin:12px 0;border-radius:16px;background:#eef9ff;border:1px solid #b8e5f5}
.alternative-offer-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d9f2fb;color:#087b9d;font-size:24px;font-weight:800;flex:0 0 auto}
.alternative-offer div:last-child,.owner-alternative-summary{display:flex;flex-direction:column;gap:3px}
.alternative-offer small,.owner-alternative-summary small{color:var(--muted)}
.alternative-offer span,.owner-alternative-summary span{font-size:13px;color:var(--muted)}
.alternative-editor{padding:8px 2px 20px}.alternative-editor>p{color:var(--muted);line-height:1.45}
.moderation-cabinet{overflow:hidden;margin:12px 0;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.moderation-cabinet-cover{height:150px;position:relative}.moderation-cabinet-cover img{width:100%;height:100%;object-fit:cover}.moderation-cabinet-cover .badge{position:absolute;left:12px;top:12px}
.moderation-cabinet-body{padding:16px}.moderation-cabinet-body h2{margin:0 0 4px}
.moderation-checks{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.moderation-checks span{padding:7px 10px;border-radius:999px;background:#f2f4f5;color:var(--muted);font-size:12px}.moderation-checks span.done{background:#e6f7ef;color:#167b51}
.four-rate-inline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 14px}.four-rate-inline span{padding:9px;border-radius:12px;background:#f5f7f8}.four-rate-inline small,.four-rate-inline b{display:block}.four-rate-inline small{font-size:11px;color:var(--muted)}.four-rate-inline b{font-size:13px;margin-top:3px}
.moderation-actions{flex-wrap:wrap}.moderation-actions .btn{flex:1 1 150px}
@media(max-width:520px){.four-rate-inline{grid-template-columns:repeat(2,minmax(0,1fr))}}
.moderation-preview{min-width:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.moderation-preview-head{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:0 58px 10px 18px}.moderation-preview-head .eyebrow{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.moderation-preview-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,92px);gap:4px;width:100%;height:188px;overflow:hidden;background:var(--bg)}
.moderation-preview-gallery img{width:100%;height:100%;min-width:0;object-fit:cover}.moderation-preview-gallery img.cover{grid-row:1/-1}.moderation-preview-gallery.count-1{display:block;height:205px}.moderation-preview-gallery.count-1 img{display:block;height:205px}.moderation-preview-gallery.count-2{grid-template-rows:188px}.moderation-preview-gallery.count-2 img.cover{grid-row:auto}
.moderation-preview-empty{display:grid;place-items:center;align-content:center;gap:5px;height:170px;color:var(--accent);background:var(--accent-soft);font-size:40px}.moderation-preview-empty small{color:var(--hint);font-size:10px}
.moderation-preview-content{padding:15px 18px 2px}.moderation-preview-content h1{margin:0 44px 4px 0;font-size:22px;line-height:1.16}.moderation-preview-clinic{margin:5px 0;color:var(--accent);font-size:11px;font-weight:750}.moderation-preview-address{margin:0;color:var(--hint);font-size:12px;line-height:1.4}.moderation-preview-content section{margin:15px 0}.moderation-preview-content section h2{margin:0 0 5px;font-size:14px}.moderation-preview-content section p{margin:0;color:var(--text);font-size:12px;line-height:1.5}
.moderation-preview-checks{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.moderation-preview-checks span{border-radius:999px;padding:6px 9px;color:var(--hint);background:var(--bg);font-size:9px;font-weight:700}.moderation-preview-checks span.done{color:var(--ok);background:rgba(47,168,79,.1)}
.moderation-preview-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:13px 0}.moderation-preview-rates>div{min-width:0;border-radius:11px;padding:10px;background:var(--bg)}.moderation-preview-rates small,.moderation-preview-rates b{display:block}.moderation-preview-rates small{color:var(--hint);font-size:9px}.moderation-preview-rates b{margin-top:2px;font-size:13px;overflow-wrap:anywhere}
.moderation-preview-chips{display:flex;flex-wrap:wrap;gap:6px}.moderation-preview-chips span{border-radius:999px;padding:6px 9px;color:var(--accent);background:var(--accent-soft);font-size:10px;font-weight:650}.moderation-preview-chips.included span{color:var(--ok);background:rgba(47,168,79,.1)}.moderation-preview-chips.paid span{color:#94610f;background:rgba(232,162,61,.11)}.moderation-preview-chips span.missing{color:var(--bad);background:rgba(224,91,75,.1)}
.moderation-preview-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.moderation-preview-info>div{min-width:0;border-radius:11px;padding:9px;background:var(--bg)}.moderation-preview-info small,.moderation-preview-info b{display:block}.moderation-preview-info small{color:var(--hint);font-size:8px}.moderation-preview-info b{margin-top:3px;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.moderation-preview-info>div.missing{border:1px dashed rgba(224,91,75,.25);background:rgba(224,91,75,.045)}.moderation-preview-info>div.missing b{color:var(--bad)}
.moderation-preview-legal{border:1.5px solid rgba(232,162,61,.22);border-radius:14px;padding:12px;background:rgba(232,162,61,.05)}.moderation-preview-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.moderation-preview-section-head h2{margin:0!important}.moderation-preview-section-head p{color:var(--hint)!important;font-size:9px!important}.moderation-preview-section-head>span{border-radius:999px;padding:4px 7px;color:#94610f;background:rgba(232,162,61,.15);font-size:8px;font-weight:800}.moderation-preview-legal dl{margin:9px 0 0}.moderation-preview-legal dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;border-top:1px solid rgba(232,162,61,.12);padding:8px 0}.moderation-preview-legal dt{color:var(--hint);font-size:9px}.moderation-preview-legal dd{margin:0;font-size:10px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.moderation-preview-legal div.missing dd{color:var(--bad)}
.moderation-preview-close{width:100%;margin-top:4px}
@media(max-width:390px){.moderation-preview-gallery,.moderation-preview-gallery.count-2{height:170px;grid-template-rows:repeat(2,83px)}.moderation-preview-gallery.count-1,.moderation-preview-gallery.count-1 img{height:180px}.moderation-preview-content{padding-inline:15px}.moderation-preview-head{padding-left:15px}}
.analytics-head{align-items:flex-start}.analytics-period{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;margin:14px 0 16px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.analytics-period button{width:44px;height:44px;border:0;border-radius:13px;background:#edf4f4;color:var(--text);font-size:20px}.analytics-period div{text-align:center;min-width:0}.analytics-period small,.analytics-period b{display:block}.analytics-period small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.analytics-period b{margin-top:3px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.analytics-kpi{min-width:0;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--card)}.analytics-kpi.primary{color:#fff;border-color:#159f9d;background:linear-gradient(145deg,#0f9e9b,#087b87)}.analytics-kpi span,.analytics-kpi small,.analytics-kpi b{display:block}.analytics-kpi span{font-size:12px;color:var(--muted)}.analytics-kpi.primary span,.analytics-kpi.primary small{color:rgba(255,255,255,.8)}.analytics-kpi b{margin:8px 0 5px;font-size:24px;line-height:1.05;overflow-wrap:anywhere}.analytics-kpi small{color:var(--muted);font-size:11px;line-height:1.35}
.analytics-panel{min-width:0;margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden}.analytics-panel h2{margin:0;font-size:18px}.analytics-panel p{margin:4px 0 0;color:var(--muted);font-size:13px}.analytics-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.analytics-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;height:190px;margin-top:20px}.chart-column{display:grid;grid-template-rows:28px minmax(0,1fr) 20px;min-width:0;text-align:center}.chart-value{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-track{display:flex;align-items:flex-end;justify-content:center;height:100%;border-radius:9px;background:linear-gradient(to top,#f1f5f5,#fafcfc)}.chart-track i{display:block;width:min(38px,70%);min-height:3px;border-radius:8px 8px 3px 3px;background:linear-gradient(#32bbb5,#0b9696)}.chart-column small{padding-top:5px;color:var(--muted);text-transform:capitalize}
.analytics-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.analytics-split .analytics-panel{margin:0}.analytics-funnel{display:grid;gap:14px;margin-top:18px}.analytics-funnel div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-bottom:8px}.analytics-funnel span{font-size:13px}.analytics-funnel i{position:absolute;bottom:0;left:0;height:5px;border-radius:99px;background:#26aaa6}.analytics-funnel .declined i{background:#e08b80}
.quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.quality-grid>div{min-width:0;padding:12px;border-radius:14px;background:#f4f7f7}.quality-grid small,.quality-grid b,.quality-grid span{display:block}.quality-grid small,.quality-grid span{color:var(--muted);font-size:11px}.quality-grid b{margin:5px 0;font-size:18px;overflow-wrap:anywhere}
.cabinet-performance{display:grid;gap:10px;margin-top:14px}.cabinet-performance article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:16px;background:#f6f8f8}.cabinet-performance img{width:72px;height:72px;border-radius:13px;object-fit:cover}.cabinet-performance-main{min-width:0}.cabinet-performance-main>.row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cabinet-performance-main>.row span{flex:0 0 auto;color:#078f8c;font-weight:800}.util-track{height:6px;margin:8px 0;border-radius:99px;background:#dfe8e8;overflow:hidden}.util-track i{display:block;height:100%;border-radius:inherit;background:#19aaa6}.cabinet-performance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.cabinet-performance-stats small,.cabinet-performance-stats b{display:block}.cabinet-performance-stats small{font-size:10px;color:var(--muted)}.cabinet-performance-stats b{font-size:12px;overflow-wrap:anywhere}
.analytics-recommendations{display:flex;gap:13px;margin:12px 0;padding:17px;border-radius:20px;background:#e9f8f5;border:1px solid #bde8df}.analytics-rec-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:14px;background:#149e98;color:#fff;font-size:24px}.analytics-recommendations h2{margin:0 0 8px;font-size:17px}.analytics-recommendations p{margin:5px 0;color:#385d5a;font-size:13px;line-height:1.4}
@media(max-width:760px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-split{grid-template-columns:1fr}.owner-sections{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%}.owner-sections button{min-width:0}}
@media(max-width:430px){.analytics-head{display:block}.analytics-head .btn{margin-top:10px;width:100%}.analytics-kpi{padding:13px}.analytics-kpi b{font-size:20px}.analytics-panel{padding:14px}.analytics-chart{gap:4px;height:170px}.chart-value{font-size:9px}.quality-grid{grid-template-columns:1fr 1fr}.cabinet-performance article{grid-template-columns:56px minmax(0,1fr)}.cabinet-performance img{width:56px;height:64px}.cabinet-performance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-recommendations{padding:14px}.analytics-rec-icon{width:36px;height:36px}}

/* R3 — аналитика регистрации */
.registration-analytics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:15px 0}.registration-analytics-head h2{margin:3px 0 4px;font-size:24px}.registration-analytics-head p,.registration-panel>p{margin:0;color:var(--muted);font-size:12px}.registration-period{display:flex;gap:5px;padding:4px;border-radius:12px;background:#edf4f4}.registration-period button{border:0;border-radius:9px;padding:8px 10px;color:var(--muted);background:transparent;font:inherit;font-size:10px;font-weight:750;white-space:nowrap}.registration-period button.on{color:#fff;background:var(--accent)}
.registration-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.registration-kpis article{min-width:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.registration-kpis article.primary{color:#fff;border-color:#159f9d;background:linear-gradient(145deg,#0f9e9b,#087b87)}.registration-kpis span,.registration-kpis b,.registration-kpis small{display:block}.registration-kpis span{color:var(--muted);font-size:10px}.registration-kpis .primary span,.registration-kpis .primary small{color:rgba(255,255,255,.8)}.registration-kpis b{margin:7px 0 4px;font-size:21px;line-height:1}.registration-kpis small{color:var(--muted);font-size:9px;line-height:1.3}
.registration-empty-note{margin:10px 0;padding:13px;border:1px dashed #9fd9d1;border-radius:15px;color:#246c68;background:#eefaf7;font-size:12px}.registration-grid,.registration-role-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px;margin:11px 0}.registration-panel,.registration-role-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.registration-panel h3{margin:0 0 4px;font-size:16px}
.registration-funnel{display:grid;gap:11px;margin-top:17px}.registration-funnel>div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;padding-bottom:8px}.registration-funnel span{font-size:11px}.registration-funnel b{font-size:12px}.registration-funnel small{width:25px;color:var(--bad);font-size:9px;text-align:right}.registration-funnel i{position:absolute;bottom:0;left:0;height:5px;max-width:100%;border-radius:9px;background:linear-gradient(90deg,#1eb0a9,#82d6cf)}.registration-insight{margin-top:14px;padding:10px;border-radius:12px;color:#645318;background:#fff7d8;font-size:10px;line-height:1.4}
.registration-trend{display:grid;grid-template-columns:repeat(14,minmax(18px,1fr));gap:4px;min-width:340px;height:150px;margin-top:13px}.registration-trend>div{display:grid;grid-template-rows:18px minmax(0,1fr) 18px;min-width:0;text-align:center}.registration-trend>div>span,.registration-trend small{overflow:hidden;color:var(--muted);font-size:7px;white-space:nowrap}.registration-trend>div>i{display:flex;align-items:flex-end;justify-content:center;gap:2px;border-radius:5px;background:#f4f7f7}.registration-trend em{display:block;width:5px;min-height:3px;border-radius:4px 4px 1px 1px}.registration-trend .started,.registration-legend .started{background:#26aaa6}.registration-trend .completed,.registration-legend .completed{background:#f0b429}.registration-legend{display:flex;justify-content:center;gap:13px;margin-top:8px}.registration-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.registration-legend i{width:7px;height:7px;border-radius:50%}
.registration-role-title{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.registration-role-title>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent-soft);font-size:20px}.registration-role-title b,.registration-role-title small{display:block}.registration-role-title small{margin-top:2px;color:var(--muted);font-size:9px}.registration-role-title strong{color:var(--accent);font-size:19px}.registration-mini-funnel{display:grid;gap:9px;margin-top:14px}.registration-mini-funnel>div{display:grid;grid-template-columns:58px 24px minmax(0,1fr);align-items:center;gap:7px;font-size:9px}.registration-mini-funnel>div>b{text-align:right}.registration-mini-funnel i{height:5px;overflow:hidden;border-radius:8px;background:#edf2f2}.registration-mini-funnel em{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.registration-in-progress{display:grid;gap:7px;margin-top:13px}.registration-in-progress article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border-radius:12px;background:var(--bg)}.registration-in-progress article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--card)}.registration-in-progress b,.registration-in-progress small{display:block}.registration-in-progress small,.registration-in-progress time{color:var(--muted);font-size:9px}.registration-all-done{margin-top:13px;padding:15px;border-radius:12px;color:#26766e;background:#eefaf7;text-align:center;font-size:11px}
@media(max-width:650px){.registration-analytics-head{display:block}.registration-period{width:max-content;max-width:100%;margin-top:10px}.registration-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-grid,.registration-role-grid{grid-template-columns:1fr}.registration-panel{overflow-x:auto}}@media(max-width:390px){.registration-kpis article{padding:12px}.registration-kpis b{font-size:18px}.registration-panel,.registration-role-card{padding:13px}}
@media(max-width:430px){#topbar{gap:6px;padding:8px}.brand{font-size:18px;flex:0 0 auto}.dir-switch{flex:0 0 auto}.dir-switch button{padding:6px 9px;font-size:12px}.account-btn{max-width:82px;padding:8px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.onboarding-card{max-width:520px;margin:22px auto 0;padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--card);box-shadow:0 14px 40px rgba(28,60,67,.08);overflow:hidden}.onboarding-card h1{margin:8px 0 8px;font-size:28px;line-height:1.13}.onboarding-lead{margin-bottom:22px;color:var(--muted);line-height:1.5}.onboarding-brand{font-size:20px;font-weight:900}.onboarding-brand span{color:var(--accent)}.onboarding-hero-icon{display:grid;place-items:center;width:72px;height:72px;margin:22px 0 18px;border-radius:24px;background:var(--accent-soft);font-size:38px}.onboarding-role-grid{display:grid;gap:12px}.onboarding-role-grid button{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;grid-template-rows:auto auto;gap:2px 12px;align-items:center;width:100%;padding:16px;text-align:left;border:1.5px solid #dbe7e7;border-radius:18px;background:#fff;color:var(--text);font:inherit;cursor:pointer}.onboarding-role-grid button>span{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#edf8f7;font-size:27px}.onboarding-role-grid b{font-size:17px}.onboarding-role-grid small{color:var(--muted)}.onboarding-role-grid i{grid-column:3;grid-row:1/3;color:var(--accent);font-size:22px;font-style:normal}.onboarding-telegram-note{margin-top:18px;padding:11px;border-radius:13px;background:#edf8f3;color:#28785d;text-align:center;font-size:12px}
.onboarding-progress{margin-bottom:24px}.onboarding-progress>.row{font-size:12px;color:var(--muted)}.onboarding-progress>.row b{color:var(--accent)}.onboarding-progress>div:last-child{height:6px;margin-top:8px;border-radius:99px;background:#e4ecec;overflow:hidden}.onboarding-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16aaa6,#38c0b4)}.onboarding-back{margin:-5px 0 14px;padding:7px 0;border:0;background:none;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.onboarding-chips{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 24px}.onboarding-chips label{cursor:pointer}.onboarding-chips input,.onboarding-options input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}.onboarding-chips span{display:block;padding:12px 15px;border:1.5px solid #d9e4e4;border-radius:999px;background:#fff;color:var(--text);font-weight:750}.onboarding-chips input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:#087f7f;box-shadow:0 0 0 2px rgba(15,163,163,.08)}.onboarding-next{margin-top:8px;min-height:50px}.onboarding-next:disabled{background:#dfe7e7;color:#91a0a0;opacity:1;cursor:not-allowed}
.onboarding-options{display:grid;gap:10px;margin-bottom:18px}.onboarding-options label{cursor:pointer}.onboarding-options label>span{display:block;padding:15px;border:1.5px solid #d9e4e4;border-radius:17px;background:#fff}.onboarding-options b,.onboarding-options small{display:block}.onboarding-options b{color:var(--text);font-size:16px}.onboarding-options small{margin-top:4px;color:var(--muted);font-weight:500;line-height:1.4}.onboarding-options input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px rgba(15,163,163,.08)}.onboarding-options.compact{grid-template-columns:1fr 1fr}.onboarding-warning{margin:10px 0 16px;padding:13px;border:1px solid #f0d39d;border-radius:14px;background:#fff8e9;color:#78551b;font-size:12px;line-height:1.45}.onboarding-field{display:block;margin:13px 0}.onboarding-field small{float:right;color:var(--muted);font-weight:500}.onboarding-field input{margin-bottom:0;background:#fff}.verification-gate-banner{display:flex;gap:13px;margin:0 0 13px;padding:16px;border:1px solid #b8e2dc;border-radius:18px;background:#eaf8f5}.verification-gate-banner>span{font-size:27px}.verification-gate-banner b{display:block}.verification-gate-banner p{margin:5px 0 12px;color:#58716f;font-size:13px;line-height:1.4}.verification-gate-banner .btn{width:auto;padding:9px 14px;font-size:13px}
@media(max-width:560px){.onboarding-card{margin:8px 0 0;padding:18px;border-radius:22px}.onboarding-card h1{font-size:25px}.onboarding-options.compact{grid-template-columns:1fr}.onboarding-role-grid button{grid-template-columns:48px minmax(0,1fr) 20px;padding:14px}.onboarding-role-grid button>span{width:48px;height:48px}.verification-gate-banner{align-items:flex-start}.verification-gate-banner .btn{width:100%}}

/* H2 — административная целостность броней, кабинетов и юридических условий */
.admin-booking-card{margin:11px 0;padding:16px;border:1px solid var(--line);border-radius:19px;background:var(--card)}.admin-booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-booking-head>div{min-width:0}.admin-booking-head small{color:var(--muted);font-size:9px}.admin-booking-head h2{margin:3px 0;font-size:17px;overflow-wrap:anywhere}.admin-booking-head p{margin:0;color:var(--accent);font-size:11px;font-weight:750}.admin-booking-stage{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border-radius:13px;background:var(--accent-soft)}.admin-booking-stage span{color:var(--muted);font-size:10px}.admin-booking-stage b{color:var(--accent);font-size:12px;text-align:right}.admin-booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.admin-booking-grid>div{min-width:0;padding:9px;border-radius:11px;background:var(--bg)}.admin-booking-grid small,.admin-booking-grid b{display:block}.admin-booking-grid small{color:var(--muted);font-size:8px}.admin-booking-grid b{margin-top:3px;font-size:11px;overflow-wrap:anywhere}.admin-renter-contact{margin-top:11px;padding:11px;border:1px solid var(--line);border-radius:13px}.admin-renter-contact>small,.admin-renter-contact>b{display:block}.admin-renter-contact>small{color:var(--muted);font-size:9px}.admin-renter-contact>b{margin:3px 0 7px}.admin-renter-contact>div{display:flex;flex-wrap:wrap;gap:7px}.admin-renter-contact a,.admin-renter-contact>div>span{border-radius:9px;padding:6px 8px;color:var(--accent);background:var(--accent-soft);font-size:10px;text-decoration:none}.admin-booking-comment{margin-top:9px;color:var(--muted);font-size:11px;font-style:italic}.admin-booking-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.admin-cabinet-owner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;margin:10px 0;padding:10px;border-radius:12px;background:var(--bg)}.admin-cabinet-owner span{grid-column:1/-1;color:var(--muted);font-size:8px}.admin-cabinet-owner b{font-size:11px;overflow-wrap:anywhere}.admin-cabinet-owner i{font-size:9px;font-style:normal;font-weight:750;text-align:right}.admin-cabinet-owner i.ok{color:var(--ok)}.admin-cabinet-owner i.bad{color:var(--bad)}.admin-legal-warning,.admin-legal-ready{margin:9px 0;padding:10px;border-radius:11px;font-size:10px;line-height:1.4}.admin-legal-warning{color:#795512;background:#fff5d9;border:1px solid #edd293}.admin-legal-ready{color:#26766e;background:#eaf8f5;border:1px solid #b8e2dc}.admin-legal-warning.compact,.admin-legal-ready.compact{padding:8px}.btn.warn{color:#795512;background:#fff1c6;border-color:#e3c36f}.admin-calendar-controls{display:block}.admin-calendar-list{display:grid;gap:9px}.admin-calendar-entry{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.admin-calendar-entry time,.admin-calendar-entry>div,.admin-calendar-entry b,.admin-calendar-entry small{min-width:0}.admin-calendar-entry time{color:var(--muted);font-size:9px;text-transform:capitalize}.admin-calendar-entry time b,.admin-calendar-entry>div>b,.admin-calendar-entry>div>small{display:block}.admin-calendar-entry time b{margin-top:4px;color:var(--text);font-size:12px}.admin-calendar-entry>div:nth-child(2)>b{margin-top:5px;font-size:11px}.admin-calendar-entry>div:nth-child(2)>small{margin-top:2px;color:var(--muted);font-size:9px}.admin-calendar-entry>div:last-child{text-align:right}.admin-calendar-entry>div:last-child>b{margin-top:5px;font-size:11px}
@media(max-width:560px){.admin-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-calendar-entry{grid-template-columns:74px minmax(0,1fr)}.admin-calendar-entry>div:last-child{grid-column:2;text-align:left}.admin-booking-head{align-items:flex-start}.admin-booking-stage{align-items:flex-start}.admin-cabinet-owner{grid-template-columns:1fr}.admin-cabinet-owner i{text-align:left}}
.feature-hidden{display:none!important}.feature-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:14px 0;padding:18px;border-radius:20px;color:#fff;background:linear-gradient(145deg,#0f9e9b,#087b87)}.feature-admin-head h2{margin:0;font-size:21px}.feature-admin-head p{margin:5px 0 0;color:rgba(255,255,255,.78);font-size:12px}.feature-admin-head>span{flex:0 0 auto;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.16);font-size:10px;font-weight:800}.feature-admin-groups{display:grid;gap:12px}.feature-admin-group{padding:16px;border:1px solid var(--line);border-radius:19px;background:var(--card)}.feature-admin-group>div:first-child h3{margin:0;font-size:17px}.feature-admin-group>div:first-child p{margin:4px 0 13px;color:var(--muted);font-size:11px}.feature-toggle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feature-toggle{position:relative;margin:0;cursor:pointer}.feature-toggle>input{position:absolute;opacity:0;pointer-events:none}.feature-toggle>span{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;min-height:62px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.feature-toggle>span>i{grid-row:1/3;position:relative;width:38px;height:22px;margin-top:5px;border-radius:999px;background:#cbd7d7;transition:.2s}.feature-toggle>span>i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.2s}.feature-toggle b{font-size:12px}.feature-toggle small{color:var(--muted);font-size:9px;line-height:1.35}.feature-toggle input:checked+span{border-color:#a8ddd7;background:#f0fbf9}.feature-toggle input:checked+span>i{background:var(--accent)}.feature-toggle input:checked+span>i:after{transform:translateX(16px)}.feature-toggle input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.feature-admin-actions{position:sticky;z-index:4;bottom:74px;display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding:10px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}
@media(max-width:600px){.feature-toggle-list{grid-template-columns:1fr}.feature-admin-head{display:block}.feature-admin-head>span{display:inline-block;margin-top:10px}.feature-admin-actions{display:grid;grid-template-columns:1fr}.feature-admin-actions .btn{width:100%}}
.feature-jump-nav{display:flex;gap:7px;margin:0 0 12px;padding:2px 0 8px;overflow-x:auto;scrollbar-width:none}.feature-jump-nav::-webkit-scrollbar{display:none}.feature-jump-nav button{flex:0 0 auto;padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:var(--accent);background:var(--card);font:inherit;font-size:9px;font-weight:800;cursor:pointer}.feature-admin-group{padding:0;overflow:hidden;scroll-margin-top:12px}.feature-admin-group>summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto 22px;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;list-style:none}.feature-admin-group>summary::-webkit-details-marker{display:none}.feature-admin-group>summary>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--accent-soft);font-size:19px}.feature-admin-group>summary h3{margin:0;font-size:15px}.feature-admin-group>summary p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.35}.feature-admin-group>summary>em{padding:5px 7px;border-radius:99px;color:var(--accent);background:var(--accent-soft);font-size:8px;font-style:normal;font-weight:850}.feature-admin-group>summary>i{color:var(--muted);font-style:normal;transition:.2s}.feature-admin-group[open]>summary>i{transform:rotate(180deg)}.feature-admin-group>.feature-toggle-list{padding:0 14px 14px;border-top:1px solid var(--line);padding-top:12px}.feature-toggle b em{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:99px;color:var(--muted);background:var(--card);font-size:7px;font-style:normal;font-weight:700;vertical-align:1px}@media(max-width:420px){.feature-admin-group>summary{grid-template-columns:36px minmax(0,1fr) auto;padding:12px}.feature-admin-group>summary>span{width:36px;height:36px}.feature-admin-group>summary>i{display:none}.feature-admin-group>summary p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
.app-dialog-overlay{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:18px;background:rgba(14,31,35,.52);backdrop-filter:blur(4px)}.app-dialog{width:min(100%,430px);padding:20px;border-radius:22px;background:var(--card);box-shadow:0 22px 70px rgba(0,0,0,.24)}.app-dialog h2{margin:0;font-size:20px}.app-dialog p{margin:7px 0 14px;color:var(--muted);font-size:12px;line-height:1.45}.app-dialog textarea{width:100%;margin:0 0 14px;resize:vertical}.app-dialog>div{display:flex;justify-content:flex-end;gap:8px}.app-dialog .btn{width:auto}.app-dialog .btn.danger{color:#fff;background:var(--bad)}@media(max-width:430px){.app-dialog-overlay{align-items:end;padding:10px}.app-dialog{border-radius:22px 22px 16px 16px}.app-dialog>div{display:grid;grid-template-columns:1fr 1fr}.app-dialog .btn{width:100%}}
/* J2 — безопасная постоплата и восстановление бронирования */
.cancellation-result{margin:10px 0;padding:11px;border:1px solid #ecd49d;border-radius:13px;background:#fff8e7}.cancellation-result b,.cancellation-result small{display:block}.cancellation-result b{color:#77551d;font-size:11px}.cancellation-result small{margin-top:4px;color:#8a734c;font-size:9px;line-height:1.4}.dispute-status{margin:8px 0;padding:8px 10px;border-radius:10px;color:#7a5a1b;background:#fff4d7;font-size:10px;font-weight:750}.dispute-status.resolved{color:#26766e;background:#eaf8f5}.admin-settlement{display:block;margin-top:9px;padding:10px;border-radius:12px;background:#fff8e7}.admin-settlement b,.admin-settlement small{display:block}.admin-settlement b{font-size:11px}.admin-settlement small{margin-top:3px;color:var(--muted);font-size:9px}.admin-dispute{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:11px;border:1px solid #ecd49d;border-radius:13px;background:#fff8e7}.admin-dispute>div{min-width:0}.admin-dispute small,.admin-dispute b,.admin-dispute span{display:block}.admin-dispute small{color:#8a734c;font-size:8px}.admin-dispute b{margin-top:3px;font-size:11px;overflow-wrap:anywhere}.admin-dispute span{margin-top:4px;color:var(--muted);font-size:9px}.admin-dispute.resolved{border-color:#b8e2dc;background:#eaf8f5}@media(max-width:430px){.admin-dispute{align-items:stretch;flex-direction:column}.admin-dispute .btn{width:100%}}
.payment-admin-settings{margin-top:12px;padding:16px;border:1px solid #b8e6df;border-radius:19px;background:linear-gradient(145deg,#f0fbf9,#fff)}
.postpay-note{display:flex;align-items:flex-start;gap:10px;margin:11px 0;padding:12px;border:1px solid #b8e6df;border-radius:14px;background:#eefaf7}.postpay-note>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;color:#fff;background:var(--accent);font-weight:900}.postpay-note b,.postpay-note small{display:block}.postpay-note b{font-size:12px}.postpay-note small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.owner-postpay-hint{margin:9px 0;padding:9px 11px;border-radius:11px;color:#246c68;background:#eefaf7;font-size:10px;line-height:1.4}
.payment-admin-settings>div:first-child{display:flex;align-items:flex-start;gap:10px}.payment-admin-settings>div:first-child>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;color:#fff;background:var(--accent);font-size:20px;font-weight:900}
.payment-admin-settings h3{margin:0;font-size:17px}.payment-admin-settings p{margin:4px 0 13px;color:var(--muted);font-size:10px;line-height:1.45}.payment-admin-settings label{display:block;margin-top:10px;font-size:11px;font-weight:750}.payment-admin-settings select{margin-top:5px}
.payment-commission-check{display:flex!important;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}.payment-commission-check input{width:18px;margin:2px 0 0}.payment-commission-check span{min-width:0}.payment-commission-check b,.payment-commission-check small{display:block}.payment-commission-check small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:500;line-height:1.4}
@media(max-width:430px){.booking-recovery{grid-template-columns:34px minmax(0,1fr) 26px}.booking-recovery>button:not(.dismiss){grid-column:2/4;width:100%}.payment-admin-settings{padding:13px}}

/* J4 — центр уведомлений и контроль сроков */
.notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:8px 0 12px;padding:19px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#109f9c,#087786)}.notification-head h1{margin:3px 0 5px;color:#fff}.notification-head p{margin:0;color:rgba(255,255,255,.78);font-size:11px}.notification-head .eyebrow{color:rgba(255,255,255,.72)}.notification-head>span,.notification-head>i{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:99px;background:rgba(255,255,255,.18);font-size:13px;font-style:normal;font-weight:900}.notification-read-all{display:block;margin:0 0 10px auto;padding:8px 10px;border:0;background:none;color:var(--accent);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.notification-list{display:grid;gap:9px}.notification-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:13px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.notification-card.unread{border-color:#9fdad4;background:linear-gradient(145deg,#effbf9,#fff);box-shadow:0 7px 20px rgba(17,132,131,.07)}.notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--accent-soft);font-size:20px}.notification-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.notification-meta b{font-size:11px}.notification-meta time{color:var(--muted);font-size:8px;white-space:nowrap}.notification-card p{margin:5px 0 0;color:#40585b;font-size:11px;line-height:1.45}.notification-link{margin:7px 0 0;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:10px;font-weight:800;cursor:pointer}@media(max-width:370px){.notification-card{grid-template-columns:36px minmax(0,1fr);padding:11px}.notification-icon{width:36px;height:36px;font-size:17px}.notification-meta{align-items:flex-start;flex-direction:column;gap:2px}}

/* J5 — единое обсуждение и история сделки */
.conversation-sheet{padding:2px 18px calc(18px + env(safe-area-inset-bottom))}.conversation-sheet h1{margin:5px 0}.conversation-feed{display:grid;gap:8px;max-height:48vh;margin:16px 0;padding:12px;border-radius:17px;background:var(--bg);overflow-y:auto}.conversation-system{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--muted);font-size:9px}.conversation-system>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:var(--accent);background:var(--accent-soft);font-weight:900}.conversation-system time{font-size:8px;white-space:nowrap}.conversation-message{justify-self:start;max-width:86%;padding:10px 12px;border-radius:15px 15px 15px 4px;background:#fff;box-shadow:0 2px 10px rgba(30,60,65,.07)}.conversation-message.mine{justify-self:end;border-radius:15px 15px 4px 15px;background:#dff7f3}.conversation-message b,.conversation-message time{display:block;font-size:8px}.conversation-message b{color:var(--accent)}.conversation-message p{margin:4px 0;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.conversation-message time{color:var(--muted);text-align:right}.conversation-compose{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:9px;background:var(--card)}.conversation-compose textarea{min-height:48px;margin:0;resize:none}.conversation-compose .btn{width:auto}.conversation-locked{padding:12px;border-radius:13px;color:var(--muted);background:var(--bg);font-size:10px;text-align:center}@media(max-width:380px){.conversation-compose{grid-template-columns:1fr}.conversation-compose .btn{width:100%}.conversation-system{grid-template-columns:22px minmax(0,1fr)}.conversation-system time{grid-column:2}}

/* J7 — условия оплаты кабинета */
.owner-payment-terms,.cabinet-payment-choice{margin:13px 0;padding:14px;border:1px solid #b8e2dc;border-radius:17px;background:linear-gradient(145deg,#eefaf7,#fff)}.owner-payment-terms>div:first-child b,.owner-payment-terms>div:first-child small,.cabinet-payment-choice>div:first-child b,.cabinet-payment-choice>div:first-child small{display:block}.owner-payment-terms>div:first-child small,.cabinet-payment-choice>div:first-child small{margin-top:3px;color:var(--muted);font-size:9px}.owner-payment-terms label{display:grid;gap:5px;margin-top:11px}.owner-payment-terms label>small{color:var(--muted);font-size:9px;font-weight:500}.payment-choice-pills{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.payment-choice-pills label{cursor:pointer}.payment-choice-pills input{position:absolute;opacity:0;pointer-events:none}.payment-choice-pills span{display:block;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:10px;font-weight:800;text-align:center}.payment-choice-pills input:checked+span{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}@media(max-width:360px){.payment-choice-pills{grid-template-columns:1fr}}
.owner-payment-terms.prominent{margin-top:4px;border:2px solid var(--accent);box-shadow:0 8px 24px rgba(17,132,131,.11)}.owner-payment-terms.prominent>div:first-child b{color:var(--accent);font-size:15px}.owner-payment-terms.prominent select{font-weight:750}
.weekly-availability,.slot-rules{margin:13px 0;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.weekly-availability>div:first-child b,.weekly-availability>div:first-child small,.slot-rules>div:first-child b,.slot-rules>div:first-child small{display:block}.weekly-availability>div:first-child small,.slot-rules>div:first-child small{margin-top:3px;color:var(--muted);font-size:9px}.weekly-rows{display:grid;gap:6px;margin-top:11px}.weekly-row{display:grid;grid-template-columns:54px minmax(0,1fr) 12px minmax(0,1fr);align-items:center;gap:6px}.weekly-row>label{margin:0}.weekly-row>label input{position:absolute;opacity:0}.weekly-row>label span{display:grid;place-items:center;height:38px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--bg);font-size:10px;font-weight:800}.weekly-row>label input:checked+span{border-color:var(--accent);color:#fff;background:var(--accent)}.weekly-row select{min-width:0;margin:0;padding:8px 6px;font-size:11px}.weekly-row>span{text-align:center;color:var(--muted)}.slot-rules>.form-grid{margin-top:11px}.instant-booking-toggle{display:flex!important;align-items:flex-start;gap:9px;margin-top:12px!important;padding:11px;border:1px solid #b8e2dc;border-radius:13px;background:#eefaf7}.instant-booking-toggle input{width:18px;margin:2px 0 0}.instant-booking-toggle b,.instant-booking-toggle small{display:block}.instant-booking-toggle small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:500;line-height:1.4}@media(max-width:370px){.weekly-row{grid-template-columns:44px minmax(0,1fr) 8px minmax(0,1fr)}.weekly-row select{font-size:10px}}

/* J10 — прозрачные правила отмены */
.renter-reliability{display:block;margin-top:4px;color:var(--ok);font-size:9px;font-style:normal;font-weight:750}.renter-reliability.attention{color:var(--bad)}
.reputation-review{margin:9px 0;padding:10px 11px;border:1px solid #ead49c;border-radius:13px;background:#fff8e8}.reputation-review b,.reputation-review small{display:block}.reputation-review b{color:#795512;font-size:11px}.reputation-review small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.reputation-review.confirmed{border-color:#efc4bd;background:#fff1ef}.reputation-review.overturned{border-color:#b8e2dc;background:#eaf8f5}.reputation-review.overturned b{color:var(--ok)}.admin-dispute-decisions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:190px}.admin-dispute-decisions .btn{width:100%}@media(max-width:430px){.admin-dispute-decisions{grid-template-columns:1fr;width:100%}}
.owner-cancellation-policy{margin:14px 0;padding:14px;border:1px solid #ead49c;border-radius:17px;background:linear-gradient(145deg,#fff8e8,#fff)}.owner-cancellation-policy>div:first-child b,.owner-cancellation-policy>div:first-child small{display:block}.owner-cancellation-policy>div:first-child small{margin-top:3px;color:var(--muted);font-size:9px}.cancellation-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.cancellation-policy-grid label{min-width:0;margin:0;font-size:10px}.cancellation-policy-grid input{margin-top:5px}.owner-cancellation-policy>p{margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.45}@media(max-width:390px){.cancellation-policy-grid{grid-template-columns:1fr}}

/* J8 — подтверждение перевода и финансовая история */
.payment-journey{margin:10px 0;padding:13px;border:1px solid #b8e2dc;border-radius:16px;background:linear-gradient(145deg,#eefaf7,#fff)}.payment-journey>div:first-child{display:flex;align-items:center;gap:9px}.payment-journey>div:first-child>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;color:#fff;background:var(--accent);font-weight:900}.payment-journey b,.payment-journey small{display:block}.payment-journey small{margin-top:3px;color:var(--muted);font-size:9px}.payment-journey>.btn{width:100%;margin-top:10px}.payment-journey.waiting{border-color:#ead49c;background:#fff8e8}.payment-journey.waiting>div:first-child>span{background:#d6a536}.payment-journey.owner-review>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.payment-journey.owner-review>div:nth-child(2) .btn{width:100%;padding-inline:7px;font-size:10px}.payment-rejected{margin:9px 0 0;color:var(--bad);font-size:9px}.payment-history{margin-top:10px;border-top:1px solid var(--line);padding-top:9px}.payment-history summary{color:var(--accent);font-size:10px;font-weight:800;cursor:pointer}.payment-history>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;margin-top:8px}.payment-history>div>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--bg);font-size:10px}.payment-history>div b{font-size:10px}.payment-history>div small{font-size:8px}@media(max-width:360px){.payment-journey.owner-review>div:nth-child(2){grid-template-columns:1fr}}

.admin-payment-audit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 9px;align-items:center;margin-top:10px;padding:10px;border-radius:12px;background:var(--bg)}.admin-payment-audit b,.admin-payment-audit small{display:block}.admin-payment-audit>div>small,.admin-payment-audit>small{color:var(--muted);font-size:8px}.admin-payment-audit b{margin-top:3px;font-size:11px}.admin-payment-audit>small{grid-column:1/-1}

.conversation-quick{display:flex;gap:6px;margin:0 0 8px;overflow-x:auto}.conversation-quick button{flex:0 0 auto;padding:7px 9px;border:1px solid var(--line);border-radius:99px;color:var(--accent);background:var(--accent-soft);font:inherit;font-size:9px;font-weight:750;cursor:pointer}
/* J6 — лист ожидания свободного слота */
.cancellation-settlement{margin:10px 0;padding:13px;border:1px solid #ead49c;border-radius:16px;background:linear-gradient(145deg,#fff8e8,#fff)}.cancellation-settlement.settled{border-color:#b8e2dc;background:linear-gradient(145deg,#eefaf7,#fff)}.cancellation-settlement-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cancellation-settlement-head small,.cancellation-settlement-head b{display:block}.cancellation-settlement-head small{color:var(--muted);font-size:9px}.cancellation-settlement-head b{margin-top:2px;font-size:12px}.cancellation-settlement-head>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#fff;background:#d6a536;font-weight:900}.cancellation-settlement.settled .cancellation-settlement-head>span{background:var(--accent)}.cancellation-settlement dl{margin:10px 0 0}.cancellation-settlement dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid rgba(130,100,35,.12)}.cancellation-settlement dt{color:var(--muted);font-size:10px}.cancellation-settlement dd{margin:0;font-size:11px;font-weight:850}.cancellation-settlement p,.settlement-note{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.settlement-note{padding:8px;border-radius:9px;background:var(--bg)}.cancellation-settlement>.btn{width:100%;margin-top:10px}
.slot.busy,.slot.held{cursor:pointer}.slot.busy:hover,.slot.held:hover{border-color:var(--accent)}.waitlist-panel{margin:13px 0;padding:14px;border:1px solid #b9e2dc;border-radius:18px;background:linear-gradient(145deg,#eefaf7,#fff)}.waitlist-panel>div{display:flex;align-items:center;gap:9px}.waitlist-panel>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent-soft)}.waitlist-panel b,.waitlist-panel small{display:block}.waitlist-panel small{margin-top:2px;color:var(--muted);font-size:9px}.waitlist-panel article{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;margin-top:9px;padding:9px 10px;border-radius:12px;background:var(--card)}.waitlist-panel article b{font-size:11px}.waitlist-panel article button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:9px;color:var(--muted);background:var(--bg);font-size:18px;cursor:pointer}
.slot-rule-summary{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.slot-rule-summary span{padding:6px 8px;border-radius:999px;color:var(--muted);background:var(--bg);font-size:9px;font-weight:750}.slot-rule-summary span.instant{color:var(--accent);background:var(--accent-soft)}
.calendar-regular-rule{margin:10px 0;padding:10px 12px;border-radius:12px;color:var(--accent);background:var(--accent-soft);font-size:10px;font-weight:750;line-height:1.4}
.reconfirmation-card{margin:10px 0;padding:12px;border:1px solid #b8e2dc;border-radius:15px;background:#eefaf7}.reconfirmation-card>div{display:flex;align-items:center;gap:9px}.reconfirmation-card>div>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;color:#fff;background:var(--accent);font-weight:900}.reconfirmation-card b,.reconfirmation-card small{display:block}.reconfirmation-card b{font-size:11px}.reconfirmation-card small{margin-top:3px;color:var(--muted);font-size:9px}.reconfirmation-card>.btn{width:100%;margin-top:9px}.reconfirmation-card.waiting{border-color:#ead49c;background:#fff8e8}.reconfirmation-card.waiting>div>span{background:#d6a536}.reconfirmation-card.done{border-color:#b8e2dc;background:#eaf8f5}.delivery-log{display:grid;gap:8px}.delivery-log article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.delivery-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:var(--accent);background:var(--accent-soft);font-weight:900}.delivery-icon.telegram_failed{color:var(--bad);background:#fff1ef}.delivery-log b,.delivery-log small{display:block}.delivery-log p{display:-webkit-box;margin:4px 0;color:var(--muted);font-size:10px;line-height:1.4;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.delivery-log small{font-size:8px;color:var(--muted)}.delivery-log em{padding:5px 7px;border-radius:99px;color:var(--accent);background:var(--accent-soft);font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.delivery-log em.telegram_failed{color:var(--bad);background:#fff1ef}@media(max-width:430px){.delivery-log article{grid-template-columns:32px minmax(0,1fr)}.delivery-icon{width:32px;height:32px}.delivery-log em{grid-column:2;justify-self:start}}

/* J15 — управляемый паспорт условий сделки */
.legal-passport-sheet{padding:2px 18px calc(18px + env(safe-area-inset-bottom))}.legal-passport-sheet h1{margin:5px 0}.legal-license-state{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px;border:1px solid #ead49c;border-radius:15px;background:#fff8e8}.legal-license-state.ok{border-color:#b8e2dc;background:#eefaf7}.legal-license-state>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;color:#fff;background:#d6a536;font-weight:900}.legal-license-state.ok>span{background:var(--accent)}.legal-license-state b,.legal-license-state small{display:block}.legal-license-state b{font-size:11px}.legal-license-state small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.legal-passport-terms{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.legal-passport-terms article{min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}.legal-passport-terms small,.legal-passport-terms b{display:block}.legal-passport-terms small{color:var(--muted);font-size:8px}.legal-passport-terms b{margin-top:3px;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.legal-parties{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.legal-parties>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 8px;padding:10px;border:1px solid var(--line);border-radius:13px}.legal-parties span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:var(--muted);background:var(--bg);font-size:10px;font-weight:900}.legal-parties .done{border-color:#b8e2dc;background:#eefaf7}.legal-parties .done span{color:#fff;background:var(--accent)}.legal-parties b{font-size:10px}.legal-parties small{color:var(--muted);font-size:8px}.legal-own-status,.legal-waiting{margin-top:10px;padding:10px;border-radius:12px;color:var(--accent);background:var(--accent-soft);font-size:10px;font-weight:800;text-align:center}.legal-waiting{margin:7px 0 0;color:var(--muted);background:var(--bg);font-weight:600}.legal-admin-settings{border-color:#d8c7ed;background:linear-gradient(145deg,#f7f1ff,#fff)}.legal-admin-settings>div:first-child>span{background:#7357a8}@media(max-width:370px){.legal-passport-terms,.legal-parties{grid-template-columns:1fr}}

/* J16 — закрытые коммуникации и недельная оплата лидов */
.in-app-contact-note{display:flex;align-items:flex-start;gap:9px;margin:10px 0;padding:11px;border:1px solid #b8e2dc;border-radius:14px;background:#eefaf7}.in-app-contact-note>span{font-size:18px}.in-app-contact-note b,.in-app-contact-note small{display:block}.in-app-contact-note b{font-size:11px}.in-app-contact-note small{margin-top:2px;color:var(--muted);font-size:9px}.in-app-contact-note.compact{margin:9px 0 0}.lead-balance{display:flex;align-items:center;justify-content:space-between;margin:13px 0;padding:18px;border-radius:20px;color:#fff;background:linear-gradient(145deg,#109f9c,#087786)}.lead-balance.overdue{background:linear-gradient(145deg,#d56a52,#a8423d)}.lead-balance small,.lead-balance b,.lead-balance span{display:block}.lead-balance small{font-size:9px;opacity:.75}.lead-balance b{margin:3px 0;font-size:26px}.lead-balance span{font-size:9px}.lead-balance>i{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.16);font-size:20px;font-style:normal;font-weight:900}.lead-trial,.lead-terms,.lead-payment,.lead-history{margin:11px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.lead-trial>div:first-child{display:flex;align-items:center;gap:10px}.lead-trial>div:first-child>span{font-size:22px}.lead-trial b,.lead-trial small{display:block}.lead-trial b{font-size:12px}.lead-trial small{margin-top:3px;color:var(--muted);font-size:9px}.lead-trial-track{height:7px;margin-top:12px;border-radius:99px;background:var(--bg);overflow:hidden}.lead-trial-track i{display:block;height:100%;border-radius:99px;background:var(--accent)}.lead-terms{border-color:#ead49c;background:#fff8e8}.lead-terms h2,.lead-payment h2,.lead-history h2{margin:0;font-size:15px}.lead-terms p,.lead-payment p{color:var(--muted);font-size:10px;line-height:1.5}.lead-terms label{display:flex;align-items:flex-start;gap:8px;margin:12px 0}.lead-terms input{width:18px;margin:1px 0}.lead-terms span{font-size:10px;line-height:1.4}.lead-accepted{margin:10px 0;padding:10px;border-radius:12px;color:var(--accent);background:var(--accent-soft);font-size:10px;font-weight:800;text-align:center}.lead-history{display:grid;gap:8px}.lead-history h2{margin-bottom:4px}.lead-history article{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border-radius:12px;background:var(--bg)}.lead-history article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--card)}.lead-history b,.lead-history small{display:block}.lead-history b{font-size:10px}.lead-history small{margin-top:2px;color:var(--muted);font-size:8px}.lead-history em{padding:5px 7px;border-radius:99px;color:var(--muted);background:var(--card);font-size:8px;font-style:normal;font-weight:800}.lead-history em.due{color:#9c6814;background:#fff3d4}.lead-history em.paid,.lead-history em.free{color:var(--accent);background:var(--accent-soft)}.lead-admin-settings{border-color:#b8e2dc}.lead-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lead-admin-grid label{min-width:0}.lead-admin-grid input{margin-top:5px}.lead-admin-settings>div:first-child>span{background:#178b87}@media(max-width:390px){.lead-admin-grid{grid-template-columns:1fr}.lead-history article{grid-template-columns:30px minmax(0,1fr)}.lead-history em{grid-column:2;justify-self:start}}
.admin-lead-price-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;margin:12px 0;padding:18px;border-radius:20px;color:#fff;background:linear-gradient(145deg,#109f9c,#087786)}.admin-lead-price-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.16);font-size:24px;font-weight:900}.admin-lead-price-card small{display:block;color:rgba(255,255,255,.76);font-size:9px}.admin-lead-price-card label{display:grid;grid-template-columns:minmax(0,180px) auto;align-items:center;gap:8px;margin:6px 0}.admin-lead-price-card input{margin:0;border:0;background:#fff;font-size:24px;font-weight:900}.admin-lead-price-card label>span{font-size:22px;font-weight:900}.admin-lead-price-card p{margin:7px 0 0;color:rgba(255,255,255,.78);font-size:9px;line-height:1.45}.admin-lead-save{width:100%;margin-top:12px}@media(max-width:370px){.admin-lead-price-card{grid-template-columns:42px minmax(0,1fr);padding:14px}.admin-lead-price-icon{width:42px;height:42px}.admin-lead-price-card label{grid-template-columns:minmax(0,1fr) auto}}
.admin-lead-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-lead-summary article{padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.admin-lead-summary small,.admin-lead-summary b{display:block}.admin-lead-summary small{color:var(--muted);font-size:8px}.admin-lead-summary b{margin-top:3px;font-size:15px}.admin-lead-summary article.danger{border-color:#efc4bd;background:#fff1ef}.admin-lead-registry{display:grid;gap:8px;margin-top:14px}.admin-lead-registry>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.admin-lead-main{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px}.admin-lead-main>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--accent);background:var(--accent-soft);font-size:9px;font-weight:850}.admin-lead-main b,.admin-lead-main small{display:block}.admin-lead-main b{font-size:11px}.admin-lead-main small{margin-top:3px;color:var(--muted);font-size:8px}.admin-lead-money{text-align:right}.admin-lead-money b,.admin-lead-money em{display:block}.admin-lead-money b{font-size:12px}.admin-lead-money em{margin-top:4px;padding:4px 6px;border-radius:99px;color:var(--muted);background:var(--bg);font-size:8px;font-style:normal;font-weight:800}.admin-lead-money em.due{color:#9c6814;background:#fff3d4}.admin-lead-money em.paid,.admin-lead-money em.free{color:var(--accent);background:var(--accent-soft)}.admin-lead-money em.disputed{color:#7b55a0;background:#f5effb}.admin-lead-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.lead-price-history{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.lead-price-history summary{font-size:10px;font-weight:800;cursor:pointer}.lead-price-history>div{display:flex;justify-content:space-between;gap:8px;margin-top:7px;padding-top:7px;border-top:1px solid var(--line);font-size:9px}.lead-price-history small{color:var(--muted)}.lead-invoices{display:grid;gap:8px;margin:11px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.lead-invoices h2{margin:0 0 3px;font-size:15px}.lead-invoices article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:13px;background:var(--bg)}.lead-invoices small,.lead-invoices b,.lead-invoices span{display:block}.lead-invoices small{color:var(--muted);font-size:8px}.lead-invoices b{margin-top:2px;font-size:11px}.lead-invoices span{margin-top:2px;color:var(--muted);font-size:8px}.lead-invoices em{padding:5px 7px;border-radius:99px;color:var(--accent);background:var(--accent-soft);font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.lead-invoices article.overdue{background:#fff1ef}.lead-invoices article.overdue em{color:var(--bad);background:#ffe2de}.lead-dispute-btn{grid-column:2/-1;justify-self:start;padding:0;border:0;color:var(--accent);background:none;font:inherit;font-size:8px;font-weight:800;cursor:pointer}@media(max-width:520px){.admin-lead-summary{grid-template-columns:1fr 1fr}.admin-lead-registry>article{grid-template-columns:1fr}.admin-lead-money{text-align:left}.admin-lead-money b,.admin-lead-money em{display:inline-block;margin-right:6px}.admin-lead-actions{grid-column:auto}.admin-lead-actions .btn{flex:1}.lead-invoices article{align-items:flex-start;flex-direction:column}}
.lead-quality-flag{display:block;width:max-content;max-width:100%;margin-top:5px;padding:4px 6px;border-radius:8px;color:#91600e;background:#fff3d4;font-size:8px;line-height:1.35}.lead-quality-flag.dispute{color:#734d98;background:#f5effb}.lead-dispute-sheet{padding:2px 18px calc(18px + env(safe-area-inset-bottom))}.lead-dispute-sheet h1{margin:5px 0}.lead-dispute-sheet p{color:var(--muted);font-size:10px;line-height:1.45}.lead-dispute-sheet label{display:block;margin-top:12px;font-size:10px;font-weight:750}.lead-dispute-sheet select,.lead-dispute-sheet textarea{margin-top:5px}.lead-dispute-sheet .btn{width:100%;margin-top:14px}
.offer-version{display:inline-block;margin-bottom:7px;padding:5px 7px;border-radius:99px;color:#8a6418;background:#fff0c8;font-size:8px;font-weight:850}.lead-offer-text{max-height:150px;padding:10px;border-radius:11px;background:rgba(255,255,255,.65);overflow-y:auto}.lead-offer-snapshot{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.lead-offer-snapshot span{padding:6px 8px;border-radius:99px;background:#fff;font-size:9px}.admin-offer-editor{margin-top:14px;padding:15px;border:1px solid #d8c7ed;border-radius:18px;background:linear-gradient(145deg,#f7f1ff,#fff)}.admin-offer-editor label{display:block;margin-top:10px;font-size:10px;font-weight:750}.admin-offer-editor input,.admin-offer-editor textarea{margin-top:5px}.admin-offer-editor>.btn{width:100%;margin-top:10px}.admin-offer-editor>.admin-panel-head>span{padding:5px 8px;border-radius:99px;color:#7357a8;background:#ede2f8;font-size:9px;font-weight:850}.admin-offer-editor details{margin-top:10px;padding:10px;border-radius:12px;background:#fff}.admin-offer-editor summary{font-size:9px;font-weight:800;cursor:pointer}.admin-offer-editor details>div{display:flex;justify-content:space-between;gap:8px;margin-top:7px;padding-top:7px;border-top:1px solid var(--line);font-size:9px}.admin-offer-editor details small{color:var(--muted)}
