/* Admin panel — reuses the public site's design tokens (style.css loads first) */
.admin-login-body{ display:flex; align-items:center; justify-content:center; min-height:100vh; background:var(--navy-950); }
.admin-login-form{ background:var(--navy-900); border:1px solid rgba(238,240,238,.1); border-radius:14px; padding:36px; width:320px; }
.admin-login-form h1{ font-size:1.2rem; margin:0; letter-spacing:.04em; }
.admin-login-form .field + .field{ margin-top: 15px; }
.admin-login-form button[type="submit"]{ margin-top: 20px; }
.admin-login-sub{ color:var(--ink-dim); font-size:.85rem; margin:0 0 20px; }

.admin-shell{ display:flex; min-height:100vh; background:var(--navy-950); color:var(--ink); }
.admin-nav{ width:200px; background:var(--navy-900); padding:20px 0; flex-shrink:0; border-right:1px solid rgba(238,240,238,.08); }
.admin-nav .brand{ display:block; padding:0 20px 20px; font-family:var(--serif); font-size:1.05rem; color:var(--ink); }
.admin-nav a{ display:block; padding:10px 20px; color:var(--ink-dim); font-size:.9rem; text-decoration:none; }
.admin-nav a:hover, .admin-nav a.active{ color:var(--amber); background:rgba(238,240,238,.04); }
.admin-main{ flex:1; padding:28px 32px; max-width:1100px; }

.admin-main h1{ font-size:1.5rem; margin:0 0 20px; }
.admin-main h2{ font-size:1.05rem; margin:0 0 12px; }

.admin-stat-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-bottom:24px; }
.admin-stat-card{ background:var(--navy-900); border:1px solid rgba(238,240,238,.08); border-radius:10px; padding:16px; }
.admin-stat-card .num{ font-size:1.7rem; font-weight:700; color:var(--ink); font-family:var(--serif); }
.admin-stat-card .label{ font-size:.78rem; color:var(--ink-dim); }

.admin-table{ width:100%; border-collapse:collapse; background:var(--navy-900); border-radius:10px; overflow:hidden; }
.admin-table th, .admin-table td{ text-align:left; padding:10px 14px; border-bottom:1px solid rgba(238,240,238,.06); font-size:.88rem; }
.admin-table th{ color:var(--ink-dim); font-weight:600; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em; }
.admin-table tr:last-child td{ border-bottom:0; }

.admin-card{ background:var(--navy-900); border:1px solid rgba(238,240,238,.08); border-radius:10px; padding:20px; margin-bottom:16px; }
.admin-field{ margin-bottom:14px; }
.admin-field label{ display:block; font-size:.82rem; color:var(--ink-dim); margin-bottom:4px; font-weight:600; }
.admin-field input, .admin-field textarea, .admin-field select{
  width:100%; padding:.6em .8em; border-radius:6px; border:1px solid rgba(238,240,238,.15);
  background: var(--navy-950); color:var(--ink); font-size:.9rem; font-family:inherit;
}
.admin-field textarea{ min-height:120px; font-family:'Courier New',monospace; font-size:.82rem; }
.admin-lang-tabs{ display:flex; gap:6px; margin-bottom:16px; }
.admin-lang-tabs button{ padding:8px 18px; border-radius:6px; border:1px solid rgba(238,240,238,.15); background:transparent; color:var(--ink-dim); cursor:pointer; font-size:.85rem; }
.admin-lang-tabs button.active{ background:var(--amber); color:var(--navy-950); border-color:var(--amber); font-weight:600; }
.admin-lang-panel{ display:none; }
.admin-lang-panel.active{ display:block; }

.btn-sm{ padding:.4em .9em; font-size:.8rem; }
.btn-danger{ background:transparent; border:1px solid #c1694f; color:#c1694f; }
.btn-danger:hover{ background:#c1694f; color:#fff; }

.alert{ padding:12px 16px; border-radius:8px; margin-bottom:16px; font-size:.88rem; }
.alert-error{ background:rgba(193,105,79,.15); color:#e8a37a; }
.alert-success{ background:rgba(63,150,168,.15); color:#7fd4e4; }

.badge{ display:inline-block; padding:.3em .8em; border-radius:999px; font-size:.75rem; font-weight:600; white-space:nowrap; }
.badge.status-lead{ background:rgba(155,155,155,.18); color:#c8c8c8; }
.badge.status-contacted{ background:rgba(88,120,220,.18); color:#9db2ff; }
.badge.status-active{ background:rgba(63,168,96,.18); color:#7fd4a0; }
.badge.status-inactive{ background:rgba(155,155,155,.12); color:#8f8f8f; }
.badge.status-lost{ background:rgba(193,105,79,.18); color:#e8a37a; }

@media (max-width:800px){
  .admin-shell{ flex-direction:column; }
  .admin-nav{ width:100%; display:flex; overflow-x:auto; padding:10px; border-right:0; border-bottom:1px solid rgba(238,240,238,.08); }
  .admin-nav .brand{ display:none; }
  .admin-nav a{ white-space:nowrap; }
}
