/* ============================================================
   1REA.RU — дизайн-система админки (минимализм в стиле сайта)
   Редизайн 2026-07: Golos Text, акцент #2563eb, тонкие линии,
   белый сайдбар, без теней — единый стиль с onerea.ru.
   Селекторы сохранены 1:1 со старой системой — страницы не менялись.
   Откат: _design-backup/admin-onerea.css.bak
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#0e1320; --navy-700:#1a2332; --navy-600:#242f42;
  --blue:#2563eb; --blue-600:#1d4fd7; --blue-050:#eef4ff;
  --magenta:#C026D3; --magenta-050:#FBEBFE;
  --bg:#ffffff; --bg-2:#f4f5f7; --surface:#FFFFFF; --surface-2:#fafbfc; --line:#e7e9ee; --line-2:#d6dae1;
  --ink:#0e1320; --ink-2:#3f4a5c; --ink-3:#5c6470; --ink-4:#9aa1ac;
  --green:#18A957; --green-050:#E6F7EE; --amber:#E8920C; --amber-050:#FCF1DD;
  --red:#E0413E; --red-050:#FCEAEA; --violet:#7C5CFF; --violet-050:#EFEBFF; --teal:#0FA3A3;
  --r-xs:8px; --r-sm:12px; --r-md:16px; --r-lg:20px; --r-xl:28px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(14,19,32,.04);
  --sh-2:0 8px 24px -14px rgba(14,19,32,.12);
  --sh-3:0 24px 60px -24px rgba(14,19,32,.14);
  --sh-pop:0 24px 60px -12px rgba(14,19,32,.22);
  --maxw:1200px; --ease:cubic-bezier(.2,.7,.2,1);
  /* алиасы старых переменных (плавная миграция) */
  --accent:var(--blue); --accent-600:var(--blue-600); --text:var(--ink); --muted:var(--ink-3);
  --border:var(--line); --radius:var(--r-sm); --shadow:var(--sh-1);
  --font:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
