.admin-page { padding: 0 0 2rem; }
.admin-tabs,.admin-toolbar,.admin-actions,.admin-pagination { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; }
.admin-tabs { margin-bottom:1rem; border-bottom:1px solid #334155; }
.admin-tab { padding:.75rem 1rem; color:#cbd5e1; text-decoration:none; border-bottom:2px solid transparent; }
.admin-tab[aria-current="page"] { color:#fff; border-color:#38bdf8; }
.admin-panel { background:#0f172a; border:1px solid #334155; border-radius:10px; padding:1rem; }
.admin-panel + .admin-panel { margin-top:1rem; }
.admin-toolbar { justify-content:space-between; margin-bottom:1rem; }
.admin-filters { display:flex; gap:.6rem; flex-wrap:wrap; }
.admin-filters input,.admin-filters select,.admin-dialog input,.admin-dialog select { min-height:40px; padding:.55rem .7rem; border:1px solid #475569; border-radius:6px; background:#111827; color:#f8fafc; }
.admin-table-wrap { overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:950px; }
.admin-table th,.admin-table td { padding:.7rem; border-bottom:1px solid #263449; text-align:left; vertical-align:top; }
.admin-user-identity { display:flex; min-width:170px; flex-direction:column; gap:3px; }
.admin-user-identity strong { color:#f8fafc; }
.admin-user-identity small { color:#94a3b8; font-size:.72rem; }
.admin-table th { color:#94a3b8; font-size:.78rem; text-transform:uppercase; }
.admin-status { display:inline-block; padding:.2rem .5rem; border:1px solid #475569; border-radius:999px; margin:.1rem; font-size:.78rem; }
.admin-status.is-danger { border-color:#ef4444; color:#fecaca; }
.admin-status.is-warning { border-color:#f59e0b; color:#fde68a; }
.admin-actions { gap:.35rem; flex-wrap:nowrap; white-space:nowrap; }
.admin-actions button { padding:.35rem .55rem; }
.admin-empty,.admin-message { padding:1.25rem; text-align:center; color:#cbd5e1; }
.admin-message.is-error { color:#fecaca; }
.admin-pagination { justify-content:flex-end; margin-top:1rem; }
.admin-dialog {
    position:fixed;
    inset:0;
    width:min(720px,calc(100vw - 2rem));
    max-width:calc(100vw - 2rem);
    max-height:calc(100dvh - 2rem);
    margin:auto;
    overflow-x:hidden;
    overflow-y:auto;
    box-sizing:border-box;
    color:#f8fafc;
    background:#0f172a;
    border:1px solid #475569;
    border-radius:10px;
    padding:0;
}
.admin-dialog::backdrop { background:rgba(2,6,23,.78); }
.admin-dialog form { padding:1.2rem; }
.admin-dialog h2 { margin-top:0; }
.admin-form-section { padding:1rem 0; border-top:1px solid #334155; }
.admin-form-section h3 { margin:0 0 .85rem; color:#cbd5e1; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; }
.admin-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.admin-form-grid label { display:flex; flex-direction:column; gap:.35rem; }
.admin-form-grid .is-wide { grid-column:1/-1; }
.admin-form-help { color:#94a3b8; font-size:.8rem; }
.admin-access-summary { display:flex; gap:.65rem 1.25rem; flex-wrap:wrap; margin-bottom:.9rem; color:#cbd5e1; font-size:.85rem; }
.admin-access-actions,.admin-access-inline-actions { display:flex; gap:.65rem; align-items:center; flex-wrap:wrap; }
.admin-access-reset,.admin-access-confirm,.admin-access-guidance { margin-top:1rem; padding:1rem; border:1px solid #334155; border-radius:8px; background:#111827; }
.admin-access-reset[hidden],.admin-access-confirm[hidden] { display:none; }
.admin-access-reset h4,.admin-access-confirm h4 { margin:0 0 .75rem; color:#f8fafc; }
.admin-access-confirm p,.admin-access-guidance p { margin:.35rem 0; }
.admin-access-guidance { border-color:#475569; color:#cbd5e1; }
.admin-access-guidance strong { color:#f8fafc; }
.admin-access-inline-actions { justify-content:flex-end; margin-top:.9rem; }
.admin-access-message { min-height:1.2rem; margin:.6rem 0 0; padding:.35rem 0 0; text-align:left; }
.admin-dialog-footer { display:flex; justify-content:flex-end; gap:.75rem; margin-top:1.2rem; }
.admin-btn-danger { background:#b91c1c; border-color:#dc2626; color:#fff; }
.admin-btn-danger:hover,.admin-btn-danger:focus-visible { background:#991b1b; }
@media (max-width:768px) {
    .admin-dialog { width:calc(100vw - 1rem); max-width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); }
    .admin-dialog form { padding:.9rem; }
    .admin-dialog-footer { flex-wrap:wrap; }
    .admin-actions { align-items:flex-start; }
    .admin-access-actions .btn { flex:1 1 180px; }
}
@media (max-width:700px) { .admin-form-grid { grid-template-columns:1fr; } .admin-form-grid .is-wide { grid-column:auto; } }
