.ofp-portal-admin-page {
    --ofp-admin-brand: #f47321;
    --ofp-admin-brand-dark: #c94f08;
    --ofp-admin-ink: #20242a;
    --ofp-admin-muted: #667085;
    --ofp-admin-line: #e4e7ec;
    --ofp-admin-soft: #f7f8fa;
    --ofp-admin-panel: #ffffff;
    --ofp-admin-success: #137a4b;
    --ofp-admin-warning: #9a5b00;
    --ofp-admin-danger: #b42318;
}

.ofp-admin-portal,
.ofp-admin-portal * {
    box-sizing: border-box;
}

.ofp-admin-portal {
    max-width: 100%;
    width: min(1500px, calc(100vw - 24px));
    min-height: 760px;
    margin: 24px auto 40px;
    color: var(--ofp-admin-ink);
    background: var(--ofp-admin-soft);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 45px rgba(16, 24, 40, 0.10);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ofp-admin-skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    z-index: 1000;
    padding: 10px 14px;
    color: #fff;
    background: #111827;
    border-radius: 8px;
}

.ofp-admin-skip-link:focus {
    top: 10px;
}

.ofp-admin-topbar {
    position: relative;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 82px;
    padding: 14px 22px;
    background: var(--ofp-admin-panel);
    border-bottom: 4px solid var(--ofp-admin-brand);
}

.ofp-admin-topbar__brand,
.ofp-admin-topbar__actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ofp-admin-topbar__kicker,
.ofp-admin-topbar__title {
    margin: 0;
}

.ofp-admin-topbar__kicker {
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.ofp-admin-topbar__title {
    font-size: 1.35rem;
    font-weight: 850;
    letter-spacing: -0.02em;
}

.ofp-admin-nav-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: #fff;
    color: var(--ofp-admin-ink);
    cursor: pointer;
}

.ofp-admin-member-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 10px;
    color: var(--ofp-admin-ink);
    border-radius: 9px;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-member-link:hover,
.ofp-admin-member-link:focus-visible {
    color: var(--ofp-admin-brand-dark);
    background: #fff0e5;
}

