/* ====================================================
   ADMIN THEME OVERRIDES
   Loads after playerfirst-theme.css and role-dashboard.css
   to apply purple accents to admin registration and dashboard.
   ==================================================== */

/* --- Admin registration page heading --- */
.admin-page-heading {
    text-align: center;
    margin-bottom: 1.25rem;
}

.admin-page-heading h1 {
    font-size: 1.25rem;
    font-weight: 800;
    color: #111827;
    margin: 0 0 .25rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.admin-page-heading p {
    font-size: .9rem;
    color: #6b7280;
    margin: 0;
}

/* --- Admin stepper active dot (solid purple with white number) --- */
.pf-step-dot.pf-step-dot-admin.active {
    background: var(--pf-admin-purple);
    border-color: var(--pf-admin-purple);
    color: #ffffff;
}

.pf-step-dot.pf-step-dot-admin.done {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

.pf-step-icon.pf-step-icon-admin svg {
    stroke: var(--pf-admin-purple);
}

/* --- Admin dashboard role theme --- */
.role-admin {
    --role-color: var(--pf-admin-purple);
    --role-tint: #f5f3ff;
}

.role-admin .btn-primary,
.admin-registration-card .btn-primary {
    --bs-btn-bg: var(--pf-admin-purple);
    --bs-btn-border-color: var(--pf-admin-purple);
    --bs-btn-hover-bg: var(--pf-admin-purple-dark);
    --bs-btn-hover-border-color: var(--pf-admin-purple-dark);
    --bs-btn-active-bg: var(--pf-admin-purple-dark);
    --bs-btn-active-border-color: var(--pf-admin-purple-dark);
    --bs-btn-disabled-bg: var(--pf-admin-purple);
    --bs-btn-disabled-border-color: var(--pf-admin-purple);
    background-color: var(--pf-admin-purple);
    border-color: var(--pf-admin-purple);
    color: #ffffff;
}

.role-admin .btn-primary:hover:not(:disabled),
.role-admin .btn-primary:focus:not(:disabled),
.admin-registration-card .btn-primary:hover:not(:disabled),
.admin-registration-card .btn-primary:focus:not(:disabled) {
    background-color: var(--pf-admin-purple-dark);
    border-color: var(--pf-admin-purple-dark);
    color: #ffffff;
}

.role-admin .btn-primary:disabled,
.admin-registration-card .btn-primary:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.admin-registration-card .form-control:focus,
.admin-registration-card .form-select:focus,
.admin-registration-card textarea:focus {
    border-color: var(--pf-admin-purple);
    box-shadow: 0 0 0 3px rgba(75, 0, 130, 0.12);
    outline: none;
}

.auth-admin .btn-auth {
    background: var(--pf-admin-purple);
}

.auth-admin .btn-auth:hover:not(:disabled) {
    background: var(--pf-admin-purple-dark);
}

.auth-admin .form-control:focus {
    border-color: var(--pf-admin-purple);
    box-shadow: 0 0 0 3px rgba(75, 0, 130, 0.12);
}

/* --- Loading overlay for admin --- */
.pf-loading-overlay--admin {
    --role-color: var(--pf-admin-purple);
}

/* --- Bottom sheet overlay and panel --- */
.bottom-sheet-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
    z-index: 1050;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.bottom-sheet-overlay.open {
    opacity: 1;
    visibility: visible;
}

.bottom-sheet {
    width: 100%;
    max-width: 720px;
    max-height: 85vh;
    background: #ffffff;
    border-radius: 1rem 1rem 0 0;
    padding: .75rem 1rem 1.5rem;
    transform: translateY(100%);
    transition: transform .25s ease-out;
    overflow-y: auto;
    position: relative;
}

.bottom-sheet-overlay.open .bottom-sheet {
    transform: translateY(0);
}

.bottom-sheet-handle {
    width: 2.5rem;
    height: .25rem;
    background: #d1d5db;
    border-radius: 999px;
    margin: 0 auto 1rem;
    cursor: pointer;
}

.bottom-sheet-close {
    position: absolute;
    top: .75rem;
    right: 1rem;
    background: transparent;
    border: none;
    color: #6b7280;
    font-size: 1.25rem;
    line-height: 1;
    padding: .25rem;
}

.bottom-sheet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.bottom-sheet-header h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
}

.bottom-sheet-clear {
    background: transparent;
    border: none;
    color: var(--pf-admin-purple);
    font-size: .9rem;
    padding: 0;
}

.bottom-sheet-body .form-group {
    margin-bottom: .875rem;
}

.bottom-sheet-body .form-check {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.bottom-sheet-footer {
    margin-top: 1rem;
}

.bottom-sheet-footer .btn-block {
    width: 100%;
}

/* ====================================================
   ADMIN REGISTRATION WIZARD
   Styling for the 6-step admin registration flow.
   ==================================================== */

.admin-registration-card {
    padding: var(--pf-spacing-xl);
    max-width: 560px;
    width: 100%;
    margin: auto;
}

.admin-registration-card .form-label {
    font-weight: 600;
    color: #374151;
    margin-bottom: .35rem;
}

.admin-registration-card .form-control,
.admin-registration-card .form-select {
    border-radius: 10px;
    padding: .75rem 1rem;
    border: 1px solid #d1d5db;
}

.admin-registration-card .form-control::placeholder {
    color: #9ca3af;
}

/* Invitation code input */
.pf-code-input-row {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.pf-code-input-row .form-control {
    text-transform: uppercase;
    letter-spacing: .05em;
}

.pf-code-check {
    font-size: 1.25rem;
    display: inline-flex;
    align-items: center;
}

.pf-security-note {
    color: #6b7280;
    background: #f9fafb;
    border-color: #e5e7eb;
}

.pf-security-note i {
    font-size: 1.1rem;
}

/* Password field with toggle */
.pf-password-row {
    position: relative;
}

.pf-password-row .form-control {
    padding-right: 2.75rem;
}

.pf-password-toggle {
    position: absolute;
    top: 50%;
    right: .75rem;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #6b7280;
    padding: .25rem;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
}

.pf-password-toggle:hover {
    color: var(--pf-admin-purple);
}

.pf-password-hints {
    margin-top: .5rem;
    color: #6b7280;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.pf-password-hints li {
    display: flex;
    align-items: center;
    gap: .35rem;
    transition: color .2s ease;
}

.pf-password-hints li.valid {
    color: #16a34a;
}

.pf-password-hints li i {
    font-size: .85rem;
}

/* Step action buttons */
.pf-step-actions {
    display: flex;
    gap: .75rem;
    margin-top: 1.5rem;
}

.pf-step-actions .btn {
    flex: 1;
    min-height: 48px;
    border-radius: 10px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pf-step-actions .btn-outline-secondary {
    border-color: #e5e7eb;
    color: #374151;
}

.pf-step-actions .btn-outline-secondary:hover:not(:disabled) {
    border-color: var(--pf-admin-purple);
    color: var(--pf-admin-purple);
    background: #f5f3ff;
}

/* Document / selfie upload area */
.pf-upload-section {
    margin-bottom: 1rem;
}

.pf-upload-label {
    font-weight: 600;
    color: #374151;
    margin-bottom: .5rem;
}

.pf-upload-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: 1.25rem;
    border: 2px dashed #d1d5db;
    border-radius: 12px;
    background: #fafafa;
    cursor: pointer;
    transition: all .2s ease;
    min-height: 120px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.pf-upload-area:hover {
    border-color: var(--pf-admin-purple);
    background: #f5f3ff;
}

.pf-upload-area.has-file {
    border-style: solid;
    border-color: #16a34a;
    background: #f0fdf4;
}

.pf-upload-area input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

.pf-upload-icon {
    font-size: 1.75rem;
    color: #6b7280;
    line-height: 1;
}

.pf-upload-area:hover .pf-upload-icon {
    color: var(--pf-admin-purple);
}

.pf-upload-area.has-file .pf-upload-icon {
    color: #16a34a;
}

.pf-upload-text {
    font-weight: 600;
    color: #374151;
    font-size: .95rem;
}

.pf-upload-hint {
    font-size: .8rem;
    color: #9ca3af;
    line-height: 1.4;
}

/* Completion page */
.pf-complete-check-circle {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #f0fdf4;
    border: 2px solid #bbf7d0;
    color: #16a34a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
}

.pf-complete-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: .25rem;
}

.pf-complete-subtitle {
    font-size: .95rem;
    color: #6b7280;
    margin-bottom: 1.5rem;
}

.pf-whats-next {
    background: #f8fbff;
    border: 1px solid #e0e7ff;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

.pf-whats-next-title {
    font-size: .9rem;
    font-weight: 700;
    color: #1e3a8a;
    margin-bottom: .75rem;
}

.pf-next-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin: 0;
    padding: 0;
    font-size: .875rem;
    color: #374151;
}

.pf-next-list li {
    line-height: 1.4;
}

.pf-next-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: #dbeafe;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: .9rem;
}

/* Auth footer */
.auth-footer {
    font-size: .9rem;
    color: #6b7280;
}

.auth-footer a {
    color: var(--pf-admin-purple);
    text-decoration: none;
    font-weight: 600;
}

.auth-footer a:hover {
    text-decoration: underline;
}

/* Loading centre on completion */
.pf-loading-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
}

/* Admin directory: players, clubs and trials */
.admin-workspace { max-width: 1440px; margin: 0 auto; padding: 1.5rem; color: #10172f; }
.admin-page-header, .admin-detail-hero { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.25rem; }
.admin-page-header h1, .admin-detail-hero h1 { margin:.2rem 0; font-size:clamp(1.65rem,3vw,2.25rem); font-weight:800; color:#10172f; }
.admin-page-header p, .admin-detail-hero p { margin:0; color:#68718a; }
.admin-eyebrow { color:#6426d9; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.admin-count { padding:.6rem .9rem; border:1px solid #e0e4ee; border-radius:10px; background:#fff; color:#4d5670; font-weight:700; white-space:nowrap; }
.admin-filter-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; margin-bottom:1rem; border:1px solid #e4e7ef; border-radius:14px; background:#fff; box-shadow:0 8px 30px rgba(16,23,47,.04); }
.admin-search { display:flex; align-items:center; gap:.6rem; min-width:260px; flex:1; max-width:420px; padding:.65rem .8rem; border:1px solid #dce1eb; border-radius:9px; color:#7b849b; }
.admin-search input { width:100%; border:0; outline:0; background:transparent; color:#10172f; }
.admin-status-tabs { display:flex; gap:.35rem; overflow-x:auto; scrollbar-width:none; }
.admin-status-tabs button { border:0; border-radius:8px; padding:.6rem .8rem; background:transparent; color:#68718a; font-weight:700; white-space:nowrap; }
.admin-status-tabs button.active { background:#efe7ff; color:#6426d9; }
.admin-table-card, .admin-detail-card, .admin-detail-hero, .admin-kpi-row { border:1px solid #e4e7ef; border-radius:14px; background:#fff; box-shadow:0 8px 30px rgba(16,23,47,.04); }
.admin-table-scroll { overflow-x:auto; }
.admin-data-table { width:100%; border-collapse:collapse; min-width:760px; }
.admin-data-table th { padding:.9rem 1rem; background:#f8f9fc; color:#68718a; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; text-align:left; }
.admin-data-table td { padding:1rem; border-top:1px solid #edf0f5; color:#333d56; vertical-align:middle; }
.admin-data-table tbody tr { cursor:pointer; transition:.15s ease; }
.admin-data-table tbody tr:hover { background:#fbf9ff; }
.admin-entity, .admin-detail-identity, .admin-card-heading, .admin-header-actions { display:flex; align-items:center; gap:.8rem; }
.admin-entity strong, .admin-entity small { display:block; }
.admin-entity small { margin-top:.15rem; color:#7b849b; }
.admin-avatar { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:11px; background:#efe7ff; color:#6426d9; font-weight:800; }
.admin-avatar.club { background:#e8f8ed; color:#16833b; }.admin-avatar.trial { background:#fff2df; color:#dd7900; }.admin-avatar.large { width:62px; height:62px; font-size:1.25rem; border-radius:16px; }
.admin-status { display:inline-flex; padding:.32rem .58rem; border-radius:999px; background:#eef1f5; color:#5d667b; font-size:.76rem; font-weight:800; white-space:nowrap; }
.admin-status.active, .admin-status.published, .admin-status.completed { background:#e5f7e9; color:#14813a; }.admin-status.pending, .admin-status.on-hold, .admin-status.draft { background:#fff3d9; color:#a96400; }.admin-status.rejected, .admin-status.cancelled, .admin-status.closed { background:#ffe7e9; color:#c42a38; }.admin-status.in-progress { background:#e5efff; color:#1766c2; }
.admin-icon-button { border:0; background:transparent; color:#6426d9; }
.admin-pagination { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem; border-top:1px solid #edf0f5; color:#68718a; }
.admin-pagination div { display:flex; align-items:center; gap:.6rem; }.admin-pagination button, .admin-secondary, .admin-back { border:1px solid #dce1eb; border-radius:8px; padding:.55rem .8rem; background:#fff; color:#313b54; font-weight:700; }.admin-pagination button:disabled { opacity:.45; }
.admin-state, .admin-empty { padding:3.5rem 1rem; text-align:center; border:1px dashed #dce1eb; border-radius:14px; background:#fff; color:#68718a; }.admin-empty i { font-size:2rem; color:#6426d9; }.admin-empty h2 { margin:.7rem 0 .2rem; color:#10172f; }
.admin-detail-hero { padding:1.25rem; }.admin-decision { display:flex; align-items:center; gap:.6rem; }.admin-decision select { min-width:135px; border:1px solid #dce1eb; border-radius:8px; padding:.65rem .75rem; background:#fff; }
.admin-primary { border:0; border-radius:8px; padding:.7rem 1rem; background:linear-gradient(135deg,#7131df,#5315bd); color:#fff; font-weight:800; }.admin-primary:disabled { opacity:.6; }
.admin-back { margin-bottom:1rem; }.admin-secondary { white-space:nowrap; }.admin-text-link { border:0; padding:0; background:transparent; color:#6426d9; font-weight:700; }
.admin-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.admin-detail-card { padding:1.25rem; }.admin-detail-card h2 { margin:0 0 1rem; font-size:1rem; font-weight:800; }.admin-detail-card p { color:#626d84; line-height:1.65; }.admin-span-2 { grid-column:span 2; }
.admin-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:0; }.admin-facts div { min-width:0; }.admin-facts dt { color:#81899c; font-size:.75rem; font-weight:700; }.admin-facts dd { margin:.25rem 0 0; color:#202a43; font-weight:650; overflow-wrap:anywhere; }
.admin-documents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }.admin-documents a { display:flex; align-items:center; gap:.7rem; padding:.85rem; border:1px solid #e0e4ee; border-radius:10px; color:#303951; text-decoration:none; }.admin-documents a:hover { border-color:#8a55e7; background:#fbf9ff; }.admin-documents a>i:first-child { color:#6426d9; font-size:1.2rem; }.admin-documents a>i:last-child { margin-left:auto; }.admin-documents strong,.admin-documents small { display:block; }.admin-documents small,.admin-muted,.admin-card-heading p { color:#81899c; }
.admin-rejection { margin:-.3rem 0 1rem auto; max-width:520px; padding:1rem; border:1px solid #ffd0d4; border-radius:12px; background:#fff7f7; }.admin-rejection label { display:block; margin-bottom:.4rem; font-weight:800; }.admin-rejection textarea { width:100%; min-height:84px; border:1px solid #e4bfc4; border-radius:8px; padding:.7rem; }
.admin-alert { margin-bottom:1rem; padding:.8rem 1rem; border-radius:10px; }.admin-alert.success { background:#e5f7e9; color:#126f32; }.admin-alert.error { background:#ffe7e9; color:#a51e2b; }
.admin-kpi-row { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:1rem; }.admin-kpi-row div { padding:1rem 1.25rem; border-right:1px solid #edf0f5; }.admin-kpi-row div:last-child { border:0; }.admin-kpi-row span,.admin-kpi-row strong { display:block; }.admin-kpi-row span { color:#81899c; font-size:.75rem; }.admin-kpi-row strong { margin-top:.25rem; }

@media (max-width: 850px) {
    .admin-workspace { padding:1rem .8rem 5.5rem; }.admin-page-header,.admin-detail-hero { align-items:flex-start; flex-direction:column; }.admin-filter-bar { align-items:stretch; flex-direction:column; }.admin-search { min-width:0; max-width:none; }.admin-detail-grid { grid-template-columns:1fr; }.admin-span-2 { grid-column:auto; }.admin-documents { grid-template-columns:1fr; }.admin-kpi-row { grid-template-columns:repeat(2,1fr); }.admin-kpi-row div:nth-child(2) { border-right:0; }.admin-kpi-row div:nth-child(-n+2) { border-bottom:1px solid #edf0f5; }.admin-decision { width:100%; flex-wrap:wrap; }.admin-decision select,.admin-decision button { flex:1; }.admin-pagination { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px) { .admin-facts { grid-template-columns:1fr; }.admin-card-heading { align-items:flex-start; flex-direction:column; }.admin-header-actions { align-items:flex-start; flex-direction:column; } }
/* Admin audit history and platform settings */
.admin-platform-page{padding:1.25rem;max-width:1500px;margin:0 auto;color:#10213f}.admin-platform-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.admin-platform-header h1{margin:.2rem 0;font-size:1.85rem}.admin-platform-header p{margin:0;color:#5f6f89}.admin-platform-eyebrow{color:#003d99;font-size:.75rem;font-weight:800;letter-spacing:.08em}.audit-total,.settings-notice{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:999px;background:#eaf2ff;color:#003d99;font-weight:700;font-size:.82rem}.admin-filter-panel{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:.75rem;padding:1rem;background:#fff;border:1px solid #dce5f3;border-radius:1rem;box-shadow:0 8px 24px rgba(16,33,63,.06);margin-bottom:1rem}.admin-filter-panel label{display:grid;gap:.35rem;font-size:.75rem;font-weight:800;color:#40516d}.admin-filter-panel input,.admin-filter-panel select,.setting-control input,.setting-control select{width:100%;min-height:42px;border:1px solid #cdd8e8;border-radius:.65rem;padding:.55rem .7rem;background:#fff;color:#10213f}.filter-search div{position:relative}.filter-search i{position:absolute;left:.7rem;top:.75rem;color:#75839a}.filter-search input{padding-left:2rem}.admin-primary-button,.setting-control button{border:0;border-radius:.65rem;background:#003d99;color:#fff;min-height:42px;padding:.6rem 1rem;font-weight:800}.audit-table-card{overflow:hidden;background:#fff;border:1px solid #dce5f3;border-radius:1rem;box-shadow:0 8px 24px rgba(16,33,63,.06)}.audit-table{min-width:940px}.audit-row{display:grid;grid-template-columns:1.15fr 1.35fr 1.2fr 1.1fr .8fr 1fr;gap:.8rem;padding:.85rem 1rem;border-top:1px solid #e7edf6;align-items:center}.audit-row:first-child{border-top:0}.audit-heading{background:#f2f6fc;color:#52627d;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.audit-row span{display:grid;gap:.18rem;min-width:0}.audit-row strong{font-size:.86rem;overflow-wrap:anywhere}.audit-row small{font-size:.72rem;color:#718096}.role-pill{justify-self:start;padding:.12rem .42rem;border-radius:999px;background:#eef2f7!important;color:#394963!important}.role-pill.role-admin{background:#eaf2ff!important;color:#003d99!important}.role-pill.role-club{background:#fff1db!important;color:#9a5900!important}.role-pill.role-player{background:#ffecef!important;color:#b30d35!important}.role-pill.role-parent{background:#e6f7ee!important;color:#11733f!important}.audit-success{color:#138a4b}.audit-row details summary{cursor:pointer;color:#003d99;font-weight:800}.audit-row details p,.audit-row details code{display:block;margin:.4rem 0 0;font-size:.72rem;white-space:normal;overflow-wrap:anywhere}.admin-empty-state{text-align:center;padding:3rem;background:#fff;border:1px dashed #bdcae0;border-radius:1rem}.admin-empty-state i{font-size:2rem;color:#003d99}.settings-section{background:#fff;border:1px solid #dce5f3;border-radius:1rem;margin-bottom:1rem;overflow:hidden;box-shadow:0 8px 24px rgba(16,33,63,.05)}.settings-section>header{display:flex;align-items:center;gap:.8rem;padding:1rem 1.15rem;background:#f5f8fd;border-bottom:1px solid #e2e9f4}.settings-section h2{font-size:1.05rem;margin:0}.settings-section header p{font-size:.8rem;color:#687891;margin:.15rem 0 0}.settings-category-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:.7rem;background:#003d99;color:#fff}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.setting-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem;border-bottom:1px solid #e7edf6}.setting-card:nth-child(odd){border-right:1px solid #e7edf6}.setting-copy{min-width:0}.setting-copy label{font-weight:800}.setting-copy p{font-size:.78rem;color:#687891;margin:.2rem 0}.setting-copy code{font-size:.67rem;color:#60708a}.setting-control{display:grid;grid-template-columns:minmax(120px,180px) auto;gap:.5rem;flex:0 0 auto}.setting-control button:disabled{opacity:.45}.setting-control button{display:flex;align-items:center;justify-content:center;gap:.35rem}
@media(max-width:1050px){.admin-filter-panel{grid-template-columns:repeat(3,1fr)}.filter-search{grid-column:span 2}.audit-table-card{overflow-x:auto}.settings-grid{grid-template-columns:1fr}.setting-card:nth-child(odd){border-right:0}}
@media(max-width:640px){.admin-platform-page{padding:.85rem}.admin-platform-header{display:grid}.audit-total,.settings-notice{justify-self:start;border-radius:.7rem}.admin-filter-panel{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.admin-primary-button{grid-column:1/-1}.audit-table{min-width:0}.audit-heading{display:none}.audit-row{grid-template-columns:1fr 1fr;padding:1rem}.audit-row span:before{content:attr(data-label);font-size:.65rem;text-transform:uppercase;color:#8090a7;font-weight:800}.setting-card{display:grid}.setting-control{grid-template-columns:1fr auto;width:100%}}
.audit-row{grid-template-columns:1.05fr 1.25fr 1.1fr 1fr 1fr .7fr .8fr}
.admin-filter-panel{grid-template-columns:minmax(220px,2fr) repeat(5,minmax(115px,1fr)) auto}
@media(max-width:640px){.audit-row{grid-template-columns:1fr 1fr}}
.admin-platform-page .admin-filter-panel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;align-items:end}
.admin-platform-page .admin-filter-panel .filter-search{grid-column:span 2}
.admin-platform-page .admin-filter-panel label{min-width:0;display:grid;gap:.35rem}
.admin-platform-page .admin-filter-panel input,.admin-platform-page .admin-filter-panel select{min-width:0;width:100%}
.audit-failure{color:#b4233b}
@media(max-width:1050px){.admin-platform-page .admin-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-platform-page .admin-filter-panel .filter-search{grid-column:span 2}}
@media(max-width:640px){.admin-platform-page .admin-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem}.admin-platform-page .admin-filter-panel .filter-search{grid-column:1/-1}.admin-platform-page .admin-filter-panel .admin-primary-button{grid-column:1/-1}.admin-platform-page .admin-filter-panel label{font-size:.8rem}}