[data-theme="dark"]{
  --bg:#0A1320; --bg-2:#0E1B2C; --surface:#12203D; --surface-2:#16273E; --line:#233650; --line-2:#2C436A;
  --ink:#EEF3FB; --ink-2:#C2CEDF; --ink-3:#8FA0B8; --ink-4:#66788F;
  --blue-050:#16294B; --green-050:#0E2E20; --amber-050:#33260E; --red-050:#371717; --violet-050:#211C3D; --magenta-050:#2C1733;
  --sh-1:0 1px 2px rgba(0,0,0,.4); --sh-2:0 6px 22px rgba(0,0,0,.5); --sh-3:0 18px 50px rgba(0,0,0,.6);
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; font-family:var(--font); color:var(--ink); background:var(--bg); line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3,h4,h5{ margin:0 0 .4em; font-weight:600; letter-spacing:-.02em; line-height:1.15; }
p{ margin:0; } a{ color:inherit; text-decoration:none; }
a.lnk,.lnk{ color:var(--blue); } a.lnk:hover{ text-decoration:underline; }
button{ font-family:inherit; cursor:pointer; }
img{ display:block; max-width:100%; }
code{ background:var(--bg-2); border:1px solid var(--line); padding:.1em .42em; border-radius:6px; font-size:.86em; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
::selection{ background:var(--blue); color:#fff; }
.tnum{ font-variant-numeric:tabular-nums; }
.muted{ color:var(--ink-3); }
.container{ width:100%; max-width:1240px; margin:0 auto; padding:0 24px; }

/* ===== Status pills ===== */
.pill{ display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; border-radius:var(--r-pill); font-size:12.5px; font-weight:600; white-space:nowrap; }
.pill .dot{ width:6px; height:6px; border-radius:50%; background:currentColor; }
.st-draft{ color:#6B7686; background:rgba(107,118,134,.10); }
.st-mod{ color:var(--amber); background:var(--amber-050); }
.st-active{ color:var(--green); background:var(--green-050); }
.st-reserved{ color:var(--violet); background:var(--violet-050); }
.st-sold{ color:var(--blue); background:var(--blue-050); }
.st-archived{ color:var(--ink-4); background:rgba(154,161,172,.12); }
.dt-sale{ color:var(--blue); background:var(--blue-050); }
.dt-rent{ color:var(--magenta); background:var(--magenta-050); }
.ls-new{ color:var(--blue); background:var(--blue-050); }
.ls-inprogress{ color:var(--amber); background:var(--amber-050); }
.ls-scheduled{ color:var(--violet); background:var(--violet-050); }
.ls-won{ color:var(--green); background:var(--green-050); }
.ls-lost{ color:var(--red); background:var(--red-050); }
.ls-spam{ color:var(--ink-4); background:rgba(154,161,172,.12); }

/* photo placeholder */
.ph{ position:relative; overflow:hidden; display:grid; place-items:center;
  background:repeating-linear-gradient(45deg,rgba(14,19,32,.02) 0 14px,transparent 14px 28px),var(--bg-2); }
.ph .ph-cap{ position:absolute; left:10px; bottom:9px; font-size:11px; font-weight:600; color:var(--ink-4); background:rgba(255,255,255,.8); padding:3px 8px; border-radius:var(--r-pill); backdrop-filter:blur(4px); }
[data-theme="dark"] .ph .ph-cap{ background:rgba(14,27,44,.7); }

/* ===== Shell ===== */
.app{ display:grid; grid-template-columns:248px 1fr; min-height:100vh; }
.side{ background:var(--surface); color:var(--ink-2); display:flex; flex-direction:column; position:sticky; top:0; height:100vh; border-right:1px solid var(--line); }
[data-theme="dark"] .side{ background:#0A1320; }
.side .logo{ padding:24px 22px 18px; display:flex; align-items:center; gap:10px; font-weight:700; font-size:20px; color:var(--ink); letter-spacing:-.02em; }
.side .logo .sq{ width:11px; height:11px; border-radius:3px; background:var(--blue); display:inline-block; }
/* логотип: тёмный в светлой теме, светлый в тёмной */
.side .lg-l{ display:none; }
[data-theme="dark"] .side .lg-d{ display:none; }
[data-theme="dark"] .side .lg-l{ display:block; }
.tenant{ margin:0 14px 8px; padding:11px 12px; border-radius:var(--r-sm); border:1px solid var(--line); display:flex; align-items:center; gap:11px; }
.tenant .av{ width:32px; height:32px; border-radius:9px; background:var(--blue); display:grid; place-items:center; font-weight:700; color:#fff; font-size:14px; flex-shrink:0; }
.tenant b{ color:var(--ink); font-size:14px; display:block; line-height:1.2; }
.tenant small{ font-size:11.5px; color:var(--ink-4); }
.side nav{ padding:8px 14px; flex:1; overflow-y:auto; }
.side .ngroup{ font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-4); padding:18px 12px 8px; }
.side .nitem{ display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:10px; color:var(--ink-2); font-weight:500; font-size:14px; transition:background .14s,color .14s; margin-bottom:1px; }
.side .nitem:hover{ background:var(--bg-2); color:var(--ink); }
.side .nitem.on{ background:var(--blue-050); color:var(--blue); font-weight:600; }
[data-theme="dark"] .side .nitem.on{ background:#16294B; }
.side .nitem svg{ width:19px; height:19px; flex-shrink:0; }
.side .nitem .nbadge{ margin-left:auto; background:var(--blue); color:#fff; font-size:11px; font-weight:700; padding:1px 7px; border-radius:var(--r-pill); }
.side .nitem.on .nbadge{ background:var(--blue); color:#fff; }
/* карточка тарифа: минимальная — тонкая линия сверху, без заливок */
.subcard{ margin:0; padding:16px 22px 20px; border-top:1px solid var(--line); background:transparent; border-radius:0; }
[data-theme="dark"] .subcard{ background:transparent; border-color:var(--line); }
.subcard .t{ display:flex; justify-content:space-between; align-items:center; margin-bottom:9px; }
.subcard .t b{ color:var(--ink); font-size:13px; font-weight:600; }
.subcard .t .tnum{ color:var(--ink-3) !important; font-weight:600 !important; font-size:12.5px !important; }
.subcard .bar{ height:4px; border-radius:2px; background:var(--bg-2); overflow:hidden; }
.subcard .bar i{ display:block; height:100%; background:var(--blue); border-radius:2px; }
.subcard p{ font-size:11.5px; color:var(--ink-4); margin-top:8px; }
.subcard a{ display:inline-flex; align-items:center; gap:6px; text-align:left; margin-top:10px; background:transparent; color:var(--blue); font-weight:600; font-size:12.5px; padding:0; border-radius:0; }
.subcard a:hover{ text-decoration:underline; }

.main{ display:flex; flex-direction:column; min-width:0; background:var(--bg); }
.topbar{ height:64px; background:var(--surface); border-bottom:1px solid var(--line); display:flex; align-items:center; gap:16px; padding:0 26px; position:sticky; top:0; z-index:40; }
[data-theme="dark"] .topbar{ background:#0E1B2C; }
.topbar h1{ font-size:19px; letter-spacing:-.02em; white-space:nowrap; margin:0; font-weight:600; }
.topbar .crumb{ font-size:12.5px; color:var(--ink-4); font-weight:500; }
.search-top{ margin-left:auto; display:flex; align-items:center; gap:9px; background:transparent; border:1px solid var(--line-2); border-radius:var(--r-sm); padding:0 14px; height:38px; width:280px; color:var(--ink-4); transition:border-color .15s; }
.search-top:focus-within{ border-color:var(--blue); }
.search-top input{ background:none; border:none; outline:none; font-size:14px; font-weight:500; color:var(--ink); width:100%; box-shadow:none; }
.icbtn{ width:38px; height:38px; border-radius:var(--r-sm); display:grid; place-items:center; color:var(--ink-3); position:relative; transition:background .15s; background:none; border:none; }
.icbtn:hover{ background:var(--bg-2); color:var(--ink); }
.icbtn .dot{ position:absolute; top:9px; right:9px; width:8px; height:8px; border-radius:50%; background:var(--red); border:2px solid var(--surface); }

/* «Режим просмотра с клиентом»: активная кнопка + скрытие себестоимости (цены собственника). */
.icbtn.cv.on{ background:var(--blue-050); color:var(--blue); }
html[data-clientview="on"] .cost-hidden{
  color:transparent !important; -webkit-text-fill-color:transparent !important;
  background:#0e1320 !important; border-color:#0e1320 !important; border-radius:5px;
  box-shadow:none !important; caret-color:transparent;
  user-select:none; -webkit-user-select:none;
}
/* placeholder тоже прячем, чтобы поле было равномерной закраской */
html[data-clientview="on"] input.cost-hidden::placeholder{ color:transparent !important; }
.me{ display:flex; align-items:center; gap:10px; padding-left:8px; }
.me .av{ width:36px; height:36px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font-weight:700; font-size:13.5px; }
.me b{ font-size:13.5px; display:block; line-height:1.2; font-weight:600; }
.me small{ font-size:11.5px; color:var(--ink-4); }
.content{ padding:28px 26px; overflow-x:hidden; }
.view{ max-width:1240px; margin:0 auto; }

/* ===== Panels / cards ===== */
.panel{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); }
.panel-h{ padding:18px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:14px; }
.panel-h h3{ font-size:15.5px; letter-spacing:-.01em; white-space:nowrap; margin:0; font-weight:600; }
.panel-h .sub{ font-size:12.5px; color:var(--ink-4); font-weight:500; margin-top:2px; }
.panel-b{ padding:18px 20px; }

/* KPI */
.kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
/* Дашбордные строки-панели: пропорция колонок через --cols; на мобилке схлопываются в 1 колонку (см. @media 900px). */
.dash-grid{ display:grid; grid-template-columns:var(--cols,1.6fr 1fr); gap:16px; }
/* Горизонтальный скролл для широких таблиц внутри панелей на узких экранах (не даёт обрезаться). */
.tbl-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (max-width:900px){ .tbl-scroll > .tbl{ min-width:640px; } }
.kpi{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:20px; position:relative; overflow:hidden; transition:border-color .15s; }
.kpi:hover{ border-color:var(--line-2); }
.kpi .ic{ width:36px; height:36px; border-radius:10px; display:grid; place-items:center; margin-bottom:14px; }
.kpi .lab{ font-size:13px; color:var(--ink-3); font-weight:500; }
.kpi .val{ font-size:30px; font-weight:700; letter-spacing:-.03em; margin-top:3px; }
.kpi .delta{ display:inline-flex; align-items:center; gap:4px; font-size:12.5px; font-weight:600; margin-top:8px; }
.kpi .delta.up{ color:var(--green); } .kpi .delta.down{ color:var(--red); }
.kpi .spark{ position:absolute; right:14px; bottom:14px; opacity:.9; }

/* Tables */
.tbl{ width:100%; border-collapse:collapse; }
.tbl th{ text-align:left; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-4); padding:12px 16px; border-bottom:1px solid var(--line); white-space:nowrap; }
.tbl td{ padding:13px 16px; border-bottom:1px solid var(--line); font-size:14px; }
.tbl tr:last-child td{ border-bottom:none; }
.tbl tbody tr{ transition:background .12s; }
.tbl.hover tbody tr{ cursor:pointer; }
.tbl.hover tbody tr:hover{ background:var(--surface-2); }
[data-theme="dark"] .tbl.hover tbody tr:hover{ background:var(--bg-2); }
.tbl .u{ display:flex; align-items:center; gap:10px; }
.tbl .u .av{ width:32px; height:32px; border-radius:50%; color:#fff; display:grid; place-items:center; font-weight:700; font-size:12px; flex-shrink:0; background:var(--blue); }

/* Buttons */
.b{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:40px; padding:0 16px; border-radius:var(--r-sm); font-weight:600; font-size:14px; transition:all .14s; white-space:nowrap; border:none; }
.b:active{ transform:translateY(1px); }
.b-pri{ background:var(--blue); color:#fff; } .b-pri:hover{ background:var(--blue-600); }
.b-gh{ background:var(--surface); border:1px solid var(--line-2); color:var(--ink); } .b-gh:hover{ border-color:var(--blue); color:var(--blue); }
[data-theme="dark"] .b-gh{ background:#16273E; }
.b-dang{ background:var(--red-050); color:var(--red); }
.b-sm{ height:34px; padding:0 12px; font-size:13px; }
.b-ic{ width:40px; padding:0; }

/* Segmented / chips / scope / switch */
.seg{ display:inline-flex; background:var(--bg-2); border-radius:var(--r-sm); padding:3px; }
.seg button,.seg a{ padding:7px 15px; border-radius:9px; font-weight:600; font-size:13.5px; color:var(--ink-3); transition:all .14s; white-space:nowrap; border:none; background:none; }
.seg button.on,.seg a.on{ background:var(--surface); color:var(--ink); }
[data-theme="dark"] .seg button.on{ background:#1E3350; }
.fbar{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.fchip{ padding:8px 13px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:var(--surface); font-weight:600; font-size:13px; color:var(--ink-2); transition:all .14s; }
.fchip:hover{ border-color:var(--blue); color:var(--blue); }
.fchip.on{ background:var(--ink); color:#fff; border-color:var(--ink); }
[data-theme="dark"] .fchip.on{ background:var(--blue); border-color:var(--blue); }
.scope{ display:inline-flex; background:var(--bg-2); border-radius:9px; padding:2px; }
.scope button,.scope a{ padding:4px 10px; border-radius:7px; font-size:12px; font-weight:700; color:var(--ink-4); border:none; background:none; }
.scope button.on[data-s="None"],.scope a.on[data-s="None"]{ background:#6B7686; color:#fff; }
.scope button.on[data-s="Own"],.scope a.on[data-s="Own"]{ background:var(--blue); color:#fff; }
.scope button.on[data-s="Office"],.scope a.on[data-s="Office"]{ background:var(--violet); color:#fff; }
.scope button.on[data-s="All"],.scope a.on[data-s="All"]{ background:var(--green); color:#fff; }
.sw{ width:40px; height:23px; border-radius:var(--r-pill); background:var(--line-2); position:relative; cursor:pointer; transition:background .18s; flex-shrink:0; display:inline-block; border:none; }
.sw::after{ content:''; position:absolute; top:2px; left:2px; width:19px; height:19px; border-radius:50%; background:#fff; transition:transform .18s; }
.sw.on{ background:var(--blue); } .sw.on::after{ transform:translateX(17px); }

/* Funnel */
.funnel{ display:flex; flex-direction:column; gap:4px; }
.fstep .bar{ height:52px; border-radius:var(--r-sm); display:flex; align-items:center; padding:0 18px; color:#fff; font-weight:700; transition:width .6s var(--ease); white-space:nowrap; min-width:fit-content; max-width:100%; overflow:hidden; }
.fstep .bar .n{ font-size:19px; } .fstep .bar .l{ font-size:13px; font-weight:600; opacity:.92; margin-left:12px; }
.fstep .conv{ font-size:12px; color:var(--ink-4); font-weight:600; padding:4px 0 4px 18px; }

/* Kanban */
.kan{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; align-items:start; }
.kcol{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-md); padding:10px; min-height:200px; }
[data-theme="dark"] .kcol{ background:#0E1B2C; }
.kcol .kh{ display:flex; align-items:center; justify-content:space-between; padding:4px 6px 10px; font-weight:600; font-size:13px; }
.kcol .kh .cnt{ background:var(--surface); border:1px solid var(--line); color:var(--ink-3); font-size:11.5px; padding:1px 8px; border-radius:var(--r-pill); }
.lcard{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); padding:12px; margin-bottom:8px; cursor:grab; transition:border-color .15s,transform .1s; }
.lcard:hover{ border-color:var(--blue); } .lcard.drag{ opacity:.5; }
.lcard b{ font-size:14px; font-weight:600; } .lcard .ph2{ font-size:12.5px; color:var(--ink-3); font-weight:500; margin-top:2px; }
.lcard .lb{ display:flex; gap:6px; margin-top:9px; align-items:center; }
.src{ font-size:11px; font-weight:600; padding:2px 7px; border-radius:5px; background:var(--bg-2); color:var(--ink-2); }
.lcard .tm{ font-size:11px; color:var(--ink-4); font-weight:600; margin-left:auto; }

/* ===== Forms ===== */
label{ font-weight:600; font-size:.9rem; }
input,select,textarea{ font:inherit; padding:.6em .8em; border:1px solid var(--line-2); border-radius:var(--r-sm); background:var(--surface); color:var(--ink); width:100%; transition:border-color .14s,box-shadow .14s; }
input:focus,select:focus,textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
input:disabled,select:disabled,textarea:disabled{ background:var(--bg-2); color:var(--ink-3); }
/* Чекбоксы и радиокнопки: специфичность 0,1,1 — перекрывает базовый input (0,0,1), но не трогает .search-top input и прочие более специфичные правила */
input[type="checkbox"],input[type="radio"]{ width:auto; flex-shrink:0; padding:0; border:none; background:transparent; accent-color:var(--blue); cursor:pointer; }
.field{ display:flex; flex-direction:column; gap:5px; }
.field label{ font-size:.82rem; color:var(--ink-3); font-weight:600; }
.form-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:720px; }
.form-grid .full{ grid-column:1/-1; }
.form-actions{ margin-top:20px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.toolbar{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; margin-bottom:16px; }
.alert{ background:var(--red-050); color:var(--red); padding:11px 15px; border-radius:var(--r-sm); margin-bottom:14px; font-weight:600; }
.alert--ok{ background:var(--green-050); color:var(--green); }
.badge{ display:inline-block; background:var(--blue-050); color:var(--blue-600); border-radius:var(--r-pill); padding:.25em .8em; font-size:.8rem; font-weight:600; }

/* address autocomplete */
.addr-field input{ width:100%; }
.addr-input-wrap{ position:relative; }
.addr-suggest{ position:absolute; top:calc(100% - 4px); left:0; right:0; z-index:30; background:var(--surface); border:1px solid var(--line); border-radius:0 0 var(--r-sm) var(--r-sm); box-shadow:var(--sh-2); max-height:260px; overflow-y:auto; }
.addr-suggest:empty{ display:none; }
.addr-item{ display:block; width:100%; text-align:left; padding:.55em .8em; background:var(--surface); border:none; border-bottom:1px solid var(--line); cursor:pointer; font:inherit; color:var(--ink); }
.addr-item:hover{ background:var(--bg-2); } .addr-item:last-child{ border-bottom:none; }

/* pricing/cards grid */
.cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:22px; }
.card--current{ border-color:var(--blue); box-shadow:0 0 0 2px rgba(37,99,235,.14); }
.tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }

/* modal/drawer */
#modal{ position:fixed; inset:0; z-index:120; display:none; }
#modal.show{ display:block; }
.modal-bg{ position:absolute; inset:0; background:rgba(14,19,32,.5); }
.drawer{ position:absolute; top:0; right:0; height:100%; width:460px; max-width:94vw; background:var(--surface); box-shadow:var(--sh-pop); display:flex; flex-direction:column; overflow-y:auto; }

/* htmx */
.htmx-indicator{ opacity:0; transition:opacity .2s; }
.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{ opacity:1; }

/* mobile nav */
.navtoggle{ display:none; width:40px; height:40px; border-radius:var(--r-sm); align-items:center; justify-content:center; color:var(--ink-2); background:var(--bg-2); border:none; }
.navtoggle svg{ width:22px; height:22px; }
.navbackdrop{ display:none; position:fixed; inset:0; background:rgba(14,19,32,.5); z-index:70; }
body.navopen .navbackdrop{ display:block; }

@media (max-width:1100px){ .kpis{ grid-template-columns:1fr 1fr; } .kan{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px){
  .app{ grid-template-columns:1fr; }
  .side{ position:fixed; left:0; top:0; height:100vh; width:248px; z-index:80; transform:translateX(-100%); transition:transform .26s var(--ease); box-shadow:var(--sh-pop); }
  body.navopen .side{ transform:translateX(0); }
  .navtoggle{ display:flex; } .search-top{ display:none; }
  .kan{ display:flex; overflow-x:auto; gap:12px; padding-bottom:8px; } .kcol{ min-width:240px; }
  .form-grid{ grid-template-columns:1fr; }
  .dash-grid{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .content{ padding:16px; } .topbar{ padding:0 16px; gap:10px; } .topbar h1{ font-size:17px; }
  .kpis{ grid-template-columns:1fr; } .kpi .val{ font-size:26px; } .me b,.me small{ display:none; }
}

/* ============================================================
   Legacy-мост: старый layout/классы до переверстки страниц.
   ============================================================ */
body.admin{ display:grid; grid-template-columns:240px 1fr; min-height:100vh; }
.admin-sidebar{ background:var(--surface); color:var(--ink-2); padding:18px 14px; border-right:1px solid var(--line); }
.brand{ font-weight:700; font-size:1.25rem; color:var(--ink); letter-spacing:-.02em; }
.brand--light{ color:var(--ink); display:inline-flex; align-items:center; gap:6px; margin:6px 8px 18px; }
.brand__dot{ width:10px; height:10px; background:var(--blue); border-radius:2px; display:inline-block; }
.admin-menu{ display:flex; flex-direction:column; gap:2px; }
.admin-menu a{ color:var(--ink-2); padding:9px 12px; border-radius:8px; font-weight:500; }
.admin-menu a:hover{ background:var(--bg-2); color:var(--ink); }
.admin-main{ display:flex; flex-direction:column; min-width:0; }
.admin-topbar{ height:60px; background:var(--surface); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 24px; }
.admin-topbar__title{ font-weight:600; }
.admin-content{ padding:24px; }
.tile{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:18px 20px; }
.tile__label{ color:var(--ink-3); font-size:.85rem; } .tile__value{ font-size:1.8rem; font-weight:700; margin-top:6px; }
table.grid{ width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; }
table.grid th,table.grid td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); font-size:.92rem; }
table.grid th{ background:var(--bg-2); font-weight:600; color:var(--ink-3); }
table.grid tr:last-child td{ border-bottom:none; }
.btn{ display:inline-flex; align-items:center; gap:.5em; padding:.6em 1.1em; border-radius:var(--r-sm); border:1px solid var(--line-2); background:var(--surface); color:var(--ink); font-weight:600; cursor:pointer; transition:.15s; }
.btn:hover{ border-color:var(--blue); } .btn--primary{ background:var(--blue); border-color:var(--blue); color:#fff; } .btn--primary:hover{ background:var(--blue-600); }
.btn--lg{ padding:.8em 1.4em; font-size:1.02rem; }
.status{ display:inline-block; padding:.15em .7em; border-radius:var(--r-pill); font-size:.78rem; font-weight:600; background:var(--bg-2); color:var(--ink-3); }
.status--Active{ background:var(--green-050); color:var(--green); }
.status--Sold,.status--Rented{ background:var(--red-050); color:var(--red); }
@media (max-width:720px){ body.admin{ grid-template-columns:1fr; } .admin-sidebar{ display:none; } }
