.vod-access-admin {
    margin: 0 0 48px;
}

.admin-hero { margin-bottom: 26px; }
.admin-hero > p:not(.eyebrow) { max-width: 650px; }
.admin-quick-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.admin-quick-actions a { padding: 9px 13px; border: 1px solid #365073; border-radius: 9px; color: #d8e5fb; text-decoration: none; }
.admin-quick-actions a.primary { border-color: transparent; }
.admin-management { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 48px; }
.admin-management-card { padding: clamp(18px, 3vw, 28px); border: 1px solid #2b4265; border-radius: 16px; background: #0e192c; }
.admin-management-card h2 { margin: 0; color: #f2f6ff; font-size: 21px; }
.admin-management-card > p:not(.eyebrow) { min-height: 42px; margin: 8px 0 18px; color: #9caecb; font-size: 13px; line-height: 1.45; }
.admin-management-card .panel { gap: 13px; padding: 0; border: 0; background: transparent; box-shadow: none; }

.vod-access-admin {
    padding: clamp(18px, 3vw, 32px);
    border: 1px solid #273a5c;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(18, 31, 57, .96), rgba(10, 17, 32, .96));
    box-shadow: 0 18px 45px rgba(0, 0, 0, .18);
}

.admin-section-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.admin-section-intro h2 { margin: 0; font-size: clamp(26px, 3vw, 36px); }
.admin-section-intro p:not(.eyebrow) { margin: 8px 0 0; }

.admin-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(74px, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #31496e;
    border-radius: 12px;
    background: #31496e;
}

.admin-metrics span {
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    background: #111d34;
    color: #a9b9d4;
    font-size: 11px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.admin-metrics b { color: #f4f8ff; font-size: 19px; letter-spacing: 0; }

.vod-access-admin > p:not(.eyebrow) {
    max-width: 820px;
    color: var(--muted);
}

.vod-access-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 16px;
}

.admin-user-card {
    display: grid;
    gap: 18px;
    min-width: 0;
    padding: 20px;
    border: 1px solid #2f4569;
    border-radius: 14px;
    background: #0c1629;
}

.admin-user-card > header { display: flex; align-items: center; gap: 11px; min-width: 0; }
.admin-user-card h3 { overflow: hidden; margin: 0; color: #f4f8ff; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-card header p { overflow: hidden; margin: 3px 0 0; color: #91a4c5; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-avatar { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border: 1px solid #3d5b87; border-radius: 50%; background: #193254; color: #71e1b3; font-weight: 800; }
.admin-status { margin-left: auto; padding: 5px 8px; border: 1px solid #465978; border-radius: 999px; color: #afbed4; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.admin-status.is-online { border-color: #298d6b; background: rgba(38, 181, 129, .12); color: #70e5b4; }

.admin-user-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.admin-user-meta > div { padding: 10px; border-radius: 9px; background: #101d34; }
.admin-user-meta dt { color: #899dbf; font-size: 11px; }
.admin-user-meta dd { margin: 3px 0 0; color: #dce6f7; font-size: 13px; font-variant-numeric: tabular-nums; }

.admin-permission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.admin-access-form { display: grid; gap: 10px; padding: 13px; border: 1px solid #2d4468; border-radius: 10px; background: #0e1a30; }
.admin-access-heading { display: grid; gap: 2px; }
.admin-access-heading span { color: #f0f5ff; font-weight: 800; }
.admin-access-heading small, .admin-access-note { margin: 0; color: #93a7c9; font-size: 11px; line-height: 1.35; }
.admin-switch { display: flex; align-items: center; gap: 8px; color: #dce6f7; font-size: 13px; }
.admin-switch input { width: auto; accent-color: #62dca8; }
.admin-select { display: grid; gap: 5px; color: #9dafca; font-size: 11px; }
.admin-select select { min-width: 0; padding: 8px; font-size: 12px; }
.admin-access-form button { width: 100%; padding: 9px 11px; font-size: 13px; }
.admin-access-form button:disabled { opacity: .45; cursor: not-allowed; }

.vod-access-card {
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
}

.vod-access-card strong {
    font-size: 17px;
}

.vod-access-card p {
    margin: 4px 0;
    color: var(--muted);
    font-size: 13px;
}

.vod-access-card label:has(input[type="checkbox"]) {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid #334261;
    border-radius: 9px;
    background: #0b1120;
    color: var(--ink);
}

.vod-access-card input[type="checkbox"] {
    width: auto;
}

.vod-access-card button {
    justify-self: start;
}

@media (max-width: 620px) {
    .vod-access-admin { padding: 16px; border-radius: 14px; }
    .admin-section-intro { display: grid; align-items: start; }
    .admin-metrics { width: 100%; }
    .vod-access-grid {
        grid-template-columns: 1fr;
    }

    .admin-permission-grid { grid-template-columns: 1fr; }
    .admin-management { grid-template-columns: 1fr; }
    .admin-management-card > p:not(.eyebrow) { min-height: 0; }

    .vod-access-card button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .admin-metrics { grid-template-columns: 1fr 1fr; }
    .admin-user-meta { grid-template-columns: 1fr; }
}