.ofp-admin-season-control {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ofp-admin-season-control select {
    min-height: 42px;
    padding: 7px 34px 7px 10px;
    color: var(--ofp-admin-ink);
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: none;
}

.ofp-admin-user-chip {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 5px 10px 5px 6px;
    background: var(--ofp-admin-soft);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 999px;
}

.ofp-admin-user-chip__avatar {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: #fff;
    background: #344054;
    border-radius: 50%;
    font-size: 0.84rem;
    font-weight: 900;
}

.ofp-admin-user-chip__name {
    max-width: 170px;
    overflow: hidden;
    font-size: 0.86rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ofp-admin-layout {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    min-height: 678px;
}

.ofp-admin-sidebar {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 16px 10px;
    color: #fff;
    background: #20242a;
}

.ofp-admin-nav {
    display: grid;
    gap: 5px;
}

.ofp-admin-nav__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    padding: 9px 10px;
    color: #e4e7ec;
    border: 1px solid transparent;
    border-radius: 10px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
}

.ofp-admin-nav__item:hover,
.ofp-admin-nav__item:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.ofp-admin-nav__item.is-active {
    color: #fff;
    background: rgba(244, 115, 33, 0.18);
    border-color: rgba(244, 115, 33, 0.6);
}

.ofp-admin-nav__item small {
    color: #98a2b3;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ofp-admin-nav__item.is-active small {
    color: #ffc49d;
}

.ofp-admin-nav__item--member {
    display: none;
}

.ofp-admin-sidebar__footer {
    margin-top: auto;
    padding: 14px 8px 4px;
    color: #98a2b3;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ofp-admin-sidebar__footer p,
.ofp-admin-sidebar__footer span {
    display: block;
    margin: 0;
}

.ofp-admin-sidebar__footer p {
    color: #fff;
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-sidebar__footer span {
    margin-top: 3px;
    font-size: 0.84rem;
}

.ofp-admin-main {
    min-width: 0;
    padding: clamp(22px, 3vw, 42px);
    background: var(--ofp-admin-soft);
}

.ofp-admin-main:focus {
    outline: none;
}

.ofp-admin-page-header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.ofp-admin-eyebrow {
    margin: 0 0 7px;
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ofp-admin-page-header h1 {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.ofp-admin-page-description {
    max-width: 820px;
    margin: 10px 0 0;
    color: var(--ofp-admin-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.ofp-admin-notice {
    margin: 0 0 22px;
    padding: 13px 15px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-left-width: 5px;
    border-radius: 10px;
}

.ofp-admin-notice p {
    margin: 0;
    line-height: 1.5;
}

.ofp-admin-notice--info { border-left-color: #2878c8; }
.ofp-admin-notice--success { border-left-color: var(--ofp-admin-success); }
.ofp-admin-notice--warning { border-left-color: #d98b16; }
.ofp-admin-notice--danger { border-left-color: var(--ofp-admin-danger); }

.ofp-admin-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ofp-admin-card {
    min-width: 0;
    background: var(--ofp-admin-panel);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(16, 24, 40, 0.04);
}

.ofp-admin-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 18px 12px;
}

.ofp-admin-card__header h2 {
    margin: 0;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
}

.ofp-admin-card__meta {
    flex: 0 0 auto;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ofp-admin-card__body {
    padding: 0 18px 18px;
    color: var(--ofp-admin-muted);
    line-height: 1.58;
}

.ofp-admin-card__body p:last-child {
    margin-bottom: 0;
}

.ofp-admin-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.ofp-admin-badge--neutral { color: #344054; background: #eaecf0; }
.ofp-admin-badge--info { color: #17588f; background: #e5f2ff; }
.ofp-admin-badge--success { color: #0b623b; background: #dff5e9; }
.ofp-admin-badge--warning { color: #7a4500; background: #fff0cc; }
.ofp-admin-badge--danger { color: #8f1710; background: #fee4e2; }

.ofp-admin-empty {
    display: grid;
    place-items: center;
    min-height: 350px;
    padding: 48px 24px;
    text-align: center;
    background: #fff;
    border: 1px dashed #cbd2dc;
    border-radius: 14px;
}

.ofp-admin-empty__mark {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin-bottom: 16px;
    color: var(--ofp-admin-brand-dark);
    background: #fff0e5;
    border-radius: 18px;
    font-size: 0.88rem;
    font-weight: 950;
    letter-spacing: 0.08em;
}

.ofp-admin-empty h2 {
    margin: 0;
    font-size: 1.25rem;
}

.ofp-admin-empty p {
    max-width: 620px;
    margin: 10px 0 0;
    color: var(--ofp-admin-muted);
    line-height: 1.6;
}

.ofp-admin-diagnostics {
    display: grid;
    gap: 0;
    margin: 0;
}

.ofp-admin-diagnostics > div {
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1fr);
    gap: 18px;
    padding: 13px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-diagnostics > div:last-child {
    border-bottom: 0;
}

.ofp-admin-diagnostics dt {
    color: var(--ofp-admin-muted);
    font-weight: 700;
}

.ofp-admin-diagnostics dd {
    margin: 0;
    font-weight: 750;
}

.ofp-admin-gate {
    width: min(850px, calc(100vw - 24px));
    margin: 50px auto;
    text-align: center;
}

.ofp-admin-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    color: #fff;
    background: var(--ofp-admin-brand-dark, #c94f08);
    border-radius: 9px;
    text-decoration: none;
    font-weight: 800;
}

@media (max-width: 900px) {
    .ofp-admin-portal {
        width: min(100%, calc(100vw - 12px));
        margin-top: 8px;
        border-radius: 12px;
    }

    .ofp-admin-nav-toggle {
        display: inline-grid;
        place-items: center;
    }

    .ofp-admin-layout {
        display: block;
        position: relative;
    }

    .ofp-admin-sidebar {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 15;
        width: min(280px, 88vw);
        min-height: 100%;
        visibility: hidden;
        transform: translateX(-105%);
        transition: transform 180ms ease;
        box-shadow: 16px 0 34px rgba(16, 24, 40, 0.2);
    }

    .ofp-admin-portal.is-nav-open .ofp-admin-sidebar {
        visibility: visible;
        transform: translateX(0);
    }

    .ofp-admin-nav__item--member {
        display: flex;
        margin-top: 8px;
        border-top-color: rgba(255, 255, 255, 0.18);
    }

    .ofp-admin-portal.is-nav-open .ofp-admin-main::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 10;
        background: rgba(16, 24, 40, 0.35);
    }

    .ofp-admin-main {
        position: relative;
        min-height: 680px;
    }
}

@media (max-width: 680px) {
    .ofp-admin-topbar {
        align-items: flex-start;
        padding: 12px;
    }

    .ofp-admin-topbar__actions {
        align-items: flex-end;
        flex-direction: column-reverse;
        gap: 7px;
    }

    .ofp-admin-user-chip__name,
    .ofp-admin-season-control > span,
    .ofp-admin-member-link {
        display: none;
    }

    .ofp-admin-season-control select {
        max-width: 160px;
        min-height: 38px;
        font-size: 0.84rem;
    }

    .ofp-admin-main {
        padding: 22px 14px 30px;
    }

    .ofp-admin-card-grid {
        grid-template-columns: 1fr;
    }


    .ofp-admin-diagnostics > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ofp-admin-sidebar {
        transition: none;
    }
}

/* Phase 2 — operational dashboard and work queues. */
.ofp-admin-metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 22px;
}

.ofp-admin-metric {
    position: relative;
    min-width: 0;
    padding: 16px 16px 15px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(16, 24, 40, 0.035);
}

.ofp-admin-metric::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #98a2b3;
}

.ofp-admin-metric--info::before { background: #2878c8; }
.ofp-admin-metric--success::before { background: var(--ofp-admin-success); }
.ofp-admin-metric--warning::before { background: #d98b16; }
.ofp-admin-metric--danger::before { background: var(--ofp-admin-danger); }

.ofp-admin-metric__label,
.ofp-admin-metric__description {
    display: block;
}

.ofp-admin-metric__label {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.ofp-admin-metric__value {
    display: block;
    margin: 5px 0 2px;
    color: var(--ofp-admin-ink);
    font-size: 1.75rem;
    line-height: 1;
    letter-spacing: -0.04em;
}

.ofp-admin-metric__description {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.ofp-admin-panel {
    margin: 0 0 22px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(16, 24, 40, 0.04);
}

.ofp-admin-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 20px 16px;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-panel__header h2,
.ofp-admin-panel__header p {
    margin-top: 0;
}

.ofp-admin-panel__header h2 {
    margin-bottom: 5px;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
}

.ofp-admin-panel__header p:last-child {
    margin-bottom: 0;
    color: var(--ofp-admin-muted);
}

.ofp-admin-panel__body {
    padding: 18px 20px 20px;
}

.ofp-admin-queue-filters {
    display: grid;
    grid-template-columns: minmax(145px, 0.65fr) minmax(145px, 0.65fr) minmax(250px, 1.3fr) auto;
    align-items: end;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px;
    background: var(--ofp-admin-soft);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
}

.ofp-admin-queue-filters label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.ofp-admin-queue-filters label > span {
    color: #475467;
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.ofp-admin-queue-filters select,
.ofp-admin-queue-filters input[type="search"] {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    color: var(--ofp-admin-ink);
    background: #fff;
    border: 1px solid #cfd4dc;
    border-radius: 9px;
    font: inherit;
    font-size: 0.88rem;
}

.ofp-admin-queue-filters__actions {
    display: flex;
    gap: 8px;
}

.ofp-admin-button--secondary {
    color: var(--ofp-admin-ink);
    background: #fff;
    border: 1px solid #cfd4dc;
}

.ofp-admin-button--secondary:hover,
.ofp-admin-button--secondary:focus-visible {
    color: var(--ofp-admin-brand-dark);
    background: #fff8f2;
    border-color: #f0a675;
}

.ofp-admin-queue-list {
    display: grid;
    gap: 10px;
}

.ofp-admin-queue-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
    gap: 18px;
    padding: 16px 16px 16px 19px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
}

.ofp-admin-queue-item::before {
    content: "";
    position: absolute;
    inset: -1px auto -1px -1px;
    width: 5px;
    border-radius: 11px 0 0 11px;
    background: #98a2b3;
}

.ofp-admin-queue-item--info::before { background: #2878c8; }
.ofp-admin-queue-item--warning::before { background: #d98b16; }
.ofp-admin-queue-item--danger::before { background: var(--ofp-admin-danger); }

.ofp-admin-queue-item__badges,
.ofp-admin-focus-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ofp-admin-queue-item h3 {
    margin: 8px 0 4px;
    color: var(--ofp-admin-ink);
    font-size: 1rem;
    line-height: 1.32;
}

.ofp-admin-queue-item__summary,
.ofp-admin-queue-item__reason {
    margin: 0;
    line-height: 1.48;
}

.ofp-admin-queue-item__summary {
    color: #475467;
    font-size: 0.87rem;
    font-weight: 700;
}

.ofp-admin-queue-item__reason {
    margin-top: 5px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-queue-item__aside {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    text-align: right;
}

.ofp-admin-queue-item__aside .ofp-admin-button {
    min-height: 36px;
    margin-top: 6px;
    padding: 7px 11px;
    font-size: 0.84rem;
}

.ofp-admin-list-limit {
    margin: 14px 0 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-focus-card {
    position: relative;
    margin: 0 0 22px;
    padding: 20px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
}

.ofp-admin-focus-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: #98a2b3;
}

.ofp-admin-focus-card--info::before { background: #2878c8; }
.ofp-admin-focus-card--warning::before { background: #d98b16; }
.ofp-admin-focus-card--danger::before { background: var(--ofp-admin-danger); }

.ofp-admin-focus-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.ofp-admin-focus-card__header h2 {
    margin: 0 0 7px;
    font-size: 1.28rem;
    letter-spacing: -0.02em;
}

.ofp-admin-focus-card__header p:last-child {
    max-width: 850px;
    margin: 0;
    color: var(--ofp-admin-muted);
    line-height: 1.55;
}

.ofp-admin-focus-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 18px 0 0;
    border-top: 1px solid var(--ofp-admin-line);
    border-left: 1px solid var(--ofp-admin-line);
}

.ofp-admin-focus-details > div {
    min-width: 0;
    padding: 12px 13px;
    border-right: 1px solid var(--ofp-admin-line);
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-focus-details dt {
    margin-bottom: 4px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ofp-admin-focus-details dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--ofp-admin-ink);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.45;
}

.ofp-admin-focus-details code {
    font-size: 0.84rem;
}

.ofp-admin-focus-card__actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 16px;
}

.ofp-admin-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ofp-admin-support-card:last-child {
    grid-column: 1 / -1;
}

.ofp-admin-compact-list {
    display: grid;
    gap: 0;
}

.ofp-admin-compact-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compact-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.ofp-admin-compact-item:first-child {
    padding-top: 0;
}

.ofp-admin-compact-item__module {
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.ofp-admin-compact-item h3 {
    margin: 2px 0 3px;
    color: var(--ofp-admin-ink);
    font-size: 0.9rem;
    line-height: 1.35;
}

.ofp-admin-compact-item p {
    margin: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.42;
}

.ofp-admin-compact-item__date {
    align-self: center;
    max-width: 130px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.35;
    text-align: right;
}

.ofp-admin-mentor-capacity-row {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
    align-items: center;
}

.ofp-admin-mentor-capacity-row .ofp-admin-checkbox-line {
    margin-bottom: 4px;
}

.ofp-admin-mentor-capacity-controls {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) 150px;
    gap: 12px;
    align-items: end;
}

.ofp-admin-mentor-capacity-controls > label:not(.ofp-admin-checkbox-line) {
    display: grid;
    gap: 5px;
}

.ofp-admin-mentor-capacity-controls > label:not(.ofp-admin-checkbox-line) > span {
    color: #667085;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.ofp-admin-mentor-capacity-controls input[type="number"] {
    width: 100%;
    min-height: 39px;
    padding: 7px 10px;
    color: var(--ofp-admin-ink);
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
}

.ofp-admin-compact-empty {
    margin: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.ofp-admin-inline-detail {
    margin-left: 7px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 650;
}

.ofp-admin-provider-errors {
    margin: 0;
    padding-left: 20px;
}

.ofp-admin-provider-errors li + li {
    margin-top: 8px;
}

@media (max-width: 1200px) {
    .ofp-admin-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ofp-admin-queue-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-queue-filters__search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 780px) {
    .ofp-admin-metric-grid,
    .ofp-admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .ofp-admin-support-card:last-child {
        grid-column: auto;
    }

    .ofp-admin-queue-item {
        grid-template-columns: 1fr;
    }

    .ofp-admin-queue-item__aside {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        text-align: left;
    }

    .ofp-admin-queue-item__aside .ofp-admin-button {
        margin-top: 0;
        margin-left: auto;
    }

    .ofp-admin-focus-card__header {
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .ofp-admin-metric-grid,
    .ofp-admin-queue-filters,
    .ofp-admin-focus-details {
        grid-template-columns: 1fr;
    }

    .ofp-admin-queue-filters__search {
        grid-column: auto;
    }

    .ofp-admin-queue-filters__actions,
    .ofp-admin-focus-card__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ofp-admin-queue-filters__actions .ofp-admin-button,
    .ofp-admin-focus-card__actions .ofp-admin-button {
        width: 100%;
    }

    .ofp-admin-compact-item {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .ofp-admin-mentor-capacity-controls {
        grid-template-columns: 1fr;
        margin-top: 8px;
    }

    .ofp-admin-compact-item__date {
        max-width: none;
        text-align: left;
    }
}

.ofp-admin-button:hover,
.ofp-admin-button:focus-visible {
    color: #fff;
    background: #a94106;
}

.ofp-admin-queue-panel .ofp-admin-empty {
    min-height: 220px;
}

.ofp-admin-button.ofp-admin-button--secondary:hover,
.ofp-admin-button.ofp-admin-button--secondary:focus-visible {
    color: #8e3a08;
    background: #fff4ec;
}

/* Phase 3 — people, identity, roles, and relationships. */
.ofp-admin-page-header__actions {
    display: flex;
    align-items: flex-start;
    flex: 0 0 auto;
}

.ofp-admin-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: -4px 0 22px;
    padding: 6px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
}

.ofp-admin-subnav a {
    min-height: 38px;
    padding: 9px 13px;
    color: #475467;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-subnav a:hover,
.ofp-admin-subnav a:focus-visible {
    color: var(--ofp-admin-brand-dark);
    background: #fff4ec;
}

.ofp-admin-subnav a.is-active {
    color: #fff;
    background: #30353c;
}

.ofp-admin-people-metrics {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ofp-admin-filter-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
    align-items: end;
    gap: 12px;
    margin: 0 0 18px;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
}

.ofp-admin-people-filters {
    grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(145px, 0.7fr)) auto;
}

.ofp-admin-field {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0 0 15px;
}

.ofp-admin-filter-bar .ofp-admin-field {
    margin: 0;
}

.ofp-admin-field > span,
.ofp-admin-checkbox-line {
    color: #475467;
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0.035em;
}

.ofp-admin-field > span {
    text-transform: uppercase;
}

.ofp-admin-field input[type="text"],
.ofp-admin-field input[type="email"],
.ofp-admin-field input[type="search"],
.ofp-admin-field input[type="date"],
.ofp-admin-field select,
.ofp-admin-field textarea,
.ofp-admin-inline-form input,
.ofp-admin-inline-form select {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    color: var(--ofp-admin-ink);
    background: #fff;
    border: 1px solid #cfd4dc;
    border-radius: 9px;
    font: inherit;
    font-size: 0.88rem;
}

.ofp-admin-field textarea {
    min-height: 88px;
    resize: vertical;
}

.ofp-admin-field input:focus,
.ofp-admin-field select:focus,
.ofp-admin-field textarea:focus,
.ofp-admin-inline-form input:focus,
.ofp-admin-inline-form select:focus {
    outline: 3px solid rgba(244, 115, 33, 0.18);
    border-color: var(--ofp-admin-brand);
}

.ofp-admin-filter-actions,
.ofp-admin-form-actions,
.ofp-admin-inline-form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ofp-admin-form-actions {
    justify-content: flex-end;
    margin-top: 18px;
}

.ofp-admin-button--small {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 0.84rem;
}

.ofp-admin-button--danger {
    color: #fff;
    background: var(--ofp-admin-danger);
    border-color: var(--ofp-admin-danger);
}

.ofp-admin-button--danger:hover,
.ofp-admin-button--danger:focus-visible {
    color: #fff;
    background: #8f1710;
}

.ofp-admin-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.ofp-admin-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--ofp-admin-ink);
    font-size: 0.84rem;
}

.ofp-admin-table th,
.ofp-admin-table td {
    padding: 13px 14px;
    border-bottom: 1px solid var(--ofp-admin-line);
    text-align: left;
    vertical-align: middle;
}

.ofp-admin-table th {
    color: #475467;
    background: #f9fafb;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.ofp-admin-table tr:last-child td {
    border-bottom: 0;
}

.ofp-admin-table td small,
.ofp-admin-person-link + small,
.ofp-admin-contact-cell small,
.ofp-admin-table td > small {
    display: block;
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.ofp-admin-person-link {
    color: var(--ofp-admin-ink);
    font-size: 0.91rem;
    font-weight: 850;
    text-decoration: none;
}

.ofp-admin-person-link:hover,
.ofp-admin-person-link:focus-visible,
.ofp-admin-table a:hover,
.ofp-admin-table a:focus-visible {
    color: var(--ofp-admin-brand-dark);
}

.ofp-admin-contact-cell strong {
    display: block;
    overflow-wrap: anywhere;
    font-size: 0.84rem;
}

.ofp-admin-badge-stack,
.ofp-admin-profile-status {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.ofp-admin-profile-status {
    margin: -8px 0 16px;
}

.ofp-admin-muted-text {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 18px 0 0;
}

.ofp-admin-pagination a {
    display: grid;
    place-items: center;
    min-width: 36px;
    min-height: 36px;
    color: #475467;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 800;
}

.ofp-admin-pagination a.is-current {
    color: #fff;
    background: #30353c;
    border-color: #30353c;
}

.ofp-admin-identity-grid,
.ofp-admin-identity-profile-grid,
.ofp-admin-relationship-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.ofp-admin-identity-grid > :first-child {
    grid-column: 1 / -1;
}

.ofp-admin-identity-group {
    display: grid;
    grid-template-columns: minmax(170px, 0.7fr) minmax(0, 1.3fr);
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-identity-group:first-child {
    padding-top: 0;
}

.ofp-admin-identity-group:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.ofp-admin-identity-group strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--ofp-admin-ink);
}

.ofp-admin-identity-group__people {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ofp-admin-identity-group__people a {
    min-width: 150px;
    padding: 9px 10px;
    color: var(--ofp-admin-ink);
    background: var(--ofp-admin-soft);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
    text-decoration: none;
    font-weight: 800;
}

.ofp-admin-identity-group__people small {
    display: block;
    margin-top: 2px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 650;
}

.ofp-admin-form-card .ofp-admin-card__body {
    color: var(--ofp-admin-ink);
}

.ofp-admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 14px;
}

.ofp-admin-toggle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.ofp-admin-toggle-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 92px;
    padding: 14px;
    color: var(--ofp-admin-ink);
    background: var(--ofp-admin-soft);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
    cursor: pointer;
}

.ofp-admin-toggle-card input {
    width: 19px;
    height: 19px;
    margin: 2px 0 0;
    accent-color: var(--ofp-admin-brand);
}

.ofp-admin-toggle-card strong,
.ofp-admin-toggle-card small {
    display: block;
}

.ofp-admin-toggle-card small {
    margin-top: 4px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.ofp-admin-checkbox-line {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
}

.ofp-admin-checkbox-line input {
    width: 18px;
    height: 18px;
    accent-color: var(--ofp-admin-brand);
}

.ofp-admin-detail-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.ofp-admin-detail-list > div {
    display: grid;
    grid-template-columns: minmax(120px, 0.65fr) minmax(0, 1.35fr);
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-detail-list > div:last-child {
    border-bottom: 0;
}

.ofp-admin-detail-list dt {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 850;
    text-transform: uppercase;
}

.ofp-admin-detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--ofp-admin-ink);
    font-size: 0.84rem;
    font-weight: 700;
}

.ofp-admin-record-counts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 15px;
}

.ofp-admin-record-counts > div {
    padding: 13px;
    text-align: center;
    background: var(--ofp-admin-soft);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
}

.ofp-admin-record-counts strong,
.ofp-admin-record-counts span {
    display: block;
}

.ofp-admin-record-counts strong {
    font-size: 1.45rem;
    line-height: 1;
}

.ofp-admin-record-counts span {
    margin-top: 5px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-identifier-list {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.ofp-admin-identifier {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 11px;
    background: var(--ofp-admin-soft);
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
}

.ofp-admin-identifier strong,
.ofp-admin-identifier span {
    display: block;
}

.ofp-admin-identifier strong {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    text-transform: uppercase;
}

.ofp-admin-identifier span {
    overflow-wrap: anywhere;
    color: var(--ofp-admin-ink);
    font-size: 0.84rem;
    font-weight: 750;
}

.ofp-admin-text-button {
    padding: 4px;
    color: var(--ofp-admin-danger);
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-stacked-form {
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-danger-zone {
    margin-top: 18px;
    border-color: #f3b7b2;
}

.ofp-admin-danger-zone .ofp-admin-card__header {
    background: #fff6f5;
    border-radius: 14px 14px 0 0;
}

.ofp-admin-inline-form {
    min-width: 390px;
}

.ofp-admin-inline-form select {
    min-width: 180px;
}

.ofp-admin-inline-form input {
    min-width: 110px;
}

.ofp-admin-relationship-lead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 13px;
    background: #effaf4;
    border: 1px solid #b7e3ca;
    border-radius: 10px;
}

.ofp-admin-relationship-lead strong,
.ofp-admin-relationship-lead span {
    display: block;
}

.ofp-admin-relationship-lead span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-timeline,
.ofp-admin-audit-timeline {
    display: grid;
}

.ofp-admin-timeline article,
.ofp-admin-audit-timeline article {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-timeline article:last-child,
.ofp-admin-audit-timeline article:last-child {
    border-bottom: 0;
}

.ofp-admin-timeline article > span,
.ofp-admin-audit-timeline__date {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 750;
}

.ofp-admin-timeline p,
.ofp-admin-audit-timeline p {
    margin: 4px 0 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

@media (max-width: 1320px) {
    .ofp-admin-people-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ofp-admin-people-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-people-filters__search {
        grid-column: 1 / -1;
    }

    .ofp-admin-people-filters .ofp-admin-filter-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 980px) {
    .ofp-admin-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ofp-admin-identity-grid,
    .ofp-admin-identity-profile-grid,
    .ofp-admin-relationship-grid,
    .ofp-admin-toggle-grid {
        grid-template-columns: 1fr;
    }

    .ofp-admin-identity-grid > :first-child {
        grid-column: auto;
    }

    .ofp-admin-record-counts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ofp-admin-inline-form {
        align-items: stretch;
        flex-direction: column;
        min-width: 220px;
    }
}

@media (max-width: 680px) {
    .ofp-admin-people-metrics,
    .ofp-admin-filter-bar,
    .ofp-admin-people-filters,
    .ofp-admin-form-grid,
    .ofp-admin-record-counts,
    .ofp-admin-detail-list > div,
    .ofp-admin-identity-group,
    .ofp-admin-timeline article,
    .ofp-admin-audit-timeline article {
        grid-template-columns: 1fr;
    }

    .ofp-admin-people-filters__search {
        grid-column: auto;
    }

    .ofp-admin-filter-actions,
    .ofp-admin-form-actions,
    .ofp-admin-page-header__actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .ofp-admin-filter-actions .ofp-admin-button,
    .ofp-admin-form-actions .ofp-admin-button,
    .ofp-admin-page-header__actions .ofp-admin-button {
        width: 100%;
    }

    .ofp-admin-subnav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-subnav a {
        text-align: center;
    }
}

.ofp-admin-admin-access-form {
    display: grid;
    gap: 10px;
    min-width: 330px;
}

.ofp-admin-preset-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(145px, 1fr));
    gap: 6px 10px;
}

.ofp-admin-preset-options label {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    min-width: 0;
    color: #344054;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.3;
}

.ofp-admin-preset-options input {
    flex: 0 0 auto;
    margin-top: 2px;
}

.ofp-admin-admin-access-form__actions {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.ofp-admin-admin-access-form__actions input {
    width: 100%;
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid #cfd4dc;
    border-radius: 8px;
    font: inherit;
    font-size: 0.84rem;
}

@media (max-width: 860px) {
    .ofp-admin-admin-access-form {
        min-width: 270px;
    }

    .ofp-admin-preset-options,
    .ofp-admin-admin-access-form__actions {
        grid-template-columns: 1fr;
    }
}

/* Phase 4: Games and Assignment Administration */
.ofp-admin-games-filters {
    grid-template-columns: minmax(260px, 2fr) repeat(4, minmax(145px, 1fr)) auto;
}

.ofp-admin-games-filters__search {
    min-width: 260px;
}

.ofp-admin-games-table td {
    vertical-align: top;
}

.ofp-admin-games-table td > strong,
.ofp-admin-games-table td > small {
    display: block;
}

.ofp-admin-games-table td > small {
    margin-top: 3px;
    color: var(--ofp-admin-muted);
}

.ofp-admin-form-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ofp-admin-field-help {
    margin: 10px 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.ofp-admin-assignment-list {
    display: grid;
    gap: 10px;
}

.ofp-admin-assignment-row {
    padding: 14px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
    background: #fff;
}

.ofp-admin-assignment-row__summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.ofp-admin-assignment-row__summary strong {
    min-width: 145px;
}

.ofp-admin-assignment-row__summary span:not(.ofp-admin-badge) {
    font-weight: 700;
}

.ofp-admin-assignment-row__summary small {
    color: var(--ofp-admin-muted);
}

.ofp-admin-assignment-row details,
.ofp-admin-add-assignment {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-assignment-row summary,
.ofp-admin-add-assignment summary {
    cursor: pointer;
    color: var(--ofp-admin-accent);
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-inline-danger-form {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed #e8aaa4;
}

.ofp-admin-inline-danger-form .ofp-admin-field,
.ofp-admin-inline-danger-form input[type="text"] {
    flex: 1 1 auto;
}

.ofp-admin-linked-records {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.ofp-admin-linked-records article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: #fbfcfd;
}

.ofp-admin-access-table td {
    min-width: 190px;
    vertical-align: top;
}

.ofp-admin-access-table td:first-child {
    min-width: 230px;
}

@media (max-width: 1280px) {
    .ofp-admin-games-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-games-filters__search {
        grid-column: 1 / -1;
    }

    .ofp-admin-games-filters .ofp-admin-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .ofp-admin-linked-records {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .ofp-admin-games-filters,
    .ofp-admin-form-grid--three,
    .ofp-admin-linked-records {
        grid-template-columns: 1fr;
    }

    .ofp-admin-games-filters__search,
    .ofp-admin-games-filters .ofp-admin-filter-actions {
        grid-column: auto;
    }

    .ofp-admin-inline-danger-form,
    .ofp-admin-assignment-row__summary {
        align-items: stretch;
        flex-direction: column;
    }

    .ofp-admin-assignment-row__summary strong {
        min-width: 0;
    }
}

/* Phase 5: Attendance and Meeting Administration */
.ofp-admin-card-link {
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 850;
    text-decoration: none;
}

.ofp-admin-attendance-filters {
    grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(145px, 1fr)) auto;
}

.ofp-admin-attendance-filters__search {
    min-width: 260px;
}

.ofp-admin-attendance-meetings-table td {
    vertical-align: top;
}

.ofp-admin-attendance-meetings-table td > strong,
.ofp-admin-attendance-meetings-table td > small {
    display: block;
}

.ofp-admin-attendance-meetings-table td > small {
    margin-top: 4px;
    color: var(--ofp-admin-muted);
}

.ofp-admin-meeting-status-line,
.ofp-admin-attendance-entry__badges,
.ofp-admin-evidence-links,
.ofp-admin-compact-list__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.ofp-admin-meeting-status-line {
    margin: -8px 0 20px;
}

.ofp-admin-fieldset {
    margin: 0;
    padding: 16px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
}

.ofp-admin-fieldset legend {
    padding: 0 7px;
    color: #344054;
    font-size: 0.84rem;
    font-weight: 850;
}

.ofp-admin-radio-row,
.ofp-admin-toggle {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    color: #344054;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: #fbfcfd;
}

.ofp-admin-radio-row + .ofp-admin-radio-row {
    margin-top: 8px;
}

.ofp-admin-radio-row input,
.ofp-admin-toggle input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.ofp-admin-radio-row strong,
.ofp-admin-radio-row small,
.ofp-admin-toggle strong,
.ofp-admin-toggle small {
    display: block;
}

.ofp-admin-radio-row small,
.ofp-admin-toggle small {
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.4;
}

.ofp-admin-status-actions {
    display: grid;
    gap: 10px;
}

.ofp-admin-status-action {
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) minmax(220px, 1fr) auto;
    align-items: end;
    gap: 12px;
    padding: 13px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
    background: #fbfcfd;
}

.ofp-admin-status-action > div strong,
.ofp-admin-status-action > div span {
    display: block;
}

.ofp-admin-status-action > div span {
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.4;
}

.ofp-admin-attendance-entry-list,
.ofp-admin-reconciliation-list,
.ofp-admin-document-list,
.ofp-admin-submission-list {
    display: grid;
    gap: 12px;
}

.ofp-admin-attendance-entry {
    padding: 15px 17px;
    border-bottom: 1px solid var(--ofp-admin-line);
    background: #fff;
    scroll-margin-top: 24px;
}

.ofp-admin-attendance-entry:last-child {
    border-bottom: 0;
}

.ofp-admin-attendance-entry.is-focused {
    background: #fff8f2;
    box-shadow: inset 5px 0 0 var(--ofp-admin-brand);
}

.ofp-admin-attendance-entry__summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.ofp-admin-attendance-entry__summary strong,
.ofp-admin-attendance-entry__summary span {
    display: block;
}

.ofp-admin-attendance-entry__summary span {
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-entry-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0 0;
}

.ofp-admin-entry-facts > div {
    min-width: 0;
    padding: 9px 10px;
    border-radius: 8px;
    background: var(--ofp-admin-soft);
}

.ofp-admin-entry-facts dt,
.ofp-admin-entry-facts dd {
    margin: 0;
}

.ofp-admin-entry-facts dt {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.ofp-admin-entry-facts dd {
    margin-top: 3px;
    color: #344054;
    font-size: 0.84rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.ofp-admin-attendance-entry details {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-attendance-entry summary {
    cursor: pointer;
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 850;
}

.ofp-admin-evidence-links {
    margin-top: 12px;
}

.ofp-admin-evidence-links span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-attendance-add-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.ofp-admin-attendance-add-grid > form {
    align-content: start;
    padding: 14px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
    background: #fbfcfd;
}

.ofp-admin-attendance-add-grid h3,
.ofp-admin-document-upload h3,
.ofp-admin-card__body > h3 {
    margin: 0 0 10px;
    color: var(--ofp-admin-ink);
    font-size: 0.92rem;
}

.ofp-admin-attendance-bulk-form p {
    margin: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-document-list article {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 13px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: #fbfcfd;
}

.ofp-admin-document-list article > div:first-child strong,
.ofp-admin-document-list article > div:first-child span,
.ofp-admin-document-versions span {
    display: block;
}

.ofp-admin-document-list article > div:first-child span,
.ofp-admin-document-versions span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-document-versions {
    display: grid;
    gap: 4px;
    min-width: 250px;
    text-align: right;
}

.ofp-admin-document-upload {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-submission-list {
    margin-bottom: 20px;
}

.ofp-admin-submission-list article {
    display: grid;
    grid-template-columns: minmax(130px, 0.5fr) minmax(220px, 1.25fr) minmax(180px, 0.8fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-submission-list article span,
.ofp-admin-submission-list article small {
    color: var(--ofp-admin-muted);
}

.ofp-admin-reconciliation-card {
    padding: 18px;
    border: 1px solid var(--ofp-admin-line);
    border-left: 5px solid #d98b16;
    border-radius: 12px;
    background: #fff;
}

.ofp-admin-reconciliation-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.ofp-admin-reconciliation-card h2,
.ofp-admin-reconciliation-card p {
    margin-top: 0;
}

.ofp-admin-reconciliation-card h2 {
    margin-bottom: 5px;
    font-size: 1.15rem;
}

.ofp-admin-reconciliation-card header p:last-child {
    margin-bottom: 0;
    color: var(--ofp-admin-muted);
}

.ofp-admin-section-heading {
    margin: 4px 0 16px;
    font-size: 1.3rem;
}

.ofp-admin-attendance-subnav .is-active {
    color: #fff;
    background: var(--ofp-admin-brand-dark);
    border-color: var(--ofp-admin-brand-dark);
}

/* Responsive Admin shell based on the available portal container, not only viewport width. */
.ofp-admin-portal {
    container-name: ofp-admin-shell;
    container-type: inline-size;
}

.ofp-admin-main {
    container-name: ofp-admin-content;
    container-type: inline-size;
}

.ofp-admin-member-link {
    white-space: nowrap;
}

.ofp-portal-admin-page .entry-header > .entry-title,
.ofp-portal-admin-page .wp-block-post-title {
    display: none;
}

@container ofp-admin-shell (max-width: 1180px) {
    .ofp-admin-nav-toggle {
        display: inline-grid;
        place-items: center;
    }

    .ofp-admin-layout {
        display: block;
        position: relative;
    }

    .ofp-admin-sidebar {
        position: absolute;
        inset: 0 auto 0 0;
        z-index: 40;
        width: min(280px, 88cqw);
        min-height: 100%;
        transform: translateX(-105%);
        transition: transform 180ms ease;
        box-shadow: 16px 0 34px rgba(16, 24, 40, 0.24);
    }

    .ofp-admin-portal.is-nav-open .ofp-admin-sidebar {
        transform: translateX(0);
    }

    .ofp-admin-main {
        position: relative;
        min-height: 680px;
    }

    .ofp-admin-portal.is-nav-open .ofp-admin-main::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 30;
        background: rgba(16, 24, 40, 0.38);
    }
}

@container ofp-admin-shell (max-width: 820px) {
    .ofp-admin-topbar {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px 16px;
        padding: 12px 14px;
    }

    .ofp-admin-topbar__actions {
        justify-content: flex-end;
        flex: 1 1 460px;
        gap: 8px;
    }

    .ofp-admin-member-link {
        min-height: 38px;
        padding-inline: 7px;
    }

    .ofp-admin-season-control select {
        max-width: 190px;
    }

    .ofp-admin-user-chip__name {
        max-width: 120px;
    }
}

@container ofp-admin-shell (max-width: 610px) {
    .ofp-admin-topbar__actions {
        align-items: flex-end;
        flex-direction: column-reverse;
        flex-basis: auto;
    }

    .ofp-admin-member-link,
    .ofp-admin-user-chip__name,
    .ofp-admin-season-control > span {
        display: none;
    }

    .ofp-admin-main {
        padding: 20px 13px 28px;
    }
}

@container ofp-admin-content (max-width: 1020px) {
    .ofp-admin-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ofp-admin-dashboard-grid,
    .ofp-admin-card-grid {
        grid-template-columns: 1fr;
    }

    .ofp-admin-queue-filters,
    .ofp-admin-attendance-filters,
    .ofp-admin-games-filters,
    .ofp-admin-people-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-queue-filters__search,
    .ofp-admin-attendance-filters__search,
    .ofp-admin-games-filters__search,
    .ofp-admin-people-filters__search,
    .ofp-admin-attendance-filters .ofp-admin-filter-actions,
    .ofp-admin-games-filters .ofp-admin-filter-actions {
        grid-column: 1 / -1;
    }

    .ofp-admin-attendance-add-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-attendance-bulk-form {
        grid-column: 1 / -1;
    }

    .ofp-admin-status-action {
        grid-template-columns: minmax(200px, 1fr) minmax(220px, 1fr);
    }

    .ofp-admin-status-action .ofp-admin-button {
        grid-column: 2;
        justify-self: start;
    }

    .ofp-admin-entry-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container ofp-admin-content (max-width: 720px) {
    .ofp-admin-page-header,
    .ofp-admin-attendance-entry__summary,
    .ofp-admin-document-list article,
    .ofp-admin-reconciliation-card > header {
        align-items: stretch;
        flex-direction: column;
    }

    .ofp-admin-metric-grid,
    .ofp-admin-queue-filters,
    .ofp-admin-attendance-filters,
    .ofp-admin-games-filters,
    .ofp-admin-people-filters,
    .ofp-admin-form-grid,
    .ofp-admin-form-grid--three,
    .ofp-admin-attendance-add-grid,
    .ofp-admin-status-action,
    .ofp-admin-entry-facts,
    .ofp-admin-submission-list {
        grid-template-columns: 1fr;
    }

    .ofp-admin-queue-filters__search,
    .ofp-admin-attendance-filters__search,
    .ofp-admin-games-filters__search,
    .ofp-admin-people-filters__search,
    .ofp-admin-attendance-filters .ofp-admin-filter-actions,
    .ofp-admin-games-filters .ofp-admin-filter-actions,
    .ofp-admin-attendance-bulk-form,
    .ofp-admin-status-action .ofp-admin-button {
        grid-column: auto;
    }

    .ofp-admin-status-action .ofp-admin-button {
        justify-self: stretch;
    }

    .ofp-admin-document-versions {
        min-width: 0;
        text-align: left;
    }

    .ofp-admin-page-header__actions,
    .ofp-admin-filter-actions,
    .ofp-admin-form-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .ofp-admin-page-header__actions .ofp-admin-button,
    .ofp-admin-filter-actions .ofp-admin-button,
    .ofp-admin-form-actions .ofp-admin-button {
        width: 100%;
    }

    .ofp-admin-subnav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container ofp-admin-content (max-width: 440px) {
    .ofp-admin-metric-grid,
    .ofp-admin-subnav {
        grid-template-columns: 1fr;
    }
}

/* Phase 6: Reports and Compliance */
.ofp-admin-field input[type="datetime-local"] {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    color: var(--ofp-admin-ink);
    background: #fff;
    border: 1px solid #cfd4dc;
    border-radius: 9px;
    font: inherit;
    font-size: 0.88rem;
}

.ofp-admin-field input[type="datetime-local"]:focus {
    outline: 3px solid rgba(244, 115, 33, 0.18);
    border-color: var(--ofp-admin-brand);
}

.ofp-admin-reports-filters {
    grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(145px, 1fr)) minmax(150px, auto) auto;
}

.ofp-admin-reports-filters__search {
    min-width: 260px;
}

.ofp-admin-checkbox-field {
    display: flex !important;
    align-items: center;
    align-self: stretch;
    flex-direction: row !important;
    gap: 8px !important;
    min-height: 42px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid #cfd4dc;
    border-radius: 9px;
}

.ofp-admin-checkbox-field input {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
}

.ofp-admin-checkbox-field span {
    color: var(--ofp-admin-ink) !important;
    font-size: 0.84rem !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.ofp-admin-compliance-list {
    display: grid;
    gap: 14px;
}

.ofp-admin-compliance-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 13px;
    box-shadow: 0 3px 12px rgba(16, 24, 40, 0.035);
}

.ofp-admin-compliance-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #98a2b3;
}

.ofp-admin-compliance-card--info::before { background: #2878c8; }
.ofp-admin-compliance-card--success::before { background: var(--ofp-admin-success); }
.ofp-admin-compliance-card--warning::before { background: #d98b16; }
.ofp-admin-compliance-card--danger::before { background: var(--ofp-admin-danger); }

.ofp-admin-compliance-card.is-selected {
    outline: 3px solid rgba(244, 115, 33, 0.2);
    border-color: #ed8c4e;
}

.ofp-admin-compliance-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 18px 15px 22px;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compliance-card__header > div {
    min-width: 0;
}

.ofp-admin-compliance-card__header h3 {
    margin: 8px 0 4px;
    color: var(--ofp-admin-ink);
    font-size: 1.03rem;
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.ofp-admin-compliance-card__header p {
    margin: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.ofp-admin-compliance-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0 18px 0 22px;
}

.ofp-admin-compliance-facts > div {
    min-width: 0;
    padding: 14px 15px 14px 0;
}

.ofp-admin-compliance-facts > div + div {
    padding-left: 15px;
    border-left: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compliance-facts dt {
    margin-bottom: 4px;
    color: #667085;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.ofp-admin-compliance-facts dd {
    margin: 0;
    min-width: 0;
}

.ofp-admin-compliance-facts strong,
.ofp-admin-compliance-facts span {
    display: block;
    overflow-wrap: anywhere;
}

.ofp-admin-compliance-facts strong {
    color: var(--ofp-admin-ink);
    font-size: 0.84rem;
    line-height: 1.35;
}

.ofp-admin-compliance-facts span {
    margin-top: 2px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.ofp-admin-compliance-override-summary {
    margin: 0 18px 14px 22px;
    padding: 12px 13px;
    background: #f2f7fc;
    border: 1px solid #c9ddef;
    border-radius: 9px;
}

.ofp-admin-compliance-override-summary strong {
    color: #245f93;
    font-size: 0.84rem;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.ofp-admin-compliance-override-summary p {
    margin: 5px 0 0;
    color: #344054;
    font-size: 0.84rem;
    line-height: 1.45;
}

.ofp-admin-compliance-override-summary p span {
    font-weight: 850;
}

.ofp-admin-compliance-actions {
    display: grid;
    gap: 9px;
    padding: 13px 18px 15px 22px;
    background: #fbfcfd;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compliance-details {
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
    background: #fff;
}

.ofp-admin-compliance-details--warning {
    border-color: #efc98e;
}

.ofp-admin-compliance-details > summary {
    cursor: pointer;
    padding: 11px 13px;
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 850;
    list-style-position: inside;
}

.ofp-admin-compliance-details--warning > summary {
    color: #9b5c08;
}

.ofp-admin-compliance-details__body {
    padding: 14px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compliance-details__body > p:first-child {
    margin-top: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-compliance-details .ofp-admin-inline-danger-form {
    margin-bottom: 0;
}

@container ofp-admin-content (max-width: 1180px) {
    .ofp-admin-reports-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-reports-filters__search,
    .ofp-admin-reports-filters .ofp-admin-filter-actions {
        grid-column: 1 / -1;
    }

    .ofp-admin-compliance-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-compliance-facts > div:nth-child(3) {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid var(--ofp-admin-line);
    }

    .ofp-admin-compliance-facts > div:nth-child(4) {
        border-top: 1px solid var(--ofp-admin-line);
    }
}

@container ofp-admin-content (max-width: 720px) {
    .ofp-admin-reports-filters,
    .ofp-admin-compliance-facts {
        grid-template-columns: 1fr;
    }

    .ofp-admin-reports-filters__search,
    .ofp-admin-reports-filters .ofp-admin-filter-actions {
        grid-column: auto;
    }

    .ofp-admin-compliance-card__header {
        align-items: stretch;
        flex-direction: column;
    }

    .ofp-admin-compliance-card__header .ofp-admin-button {
        width: 100%;
    }

    .ofp-admin-compliance-facts > div,
    .ofp-admin-compliance-facts > div + div,
    .ofp-admin-compliance-facts > div:nth-child(3),
    .ofp-admin-compliance-facts > div:nth-child(4) {
        padding: 12px 0;
        border-left: 0;
        border-top: 1px solid var(--ofp-admin-line);
    }

    .ofp-admin-compliance-facts > div:first-child {
        border-top: 0;
    }

    .ofp-admin-compliance-details .ofp-admin-inline-danger-form {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Phase 7 — Observation, film-review, feedback, and sync-conflict management. */
.ofp-admin-review-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    padding: 7px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
}

.ofp-admin-review-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 13px;
    color: #475467;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 850;
}

.ofp-admin-review-tabs a:hover,
.ofp-admin-review-tabs a:focus-visible {
    color: var(--ofp-admin-brand-dark);
    background: #fff4ec;
}

.ofp-admin-review-tabs a.is-active {
    color: #fff;
    background: var(--ofp-admin-ink);
}

.ofp-admin-review-metrics,
.ofp-admin-review-detail-metrics {
    margin-bottom: 18px;
}

.ofp-admin-review-filters {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(150px, 1fr));
    gap: 12px;
    align-items: end;
    margin-bottom: 18px;
}

.ofp-admin-review-filter-search {
    min-width: 0;
}

.ofp-admin-review-list,
.ofp-admin-review-comment-list,
.ofp-admin-observation-note-list,
.ofp-admin-conflict-list {
    display: grid;
    gap: 12px;
}

.ofp-admin-review-row {
    display: grid;
    grid-template-columns: minmax(260px, 1.5fr) minmax(300px, 1fr) auto;
    align-items: center;
    gap: 18px;
    min-width: 0;
    padding: 16px 17px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(16, 24, 40, 0.035);
}

.ofp-admin-review-row__main {
    min-width: 0;
}

.ofp-admin-review-row__main h3 {
    margin: 7px 0 3px;
    color: var(--ofp-admin-ink);
    font-size: 1rem;
    line-height: 1.3;
}

.ofp-admin-review-row__main p {
    margin: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.ofp-admin-review-row__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    margin: 0;
}

.ofp-admin-review-row__facts > div {
    min-width: 0;
    padding: 0 12px;
    border-left: 1px solid var(--ofp-admin-line);
}

.ofp-admin-review-row__facts dt {
    margin: 0 0 4px;
    color: #667085;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.ofp-admin-review-row__facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #344054;
    font-size: 0.84rem;
    font-weight: 760;
    line-height: 1.35;
}

.ofp-admin-review-narrative {
    padding: 16px;
    background: #fafbfc;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
}

.ofp-admin-review-narrative h3,
.ofp-admin-review-position-grid h3,
.ofp-admin-section-heading {
    margin: 0 0 8px;
    color: var(--ofp-admin-ink);
    font-size: 0.9rem;
    line-height: 1.3;
}

.ofp-admin-review-narrative p,
.ofp-admin-review-position-grid p {
    margin: 0;
    color: #344054;
    font-size: 0.84rem;
    line-height: 1.62;
}

.ofp-admin-review-position-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.ofp-admin-review-position-grid article {
    min-width: 0;
    padding: 15px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
}

.ofp-admin-section-heading {
    margin-top: 22px;
}

.ofp-admin-muted {
    color: var(--ofp-admin-muted) !important;
}

.ofp-admin-review-comment,
.ofp-admin-observation-note {
    min-width: 0;
    padding: 15px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
}

.ofp-admin-review-comment > header,
.ofp-admin-observation-note > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.ofp-admin-review-comment > header > div:first-child,
.ofp-admin-observation-note > header > div:first-child {
    min-width: 0;
}

.ofp-admin-review-comment strong,
.ofp-admin-review-comment span,
.ofp-admin-observation-note strong,
.ofp-admin-observation-note span {
    display: block;
}

.ofp-admin-review-comment strong,
.ofp-admin-observation-note strong {
    color: var(--ofp-admin-ink);
    font-size: 0.84rem;
}

.ofp-admin-review-comment header span,
.ofp-admin-observation-note header span {
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.ofp-admin-review-comment > p,
.ofp-admin-observation-note > p {
    margin: 12px 0 0;
    color: #344054;
    font-size: 0.84rem;
    line-height: 1.58;
}

.ofp-admin-observation-note.is-deleted {
    opacity: 0.72;
    background: #f8f9fb;
    border-style: dashed;
}

.ofp-admin-compact-list,
.ofp-admin-timeline {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ofp-admin-compact-list li,
.ofp-admin-timeline li {
    min-width: 0;
    padding: 10px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compact-list li:last-child,
.ofp-admin-timeline li:last-child {
    border-bottom: 0;
}

.ofp-admin-compact-list strong,
.ofp-admin-compact-list span,
.ofp-admin-timeline strong,
.ofp-admin-timeline span {
    display: block;
    overflow-wrap: anywhere;
}

.ofp-admin-compact-list strong,
.ofp-admin-timeline strong {
    color: var(--ofp-admin-ink);
    font-size: 0.84rem;
}

.ofp-admin-compact-list span,
.ofp-admin-timeline span {
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    line-height: 1.4;
}

.ofp-admin-inline-form {
    display: flex;
    align-items: end;
    gap: 10px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-inline-form label {
    display: grid;
    gap: 5px;
    min-width: 150px;
}

.ofp-admin-inline-form label > span {
    color: #667085;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.ofp-admin-inline-form select,
.ofp-admin-inline-form input {
    width: 100%;
    min-height: 39px;
    padding: 7px 10px;
    color: var(--ofp-admin-ink);
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
}

.ofp-admin-inline-form__grow {
    flex: 1 1 260px;
}

.ofp-admin-conflict-card {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 13px;
    box-shadow: 0 4px 14px rgba(16, 24, 40, 0.045);
}

.ofp-admin-conflict-card.is-selected {
    outline: 3px solid rgba(244, 115, 33, 0.22);
    border-color: #ee955d;
}

.ofp-admin-conflict-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 18px;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-conflict-card > header h3 {
    margin: 8px 0 4px;
    color: var(--ofp-admin-ink);
    font-size: 1rem;
}

.ofp-admin-conflict-card > header p {
    margin: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-conflict-version {
    display: grid;
    gap: 3px;
    flex: 0 0 auto;
    min-width: 125px;
    text-align: right;
}

.ofp-admin-conflict-version span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-conflict-version strong {
    color: var(--ofp-admin-danger);
    font-size: 0.84rem;
}

.ofp-admin-conflict-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.ofp-admin-conflict-compare section {
    min-width: 0;
    padding: 16px 18px;
}

.ofp-admin-conflict-compare section + section {
    border-left: 1px solid var(--ofp-admin-line);
}

.ofp-admin-conflict-compare h4 {
    margin: 0 0 9px;
    color: #475467;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ofp-admin-conflict-compare pre {
    max-height: 340px;
    margin: 0;
    padding: 13px;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    color: #344054;
    background: #f8f9fb;
    border: 1px solid #eaecf0;
    border-radius: 8px;
    font: 0.76rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ofp-admin-conflict-form,
.ofp-admin-conflict-resolution {
    padding: 16px 18px 18px;
    background: #fbfcfd;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-conflict-form {
    display: grid;
    gap: 13px;
}

.ofp-admin-conflict-form fieldset {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 0;
    padding: 12px 13px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
}

.ofp-admin-conflict-form legend {
    padding: 0 5px;
    color: #475467;
    font-size: 0.84rem;
    font-weight: 900;
    text-transform: uppercase;
}

.ofp-admin-conflict-form fieldset label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #344054;
    font-size: 0.84rem;
    font-weight: 720;
}

.ofp-admin-conflict-form input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
}

.ofp-admin-conflict-resolution strong,
.ofp-admin-conflict-resolution span {
    display: block;
}

.ofp-admin-conflict-resolution p {
    margin: 5px 0;
    color: #344054;
    font-size: 0.84rem;
}

.ofp-admin-conflict-resolution span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

@container ofp-admin-content (max-width: 1180px) {
    .ofp-admin-review-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-review-filter-search,
    .ofp-admin-review-filters .ofp-admin-filter-actions {
        grid-column: 1 / -1;
    }

    .ofp-admin-review-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ofp-admin-review-row__facts {
        grid-column: 1 / -1;
        grid-row: 2;
        padding-top: 13px;
        border-top: 1px solid var(--ofp-admin-line);
    }
}

@container ofp-admin-content (max-width: 760px) {
    .ofp-admin-review-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-review-tabs a {
        justify-content: center;
        text-align: center;
    }

    .ofp-admin-review-filters,
    .ofp-admin-review-position-grid,
    .ofp-admin-conflict-compare {
        grid-template-columns: 1fr;
    }

    .ofp-admin-review-filter-search,
    .ofp-admin-review-filters .ofp-admin-filter-actions {
        grid-column: auto;
    }

    .ofp-admin-review-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .ofp-admin-review-row__facts {
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: 1fr;
        padding-top: 0;
        border-top: 0;
    }

    .ofp-admin-review-row__facts > div {
        padding: 10px 0;
        border-left: 0;
        border-top: 1px solid var(--ofp-admin-line);
    }

    .ofp-admin-review-row .ofp-admin-button {
        width: 100%;
    }

    .ofp-admin-review-comment > header,
    .ofp-admin-observation-note > header,
    .ofp-admin-conflict-card > header {
        flex-direction: column;
    }

    .ofp-admin-inline-form {
        align-items: stretch;
        flex-direction: column;
    }

    .ofp-admin-inline-form label {
        min-width: 0;
    }

    .ofp-admin-conflict-version {
        min-width: 0;
        text-align: left;
    }

    .ofp-admin-conflict-compare section + section {
        border-top: 1px solid var(--ofp-admin-line);
        border-left: 0;
    }

    .ofp-admin-conflict-form fieldset {
        display: grid;
    }
}

@container ofp-admin-content (max-width: 480px) {
    .ofp-admin-review-tabs {
        grid-template-columns: 1fr;
    }
}

/* Phase 8 — Mileage Administration */
.ofp-admin-mileage-tabs {
    overflow-x: auto;
    scrollbar-width: thin;
}

.ofp-admin-mileage-tabs a {
    white-space: nowrap;
}

.ofp-admin-mileage-metrics,
.ofp-admin-mileage-detail-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ofp-admin-mileage-sync,
.ofp-admin-mileage-group-detail,
.ofp-admin-mileage-matrix-detail {
    margin-bottom: 20px;
}

.ofp-admin-mileage-filters,
.ofp-admin-mileage-claim-filters {
    margin: 20px 0;
}

.ofp-admin-mileage-claim-filters {
    grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(145px, 1fr));
}

.ofp-admin-mileage-filter-search {
    grid-column: span 2;
}

.ofp-admin-mileage-group-list,
.ofp-admin-mileage-claim-list,
.ofp-admin-mileage-version-list,
.ofp-admin-mileage-origin-list,
.ofp-admin-mileage-location-list,
.ofp-admin-mileage-issue-list,
.ofp-admin-mileage-route-list {
    display: grid;
    gap: 12px;
    margin: 18px 0 24px;
}

.ofp-admin-mileage-group,
.ofp-admin-mileage-claim-card,
.ofp-admin-mileage-origin,
.ofp-admin-mileage-version,
.ofp-admin-mileage-issue,
.ofp-admin-mileage-route-row {
    min-width: 0;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(16, 24, 40, 0.04);
}

.ofp-admin-mileage-group.is-selected,
.ofp-admin-mileage-version.is-selected {
    border-color: #ee8b4b;
    box-shadow: 0 0 0 3px rgba(244, 115, 33, 0.14);
}

.ofp-admin-mileage-group__main,
.ofp-admin-mileage-claim-card__header,
.ofp-admin-mileage-origin,
.ofp-admin-mileage-route-row,
.ofp-admin-mileage-issue,
.ofp-admin-mileage-select-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.ofp-admin-mileage-group h3,
.ofp-admin-mileage-claim-card h3,
.ofp-admin-mileage-driver-card h3 {
    margin: 4px 0 5px;
    color: var(--ofp-admin-ink);
    font-size: 1rem;
}

.ofp-admin-mileage-group p,
.ofp-admin-mileage-claim-card p {
    margin: 0;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-mileage-group__amount,
.ofp-admin-mileage-claim-card__amount {
    display: grid;
    gap: 2px;
    flex: 0 0 auto;
    text-align: right;
}

.ofp-admin-mileage-group__amount strong,
.ofp-admin-mileage-claim-card__amount strong {
    color: var(--ofp-admin-ink);
    font-size: 1.18rem;
}

.ofp-admin-mileage-group__amount span,
.ofp-admin-mileage-claim-card__amount span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-mileage-status-row,
.ofp-admin-mileage-claim-card__meta,
.ofp-admin-mileage-matrix-actions,
.ofp-admin-check-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin: 14px 0;
}

.ofp-admin-mileage-mini-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    color: #475467;
    background: #f4f6f8;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 750;
}

.ofp-admin-mileage-mini-status strong {
    color: var(--ofp-admin-ink);
}

.ofp-admin-mileage-mini-status--warning {
    color: #8a4b00;
    background: #fff1d6;
}

.ofp-admin-mileage-mini-status--success {
    color: #17603a;
    background: #e7f6ec;
}

.ofp-admin-mileage-mini-status--info {
    color: #14558a;
    background: #eaf4ff;
}

.ofp-admin-mileage-claim-card {
    border-left: 5px solid #98a2b3;
}

.ofp-admin-mileage-claim-card--success {
    border-left-color: #32a56b;
}

.ofp-admin-mileage-claim-card--warning {
    border-left-color: #e39a16;
}

.ofp-admin-mileage-claim-card--danger {
    border-left-color: #d92d20;
}

.ofp-admin-mileage-claim-card--info {
    border-left-color: #2e86de;
}

.ofp-admin-mileage-claim-card__meta > span:not(.ofp-admin-badge) {
    color: #475467;
    font-size: 0.84rem;
}

.ofp-admin-mileage-claim-selection,
.ofp-admin-mileage-policy-table,
.ofp-admin-mileage-site-policy-list,
.ofp-admin-mileage-adjustment-list,
.ofp-admin-mileage-identifier-list {
    display: grid;
    gap: 9px;
}

.ofp-admin-mileage-select-row {
    align-items: center;
    padding: 11px 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
    background: #fbfcfd;
}

.ofp-admin-mileage-select-row > span {
    display: grid;
    gap: 2px;
    flex: 1 1 auto;
}

.ofp-admin-mileage-select-row small {
    color: var(--ofp-admin-muted);
}

.ofp-admin-mileage-driver-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.ofp-admin-mileage-driver-card .ofp-admin-card__header span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-definition-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
}

.ofp-admin-definition-list > div {
    min-width: 0;
    padding: 11px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-definition-list dt {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ofp-admin-definition-list dd {
    margin: 4px 0 0;
    color: var(--ofp-admin-ink);
    overflow-wrap: anywhere;
    font-size: 0.84rem;
    font-weight: 650;
}

.ofp-admin-mileage-adjustment-form,
.ofp-admin-mileage-publish-form,
.ofp-admin-mileage-route-form {
    align-items: end;
}

.ofp-admin-mileage-adjustment-reason,
.ofp-admin-mileage-route-reason {
    grid-column: span 2;
}

.ofp-admin-mileage-version {
    display: grid;
    gap: 5px;
    color: inherit;
    text-decoration: none;
}

.ofp-admin-mileage-version strong {
    color: var(--ofp-admin-ink);
}

.ofp-admin-mileage-version span,
.ofp-admin-mileage-origin span,
.ofp-admin-mileage-route-row small,
.ofp-admin-mileage-issue span {
    display: block;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-mileage-route-row {
    align-items: center;
    padding: 12px 14px;
}

.ofp-admin-mileage-route-row > span {
    display: grid;
    gap: 3px;
    min-width: 0;
    flex: 1 1 auto;
}

.ofp-admin-mileage-route-row > strong {
    flex: 0 0 auto;
}

.ofp-admin-mileage-issue {
    align-items: center;
}

.ofp-admin-mileage-issue--open {
    border-left: 5px solid #e39a16;
}

.ofp-admin-mileage-issue--resolved {
    border-left: 5px solid #32a56b;
}

.ofp-admin-mileage-issue--ignored {
    border-left: 5px solid #98a2b3;
}

.ofp-admin-mileage-issue p {
    margin: 6px 0 0;
    color: #475467;
    font-size: 0.84rem;
}

.ofp-admin-mileage-policy-row,
.ofp-admin-mileage-site-policy {
    display: grid;
    grid-template-columns: minmax(160px, 1.25fr) repeat(2, minmax(150px, 1fr));
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-mileage-site-policy {
    grid-template-columns: minmax(180px, 1.2fr) minmax(150px, .8fr) minmax(180px, 1fr) minmax(220px, 1.4fr);
}

.ofp-admin-mileage-policy-activate {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-mileage-origin {
    align-items: center;
}

.ofp-admin-mileage-origin > div {
    display: grid;
    gap: 3px;
}

.ofp-admin-mileage-identifier-list .ofp-admin-inline-form,
.ofp-admin-mileage-adjustment-list .ofp-admin-inline-form {
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-mileage-adjustment-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-mileage-adjustment-list > div > span {
    display: grid;
    gap: 3px;
}

.ofp-admin-mileage-adjustment-list small {
    color: var(--ofp-admin-muted);
}

.ofp-admin-details {
    margin: 14px 0;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: #fff;
}

.ofp-admin-details > summary {
    padding: 13px 15px;
    cursor: pointer;
    color: var(--ofp-admin-ink);
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-details__body {
    padding: 0 15px 15px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compact-list > div,
.ofp-admin-timeline__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-compact-list > div > span,
.ofp-admin-timeline__item > div {
    display: grid;
    gap: 3px;
}

.ofp-admin-compact-list > div > span,
.ofp-admin-timeline__item span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-timeline__item p {
    max-width: 60%;
    margin: 0;
    color: #475467;
    font-size: 0.84rem;
    text-align: right;
}

@container ofp-admin-content (max-width: 1120px) {
    .ofp-admin-mileage-metrics,
    .ofp-admin-mileage-detail-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-mileage-claim-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-mileage-filter-search {
        grid-column: 1 / -1;
    }

    .ofp-admin-mileage-driver-grid {
        grid-template-columns: 1fr;
    }

    .ofp-admin-mileage-site-policy {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-mileage-site-policy > strong,
    .ofp-admin-mileage-site-policy > .ofp-admin-field:last-child {
        grid-column: 1 / -1;
    }
}

@container ofp-admin-content (max-width: 760px) {
    .ofp-admin-mileage-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
    }

    .ofp-admin-mileage-tabs a {
        justify-content: center;
        text-align: center;
    }

    .ofp-admin-mileage-metrics,
    .ofp-admin-mileage-detail-metrics,
    .ofp-admin-mileage-claim-filters,
    .ofp-admin-definition-list,
    .ofp-admin-mileage-policy-row,
    .ofp-admin-mileage-site-policy {
        grid-template-columns: 1fr;
    }

    .ofp-admin-mileage-filter-search,
    .ofp-admin-mileage-adjustment-reason,
    .ofp-admin-mileage-route-reason,
    .ofp-admin-mileage-site-policy > strong,
    .ofp-admin-mileage-site-policy > .ofp-admin-field:last-child {
        grid-column: auto;
    }

    .ofp-admin-mileage-group__main,
    .ofp-admin-mileage-claim-card__header,
    .ofp-admin-mileage-origin,
    .ofp-admin-mileage-route-row,
    .ofp-admin-mileage-issue,
    .ofp-admin-mileage-select-row,
    .ofp-admin-mileage-adjustment-list > div,
    .ofp-admin-compact-list > div,
    .ofp-admin-timeline__item {
        align-items: stretch;
        flex-direction: column;
    }

    .ofp-admin-mileage-group__amount,
    .ofp-admin-mileage-claim-card__amount {
        text-align: left;
    }

    .ofp-admin-mileage-select-row > a,
    .ofp-admin-mileage-route-row .ofp-admin-inline-form,
    .ofp-admin-mileage-issue .ofp-admin-inline-form {
        width: 100%;
    }

    .ofp-admin-timeline__item p {
        max-width: none;
        text-align: left;
    }
}

@container ofp-admin-content (max-width: 480px) {
    .ofp-admin-mileage-tabs,
    .ofp-admin-mileage-metrics,
    .ofp-admin-mileage-detail-metrics {
        grid-template-columns: 1fr;
    }
}

.ofp-admin-mileage-issue.is-selected {
    outline: 3px solid rgba(245, 115, 32, .32);
    outline-offset: 2px;
}

/* Phase 9: Training and Content workspace */
.ofp-admin-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.ofp-admin-tab { display:inline-flex; align-items:center; min-height:40px; padding:8px 13px; border:1px solid var(--ofp-admin-border); border-radius:999px; background:#fff; color:var(--ofp-admin-text); font-weight:700; text-decoration:none; }
.ofp-admin-tab:hover, .ofp-admin-tab:focus, .ofp-admin-tab.is-active { border-color:var(--ofp-admin-accent); background:var(--ofp-admin-accent-soft); color:var(--ofp-admin-accent-dark); }
.ofp-admin-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin:0 0 18px; }
.ofp-admin-panel { min-width:0; background:#fff; border:1px solid var(--ofp-admin-border); border-radius:14px; padding:18px; box-shadow:0 4px 16px rgba(15,23,42,.05); }
.ofp-admin-panel > h3 { margin:0 0 14px; }
.ofp-admin-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.ofp-admin-panel-heading h3 { margin:0; }
.ofp-admin-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.ofp-admin-stat { min-width:0; border:1px solid var(--ofp-admin-border); border-radius:12px; background:#fff; padding:14px; }
.ofp-admin-stat strong { display:block; font-size:1.55rem; line-height:1.1; }
.ofp-admin-stat span, .ofp-admin-stat small { display:block; margin-top:4px; }
.ofp-admin-stat small { color:var(--ofp-admin-muted); }
.ofp-admin-record { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:13px 0; border-bottom:1px solid var(--ofp-admin-border); }
.ofp-admin-record:last-child { border-bottom:0; }
.ofp-admin-record h4, .ofp-admin-record p { margin:0; }
.ofp-admin-record p { margin-top:4px; color:var(--ofp-admin-muted); }
.ofp-admin-field { display:grid; gap:6px; margin:0 0 12px; font-weight:700; }
.ofp-admin-field input, .ofp-admin-field select, .ofp-admin-field textarea { width:100%; min-width:0; }
.ofp-admin-check { display:flex; align-items:flex-start; gap:8px; margin:10px 0 14px; font-weight:700; }
.ofp-admin-checkbox-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; max-height:320px; overflow:auto; padding:12px 2px; }
.ofp-admin-details { margin:10px 0 14px; }
.ofp-admin-details summary { cursor:pointer; font-weight:800; }
.ofp-admin-inline-form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid var(--ofp-admin-border); }
.ofp-admin-inline-form strong { margin-right:auto; }
@media (max-width: 1050px) { .ofp-admin-split { grid-template-columns:1fr; } .ofp-admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .ofp-admin-stat-grid, .ofp-admin-checkbox-grid { grid-template-columns:1fr; } .ofp-admin-panel { padding:14px; } .ofp-admin-record { flex-direction:column; } }

/* Phase 10: Audit, archive, data tools, and system operations */
.ofp-admin-data-tabs { margin-bottom: 20px; }
.ofp-admin-data-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ofp-admin-stat--success { border-left: 4px solid #15803d; }
.ofp-admin-stat--warning { border-left: 4px solid #d97706; }
.ofp-admin-stat--danger { border-left: 4px solid #b42318; }
.ofp-admin-stat--info { border-left: 4px solid #2563eb; }
.ofp-admin-data-season-layout { align-items: start; }
.ofp-admin-checklist { display: grid; gap: 8px; margin: 14px 0 18px; }
.ofp-admin-checklist > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--ofp-admin-border); border-radius: 10px; background: #f8fafc; }
.ofp-admin-inline-governance-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ofp-admin-border); }
.ofp-admin-record__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.ofp-admin-button--small { min-height: 34px; padding: 6px 10px; font-size: 0.84rem; }
.ofp-admin-data-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ofp-admin-filter-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.ofp-admin-export-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.ofp-admin-audit-event > summary,
.ofp-admin-data-activity > details > summary,
.ofp-admin-case > summary { display: grid; grid-template-columns: minmax(130px, auto) minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.ofp-admin-audit-event > summary > span,
.ofp-admin-data-activity > details > summary > span,
.ofp-admin-case > summary > span { color: var(--ofp-admin-muted); font-size: 0.84rem; }
.ofp-admin-json-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ofp-admin-json-grid h4 { margin: 0 0 7px; }
.ofp-admin-json,
.ofp-admin-json-grid pre { max-height: 340px; overflow: auto; margin: 0; padding: 12px; border: 1px solid var(--ofp-admin-border); border-radius: 9px; background: #0f172a; color: #e2e8f0; font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; word-break: break-word; }
.ofp-admin-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 18px; }
.ofp-admin-reconciliation-list { display: grid; gap: 10px; }
.ofp-admin-case .ofp-admin-form-grid { margin-top: 14px; }
.ofp-admin-export-links { display: flex; flex-wrap: wrap; gap: 9px; }
.ofp-admin-retention-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ofp-admin-help { color: var(--ofp-admin-muted); font-size: 0.84rem; }
.ofp-admin-health-list { display: grid; gap: 9px; }
.ofp-admin-health-row { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 16px; padding: 14px; border: 1px solid var(--ofp-admin-border); border-left-width: 5px; border-radius: 10px; background: #fff; }
.ofp-admin-health-row--pass { border-left-color: #15803d; }
.ofp-admin-health-row--warning { border-left-color: #d97706; }
.ofp-admin-health-row--critical { border-left-color: #b42318; }
.ofp-admin-health-row > div:first-child { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.ofp-admin-health-row h4,
.ofp-admin-health-row p { margin: 0; }
.ofp-admin-health-row p { margin-top: 4px; }
.ofp-admin-health-row small { color: var(--ofp-admin-muted); }

@container ofp-admin-content (max-width: 950px) {
    .ofp-admin-data-stat-grid,
    .ofp-admin-data-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ofp-admin-json-grid { grid-template-columns: 1fr; }
}

@container ofp-admin-content (max-width: 680px) {
    .ofp-admin-data-stat-grid,
    .ofp-admin-data-filter-grid,
    .ofp-admin-retention-grid { grid-template-columns: 1fr; }
    .ofp-admin-audit-event > summary,
    .ofp-admin-data-activity > details > summary,
    .ofp-admin-case > summary { grid-template-columns: 1fr; }
    .ofp-admin-record__actions { justify-content: flex-start; }
    .ofp-admin-health-row { grid-template-columns: 1fr; }
    .ofp-admin-pagination { justify-content: space-between; }
}

/* Phase 11/12: release-candidate shell, search, Launch Center, and centering hardening. */
.ofp-portal-admin-page .ofp-admin-portal {
    position: static;
    left: auto;
    width: min(1500px, calc(100vw - 24px));
    max-width: 100%;
    margin: 24px auto 40px;
    transform: none;
}

.ofp-admin-topbar__brand {
    flex: 0 0 auto;
}

.ofp-admin-topbar__search {
    display: flex;
    align-items: center;
    flex: 1 1 360px;
    gap: 6px;
    max-width: 560px;
    min-width: 220px;
    padding: 4px 5px 4px 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
    background: #f8fafc;
}

.ofp-admin-topbar__search label {
    flex: 1 1 auto;
    min-width: 0;
}

.ofp-admin-topbar__search input {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 4px 6px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ofp-admin-ink);
    font-size: .9rem;
}

.ofp-admin-topbar__search button {
    min-height: 34px;
    padding: 6px 10px;
    border: 0;
    border-radius: 8px;
    background: var(--ofp-admin-ink);
    color: #fff;
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-topbar__search kbd {
    padding: 3px 5px;
    border: 1px solid #d0d5dd;
    border-bottom-width: 2px;
    border-radius: 5px;
    background: #fff;
    color: var(--ofp-admin-muted);
    font: 700 .66rem/1 system-ui, sans-serif;
    white-space: nowrap;
}

.ofp-admin-search-page {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 0 0 22px;
    padding: 16px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 14px;
    background: #fff;
}

.ofp-admin-search-page label {
    flex: 1 1 auto;
}

.ofp-admin-search-page input {
    width: 100%;
    min-height: 46px;
    padding: 9px 12px;
    border: 1px solid #cfd4dc;
    border-radius: 9px;
    font-size: 1rem;
}

.ofp-admin-search-summary {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: -6px 0 18px;
    color: var(--ofp-admin-muted);
}

.ofp-admin-search-summary strong {
    color: var(--ofp-admin-ink);
    font-size: 1.35rem;
}

.ofp-admin-search-groups {
    display: grid;
    gap: 18px;
}

.ofp-admin-search-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ofp-admin-search-result {
    position: relative;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 14px 92px 14px 14px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 11px;
    background: #f8fafc;
    color: var(--ofp-admin-ink);
    text-decoration: none;
}

.ofp-admin-search-result:hover,
.ofp-admin-search-result:focus-visible {
    border-color: var(--ofp-admin-brand);
    box-shadow: 0 0 0 3px rgba(244, 115, 33, .12);
}

.ofp-admin-search-result__type {
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ofp-admin-search-result strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ofp-admin-search-result small {
    overflow: hidden;
    color: var(--ofp-admin-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ofp-admin-search-result__open {
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 800;
}

.ofp-admin-launch-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ofp-admin-launch-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ofp-admin-launch-panel {
    margin: 0;
}

.ofp-admin-launch-checks,
.ofp-admin-launch-modules,
.ofp-admin-access-grants {
    display: grid;
    gap: 9px;
}

.ofp-admin-launch-check,
.ofp-admin-launch-module {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 12px;
    border: 1px solid var(--ofp-admin-line);
    border-left-width: 5px;
    border-radius: 10px;
    background: #f8fafc;
}

.ofp-admin-launch-check--pass,
.ofp-admin-launch-module.is-ready {
    border-left-color: var(--ofp-admin-success);
}

.ofp-admin-launch-check--warning {
    border-left-color: #d98b16;
}

.ofp-admin-launch-check--critical,
.ofp-admin-launch-module.is-blocked {
    border-left-color: var(--ofp-admin-danger);
}

.ofp-admin-launch-check strong,
.ofp-admin-launch-module strong {
    display: block;
}

.ofp-admin-launch-check p,
.ofp-admin-launch-check small,
.ofp-admin-launch-module small {
    display: block;
    margin: 4px 0 0;
    color: var(--ofp-admin-muted);
    line-height: 1.45;
}

.ofp-admin-launch-module {
    color: var(--ofp-admin-ink);
    text-decoration: none;
}

.ofp-admin-launch-module:hover,
.ofp-admin-launch-module:focus-visible {
    border-color: var(--ofp-admin-brand);
}

.ofp-admin-access-grants > div {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
    background: #f8fafc;
}

.ofp-admin-access-grants span {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-capability-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding-top: 10px;
}

.ofp-admin-capability-cloud code {
    padding: 4px 7px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #f8fafc;
    color: #344054;
    font-size: 0.84rem;
}

.ofp-admin-support-summary {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
    background: #0f172a;
    color: #e2e8f0;
    font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: pre-wrap;
}

.ofp-admin-launch-export {
    display: inline-flex;
    padding: 0;
    border: 0;
}

@container ofp-admin-shell (max-width: 1080px) {
    .ofp-admin-topbar {
        flex-wrap: wrap;
    }

    .ofp-admin-topbar__search {
        order: 3;
        flex-basis: 100%;
        max-width: none;
    }
}

@container ofp-admin-content (max-width: 1040px) {
    .ofp-admin-launch-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofp-admin-launch-grid,
    .ofp-admin-search-results {
        grid-template-columns: 1fr;
    }
}

@container ofp-admin-shell (max-width: 610px) {
    .ofp-admin-topbar__search kbd {
        display: none;
    }

    .ofp-admin-topbar__search {
        min-width: 0;
    }
}

@container ofp-admin-content (max-width: 560px) {
    .ofp-admin-launch-metrics {
        grid-template-columns: 1fr;
    }

    .ofp-admin-search-page {
        flex-direction: column;
    }

    .ofp-admin-search-result {
        padding-right: 14px;
    }

    .ofp-admin-search-result__open {
        position: static;
        transform: none;
    }

    .ofp-admin-launch-check,
    .ofp-admin-launch-module {
        flex-direction: column;
    }
}

/* Phase 12 hardening: actionable dashboard metrics. */
a.ofp-admin-metric--link {
    position: relative;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

a.ofp-admin-metric--link:hover,
a.ofp-admin-metric--link:focus-visible {
    border-color: var(--ofp-admin-brand);
    box-shadow: 0 8px 22px rgba(16, 24, 40, .12);
    transform: translateY(-1px);
}

.ofp-admin-metric__open {
    margin-top: 8px;
    color: var(--ofp-admin-brand-dark);
    font-size: 0.84rem;
    font-weight: 850;
}

/* Phase 12 hardening: quick secretary attendance entry. */
.ofp-admin-attendance-create .ofp-admin-card__body,
.ofp-admin-attendance-quick-entry .ofp-admin-card__body {
    padding-top: 18px;
}

.ofp-admin-attendance-quick-tools {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
}

.ofp-admin-attendance-quick-tools .ofp-admin-field {
    flex: 1 1 300px;
    max-width: 520px;
}

.ofp-admin-attendance-quick-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-height: 520px;
    padding: 12px;
    overflow: auto;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
    background: #f8fafc;
}

.ofp-admin-attendance-quick-person {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #e4e7ec;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.ofp-admin-attendance-quick-person[hidden] {
    display: none;
}

.ofp-admin-attendance-quick-person input {
    flex: 0 0 auto;
}

.ofp-admin-attendance-quick-person span,
.ofp-admin-attendance-quick-person strong,
.ofp-admin-attendance-quick-person small {
    display: block;
    min-width: 0;
}

.ofp-admin-attendance-quick-person strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ofp-admin-attendance-quick-person small {
    margin-top: 2px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

@container ofp-admin-content (max-width: 900px) {
    .ofp-admin-attendance-quick-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container ofp-admin-content (max-width: 560px) {
    .ofp-admin-attendance-quick-tools { align-items: stretch; flex-direction: column; }
    .ofp-admin-attendance-quick-list { grid-template-columns: 1fr; }
}

/* Phase 12 hardening: mileage triage and inline decisions. */
.ofp-admin-mileage-card-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0;
}

.ofp-admin-mileage-card-facts > div {
    min-width: 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f8fafc;
}

.ofp-admin-mileage-card-facts dt {
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ofp-admin-mileage-card-facts dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    font-size: 0.84rem;
    font-weight: 700;
}

.ofp-admin-mileage-card-explanation {
    margin: 8px 0 12px;
    padding: 9px 11px;
    border-left: 3px solid var(--ofp-admin-brand);
    background: #fff7ed;
    font-size: 0.84rem;
}

.ofp-admin-mileage-card-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.ofp-admin-inline-form {
    display: inline-flex;
    margin: 0;
}

@container ofp-admin-content (max-width: 900px) {
    .ofp-admin-mileage-card-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container ofp-admin-content (max-width: 520px) {
    .ofp-admin-mileage-card-facts { grid-template-columns: 1fr; }
}

/* Phase 12 hardening: organized Foul Footage Library taxonomy. */
.ofp-admin-foul-code-tools {
    margin: 10px 0 14px;
}

.ofp-admin-foul-code-groups {
    display: grid;
    gap: 12px;
}

.ofp-admin-foul-code-group {
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: #f8fafc;
}

.ofp-admin-foul-code-group[hidden],
.ofp-admin-foul-code-option[hidden] {
    display: none;
}

.ofp-admin-foul-code-group legend {
    padding: 0 6px;
    color: #344054;
    font-size: 0.84rem;
    font-weight: 900;
}

.ofp-admin-foul-code-option {
    align-items: flex-start;
    padding: 7px 8px;
    border-radius: 7px;
    background: #fff;
}

.ofp-admin-foul-code-option span,
.ofp-admin-foul-code-option small {
    display: block;
}

.ofp-admin-foul-code-option small {
    margin-top: 2px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

/* Phase 7B — production accessibility utility. */
.ofp-admin-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* Attendance Phase 2: canonical meeting workspace and secretary method entry. */
.ofp-admin-attendance-workspace-nav {
    margin-top: 10px;
}

.ofp-admin-attendance-quick-person {
    justify-content: space-between;
    cursor: default;
}

.ofp-admin-attendance-quick-person__name {
    flex: 1 1 auto;
    min-width: 0;
}

.ofp-admin-attendance-method {
    flex: 0 0 138px;
    margin: 0;
}

.ofp-admin-attendance-method select {
    width: 100%;
    min-width: 126px;
}

.ofp-admin-attendance-quick-person.is-source-present {
    background: #f7fbf8;
}

.ofp-admin-meeting-status-line {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}

@container ofp-admin-content (max-width: 560px) {
    .ofp-admin-attendance-quick-person {
        align-items: stretch;
        flex-direction: column;
    }

    .ofp-admin-attendance-method {
        flex-basis: auto;
        width: 100%;
    }
}


/* Attendance Phase 3: simplified trusted-admin attendance workspace. */
.ofp-admin-attendance-viewbar {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 12px 0 10px;
}

.ofp-admin-attendance-viewpill {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 999px;
    background: #fff;
    color: var(--ofp-admin-text);
    font-size: .88rem;
    font-weight: 800;
    text-decoration: none;
}

.ofp-admin-attendance-viewpill:hover,
.ofp-admin-attendance-viewpill.is-active {
    border-color: var(--ofp-admin-brand);
    background: #fff7ed;
    color: var(--ofp-admin-brand-dark);
}

.ofp-admin-attendance-searchbar {
    display: flex;
    align-items: end;
    gap: 8px;
    margin-bottom: 14px;
}

.ofp-admin-attendance-searchbar .ofp-admin-field {
    flex: 1 1 340px;
    max-width: 560px;
    margin: 0;
}

.ofp-admin-attendance-meetings-table--simple td:nth-child(3) small {
    max-width: 300px;
}

.ofp-admin-attendance-summarybar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 6px;
}

.ofp-admin-attendance-summarybar > span,
.ofp-admin-attendance-summarybar > a {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    padding: 7px 10px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 9px;
    background: #fff;
    color: var(--ofp-admin-text);
    font-size: .86rem;
    font-weight: 750;
    text-decoration: none;
}

.ofp-admin-attendance-summarybar > a {
    border-color: #f2c94c;
    background: #fffbeb;
}

.ofp-admin-attendance-summarybar__state {
    margin-left: auto;
    border: 0 !important;
    padding-right: 0 !important;
}

.ofp-admin-attendance-simple .ofp-admin-card__header p,
.ofp-admin-attendance-roster-tools summary span {
    margin: 3px 0 0;
    color: var(--ofp-admin-muted);
    font-size: .86rem;
}

.ofp-admin-attendance-quick-tools--simple {
    align-items: end;
    padding-bottom: 10px;
}

.ofp-admin-attendance-bulk-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.ofp-admin-attendance-bulk-actions > span {
    color: var(--ofp-admin-muted);
    font-size: .82rem;
    font-weight: 800;
}

.ofp-admin-attendance-simple-list {
    border: 1px solid var(--ofp-admin-line);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.ofp-admin-attendance-simple-row {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(430px, auto);
    align-items: center;
    gap: 14px;
    min-height: 58px;
    padding: 9px 11px;
    border-bottom: 1px solid #edf0f3;
}

.ofp-admin-attendance-simple-row:last-child {
    border-bottom: 0;
}

.ofp-admin-attendance-simple-row[hidden] {
    display: none;
}

.ofp-admin-attendance-simple-name strong,
.ofp-admin-attendance-simple-name small {
    display: block;
}

.ofp-admin-attendance-simple-name strong {
    font-size: .95rem;
}

.ofp-admin-attendance-simple-name small {
    margin-top: 2px;
    color: var(--ofp-admin-muted);
    font-size: .79rem;
}

.ofp-admin-attendance-choice-group {
    display: inline-flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 4px;
}

.ofp-admin-attendance-choice-group label {
    position: relative;
    margin: 0;
}

.ofp-admin-attendance-choice-group input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ofp-admin-attendance-choice-group span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #d8dde4;
    border-radius: 7px;
    background: #f8fafc;
    color: #344054;
    font-size: .8rem;
    font-weight: 800;
    cursor: pointer;
    user-select: none;
}

.ofp-admin-attendance-choice-group input:checked + span {
    border-color: var(--ofp-admin-brand);
    background: #fff1e6;
    color: var(--ofp-admin-brand-dark);
    box-shadow: inset 0 0 0 1px var(--ofp-admin-brand);
}

.ofp-admin-attendance-choice-group input:focus-visible + span {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.ofp-admin-attendance-savebar {
    position: sticky;
    bottom: 8px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 5px 18px rgba(16,24,40,.08);
}

.ofp-admin-attendance-savebar span {
    color: var(--ofp-admin-muted);
    font-size: .82rem;
}

.ofp-admin-attendance-attention {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #f2c94c;
    border-radius: 10px;
    background: #fffbeb;
}

.ofp-admin-attendance-roster-tools > details > summary {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 16px;
    cursor: pointer;
}

.ofp-admin-attendance-roster-tools > details[open] > summary {
    border-bottom: 1px solid var(--ofp-admin-line);
}

.ofp-admin-attendance-add-grid--simple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ofp-admin-attendance-choice-group--guest {
    margin: 2px 0 6px;
}

.ofp-admin-attendance-actionbar {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
}

.ofp-admin-attendance-actionbar form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.ofp-admin-attendance-actionbar small {
    max-width: 260px;
    color: var(--ofp-admin-muted);
}

.ofp-admin-attendance-danger {
    margin-top: 16px;
}

.ofp-admin-reconciliation-card--simple {
    padding: 14px;
}

.ofp-admin-reconcile-match {
    display: flex;
    align-items: end;
    gap: 8px;
    margin-top: 10px;
}

.ofp-admin-reconcile-match .ofp-admin-field {
    flex: 1 1 320px;
    margin: 0;
}

.ofp-admin-reconcile-secondary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px;
}

.ofp-admin-reconcile-secondary form {
    margin: 0;
}

@container ofp-admin-content (max-width: 900px) {
    .ofp-admin-attendance-simple-row {
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .ofp-admin-attendance-add-grid--simple {
        grid-template-columns: 1fr;
    }
}

@container ofp-admin-content (max-width: 600px) {
    .ofp-admin-attendance-searchbar,
    .ofp-admin-attendance-savebar,
    .ofp-admin-reconcile-match,
    .ofp-admin-attendance-actionbar form {
        align-items: stretch;
        flex-direction: column;
    }
    .ofp-admin-attendance-summarybar__state {
        margin-left: 0;
    }
    .ofp-admin-attendance-choice-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ofp-admin-attendance-choice-group span {
        width: 100%;
    }
}

/* Attendance Phase 4: quiet evidence and record-integrity cues. */
.ofp-admin-attendance-simple-row.is-adjusted {
    background: #fffbeb;
}

.ofp-admin-attendance-simple-row.is-adjusted .ofp-admin-attendance-simple-name small {
    color: #8a5a00;
    font-weight: 700;
}

.ofp-admin-attendance-integrity-details,
.ofp-admin-attendance-signature-evidence {
    margin: 12px 0 16px;
}

.ofp-admin-attendance-integrity-details ul {
    margin: 10px 0 0 20px;
}

.ofp-admin-attendance-signature-evidence > summary {
    font-weight: 800;
}

/* Attendance Phase 5 season report */
.ofp-admin-attendance-report .ofp-admin-table td:nth-child(n+2):not(:last-child) {
    white-space: nowrap;
}

.ofp-admin-attendance-report .ofp-admin-table td strong + small {
    display: block;
    margin-top: 2px;
}

/* Game Area Phase 1 — lean member bio and postseason experience. */
.ofp-admin-member-bio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ofp-admin-member-season-summary {
    display: grid;
    grid-template-columns: minmax(110px, 0.45fr) minmax(110px, 0.45fr) minmax(0, 1.5fr);
    gap: 10px;
}

.ofp-admin-member-season-summary > div {
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: var(--ofp-admin-soft);
}

.ofp-admin-member-season-summary strong,
.ofp-admin-member-season-summary span,
.ofp-admin-experience-cell strong,
.ofp-admin-experience-cell small,
.ofp-admin-postseason-table td small {
    display: block;
}

.ofp-admin-member-season-summary strong {
    color: var(--ofp-admin-ink);
    font-size: 1.15rem;
}

.ofp-admin-member-season-summary span,
.ofp-admin-experience-cell small,
.ofp-admin-postseason-table td small {
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.82rem;
}

.ofp-admin-member-position-summary strong {
    font-size: 0.86rem;
    text-transform: uppercase;
}

.ofp-admin-postseason-form {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--ofp-admin-line);
}

.ofp-admin-postseason-form h3 {
    margin: 0 0 12px;
}

.ofp-admin-postseason-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ofp-admin-postseason-wide {
    grid-column: span 2;
}

@media (max-width: 900px) {
    .ofp-admin-member-bio-grid,
    .ofp-admin-member-season-summary,
    .ofp-admin-postseason-form-grid {
        grid-template-columns: 1fr;
    }

    .ofp-admin-postseason-wide {
        grid-column: auto;
    }
}

/* Pregame base-template editor. */
.ofp-admin-pregame-template-manager {
    margin-top: 18px;
}
.ofp-admin-template-picker {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 8px;
    margin: 14px 0 18px;
}
.ofp-admin-template-picker .ofp-admin-record {
    text-decoration: none;
}
.ofp-admin-template-picker .ofp-admin-record.is-selected {
    background: #eef5fa;
    box-shadow: inset 0 0 0 2px #6b9abc;
}
.ofp-admin-pregame-template-editor {
    max-width: 980px;
}
.ofp-admin-pregame-template-editor textarea[name="template_outline"] {
    min-height: 620px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    line-height: 1.5;
}
.ofp-admin-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Pregame 2.56.1 — clearer base-template edit state. */
.ofp-admin-pregame-template-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #eef5fa;
}
.ofp-admin-pregame-template-current > div {
    display: grid;
    gap: 2px;
}
.ofp-admin-pregame-template-current span,
.ofp-admin-pregame-template-current small {
    color: var(--ofp-admin-muted);
    font-size: 0.8rem;
}
.ofp-admin-pregame-template-current strong {
    color: var(--ofp-admin-ink);
    font-size: 1rem;
}
@media (max-width: 720px) {
    .ofp-admin-pregame-template-current {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* People — bulk member service and Training Referee rotation. */
.ofp-admin-people-service-metrics {
    margin-bottom: 18px;
}

.ofp-admin-people-bio-bulk__save,
.ofp-admin-people-bio-bulk__footer > div,
.ofp-admin-people-bio-toolbar__selection {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.ofp-admin-people-bio-bulk__save span,
.ofp-admin-people-bio-bulk__footer span,
.ofp-admin-people-bio-toolbar__selection span {
    color: #344054;
    font-size: 13px;
    font-weight: 700;
}

.ofp-admin-people-bio-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) minmax(170px, .8fr) auto minmax(190px, .9fr) auto;
    gap: 12px;
    align-items: end;
    padding: 16px 18px;
    border-bottom: 1px solid #d0d5dd;
    background: #f8fafc;
}

.ofp-admin-people-bio-toolbar__search {
    min-width: 0;
}

.ofp-admin-people-bio-toolbar__apply {
    align-self: end;
    margin-bottom: 1px;
}

.ofp-admin-people-bio-table {
    min-width: 900px;
}

.ofp-admin-people-bio-table th,
.ofp-admin-people-bio-table td {
    vertical-align: middle;
}

.ofp-admin-people-bio-table td:nth-child(2) strong,
.ofp-admin-people-bio-table td:nth-child(2) small {
    display: block;
}

.ofp-admin-people-bio-table td:nth-child(2) small {
    margin-top: 3px;
    color: #344054;
}

.ofp-admin-people-bio-table__check {
    width: 44px;
    text-align: center;
}

.ofp-admin-people-bio-year {
    width: 92px;
    min-width: 92px;
}

.ofp-admin-people-bio-table select {
    min-width: 145px;
}

.ofp-admin-people-bio-service {
    display: inline-block;
    min-width: 76px;
    color: #101828;
    font-weight: 700;
}

.ofp-admin-people-bio-table tr.is-changed td {
    background: #fff8e7;
}

.ofp-admin-people-bio-table tr.is-changed td:first-child {
    box-shadow: inset 3px 0 0 #d97706;
}

.ofp-admin-people-bio-bulk__footer {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    padding: 16px 18px;
    border-top: 1px solid #d0d5dd;
    background: #fff;
}

.ofp-admin-people-bio-bulk__reason {
    flex: 1 1 420px;
    max-width: 680px;
}

@media (max-width: 1100px) {
    .ofp-admin-people-bio-toolbar {
        grid-template-columns: 1fr 1fr;
    }
    .ofp-admin-people-bio-toolbar__selection,
    .ofp-admin-people-bio-toolbar__apply {
        justify-self: stretch;
    }
}

@media (max-width: 720px) {
    .ofp-admin-people-bio-toolbar {
        grid-template-columns: 1fr;
    }
    .ofp-admin-people-bio-bulk__footer {
        align-items: stretch;
        flex-direction: column;
    }
    .ofp-admin-people-bio-bulk__footer > div {
        justify-content: space-between;
        width: 100%;
    }
}


/* Phase 5.1.1 — Jamboree mileage driver setup */
.ofp-admin-mileage-jamboree-alert{border-color:#e0bd58!important;background:#fffdf6}.ofp-admin-mileage-jamboree-list{display:grid;gap:.65rem}.ofp-admin-mileage-jamboree-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border:1px solid #e3cf94;border-radius:10px;background:#fff}.ofp-admin-mileage-jamboree-item>div{display:grid;gap:.15rem}.ofp-admin-mileage-jamboree-item strong{color:#19170f}.ofp-admin-mileage-jamboree-item span,.ofp-admin-mileage-jamboree-item small{color:#4a4432}.ofp-admin-mileage-driver-card.is-jamboree{border-color:#dfc36d}.ofp-admin-mileage-jamboree-copy{padding:.7rem .8rem;border-radius:9px;background:#fff8df;color:#352b0a}.ofp-admin-mileage-jamboree-copy strong{color:#261e05}@media(max-width:720px){.ofp-admin-mileage-jamboree-item{align-items:flex-start;flex-direction:column}}

/* Phase 4B.1 — Production cutover explicit reset review */
.ofp-admin-reset-review-form{display:grid;gap:22px}.ofp-admin-reset-review-group{display:grid;gap:14px}.ofp-admin-reset-review-group__heading{display:grid;gap:4px;padding-bottom:2px}.ofp-admin-reset-review-group__heading h4{margin:0;color:#101828;font-size:1.08rem}.ofp-admin-reset-review-group__heading p{margin:0;color:#475467}.ofp-admin-reset-review-card{display:grid;gap:16px;padding:18px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04)}.ofp-admin-reset-review-card.is-preserve{border-left:4px solid #19945d}.ofp-admin-reset-review-card.is-reset{border-left:4px solid #d08700}.ofp-admin-reset-review-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.ofp-admin-reset-review-card__header h5{margin:2px 0 4px;color:#101828;font-size:1.06rem}.ofp-admin-reset-review-card__header p{margin:0;color:#475467}.ofp-admin-reset-review-card__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ofp-admin-reset-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:12px 14px;border:1px solid #eaecf0;border-radius:10px;background:#f9fafb}.ofp-admin-reset-review-facts>div{display:grid;gap:2px}.ofp-admin-reset-review-facts dt{font-size:.72rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:#667085}.ofp-admin-reset-review-facts dd{margin:0;color:#1d2939}.ofp-admin-reset-review-copy{display:grid;gap:5px;padding:12px 14px;border-left:3px solid #98a2b3;background:#f9fafb}.ofp-admin-reset-review-copy strong{color:#344054}.ofp-admin-reset-review-copy p{margin:0;color:#1d2939}.ofp-admin-reset-review-choice{display:grid;gap:10px;margin:0;padding:14px;border:1px solid #d0d5dd;border-radius:12px}.ofp-admin-reset-review-choice legend{padding:0 6px;color:#101828;font-weight:800}.ofp-admin-reset-review-choice__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ofp-admin-reset-review-option{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;cursor:pointer}.ofp-admin-reset-review-option input{margin-top:3px}.ofp-admin-reset-review-option span{display:grid;gap:2px}.ofp-admin-reset-review-option strong{color:#101828}.ofp-admin-reset-review-option small{color:#475467;line-height:1.35}.ofp-admin-reset-review-option--success:has(input:checked){border-color:#74c69d;background:#f0faf5}.ofp-admin-reset-review-option--warning:has(input:checked){border-color:#e0b04b;background:#fff8e7}.ofp-admin-reset-review-option--neutral:has(input:checked){border-color:#98a2b3;background:#f2f4f7}.ofp-admin-reset-review-choice__saved{color:#667085}.ofp-admin-reset-review-comments{border:1px solid #eaecf0;border-radius:10px;background:#fcfcfd}.ofp-admin-reset-review-comments summary{padding:10px 12px;color:#344054;font-weight:700;cursor:pointer}.ofp-admin-reset-review-comments>div{display:grid;gap:8px;padding:0 12px 12px}.ofp-admin-reset-review-comments blockquote{display:grid;gap:3px;margin:0;padding:10px 12px;border-left:3px solid #d0d5dd;background:#fff}.ofp-admin-reset-review-comments blockquote strong{color:#101828}.ofp-admin-reset-review-comments blockquote span{font-size:.8rem;color:#667085}.ofp-admin-reset-review-comments blockquote p{margin:3px 0 0;color:#344054}.ofp-admin-reset-review-savebar{position:sticky;bottom:12px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #b9c1cc;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 8px 22px rgba(16,24,40,.12);backdrop-filter:blur(8px)}.ofp-admin-reset-review-savebar>div{display:grid;gap:2px}.ofp-admin-reset-review-savebar strong{color:#101828}.ofp-admin-reset-review-savebar span{color:#475467;font-size:.88rem}.ofp-admin-reset-review-lock .ofp-admin-code{word-break:break-all}.ofp-admin-table td small{display:block;margin-top:3px;color:#667085}@media(max-width:820px){.ofp-admin-reset-review-choice__options,.ofp-admin-reset-review-facts{grid-template-columns:1fr}.ofp-admin-reset-review-card__header,.ofp-admin-reset-review-savebar{align-items:stretch;flex-direction:column}.ofp-admin-reset-review-card__badges{justify-content:flex-start}.ofp-admin-reset-review-savebar{bottom:6px}}

/* Phase 5K: protected invoice distribution. */
.ofp-admin-invoice-metrics { margin-bottom: 18px; }
.ofp-admin-invoice-split { align-items: start; }
.ofp-admin-invoice-file {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid var(--ofp-admin-border);
    border-radius: 10px;
    background: #f8fafc;
}
.ofp-admin-invoice-file > div { display: grid; gap: 3px; min-width: 0; }
.ofp-admin-invoice-file small { color: #667085; overflow-wrap: anywhere; }
.ofp-admin-invoice-editor .ofp-admin-fieldset { margin-top: 8px; }
.ofp-admin-invoice-editor .ofp-admin-check { align-items: flex-start; }
.ofp-admin-invoice-editor .ofp-admin-check span { display: grid; gap: 2px; }
.ofp-admin-invoice-editor .ofp-admin-check small { color: #667085; font-weight: 500; }
.ofp-admin-invoice-index { margin-top: 18px; }
.ofp-admin-divider { border: 0; border-top: 1px solid var(--ofp-admin-border); margin: 20px 0; }
@media (max-width: 640px) {
    .ofp-admin-invoice-file { align-items: stretch; flex-direction: column; }
}

/* Phase 2 — compact Act as Member actions in People and profile headers. */
.ofp-admin-inline-action {
    display: inline-flex;
    margin: 0;
}

.ofp-admin-table-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.ofp-admin-table-actions .ofp-admin-inline-action,
.ofp-admin-table-actions .ofp-admin-button {
    flex: 0 0 auto;
}


/* Phase 11: Pregame Training Feed management and structured editor */
.ofp-admin-pregame-feed-workspace {
    display: grid;
    grid-template-columns: minmax(360px, .85fr) minmax(480px, 1.15fr);
    gap: 18px;
    margin-bottom: 18px;
    align-items: start;
}
.ofp-admin-pregame-feed-editor-panel,
.ofp-admin-pregame-feed-manager { min-width: 0; }
.ofp-admin-pregame-feed-editor-panel .ofp-admin-panel-heading p,
.ofp-admin-pregame-feed-manager .ofp-admin-panel-heading p { margin: 5px 0 0; }
.ofp-admin-pregame-points-shell {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid var(--ofp-admin-border);
    border-radius: 12px;
    background: #f8fafc;
}
.ofp-admin-pregame-points-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.ofp-admin-pregame-points-heading strong,
.ofp-admin-pregame-points-heading small { display: block; }
.ofp-admin-pregame-points-heading small { margin-top: 3px; color: var(--ofp-admin-muted); font-weight: 500; }
.ofp-admin-pregame-point-list { display: grid; gap: 8px; }
.ofp-admin-pregame-point-row {
    display: grid;
    grid-template-columns: 24px 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--ofp-admin-border);
    border-radius: 10px;
    background: #fff;
}
.ofp-admin-pregame-point-row.is-heading { background: #f3f6f9; border-style: dashed; }
.ofp-admin-pregame-point-row.is-dragging { opacity: .55; }
.ofp-admin-pregame-point-grip { color: var(--ofp-admin-muted); cursor: grab; font-weight: 900; letter-spacing: -3px; }
.ofp-admin-pregame-point-type { color: var(--ofp-admin-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.ofp-admin-pregame-point-row input { width: 100%; min-width: 0; }
.ofp-admin-pregame-point-controls { display: inline-flex; gap: 4px; }
.ofp-admin-pregame-point-control {
    width: 30px;
    min-width: 30px;
    height: 30px;
    border: 1px solid var(--ofp-admin-border);
    border-radius: 8px;
    background: #fff;
    color: var(--ofp-admin-text);
    cursor: pointer;
    font-weight: 800;
}
.ofp-admin-pregame-point-control:hover:not(:disabled) { border-color: var(--ofp-admin-accent); }
.ofp-admin-pregame-point-control:disabled { opacity: .35; cursor: default; }
.ofp-admin-pregame-point-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ofp-admin-pregame-point-empty {
    padding: 14px;
    border: 1px dashed var(--ofp-admin-border);
    border-radius: 10px;
    color: var(--ofp-admin-muted);
    text-align: center;
}
.ofp-admin-pregame-quick-paste { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--ofp-admin-border); }
.ofp-admin-pregame-quick-paste summary { cursor: pointer; font-weight: 800; }
.ofp-admin-pregame-quick-paste p { margin: 7px 0; color: var(--ofp-admin-muted); font-size: .84rem; }
.ofp-admin-pregame-quick-paste textarea { width: 100%; margin-bottom: 8px; }
.ofp-admin-pregame-resource-details { margin-top: 14px; padding: 11px 12px; border: 1px solid var(--ofp-admin-border); border-radius: 10px; }
.ofp-admin-pregame-resource-details summary { display: flex; gap: 8px; align-items: baseline; }
.ofp-admin-pregame-resource-details summary span { color: var(--ofp-admin-muted); font-size: .78rem; font-weight: 600; }
.ofp-admin-pregame-resource-grid { display: grid; grid-template-columns: minmax(140px, .7fr) minmax(220px, 1.3fr); gap: 10px; margin-top: 12px; }
.ofp-admin-pregame-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.ofp-admin-pregame-editor-actions--secondary { padding-top: 10px; border-top: 1px solid var(--ofp-admin-border); }
.ofp-admin-pregame-action-form { display: inline-flex; margin: 0; }
.ofp-admin-pregame-feed-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin-bottom: 12px; }
.ofp-admin-pregame-feed-tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid var(--ofp-admin-border);
    border-radius: 10px;
    background: #fff;
    color: var(--ofp-admin-text);
    font-size: .82rem;
    font-weight: 750;
    text-decoration: none;
}
.ofp-admin-pregame-feed-tab strong { display: inline-flex; min-width: 22px; justify-content: center; padding: 2px 6px; border-radius: 999px; background: #eef2f6; }
.ofp-admin-pregame-feed-tab.is-active { border-color: var(--ofp-admin-accent); background: var(--ofp-admin-accent-soft); color: var(--ofp-admin-accent-dark); }
.ofp-admin-pregame-feed-search { display: block; margin-bottom: 8px; }
.ofp-admin-pregame-feed-search input { width: 100%; }
.ofp-admin-pregame-feed-records { display: grid; gap: 9px; }
.ofp-admin-pregame-feed-card {
    padding: 12px;
    border: 1px solid var(--ofp-admin-border);
    border-radius: 11px;
    background: #fff;
}
.ofp-admin-pregame-feed-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.ofp-admin-pregame-feed-card h4,
.ofp-admin-pregame-feed-card p { margin: 0; }
.ofp-admin-pregame-feed-card__top p { margin-top: 3px; color: var(--ofp-admin-muted); font-size: .82rem; }
.ofp-admin-pregame-feed-card__preview { margin-top: 8px !important; color: #475467; font-size: .88rem; line-height: 1.45; }
.ofp-admin-pregame-feed-card__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ofp-admin-pregame-priority-chip { display: inline-flex; margin-top: 8px; padding: 3px 7px; border-radius: 999px; background: #fff0cc; color: #7a4500; font-size: .72rem; font-weight: 800; }
.ofp-admin-pregame-feed-search-empty { padding: 18px 8px; color: var(--ofp-admin-muted); text-align: center; }
.ofp-admin-pregame-archive-preview { margin-top: 14px; padding: 14px; border: 1px solid var(--ofp-admin-border); border-radius: 11px; background: #f8fafc; }
.ofp-admin-pregame-archive-preview h4,
.ofp-admin-pregame-archive-preview > p { margin: 0; }
.ofp-admin-pregame-archive-preview > p { margin-top: 4px; color: var(--ofp-admin-muted); }
.ofp-admin-pregame-preview-copy { margin-top: 12px; }
.ofp-admin-pregame-preview-copy h5 { margin: 10px 0 5px; }
.ofp-admin-pregame-preview-copy ul { margin: 5px 0; padding-left: 22px; }
@media (max-width: 1120px) {
    .ofp-admin-pregame-feed-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .ofp-admin-pregame-feed-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ofp-admin-pregame-feed-tab:last-child { grid-column: span 2; }
    .ofp-admin-pregame-point-row { grid-template-columns: 22px 1fr auto; }
    .ofp-admin-pregame-point-type { grid-column: 2; grid-row: 1; }
    .ofp-admin-pregame-point-row input { grid-column: 2 / -1; grid-row: 2; }
    .ofp-admin-pregame-point-controls { grid-column: 3; grid-row: 1; }
    .ofp-admin-pregame-resource-grid { grid-template-columns: 1fr; }
}

/* Mileage Administration Phase 1 — operational control plane and master data. */
.ofp-admin-mileage-overview,
.ofp-admin-mileage-master-data { display:grid; gap:18px; }
.ofp-admin-mileage-overview-metrics,
.ofp-admin-mileage-master-metrics { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.ofp-admin-mileage-control-grid { align-items:start; }
.ofp-admin-mileage-queue-list { display:grid; gap:10px; }
.ofp-admin-mileage-queue-item { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 15px; border:1px solid var(--ofp-admin-border); border-left:4px solid #98a2b3; border-radius:11px; background:#fff; color:inherit; text-decoration:none; }
.ofp-admin-mileage-queue-item:hover,
.ofp-admin-mileage-queue-item:focus-visible { border-color:#667085; box-shadow:0 4px 12px rgba(16,24,40,.08); }
.ofp-admin-mileage-queue-item--danger { border-left-color:#d92d20; }
.ofp-admin-mileage-queue-item--warning { border-left-color:#dc8b00; }
.ofp-admin-mileage-queue-item--info { border-left-color:#1570ef; }
.ofp-admin-mileage-queue-item > div { display:grid; gap:3px; }
.ofp-admin-mileage-queue-item strong { color:#101828; }
.ofp-admin-mileage-queue-item span { color:#475467; font-size:.88rem; line-height:1.4; }
.ofp-admin-mileage-queue-item em { flex:0 0 auto; color:#344054; font-size:.82rem; font-style:normal; font-weight:800; }
.ofp-admin-mileage-model-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; counter-reset:mileage-model; }
.ofp-admin-mileage-model-list li { position:relative; display:grid; gap:3px; padding-left:38px; counter-increment:mileage-model; }
.ofp-admin-mileage-model-list li::before { content:counter(mileage-model); position:absolute; top:0; left:0; display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#101828; color:#fff; font-size:.75rem; font-weight:800; }
.ofp-admin-mileage-model-list strong { color:#101828; }
.ofp-admin-mileage-model-list span { color:#475467; line-height:1.45; }
.ofp-admin-mileage-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); gap:10px 16px; margin:0; }
.ofp-admin-mileage-facts > div { display:grid; gap:2px; }
.ofp-admin-mileage-facts dt { color:#667085; font-size:.72rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.ofp-admin-mileage-facts dd { margin:0; color:#101828; font-weight:700; }
.ofp-admin-private-data-notice { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border:1px solid #f0c36a; border-radius:12px; background:#fff9eb; }
.ofp-admin-private-data-notice > div { display:grid; gap:3px; }
.ofp-admin-private-data-notice strong { color:#7a4d00; }
.ofp-admin-private-data-notice p { margin:0; color:#664d1c; }
.ofp-admin-mileage-master-filter { align-items:end; }
.ofp-admin-mileage-officials-table tr.is-selected td,
.ofp-admin-mileage-master-data .ofp-admin-table tr.is-selected td { background:#f0f6ff; }
.ofp-admin-mileage-official-editor,
.ofp-admin-mileage-place-editor { scroll-margin-top:18px; }
.ofp-admin-mileage-address-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.ofp-admin-mileage-address-card { display:grid; gap:8px; padding:14px; border:1px solid var(--ofp-admin-border); border-radius:12px; background:#f9fafb; }
.ofp-admin-mileage-address-card > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ofp-admin-mileage-address-card > div > span { color:#475467; font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ofp-admin-mileage-address-card > strong { color:#101828; line-height:1.4; }
.ofp-admin-mileage-address-card > small { color:#667085; }
.ofp-admin-mileage-editor-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.ofp-admin-mileage-address-form .ofp-admin-card__header { padding:16px 16px 0; }
.ofp-admin-mileage-address-form .ofp-admin-card__header h3 { margin:0 0 4px; }
.ofp-admin-mileage-address-form .ofp-admin-card__header p { margin:0; color:#475467; }
.ofp-admin-mileage-address-fields { display:grid; grid-template-columns:2fr .75fr 1fr .65fr; gap:10px 12px; }
.ofp-admin-mileage-address-fields .ofp-admin-field { margin:0; }
.ofp-admin-mileage-address-line { grid-column:span 2; }
.ofp-admin-checkline { display:flex; gap:10px; align-items:flex-start; margin:0 0 14px; padding:12px; border:1px solid #d0d5dd; border-radius:10px; background:#f9fafb; cursor:pointer; }
.ofp-admin-checkline input { margin-top:3px; }
.ofp-admin-checkline span { display:grid; gap:2px; }
.ofp-admin-checkline strong { color:#101828; }
.ofp-admin-checkline small { color:#475467; line-height:1.35; }
.ofp-admin-mileage-route-impact,
.ofp-admin-mileage-place-context { margin-top:16px; }
.ofp-admin-mileage-history { margin-top:16px; padding:0; overflow:hidden; }
.ofp-admin-mileage-history summary,
.ofp-admin-mileage-paste summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; cursor:pointer; }
.ofp-admin-mileage-history summary span,
.ofp-admin-mileage-paste summary span { color:#667085; font-size:.84rem; }
.ofp-admin-mileage-paste { padding:0; overflow:hidden; }
.ofp-admin-mileage-paste > .ofp-admin-card__body { border-top:1px solid var(--ofp-admin-border); }
.ofp-admin-mileage-paste-preview { display:grid; gap:12px; margin-top:18px; padding-top:18px; border-top:1px solid var(--ofp-admin-border); }
.ofp-admin-mileage-paste-preview h3 { margin:0; }
.ofp-admin-mileage-unmapped-sites .ofp-admin-card__header { align-items:flex-start; }
.ofp-admin-mileage-active-toggle { margin-top:24px; }
.ofp-admin-mileage-identifier-list { display:grid; gap:9px; }
.ofp-admin-mileage-identifier { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #eaecf0; }
.ofp-admin-mileage-identifier:last-child { border-bottom:0; }
.ofp-admin-mileage-identifier > div { display:grid; gap:3px; min-width:0; }
.ofp-admin-mileage-identifier code { overflow-wrap:anywhere; }
.ofp-admin-button--small { min-height:32px; padding:6px 10px; font-size:.8rem; }
.ofp-admin-button--danger { border-color:#f4b0aa; background:#fff5f4; color:#b42318; }
.ofp-admin-mileage-system-state .ofp-admin-card__body { padding-top:8px; }
@media (max-width:960px) {
  .ofp-admin-mileage-address-summary,
  .ofp-admin-mileage-editor-columns { grid-template-columns:1fr; }
  .ofp-admin-mileage-address-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ofp-admin-mileage-address-line { grid-column:span 2; }
}
@media (max-width:640px) {
  .ofp-admin-private-data-notice,
  .ofp-admin-mileage-queue-item,
  .ofp-admin-mileage-history summary,
  .ofp-admin-mileage-paste summary { align-items:flex-start; flex-direction:column; }
  .ofp-admin-mileage-address-fields { grid-template-columns:1fr; }
  .ofp-admin-mileage-address-line { grid-column:auto; }
}

/* Mileage Administration Phase 2: controlled reconciliation and readiness states. */
.ofp-admin-mileage-sync,
.ofp-admin-mileage-preview,
.ofp-admin-mileage-site-day-panel,
.ofp-admin-mileage-claim-issues { display:grid; gap:16px; }
.ofp-admin-mileage-preview-form,
.ofp-admin-mileage-apply-form { margin:0; }
.ofp-admin-mileage-preview-metrics { grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); }
.ofp-admin-mileage-preview-issues { min-width:0; }
.ofp-admin-mileage-preview-issues .ofp-admin-card__header > span { display:grid; min-width:30px; height:30px; place-items:center; border-radius:999px; background:#f2f4f7; color:#344054; font-weight:800; }
.ofp-admin-mileage-preview-issues .ofp-admin-compact-list > div { align-items:flex-start; }
.ofp-admin-mileage-preview-issues .ofp-admin-compact-list span { display:grid; gap:3px; min-width:0; }
.ofp-admin-mileage-preview-issues .ofp-admin-compact-list small { color:#667085; line-height:1.4; }
.ofp-admin-mileage-receipts { padding:0; overflow:hidden; }
.ofp-admin-mileage-receipts > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; cursor:pointer; }
.ofp-admin-mileage-receipts > summary span { display:grid; gap:3px; }
.ofp-admin-mileage-receipts > summary small { color:#667085; font-weight:500; }
.ofp-admin-mileage-receipts > summary em { color:#475467; font-style:normal; font-weight:800; }
.ofp-admin-mileage-receipt-list { display:grid; gap:10px; padding:0 18px 18px; border-top:1px solid var(--ofp-admin-border); }
.ofp-admin-mileage-receipt { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0; border-bottom:1px solid #eaecf0; }
.ofp-admin-mileage-receipt:last-child { border-bottom:0; }
.ofp-admin-mileage-receipt h3,
.ofp-admin-mileage-receipt p { margin:0; }
.ofp-admin-mileage-receipt dl { display:grid; grid-template-columns:repeat(4,minmax(62px,1fr)); gap:8px 14px; margin:0; }
.ofp-admin-mileage-receipt dl > div { display:grid; gap:2px; }
.ofp-admin-mileage-receipt dt { color:#667085; font-size:.69rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ofp-admin-mileage-receipt dd { margin:0; color:#101828; font-weight:800; }
.ofp-admin-mileage-group__completion { display:flex; align-items:flex-start; gap:10px; margin-top:12px; }
.ofp-admin-mileage-group__completion > span:last-child { color:#475467; font-size:.84rem; line-height:1.4; }
.ofp-admin-mileage-claim-issues .ofp-admin-mileage-status-row { margin:0; }
.ofp-admin-mileage-issue-group { display:grid; gap:8px; padding-top:14px; border-top:1px solid #eaecf0; }
.ofp-admin-mileage-issue-group h3 { margin:0; font-size:.88rem; }
.ofp-admin-mileage-issue-group ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.ofp-admin-mileage-issue-group li { display:grid; gap:2px; padding:10px 12px; border:1px solid #eaecf0; border-radius:9px; background:#f9fafb; }
.ofp-admin-mileage-issue-group li span { color:#475467; font-size:.84rem; line-height:1.4; }
@media(max-width:720px){
  .ofp-admin-mileage-receipt { align-items:flex-start; flex-direction:column; }
  .ofp-admin-mileage-receipt dl { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ofp-admin-mileage-group__completion { flex-direction:column; }
}

/* Mileage Administration Phase 3.1: actionable matrix-integrity review. */
.ofp-admin-mileage-integrity-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.ofp-admin-mileage-integrity-reasons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
}

.ofp-admin-mileage-integrity-reasons > div {
    display: grid;
    gap: 2px;
    padding: 12px 14px;
    border: 1px solid var(--ofp-admin-line);
    border-radius: 10px;
    background: #fff;
}

.ofp-admin-mileage-integrity-reasons strong {
    color: var(--ofp-admin-ink);
    font-size: 1.2rem;
}

.ofp-admin-mileage-integrity-reasons span {
    color: var(--ofp-admin-muted);
    font-size: 0.8rem;
}

.ofp-admin-mileage-integrity-reasons .is-safe {
    border-left: 4px solid #32a56b;
}

.ofp-admin-mileage-integrity-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.ofp-admin-mileage-integrity-row {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--ofp-admin-line);
    border-left-width: 5px;
    border-radius: 12px;
    background: #fff;
}

.ofp-admin-mileage-integrity-row--blocked,
.ofp-admin-mileage-integrity-row--stale {
    border-left-color: #c62828;
}

.ofp-admin-mileage-integrity-row--inferred {
    border-left-color: #e39a16;
}

.ofp-admin-mileage-integrity-row__main,
.ofp-admin-mileage-integrity-row__reason {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.ofp-admin-mileage-integrity-row__main > div,
.ofp-admin-mileage-integrity-row__reason {
    min-width: 0;
}

.ofp-admin-mileage-integrity-row__main span,
.ofp-admin-mileage-integrity-row__reason span {
    display: block;
    margin-top: 3px;
    color: var(--ofp-admin-muted);
    font-size: 0.84rem;
}

.ofp-admin-mileage-integrity-row__reason {
    display: grid;
    gap: 2px;
}

.ofp-admin-mileage-integrity-row__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ofp-admin-mileage-import-archive {
    margin: 12px 0 18px;
}

@media (max-width: 720px) {
    .ofp-admin-mileage-integrity-row__main {
        display: grid;
    }
}
