/* ═══════════════════════════════════════════════════════════
   base.css — БелГОС · палитра: чёрный · белый · голубой
═══════════════════════════════════════════════════════════ */
:root{
  --blue:#2E90FA; --blue-d:#1570EF; --blue-lt:#EAF3FF; --blue-lt2:#DBEAFE; --sky:#5AC8FF;
  --ink:#0B1220; --ink-2:#111827;
  --navy:#132A50; --navy-d:#0E2044; --navy-grad:#16305C;
  --green:#10B981; --green-lt:#ECFDF5;
  --red:#EF4444; --red-lt:#FEF2F2; --amber:#F59E0B; --amber-lt:#FFFBEB;
  --text:#111827; --muted:#6B7280;
  --g50:#F8FAFC; --g100:#F1F5F9; --g200:#E5E9F0; --g300:#D6DCE6;
  --g400:#9AA5B4; --g500:#4B5563;
  --radius:12px; --radius-sm:8px;
  --shadow:0 1px 3px rgba(11,18,32,.06),0 1px 2px rgba(11,18,32,.04);
  --shadow-md:0 8px 30px rgba(11,18,32,.10);
  --shadow-lg:0 20px 60px rgba(11,18,32,.16);
  --sidebar-w:240px;
  --maxw:1180px;
}
*{-webkit-tap-highlight-color:transparent;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:'Nunito',system-ui,-apple-system,sans-serif;color:var(--text);
  background:var(--g50);line-height:1.55;-webkit-font-smoothing:antialiased;}
a{color:var(--blue-d);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}
h1{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);}
h2{font-size:1.2rem;font-weight:800;color:var(--ink);}
h3{font-size:1rem;font-weight:800;color:var(--ink);}
::selection{background:var(--blue);color:#fff;}

/* ── Кнопки ─────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:800;
  cursor:pointer;border:1.5px solid transparent;transition:.13s;white-space:nowrap;text-decoration:none;}
.btn:hover{text-decoration:none;}
.btn svg{width:16px;height:16px;flex-shrink:0;stroke-width:2.2;}
.btn--primary{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn--primary:hover{background:var(--blue-d);border-color:var(--blue-d);}
.btn--dark{background:var(--navy);color:#fff;border-color:var(--navy);}
.btn--dark:hover{background:var(--navy-grad);border-color:var(--navy-grad);}
.btn--outline{background:#fff;color:var(--blue-d);border-color:var(--blue);}
.btn--outline:hover{background:var(--blue-lt);}
.btn--ghost{background:#fff;color:var(--g500);border-color:var(--g200);}
.btn--ghost:hover{background:var(--g100);color:var(--ink);}
.btn--danger{background:var(--red);color:#fff;border-color:var(--red);}
.btn--danger:hover{opacity:.9;}
.btn--green{background:var(--green);color:#fff;border-color:var(--green);}
.btn--sm{padding:7px 13px;font-size:.82rem;border-radius:8px;}
.btn--lg{padding:13px 24px;font-size:1rem;}
.btn--full{width:100%;}
.btn--icon{padding:8px;}

/* ── Карточки ───────────────────────────────────────────── */
.card{background:#fff;border:1px solid var(--g200);border-radius:var(--radius);box-shadow:var(--shadow);}
.card--pad{padding:20px 22px;}

/* ── Формы ──────────────────────────────────────────────── */
.form-group{margin-bottom:16px;}
.form-group label,.lbl{display:block;font-size:.74rem;font-weight:800;color:var(--g500);
  margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px;}
input:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],
input[type=url],input[type=search],input[type=tel],input[type=file],input[type=date],textarea,select{
  width:100%;padding:11px 13px;border:1.5px solid var(--g200);border-radius:10px;
  font-family:inherit;font-size:.94rem;color:var(--text);background:#fff;
  outline:none;transition:border-color .15s,box-shadow .15s;}
input:focus,textarea:focus,select:focus{border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(46,144,250,.14);}
textarea{resize:vertical;min-height:90px;line-height:1.5;}
select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-hint{font-size:.78rem;color:var(--muted);margin-top:5px;}
.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;font-size:.9rem;}
.switch input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;}

/* ── Бейджи / статусы ───────────────────────────────────── */
.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;
  font-size:.74rem;font-weight:800;border:1px solid transparent;}
.pill--blue{background:var(--blue-lt);color:var(--blue-d);border-color:#BFDBFE;}
.pill--muted{background:var(--g100);color:var(--g500);border-color:var(--g200);}
.pill--green{background:var(--green-lt);color:#047857;border-color:#A7F3D0;}
.tag{display:inline-block;padding:2px 9px;background:var(--g100);color:var(--g500);
  border:1px solid var(--g200);border-radius:6px;font-size:.74rem;font-weight:700;}

/* ── Алерты ─────────────────────────────────────────────── */
.alert{display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:10px;
  font-size:.88rem;font-weight:700;margin-bottom:16px;border:1.5px solid;}
.alert svg{width:17px;height:17px;flex-shrink:0;}
.alert--error{background:var(--red-lt);color:#991B1B;border-color:#FECACA;}
.alert--success{background:var(--green-lt);color:#065F46;border-color:#A7F3D0;}
.alert--info{background:var(--blue-lt);color:#1E40AF;border-color:#BFDBFE;}

/* ── Таблицы ────────────────────────────────────────────── */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--g200);background:#fff;}
table{width:100%;border-collapse:collapse;font-size:.9rem;}
th{background:var(--g50);padding:11px 15px;text-align:left;font-weight:800;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--g200);color:var(--g500);white-space:nowrap;}
td{padding:12px 15px;border-bottom:1px solid var(--g100);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tbody tr:hover{background:var(--g50);}

/* ── Утилиты ────────────────────────────────────────────── */
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.muted{color:var(--muted);font-weight:600;}
.mono{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:.85em;}
.empty{text-align:center;padding:56px 24px;color:var(--muted);}
.empty svg{width:46px;height:46px;stroke:var(--g300);stroke-width:1.6;margin-bottom:12px;}
.empty h3{color:var(--g500);margin-bottom:6px;}
.empty p{font-size:.9rem;font-weight:600;max-width:340px;margin:0 auto;}

/* ── Снекбар / модалки (админка) ────────────────────────── */
.snackbar{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:#fff;padding:12px 22px;border-radius:12px;font-size:.88rem;
  font-weight:800;opacity:0;pointer-events:none;transition:.25s;z-index:9999;min-width:200px;
  text-align:center;box-shadow:var(--shadow-md);}
.snackbar.show{opacity:1;transform:translateX(-50%) translateY(0);}
.snackbar--error{background:#B91C1C;}
.snackbar--success{background:#047857;}
