/* Админка ВБ Мозг — premium-minimal, согласовано с UX-preview. */
:root{
  --bg:#f4f6f9;--surface:#fff;--surface-2:#f8fafc;--line:#eceef2;--line-2:#e3e6ec;
  --ink:#0f172a;--ink-2:#475569;--ink-3:#8b95a5;--accent:#2f6bff;--accent-soft:#eaf0ff;--primary:#14161c;
  --green:#15924f;--green-bg:#e8f7ee;--red:#d4382f;--red-bg:#fdecea;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Inter",-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}
a{color:inherit;text-decoration:none}
h1,h3{margin:0;letter-spacing:-.01em}
code{font-family:ui-monospace,Consolas,monospace;font-size:.88em;background:#f0f2f5;padding:1px 5px;border-radius:5px}
.muted{color:var(--ink-3)}.strong{font-weight:600}

.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 14px;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 16px}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#2f6bff,#5b8bff);color:#fff;font-weight:700;font-size:13px}
.brand-txt{display:flex;flex-direction:column;line-height:1.25}.brand-txt b{font-size:14.5px}.brand-txt small{font-size:11px;color:var(--ink-3)}
.nav{display:flex;flex-direction:column;gap:2px;flex:1}
.nav-item{padding:9px 12px;border-radius:10px;color:var(--ink-2);font-weight:500;font-size:13.5px}
.nav-item:hover{background:var(--surface-2);color:var(--ink)}
.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}
.usercard{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;margin-top:10px}
.avatar{width:34px;height:34px;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.userinfo{display:flex;flex-direction:column;line-height:1.25;min-width:0}.userinfo b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis}.userinfo small{font-size:11px;color:var(--ink-3)}

.main{display:flex;flex-direction:column;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 30px 16px}
.topbar h1{font-size:24px;font-weight:800}
.content{padding:4px 30px 40px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 1px 2px rgba(16,24,40,.04);margin-bottom:16px}
.card h3{font-size:15px;margin-bottom:12px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:16px}
.metric{text-align:center}.metric .v{font-size:30px;font-weight:800}.metric .l{font-size:12.5px;color:var(--ink-3);margin-top:4px}

.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.inline{display:inline}
input,select{font-family:inherit;font-size:13px;padding:8px 11px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:inherit}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#23262f}
.btn-ghost{background:var(--surface);border-color:var(--line-2);color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2)}
.btn-sm{height:30px;padding:0 10px;font-size:12px}

.table{width:100%;border-collapse:collapse}
.table th{text-align:left;font-size:11.5px;font-weight:600;color:var(--ink-3);padding:9px 10px;border-bottom:1px solid var(--line-2)}
.table td{padding:10px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}
.table tr:last-child td{border-bottom:none}
.table tbody tr:hover{background:var(--surface-2)}

.chip{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;background:#f0f2f5;color:var(--ink-2)}
.chip.ok{background:var(--green-bg);color:var(--green)}.chip.off{background:var(--red-bg);color:var(--red)}
.chip.perm{background:var(--accent-soft);color:var(--accent);font-family:ui-monospace,Consolas,monospace;font-size:10.5px;margin:0 4px 4px 0}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.role-head{display:flex;align-items:center;gap:10px}

/* ── Вход / лендинг (точка входа) ── */
.auth-body{min-height:100vh;margin:0;display:grid;place-items:center;
  background:radial-gradient(1200px 600px at 50% -10%,#eef3ff 0,var(--bg) 55%)}
.auth-card,.landing{background:var(--surface);border:1px solid var(--line);
  border-radius:20px;padding:38px 34px;width:min(92vw,400px);text-align:center;
  box-shadow:0 12px 40px rgba(16,24,40,.10)}
.landing{width:min(92vw,560px)}
.brand-mark.big{display:inline-grid;place-items:center;width:52px;height:52px;
  border-radius:15px;font-size:17px;margin-bottom:14px}
.auth-card h1,.landing h1{font-size:23px;font-weight:800}
.landing h1{font-size:26px;margin-top:6px}
.auth-card .muted{margin:6px 0 20px}
.auth-form{display:flex;flex-direction:column;gap:11px;text-align:left}
.auth-form input{width:100%;height:42px}
.auth-form .btn{height:42px;justify-content:center;margin-top:4px}
.auth-error{background:var(--red-bg);color:var(--red);border-radius:10px;
  padding:9px 12px;font-size:12.5px;margin-bottom:14px}
.small{font-size:11.5px}
.landing-links{display:flex;gap:10px;justify-content:center;align-items:center;
  flex-wrap:wrap;margin-top:18px}
