
    /* ═══ Admin Layout — uses tokens from tokens.css ═══ */

    .admin-layout { display:flex; min-height:100vh; }

    /* ── Sidebar ── */
    #admin-sidebar {
      position:fixed; top:0; left:0; width:var(--sidebar-width); height:100vh;
      background:var(--ui-surface); border-right:var(--ui-border) solid var(--ui-line);
      display:flex; flex-direction:column; z-index:999;
      overflow-y:auto; overflow-x:hidden;
      transition:transform .25s cubic-bezier(.16,1,.3,1);
    }
    #admin-sidebar .sidebar-brand {
      padding:24px 24px; border-bottom:var(--ui-border) solid var(--ui-line);
      font-family:var(--font-mono); font-size:.85rem; font-weight:700;
      letter-spacing:.1em; text-transform:uppercase; color:var(--ui-accent);
    }
    #admin-sidebar .sidebar-nav { flex:1; padding:20px 14px; overflow-y:auto; }
    #admin-sidebar .sidebar-nav-section {
      font-family:var(--font-mono); font-size:.6rem; letter-spacing:.14em;
      text-transform:uppercase; color:var(--ui-fg-muted);
      padding:20px 12px 8px; font-weight:500; opacity:.6;
    }
    #admin-sidebar .sidebar-nav-item {
      display:flex; align-items:center; gap:10px;
      width:100%; padding:10px 14px; background:transparent;
      border:var(--ui-border) solid transparent; color:var(--ui-fg-muted);
      font-family:var(--font-sans); font-size:.82rem; font-weight:500;
      cursor:pointer; transition:all .12s cubic-bezier(.16,1,.3,1);
      text-align:left; margin-bottom:2px; letter-spacing:.02em;
    }
    #admin-sidebar .sidebar-nav-item:hover {
      background:var(--ui-surface-2); border-color:var(--ui-line-strong); color:var(--ui-fg);
    }
    #admin-sidebar .sidebar-nav-item.active {
      background:var(--ui-surface-2); border-color:var(--ui-accent); color:var(--ui-accent);
    }
    #admin-sidebar .sidebar-nav-item .nav-icon {
      font-size:.9rem; width:24px; text-align:center;
    }
    #admin-sidebar .sidebar-footer {
      padding:18px 24px; border-top:var(--ui-border) solid var(--ui-line);
      font-size:.68rem; color:var(--ui-fg-muted); font-family:var(--font-mono); line-height:1.6;
    }

    /* ── Main Content ── */
    #admin-main {
      margin-left:var(--sidebar-width); flex:1; min-height:100vh;
      padding:clamp(1.5rem,4vw,3rem); background:var(--ui-bg); min-width:0;
    }

    .admin-header {
      display:flex; align-items:center; justify-content:space-between;
      padding-bottom:28px; border-bottom:var(--ui-border) solid var(--ui-line);
      margin-bottom:32px; flex-wrap:wrap; gap:16px;
    }
    .admin-title {
      font-family:var(--font-mono); font-size:.92rem; font-weight:600;
      letter-spacing:.06em; color:var(--ui-fg);
    }

    /* ── Stat Cards ── */
    .stat-grid {
      display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
      gap:16px; margin-bottom:32px;
    }
    .stat-card {
      background:var(--ui-surface); border:var(--ui-border) solid var(--ui-line);
      padding:24px; transition:all .15s cubic-bezier(.16,1,.3,1);
    }
    .stat-card:hover { border-color:var(--ui-line-hover); transform:translateY(-2px); }
    .stat-card .stat-value {
      font-family:var(--font-mono); font-size:2rem; font-weight:700;
      color:var(--ui-accent); line-height:1;
    }
    .stat-card .stat-label {
      font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em;
      text-transform:uppercase; color:var(--ui-fg-muted); margin-top:10px;
    }

    /* ── Admin Panel ── */
    .admin-panel {
      background:var(--ui-surface); border:var(--ui-border) solid var(--ui-line);
      padding:28px; margin-bottom:28px;
    }
    .admin-panel-header {
      display:flex; align-items:center; justify-content:space-between;
      padding-bottom:20px; border-bottom:var(--ui-border) solid var(--ui-line);
      margin-bottom:20px; font-family:var(--font-mono); font-size:.75rem;
      letter-spacing:.1em; text-transform:uppercase; color:var(--ui-fg);
      flex-wrap:wrap; gap:12px;
    }

    /* ── Admin Table (thin override over components.css table) ── */
    .admin-table { font-size:.82rem; }
    .admin-table th { background:var(--ui-surface-2); padding:14px 18px; }
    .admin-table td { padding:14px 18px; }

    /* ── Admin Dialog ── */
    .admin-dialog-overlay {
      position:fixed; inset:0; background:rgba(0,0,0,.55);
      display:flex; align-items:center; justify-content:center;
      z-index:300; padding:20px; animation:overlayIn .15s ease;
    }
    @keyframes overlayIn { from{opacity:0} to{opacity:1} }
    .admin-dialog {
      background:var(--ui-bg); border:var(--ui-border) solid var(--ui-line);
      max-width:560px; width:100%; padding:32px; max-height:90vh; overflow-y:auto;
      animation:dialogIn .2s cubic-bezier(.16,1,.3,1);
    }
    @keyframes dialogIn { from{opacity:0;transform:translateY(12px) scale(.98)} to{opacity:1;transform:translateY(0) scale(1)} }
    .admin-dialog-title { font-family:var(--font-mono); font-size:.88rem; font-weight:600; letter-spacing:.06em; margin-bottom:8px; color:var(--ui-fg); }
    .admin-dialog-body { color:var(--ui-fg-muted); font-size:.82rem; margin-bottom:24px; line-height:1.6; }
    .admin-dialog-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }

    /* ── Admin-specific: success button ── */
    .btn-success {
      background:transparent; border-color:var(--ui-line); color:#22c55e;
    }
    .btn-success:hover { background:#22c55e; border-color:#22c55e; color:#fff; }

    /* ── Mobile Toggle ── */
    .admin-menu-toggle {
      display:none; position:fixed; top:16px; left:16px; z-index:200;
      width:40px; height:40px; background:var(--ui-surface);
      border:var(--ui-border) solid var(--ui-line); color:var(--ui-fg);
      font-family:var(--font-mono); font-size:1.2rem; cursor:pointer;
      align-items:center; justify-content:center;
    }

    /* ── Theme Toggle ── */
    .admin-theme-btn {
      position:fixed; top:16px; right:16px; z-index:200;
      width:40px; height:40px; display:flex; align-items:center; justify-content:center;
      background:var(--ui-surface); border:var(--ui-border) solid var(--ui-line);
      color:var(--ui-fg); cursor:pointer; font-size:1rem; font-family:monospace;
      transition:border-color var(--dur-fast) var(--ease-out);
    }
    .admin-theme-btn:hover { border-color:var(--ui-line-hover); }

    /* ── Admin Breath Dot ── */
    .admin-admin-breath-dot {
      display:inline-block; width:5px; height:5px; background:var(--ui-fg);
      border-radius:50%; animation:adminBreathPulse 3s ease-in-out infinite;
      vertical-align:middle; margin:0 6px;
    }
    @keyframes adminBreathPulse {
      0%,100%{opacity:.2;box-shadow:0 0 0 0 var(--ui-fg)}
      50%{opacity:1;box-shadow:0 0 10px 3px rgba(255,255,255,.1)}
    }

    .table-wrap { overflow-x:auto; }

    /* ── Autocomplete Dropdown ── */
    .ac-wrapper { position:relative; }
    .ac-dropdown {
      position:absolute; top:100%; left:0; right:0;
      max-height:240px; overflow-y:auto;
      background:var(--ui-bg); border:var(--ui-border) solid var(--ui-line);
      border-top:none; z-index:50;
      display:none; box-shadow:0 8px 24px rgba(0,0,0,.35);
    }
    .ac-dropdown.active { display:block; animation:acSlideIn .15s cubic-bezier(.16,1,.3,1); }
    @keyframes acSlideIn { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
    .ac-item {
      display:flex; align-items:center; justify-content:space-between;
      padding:10px 14px; cursor:pointer; gap:10px;
      font-size:.82rem; transition:background .1s ease;
      border-bottom:1px solid var(--ui-line);
    }
    .ac-item:last-child { border-bottom:none; }
    .ac-item:hover, .ac-item.hovered { background:var(--ui-surface-2); }
    .ac-item .ac-name {
      font-weight:600; letter-spacing:.02em;
      color:var(--ui-fg); flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    }
    .ac-item .ac-name mark {
      background:rgba(139,124,247,.25); color:var(--ui-accent);
      border-radius:2px; padding:0 2px;
    }
    .ac-item .ac-society {
      font-size:.68rem; color:var(--ui-fg-muted); font-family:var(--font-mono);
      letter-spacing:.04em; white-space:nowrap;
    }
    .ac-empty {
      padding:14px; text-align:center; color:var(--ui-fg-muted);
      font-size:.75rem; font-family:var(--font-mono);
    }

    /* ── Responsive ── */
    @media (max-width:1024px) {
      .stat-grid{grid-template-columns:repeat(2,1fr)}
      #admin-main{padding:24px}
    }
    @media (max-width:768px) {
      .admin-menu-toggle{display:flex}
      #admin-sidebar{transform:translateX(-100%); width:280px}
      #admin-sidebar.open{transform:translateX(0)}
      #admin-main{margin-left:0; padding:20px; padding-top:68px}
      .stat-grid{grid-template-columns:repeat(2,1fr); gap:10px}
      .stat-card{padding:18px}
      .stat-card .stat-value{font-size:1.5rem}
      .admin-panel{padding:20px}
      .admin-dialog{padding:24px;max-width:95%}
      .admin-dialog-overlay{padding:12px}
      .table-wrap{margin:0 -20px;padding:0 20px}
      .admin-table{min-width:600px;font-size:.78rem}
      .admin-table th,.admin-table td{padding:10px 12px}
    }
    @media (max-width:480px) {
      #admin-main{padding:14px;padding-top:64px}
      .stat-grid{grid-template-columns:1fr;gap:8px}
      .stat-card .stat-value{font-size:1.35rem}
      .admin-panel{padding:16px;margin-bottom:16px}
      .admin-dialog{padding:18px;max-width:98%}
      .admin-dialog-actions{flex-direction:column}
      .admin-dialog-actions .btn{width:100%;justify-content:center}
    }

    @media print {
      #admin-sidebar,.admin-menu-toggle,.admin-theme-btn{display:none!important}
      #admin-main{margin-left:0}
    }

    @keyframes spin { to { transform: rotate(360deg); } }