/* ── Admin Layout ── */
.admin-body { background:#0a0f1a; min-height:100vh; }
.admin-topbar {
  background:rgba(10,22,40,0.95); border-bottom:1px solid rgba(255,255,255,0.08);
  padding:0 24px; position:sticky; top:0; z-index:100; backdrop-filter:blur(10px);
}
.admin-topbar-inner {
  max-width:1200px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; height:52px;
}
.admin-brand { font-weight:700; font-size:1.1rem; color:var(--accent); text-decoration:none; }
.admin-topbar-nav { display:flex; align-items:center; gap:16px; }
.admin-topbar-nav a {
  color:var(--text-dim); text-decoration:none; font-size:0.8rem; transition:color .2s; padding:4px 0;
}
.admin-topbar-nav a:hover { color:var(--text); }
.admin-logout-link { color:var(--gold)!important; font-weight:600; }
.admin-page { max-width:1200px; margin:0 auto; padding:24px; }

/* ── Admin Grid ── */
.admin-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-bottom:24px;
}
.admin-grid-card {
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:8px;
  padding:20px 16px; text-align:center; text-decoration:none; transition:all .2s;
}
.admin-grid-card:hover { background:rgba(255,255,255,0.08); border-color:var(--accent); transform:translateY(-2px); }
.admin-grid-card .icon { font-size:2rem; margin-bottom:6px; }
.admin-grid-card .label { font-size:0.82rem; color:var(--text); font-weight:500; }
.admin-grid-card .count { font-size:1.5rem; color:var(--accent); font-weight:700; margin-top:4px; }

/* ── Admin Header Bar ── */
.admin-header-bar {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:8px;
}
.admin-header-bar h1 { font-size:1.2rem; margin:0; }

/* ── Admin Table ── */
.admin-table-wrapper { overflow-x:auto; }
.admin-table {
  width:100%; border-collapse:collapse; font-size:0.78rem; background:rgba(255,255,255,0.03);
  border-radius:8px; overflow:hidden;
}
.admin-table th {
  text-align:left; padding:10px 12px; background:rgba(255,255,255,0.06);
  color:var(--text-dim); font-weight:600; text-transform:uppercase; font-size:0.7rem; letter-spacing:0.5px;
  white-space:nowrap; border-bottom:1px solid rgba(255,255,255,0.06);
}
.admin-table td { padding:8px 12px; border-bottom:1px solid rgba(255,255,255,0.04); }
.admin-table tbody tr:hover { background:rgba(255,255,255,0.04); }
.admin-truncate { max-width:250px; display:inline-block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-actions-cell { white-space:nowrap; }
.admin-empty { padding:40px; text-align:center; color:var(--text-dim); }

/* ── Admin Buttons ── */
.btn-sm { display:inline-block; padding:4px 10px; border-radius:4px; font-size:0.72rem; text-decoration:none; cursor:pointer; border:none; }
.btn-edit { background:rgba(0,188,212,0.15); color:var(--cyan); }
.btn-edit:hover { background:rgba(0,188,212,0.25); }
.btn-delete { background:rgba(255,82,82,0.15); color:#ff5252; }
.btn-delete:hover { background:rgba(255,82,82,0.25); }

/* ── Admin Form ── */
.admin-form-card { max-width:700px; }
.admin-form-card .form-group { margin-bottom:12px; }
.admin-form-card label { display:block; font-size:0.78rem; margin-bottom:4px; color:var(--text-dim); font-weight:500; }
.admin-form-card input[type="text"],
.admin-form-card input[type="email"],
.admin-form-card input[type="password"],
.admin-form-card input[type="number"],
.admin-form-card input[type="date"],
.admin-form-card textarea,
.admin-form-card select { width:100%; padding:8px 10px; border-radius:6px; border:1px solid rgba(255,255,255,0.1); background:rgba(0,0,0,0.3); color:var(--text); font-size:0.82rem; box-sizing:border-box; }
.admin-form-card textarea { resize:vertical; min-height:60px; }
.admin-form-card input:focus,
.admin-form-card textarea:focus,
.admin-form-card select:focus { outline:none; border-color:var(--accent); }

/* ── Admin Color Input ── */
.admin-color-input { display:flex; align-items:center; gap:8px; }
.admin-color-input input[type="color"] { width:40px; height:36px; padding:2px; border-radius:4px; border:1px solid rgba(255,255,255,0.1); background:transparent; cursor:pointer; }
.admin-color-input input[type="text"] { flex:1; }
.admin-colors-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }

/* ── Admin Alerts ── */
.admin-alert { padding:10px 14px; border-radius:6px; margin-bottom:12px; font-size:0.82rem; }
.admin-alert-error { background:rgba(255,82,82,0.15); color:#ff5252; border:1px solid rgba(255,82,82,0.3); }

/* ── Admin Role Badge ── */
.admin-role-badge { display:inline-block; padding:2px 8px; border-radius:4px; font-size:0.7rem; font-weight:600; text-transform:uppercase; }
.admin-role-admin { background:rgba(255,215,0,0.15); color:var(--gold); }
.admin-role-editor { background:rgba(0,200,83,0.15); color:var(--accent); }

/* ── Admin Actions ── */
.admin-actions { display:flex; gap:8px; flex-wrap:wrap; }

/* ── Back Link ── */
.admin-back-link { color:var(--cyan); text-decoration:none; font-size:0.82rem; }
.admin-back-link:hover { text-decoration:underline; }

/* ── Login Page ── */
.admin-login-body { background:#0a0f1a; display:flex; align-items:center; justify-content:center; min-height:100vh; }
.admin-login-wrapper { width:100%; max-width:400px; padding:20px; }
.admin-login-card {
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08);
  border-radius:12px; padding:32px; text-align:center;
}
.admin-login-logo { font-size:3rem; margin-bottom:8px; }
.admin-login-card h1 { font-size:1.3rem; margin-bottom:4px; }

/* ── Company Badge ── */
.admin-company-badge {
  display:inline-block; padding:3px 10px; border-radius:4px;
  background:rgba(0,200,83,0.12); color:var(--accent);
  font-size:0.72rem; font-weight:600;
}
.admin-topbar-center { display:flex; align-items:center; gap:10px; }
.admin-companies-link {
  color:var(--cyan); text-decoration:none; font-size:0.72rem;
  padding:3px 8px; border:1px solid rgba(0,188,212,0.3); border-radius:4px;
}
.admin-companies-link:hover { background:rgba(0,188,212,0.1); }
.admin-company-info { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.admin-switch-form { display:inline; }
.admin-switch-select {
  padding:4px 8px; border-radius:4px; border:1px solid rgba(255,255,255,0.1);
  background:rgba(0,0,0,0.3); color:var(--text); font-size:0.75rem;
  cursor:pointer;
}