/* Timesheets responsive cards must keep labels above values after shared listing rules. */
/* Task 144 — branding identity review surface. Deliberately dense, calm, and
   explicit: the preview is visually separate from the live profile. */
body.admin-page .settings-page .settings-logo-safety-note {
    max-width: 680px;
    margin: -8px 0 18px;
    color: var(--text-secondary);
}
body.admin-page .settings-page .settings-upload-constraints { max-width: 220px; margin-top: 8px; }
body.admin-page .branding-profile-section {
    margin-bottom: 24px;
    padding: 24px;
    background: var(--surface-subtle);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
}
body.admin-page .branding-profile-heading,
body.admin-page .branding-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
body.admin-page .branding-profile-heading { margin-bottom: 20px; }
body.admin-page .branding-profile-heading h2,
body.admin-page .branding-card-heading h3 { margin: 0; color: var(--text-primary); letter-spacing: -.025em; }
body.admin-page .branding-profile-heading h2 { font-size: 1.35rem; }
body.admin-page .branding-profile-intro { max-width: 630px; margin: 6px 0 0; color: var(--text-secondary); font-size: .88rem; line-height: 1.5; }
body.admin-page .branding-profile-grid { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.5fr); gap: 16px; align-items: start; }
body.admin-page .branding-profile-grid .ui-panel { padding: 20px; margin: 0; }
body.admin-page .branding-card-heading { margin-bottom: 18px; }
body.admin-page .branding-card-heading h3 { font-size: 1rem; }
body.admin-page .branding-identity-row { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--border-subtle); }
body.admin-page .branding-identity-row strong { display: block; color: var(--text-primary); }
body.admin-page .branding-meta { display: block; margin-top: 4px; color: var(--text-muted); font-size: .75rem; }
body.admin-page .branding-logo-box { display: grid; place-items: center; width: 76px; height: 58px; flex: 0 0 76px; border: 1px solid var(--border-default); border-radius: 7px; background: var(--surface-base); }
body.admin-page .branding-logo-box img { max-width: 66px; max-height: 48px; object-fit: contain; }
body.admin-page .branding-detail-list { margin: 16px 0 0; }
body.admin-page .branding-detail-list > div { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border-subtle); }
body.admin-page .branding-detail-list dt { color: var(--text-muted); font-size: .75rem; }
body.admin-page .branding-detail-list dd { display: flex; align-items: center; gap: 7px; margin: 0; }
body.admin-page .branding-swatch, body.admin-page .branding-labeled-swatch i { display: inline-block; width: 18px; height: 18px; border: 1px solid rgba(24,34,30,.18); border-radius: 4px; vertical-align: middle; }
body.admin-page code { color: var(--text-secondary); font-size: .72rem; }
body.admin-page .branding-preview { padding: 18px; border: 1px solid color-mix(in srgb, var(--preview-primary) 30%, var(--border-default)); border-top: 4px solid var(--preview-primary); border-radius: 8px; background: var(--surface-base); color: var(--text-primary); }
body.admin-page .branding-preview-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
body.admin-page .branding-preview-top img { max-width: 145px; max-height: 48px; object-fit: contain; }
body.admin-page .branding-preview-top span { color: var(--text-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.admin-page .branding-preview > strong { font-size: 1.15rem; }
body.admin-page .branding-preview > p { margin: 4px 0 14px; color: var(--text-secondary); font-size: .78rem; }
body.admin-page .branding-preview-action { min-height: 44px; padding: 9px 14px; border: 0; border-radius: 6px; background: var(--preview-primary); color: var(--preview-on-primary); font: inherit; font-size: .8rem; font-weight: 700; }
body.admin-page .branding-swatch-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; }
body.admin-page .branding-group-label { display: block; margin-bottom: 8px; color: var(--text-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.admin-page .branding-swatches { display: flex; gap: 10px; flex-wrap: wrap; }
body.admin-page .branding-labeled-swatch { display: inline-grid; grid-template-columns: 18px auto; column-gap: 6px; align-items: center; color: var(--text-secondary); font-size: .75rem; }
body.admin-page .branding-labeled-swatch code { grid-column: 2; }
body.admin-page .effective-primary { background: var(--preview-primary) !important; }
body.admin-page .effective-accent { background: var(--preview-accent) !important; }
body.admin-page .branding-color-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body.admin-page .branding-color-fields .form-group { margin: 0; }
body.admin-page .branding-color-input { display: flex; gap: 8px; align-items: center; }
body.admin-page .branding-color-input input[type="color"] { width: 48px; height: 44px; padding: 3px; border: 1px solid var(--border-default); border-radius: 6px; background: var(--surface-base); cursor: pointer; }
body.admin-page .branding-color-input input[type="text"] { min-width: 0; flex: 1; }
body.admin-page .branding-validation { display: flex; gap: 10px; align-items: baseline; margin: 12px 0; padding: 10px 12px; border-left: 3px solid var(--preview-accent, var(--brand-primary)); background: var(--surface-subtle); color: var(--text-secondary); font-size: .78rem; }
body.admin-page .branding-validation strong { color: var(--text-primary); }
body.admin-page .branding-action-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
body.admin-page .branding-action-row form { margin: 0; }
body.admin-page .branding-action-row .btn { min-height: 44px; }
body.admin-page .branding-commit-actions { margin-top: 8px; }
body.admin-page .branding-commit-actions .field-hint { flex-basis: 100%; margin: 0; }
body.admin-page .branding-activate-button { background: var(--green-deep); color: #fff; }
body.admin-page .branding-restore-form { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border-default); }
body.admin-page .branding-restore-form span { color: var(--text-muted); font-size: .78rem; }
@media (max-width: 767px) {
    body.admin-page .branding-profile-section { padding: 16px 12px; }
    body.admin-page .branding-profile-heading, body.admin-page .branding-card-heading { display: block; }
    body.admin-page .branding-profile-heading .ui-badge, body.admin-page .branding-card-heading .ui-badge { margin-top: 10px; }
    body.admin-page .branding-profile-grid, body.admin-page .branding-swatch-groups, body.admin-page .branding-color-fields { grid-template-columns: 1fr; }
    body.admin-page .branding-action-row, body.admin-page .branding-action-row form, body.admin-page .branding-action-row .btn { width: 100%; }
}
@media (max-width: 1023px) {
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.timesheets-page .admin-data-table td[data-label] {
        display: block;
        grid-template-columns: none;
    }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.timesheets-page .admin-data-table td[data-label]::before {
        display: block;
        margin: 0 0 8px;
        line-height: 1.25;
    }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.timesheets-page .admin-data-table td[data-label=""]::before {
        display: none;
        margin: 0;
    }
}
body.admin-page .btn-primary { background: var(--brand-primary); color: var(--brand-on-primary); border-radius: 6px; box-shadow: var(--shadow-sm); }
body.admin-page .btn-primary:hover { background: var(--brand-primary-hover); }
body.admin-page .btn-primary:active { background: var(--brand-primary-active); }
body.admin-page .btn:focus-visible, body.admin-page input:focus-visible, body.admin-page select:focus-visible, body.admin-page textarea:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
body.admin-page .form-control { background: var(--surface-base); color: var(--text-primary); border: 1px solid var(--border-default); border-radius: 6px; min-height: 42px; }
body.admin-page .form-control::placeholder { color: var(--text-muted); }
body.admin-page .admin-container { background: var(--surface-base); color: var(--text-primary); border: 1px solid var(--border-subtle); border-radius: 10px; box-shadow: var(--shadow-sm); }
body.admin-page .page-header h2, body.admin-page .admin-container h2 { color: var(--text-primary); }
body.admin-page .notif-panel { background: var(--surface-base); border-color: var(--border-default); box-shadow: var(--shadow-md); }
body.admin-page .notif-panel-head { color: var(--text-primary); border-bottom-color: var(--border-subtle); }
body.admin-page .notif-item-row { border-bottom-color: var(--border-subtle); }
body.admin-page .notif-item { color: var(--text-secondary); }
body.admin-page .notif-item:hover { background: var(--surface-hover); }
body.admin-page .notif-item .nt { color: var(--text-primary); }
body.admin-page .notif-item .nm { color: var(--text-secondary); }
body.admin-page .notif-item .nd { color: var(--text-muted); }
body.admin-page .notif-del-btn { color: var(--text-muted); border-left-color: var(--border-subtle); }
body.admin-page .notif-empty { color: var(--text-muted); }
body.admin-page .notif-mark-all { color: var(--brand-link); }
body.admin-page .notif-view-all { color: var(--brand-link); border-top-color: var(--border-subtle); }
body.admin-page .notif-view-all:hover { background: var(--surface-hover); }

/* Shared migrated-admin vocabulary. The explicit admin + opt-in scope prevents
   these presentation primitives from affecting public and employee surfaces. */
body.admin-page .migrated-admin {
    font-family: var(--font-admin-ui);
}
body.admin-page .migrated-admin .ui-card,
body.admin-page .migrated-admin .ui-panel {
    box-sizing: border-box;
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}
body.admin-page .migrated-admin .ui-panel {
    padding: var(--space-4) var(--space-5);
}
body.admin-page .migrated-admin .ui-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}
body.admin-page .migrated-admin .ui-panel-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-lg);
    letter-spacing: -.02em;
}
body.admin-page .migrated-admin .ui-eyebrow {
    margin: 0 0 var(--space-1);
    color: var(--green-action);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}
body.admin-page .migrated-admin .ui-panel-meta {
    color: var(--text-muted);
    font-size: var(--text-xs);
}
body.admin-page .migrated-admin .ui-kpi {
    min-height: 84px;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-4);
    background: var(--surface-base);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    color: var(--text-primary);
    text-decoration: none;
    transition: border-color var(--transition-fast), transform var(--transition-fast);
}
body.admin-page .migrated-admin .ui-kpi:hover {
    border-color: var(--brand-primary-border);
    transform: translateY(-1px);
}
body.admin-page .migrated-admin .ui-kpi-vertical {
    display: block;
}
body.admin-page .migrated-admin .ui-kpi-featured {
    background: var(--green-wash);
    border-color: var(--brand-primary-border);
}
body.admin-page .migrated-admin .ui-kpi-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 50%;
    background: var(--green-wash);
    color: var(--green-action);
    font-weight: 700;
}
body.admin-page .migrated-admin .ui-kpi-icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.admin-page .migrated-admin .ui-kpi-copy {
    min-width: 0;
}
body.admin-page .migrated-admin .ui-kpi-label {
    display: block;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}
body.admin-page .migrated-admin .ui-kpi-value {
    display: block;
    margin-top: 3px;
    color: var(--text-primary);
    font-size: 1.45rem;
    letter-spacing: -.04em;
}
body.admin-page .migrated-admin .ui-kpi-value.is-unavailable {
    color: var(--text-muted);
}
body.admin-page .migrated-admin .ui-kpi-comparison {
    display: block;
    color: var(--status-completed);
    font-size: 10px;
    font-weight: 700;
}
body.admin-page .migrated-admin .ui-kpi-comparison.is-down {
    color: var(--warning);
}
body.admin-page .migrated-admin .ui-segmented {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--surface-base);
}
body.admin-page .migrated-admin .ui-segmented-item {
    border: 0;
    border-right: 1px solid var(--border-subtle);
    border-radius: 0;
    background: transparent;
    color: var(--text-secondary);
    padding: 9px 12px;
    font: inherit;
    font-size: var(--text-xs);
    font-weight: 700;
    cursor: pointer;
}
body.admin-page .migrated-admin .ui-segmented-item:last-child {
    border-right: 0;
}
body.admin-page .migrated-admin .ui-segmented-item:hover {
    background: var(--surface-hover);
}
body.admin-page .migrated-admin .ui-segmented-item.is-selected,
body.admin-page .migrated-admin .ui-segmented-item.active {
    background: var(--brand-primary);
    color: var(--brand-on-primary);
}
body.admin-page .migrated-admin .ui-segmented-item:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--green-action);
    outline-offset: -2px;
}
body.admin-page .migrated-admin .ui-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    color: var(--text-secondary);
    background: var(--surface-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}
body.admin-page .migrated-admin .ui-badge-success {
    color: var(--green-action);
    background: var(--green-wash);
    border-color: var(--brand-primary-border);
}
body.admin-page .migrated-admin .ui-badge-warning {
    color: var(--status-in-progress);
    background: var(--warning-soft);
    border-color: var(--warning);
}
body.admin-page .migrated-admin .ui-badge-info {
    color: #1d4ed8;
    background: #dbeafe;
    border-color: rgba(29, 78, 216, .28);
}
body.admin-page .migrated-admin .ui-badge-danger {
    color: var(--danger);
    background: var(--danger-soft);
    border-color: var(--danger);
}
body.admin-page .migrated-admin .btn-secondary {
    background: var(--surface-base);
    color: var(--text-primary);
    border: 1px solid var(--border-default);
}
body.admin-page .migrated-admin .btn-secondary:hover {
    background: var(--surface-hover);
    color: var(--text-primary);
}
body.admin-page .migrated-admin .ui-empty {
    min-height: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--text-secondary);
    text-align: center;
    font-size: var(--text-sm);
}
body.admin-page .migrated-admin .ui-empty-compact {
    min-height: 96px;
}
body.admin-page .migrated-admin .ui-empty strong {
    color: var(--text-primary);
}
body.admin-page .migrated-admin .ui-empty > span:last-child {
    color: var(--text-muted);
    font-size: var(--text-xs);
}
body.admin-page .admin-contact-routing-panel { margin-bottom: var(--space-5); }
body.admin-page .admin-contact-routing-panel .admin-field-help,
body.admin-page .invoice-billing-source small { color: var(--text-muted); font-size: var(--text-xs); line-height: 1.45; }
body.admin-page .admin-contact-xero-list { margin-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
body.admin-page .admin-contact-xero-row { display:flex; justify-content:space-between; gap:var(--space-3); padding:var(--space-2) 0; border-bottom:1px solid var(--border-subtle); color:var(--text-primary); font-size:var(--text-sm); }
body.admin-page .invoice-billing-source { display:grid; gap:3px; margin-bottom:var(--space-4); padding:var(--space-3); background:var(--surface-subtle); border-left:3px solid var(--brand-primary); color:var(--text-secondary); }
body.admin-page .invoice-billing-source span { color:var(--text-primary); font-weight:700; }
body.admin-page .invoice-prefill-note { margin: calc(var(--space-5) * -0.5) 0 var(--space-5); padding:var(--space-3); background:var(--green-wash); border:1px solid var(--brand-primary-border); border-radius:var(--radius-md); color:var(--text-secondary); font-size:var(--text-sm); }
body.admin-page .invoice-provenance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-4); }
body.admin-page .invoice-provenance-grid > div { display:grid; gap:4px; }
body.admin-page .invoice-provenance-grid .fin-meta-label { color:var(--text-muted); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.06em; }
@media (max-width: 600px) {
 body.admin-page .invoice-provenance-grid { grid-template-columns:1fr; gap:var(--space-3); }
 body.admin-page .admin-contact-xero-row { align-items:flex-start; }
}

/* ── Task 147 / phase two: explicit control-size contracts ─────────────
   These are opt-in contracts, deliberately attached to production surface
   families rather than a global `.btn` reset.  Visible compact controls use
   the 28px desktop rhythm; consequential actions retain a direct 44px target.
   FullCalendar remains owned by scheduler.css and is intentionally excluded. */
body.admin-page {
    --control-compact-visible: 28px;
    --control-target: 44px;
}

/* I44 — icon-only controls are direct, square targets at every breakpoint. */
body.admin-page .app-topbar .notif-bell,
body.admin-page .app-sidebar .admin-drawer-close,
body.admin-page .app-sidebar .sidebar-logout,
body.admin-page .admin-menu-toggle,
body.admin-page .password-toggle-btn,
body.admin-page .sched-modal-close,
body.admin-page .modal-close-x {
    box-sizing: border-box;
    width: var(--control-target);
    min-width: var(--control-target);
    height: var(--control-target);
    min-height: var(--control-target);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* C28 — time navigation and payroll day locks are desktop utility controls.
   The timesheet row checkbox intentionally keeps its verified 44px label
   wrapper; never reduce that label or its tablet/mobile native input. */
@media (min-width: 1024px) {
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .ts-week-nav .btn,
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .ts-entry-actions .btn:not(.ts-delete-btn),
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .ts-edit-actions .btn.btn-secondary,
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .pr-payform + .pr-inline .btn,
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .pr-inline .pr-day {
        box-sizing: border-box;
        min-height: var(--control-compact-visible);
        height: var(--control-compact-visible);
        padding-top: 3px;
        padding-bottom: 3px;
        line-height: 1.2;
    }
}

/* M44 — payroll commits, deletion and manual exception capture remain
   deliberate, direct activation targets on every surface and breakpoint. */
body.admin-page .migrated-admin.admin-list-page.timesheets-page .ts-manual-grid > .btn,
body.admin-page .migrated-admin.admin-list-page.timesheets-page .ts-bulk-actions .ts-delete-btn,
body.admin-page .migrated-admin.admin-list-page.timesheets-page .ts-entry-actions .ts-delete-btn,
body.admin-page .migrated-admin.admin-list-page.timesheets-page .ts-edit-actions .btn.btn-primary,
body.admin-page .migrated-admin.admin-list-page.timesheets-page .pr-inline .btn.btn-primary,
body.admin-page .migrated-admin.admin-list-page.timesheets-page .pr-payform .btn,
body.admin-page .migrated-admin.admin-list-page.timesheets-page .pr-inline .btn.ts-delete-btn {
    box-sizing: border-box;
    min-height: var(--control-target);
}

/* Financial reporting periods are direct anchors—there is no proxy hit area.
   They are therefore deliberately M44, including the custom-range submit. */
body.admin-page .migrated-admin.admin-list-page.financial-page .fin-period-btn,
body.admin-page .migrated-admin.admin-list-page.financial-page .fin-custom-range .btn {
    box-sizing: border-box;
    min-height: var(--control-target);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ── Task 147 safe semantic C28 map ─────────────────────────────────────
   Only controls whose class names carry the compact intent are included.
   This is deliberately not a `.btn-sm` global rule: row/list/navigation
   context is part of the contract. Mobile rules are absent so existing
   44px responsive targets and activation wrappers remain authoritative. */
@media (min-width: 768px) {
    body.admin-page .migrated-admin .admin-data-table .btn-sm,
    body.admin-page .migrated-admin .admin-data-table .btn-small,
    body.admin-page .migrated-admin .admin-list-header .admin-header-action,
    body.admin-page .migrated-admin .admin-action-btn,
    body.admin-page .migrated-admin .admin-inline-link,
    body.admin-page .migrated-admin .admin-disclosure-trigger,
    body.admin-page .migrated-admin .ui-segmented-item,
    body.admin-page .emp-section-link,
    body.admin-page .notif-mark-all,
    body.admin-page .migrated-admin .cj-filter-btn,
    body.admin-page .migrated-admin .ir-action-btn,
    body.admin-page .migrated-admin .ir-pagination,
    body.admin-page .migrated-admin .crew-margin-btn,
    body.admin-page .migrated-admin .crew-mode-btn,
    body.admin-page .migrated-admin .jc-btn,
    body.admin-page .migrated-admin .jc-hide-btn,
    body.admin-page .migrated-admin .jc-done-summary,
    body.admin-page .migrated-admin .week-day-tab,
    body.admin-page .migrated-admin .qe-intel-tab,
    body.admin-page .migrated-admin .qe-client-tab,
    body.admin-page .migrated-admin .qe-details-toggle,
    body.admin-page .migrated-admin .qe-pdf-btn,
    body.admin-page .migrated-admin .qe-btn,
    body.admin-page .migrated-admin .qcard-btn,
    body.admin-page .migrated-admin .sched-page .jobcard-toggle,
    body.admin-page .migrated-admin .timesheets-page .pr-day,
    body.admin-page .migrated-admin .timesheets-page .ts-week-nav .btn,
    body.admin-page .migrated-admin .timesheets-page .ts-entry-actions .btn:not(.ts-delete-btn),
    body.admin-page .migrated-admin .timesheets-page .ts-edit-actions .btn.btn-secondary {
        box-sizing: border-box;
        min-height: 28px;
        height: 28px;
        padding-top: 3px;
        padding-bottom: 3px;
        line-height: 1.2;
    }

    /* Public journey C28 links are compact only when they are explicit back
       or chip affordances; service cards and progression CTAs are excluded. */
    body.public-page .pf-chip,
    body.public-page .pf-back-link,
    body.admin-page .error-action-secondary,
    body.error-shell .error-action-secondary {
        box-sizing: border-box;
        min-height: 28px;
        height: 28px;
        padding-top: 3px;
        padding-bottom: 3px;
        line-height: 1.2;
    }
}

/* The following are protected by omission: financial period controls,
   public service cards, ops reset/circuit-breaker actions, modal close/cancel
   actions, FullCalendar controls, and
   all CTA/M44/I44 selectors. Task 142 payslip geometry is also intentionally
   not addressed here. */

/* Shared dense listings for the migrated admin surfaces. This is deliberately
   scoped so legacy/public tables keep their existing behavior. */
body.admin-page .migrated-admin.admin-list-page {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}
body.admin-page .migrated-admin.admin-list-page [hidden] {
    display: none !important;
}
body.admin-page .migrated-admin.admin-list-page .admin-list-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
}
body.admin-page .migrated-admin.admin-list-page .admin-list-heading { min-width: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-list-header h1 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    letter-spacing: -.035em;
}
body.admin-page .migrated-admin.admin-list-page .admin-list-help {
    max-width: 680px;
    margin: var(--space-2) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    line-height: 1.5;
}
body.admin-page .migrated-admin.admin-list-page .admin-header-action {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.admin-page .migrated-admin.admin-list-page .ui-panel {
    margin-bottom: var(--space-5);
}
body.admin-page .migrated-admin.admin-list-page .admin-form-panel {
    max-width: 760px;
}
body.admin-page .migrated-admin.staff-list-page.password-reset-success .password-reset-success-form {
    max-width: none;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}
body.admin-page .migrated-admin.admin-list-page .admin-form-grid .form-group {
    min-width: 0;
    margin-bottom: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-grid label {
    color: var(--text-secondary);
    text-shadow: none;
}
body.admin-page .migrated-admin .form-group > label {
    color: var(--text-secondary);
    text-shadow: none;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-grid input,
body.admin-page .migrated-admin.admin-list-page .admin-form-grid select,
body.admin-page .migrated-admin.admin-list-page .admin-form-grid textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    background: var(--surface-base);
    color: var(--text-primary);
    border-color: var(--border-default);
}
body.admin-page .migrated-admin.admin-list-page .admin-form-submit {
    display: flex;
    align-items: flex-end;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-submit .btn { width: 100%; }
body.admin-page .migrated-admin.admin-list-page .admin-form-full { grid-column: 1 / -1; }
body.admin-page .migrated-admin.admin-list-page .admin-form-grid--single {
    grid-template-columns: minmax(0, 1fr);
}
body.admin-page .migrated-admin.admin-list-page .admin-row-edit-form {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
    min-width: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-row-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
}
body.admin-page .migrated-admin.admin-list-page .admin-row-edit-span,
body.admin-page .migrated-admin.admin-list-page .admin-row-edit-submit {
    grid-column: 1 / -1;
    width: 100%;
}
body.admin-page .migrated-admin.admin-list-page .admin-row-edit-submit {
    min-height: 40px;
}
body.admin-page .migrated-admin.admin-list-page .admin-cell-content {
    min-width: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-row-edit-form .form-control {
    flex: 1 1 130px;
    width: auto;
    min-width: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-header-form { margin: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-header-form .btn { min-height: 42px; }
body.admin-page .migrated-admin.admin-list-page .admin-filter-bar {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
    padding: var(--space-3);
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}
body.admin-page .migrated-admin.admin-list-page .admin-filter-bar .form-control,
body.admin-page .migrated-admin.admin-list-page .admin-filter-bar .admin-filter-input {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    min-width: 0;
    background: var(--surface-base);
    color: var(--text-primary);
    border: 1px solid var(--border-default);
}
body.admin-page .migrated-admin.admin-list-page .admin-filter-grow {
    flex: 1 1 280px;
}
body.admin-page .migrated-admin.admin-list-page .admin-filter-select {
    flex: 1 1 160px;
}
body.admin-page .migrated-admin.admin-list-page .admin-filter-actions {
    display: flex;
    gap: var(--space-2);
    flex: 0 0 auto;
}
body.admin-page .migrated-admin.admin-list-page .admin-filter-field {
    flex: 1 1 150px;
    min-width: 0;
    margin: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-filter-field label {
    display: block;
    margin-bottom: var(--space-1);
    color: var(--text-secondary);
}
body.admin-page .migrated-admin.admin-list-page .admin-chip-bar {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
    margin-bottom: var(--space-4);
}
body.admin-page .migrated-admin.admin-list-page .admin-chip-wrap { position: relative; }
body.admin-page .migrated-admin.admin-list-page .admin-filter-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 5px 14px;
    color: var(--text-secondary);
    background: var(--surface-base);
    border: 1px solid var(--border-default);
    border-radius: 999px;
    font-size: var(--text-xs);
    font-weight: 700;
    text-decoration: none;
}
body.admin-page .migrated-admin.admin-list-page .admin-filter-chip.is-active {
    color: var(--brand-primary-active);
    background: color-mix(in srgb, var(--brand-primary) 16%, transparent);
    border-color: var(--brand-primary);
}
body.admin-page .migrated-admin.admin-list-page .admin-chip-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 200;
    min-width: 190px;
    padding: var(--space-2) 0;
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
}
body.admin-page .migrated-admin.admin-list-page .admin-chip-menu a {
    display: block;
    padding: 7px 16px;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    text-decoration: none;
    white-space: nowrap;
}
body.admin-page .migrated-admin.admin-list-page .admin-chip-menu a:hover { background: var(--surface-hover); }
body.admin-page .migrated-admin.admin-list-page .admin-chip-menu a.is-active { color: var(--brand-primary-active); }
body.admin-page .migrated-admin.admin-list-page .admin-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-top: var(--space-5);
    color: var(--text-muted);
}
body.admin-page .migrated-admin.admin-list-page .admin-table-shell,
body.admin-page .migrated-admin.admin-list-page .detail-section.cj-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}
body.admin-page .migrated-admin.admin-list-page .admin-data-table {
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
    table-layout: auto;
}
body.admin-page .migrated-admin.admin-list-page .admin-data-table th {
    padding: 11px 12px;
    background: var(--surface-subtle);
    color: var(--text-muted);
    border-bottom: 1px solid var(--border-default);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-align: left;
    text-transform: uppercase;
}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table th,
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .ui-badge,
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .status-badge {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    flex-shrink: 0;
}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td,
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td[data-label="Email"] {
    overflow-wrap: normal;
    word-break: normal;
}
body.admin-page .migrated-admin.admin-list-page .admin-breakable-token {
    overflow-wrap: normal;
    word-break: normal;
}
body.admin-page .migrated-admin.admin-list-page .admin-data-table td {
    padding: 13px 12px;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-subtle);
    vertical-align: middle;
    line-height: 1.35;
}
@media (min-width: 1024px) {
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--row-editing th:first-child,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--row-editing td:first-child {
        width: 52%;
    }
}
body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody tr:last-child td { border-bottom: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody tr:hover { background: var(--surface-hover); }
body.admin-page .migrated-admin.admin-list-page .admin-data-table td[data-label="Email"] { overflow-wrap: anywhere; }
body.admin-page .migrated-admin.admin-list-page .admin-action-group {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    flex-wrap: wrap;
}
body.admin-page .migrated-admin.admin-list-page .admin-inline-form { display: inline-flex; margin: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-action-cell {
    width: 1%;
    white-space: nowrap;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-cell {
    width: 34%;
    white-space: normal;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-cell form {
    display: grid;
    gap: var(--space-2);
}
body.admin-page .migrated-admin.admin-list-page .admin-form-cell textarea {
    width: 100%;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-cell .admin-action-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}
body.admin-page .migrated-admin.admin-list-page .admin-action-btn { margin-left: var(--space-2); white-space: nowrap; }
body.admin-page .migrated-admin.admin-list-page .admin-inline-link { color: var(--status-completed); }
body.admin-page .migrated-admin.admin-list-page .admin-disclosure-trigger { white-space: nowrap; }
body.admin-page .migrated-admin.admin-list-page .admin-muted,
body.admin-page .migrated-admin.admin-list-page .admin-help-text,
body.admin-page .migrated-admin.admin-list-page .cj-muted { color: var(--text-muted); }
body.admin-page .migrated-admin.admin-list-page .admin-help-text { display: block; margin-top: 5px; font-size: var(--text-xs); }
body.admin-page .migrated-admin.admin-list-page .admin-status-positive { color: var(--status-completed); font-weight: 700; }
body.admin-page .migrated-admin.admin-list-page .admin-empty-state {
    margin: 0;
    padding: var(--space-7) var(--space-5);
    color: var(--text-secondary);
    text-align: center;
}
body.admin-page .migrated-admin.admin-list-page .admin-empty-state strong { color: var(--text-primary); }
body.admin-page .migrated-admin.admin-list-page .admin-data-table .btn,
body.admin-page .migrated-admin.admin-list-page .admin-filter-bar .btn { white-space: nowrap; }
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td[data-label]::before {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

@media (max-width: 1023px) and (min-width: 768px) {
    body.admin-page .migrated-admin.admin-list-page { max-width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .btn,
    body.admin-page .migrated-admin.admin-list-page input:not([type="checkbox"]):not([type="radio"]),
    body.admin-page .migrated-admin.admin-list-page select,
    body.admin-page .migrated-admin.admin-list-page textarea {
        min-height: 44px;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-filter-bar .form-control,
    body.admin-page .migrated-admin.admin-list-page .admin-filter-bar .admin-filter-input {
        height: 44px;
        min-height: 44px;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-table-shell,
    body.admin-page .migrated-admin.admin-list-page .detail-section.cj-table-wrap {
        padding: var(--space-3);
        border: 0;
        background: transparent;
        overflow: visible;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tr,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td {
        display: block;
        width: 100%;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table {
        border-collapse: separate;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table thead {
        display: none;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody tr {
        display: grid;
        gap: 0;
        margin-bottom: var(--space-3);
        padding: var(--space-4);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-lg);
        background: var(--surface-panel);
        box-shadow: var(--shadow-sm);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody tr:last-child {
        margin-bottom: 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td {
        display: grid;
        grid-template-columns: minmax(104px, 0.32fr) minmax(0, 1fr);
        gap: var(--space-3);
        align-items: start;
        padding: var(--space-3) 0;
        border: 0;
        border-bottom: 1px solid var(--border-subtle);
        overflow-wrap: anywhere;
    }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td {
        grid-template-columns: max-content minmax(0, 1fr);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td[data-label]::before {
        content: attr(data-label);
        color: var(--text-muted);
        font-size: var(--text-xs);
        font-weight: 800;
        letter-spacing: .09em;
        line-height: 1.3;
        text-transform: uppercase;
    }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td[data-label]::before {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: keep-all;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-action-group {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        max-width: none;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-action-group > *,
    body.admin-page .migrated-admin.admin-list-page .admin-inline-form,
    body.admin-page .migrated-admin.admin-list-page .admin-action-group .btn,
    body.admin-page .migrated-admin.admin-list-page .admin-inline-form button {
        box-sizing: border-box;
        width: 100%;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-action-group .btn,
    body.admin-page .migrated-admin.admin-list-page .admin-inline-form button {
        height: auto;
        min-height: 44px;
        min-width: 0;
        padding: var(--space-2) var(--space-3);
        line-height: 1.25;
        overflow-wrap: normal;
        white-space: normal;
        word-break: normal;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-action-btn {
        width: 100%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: var(--space-2) 0 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td .admin-action-btn {
        grid-column: 2;
        box-sizing: border-box;
        width: 100%;
        margin-left: 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td .admin-cell-content {
        grid-column: 2;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td .admin-row-edit-form {
        grid-column: 2;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--row-editing td:first-child {
        display: block;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--row-editing td:first-child::before {
        display: block;
        margin-bottom: var(--space-2);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--row-editing td:first-child .admin-row-edit-form {
        width: 100%;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-row-edit-form .btn {
        flex-basis: 100%;
        width: 100%;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td .ui-badge,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td .status-badge {
        justify-self: start;
        width: auto;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td.admin-action-cell {
        display: grid;
        grid-template-columns: minmax(104px, 0.32fr) minmax(0, 1fr);
        width: 100%;
        white-space: normal;
        text-align: left;
    }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td.admin-action-cell {
        grid-template-columns: max-content minmax(0, 1fr);
    }
}

/* Batch 7: reusable operational-detail composition. */
body.admin-page .migrated-admin .ir-split{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr);gap:var(--space-5);align-items:start}
body.admin-page .migrated-admin .ir-left,.migrated-admin .ir-right{min-width:0}
body.admin-page .migrated-admin .ir-panel-label,.migrated-admin .ir-section-head{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 var(--space-3)}

/* Batch 19: admin authentication. Kept separate from the authenticated shell
   so access and recovery remain focused, secure surfaces. */
body.admin-page.auth-shell {
    min-height: 100dvh;
    background: var(--surface-canvas);
}
body.admin-page.auth-shell .header,
body.admin-page.auth-shell .footer { display: none; }
body.admin-page.auth-shell .main-content {
    min-height: 100dvh;
    margin-left: 0;
    padding: 0;
    background: transparent;
}
body.admin-page.auth-shell .main-content > .container {
    box-sizing: border-box;
    max-width: none;
    min-height: 100dvh;
    padding: var(--space-6) var(--space-4);
}
body.admin-page.auth-shell .simco-auth-page {
    box-sizing: border-box;
    width: min(100%, 440px);
    margin: 0 auto;
    padding-top: var(--space-6);
    color: var(--text-primary);
    font-family: var(--font-admin-ui);
}
body.admin-page.auth-shell .auth-brand-header {
    box-sizing: border-box;
    width: 100%;
    height: 87px;
    background: var(--nav-canvas) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
}
body.admin-page.auth-shell .auth-brand-header-inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1080px;
    height: 100%;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
}
body.admin-page.auth-shell .simco-auth-brand {
    --auth-lockup-width: 115px;
    box-sizing: content-box;
    display: flex;
    width: var(--auth-lockup-width);
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-left: 10px;
}
body.admin-page.auth-shell .simco-auth-wordmark {
    display: block;
    width: 100%;
    height: 21px;
    background: var(--brand-primary);
    -webkit-mask: url("/static/email-logo-wordmark.png") center / contain no-repeat;
    mask: url("/static/email-logo-wordmark.png") center / contain no-repeat;
}
body.admin-page.auth-shell .simco-auth-tagline {
    box-sizing: border-box;
    width: var(--auth-lockup-width);
    overflow: hidden;
    color: #c9d2d8;
    font-size: calc(var(--auth-lockup-width) * .0435);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}
body.admin-page.auth-shell .simco-auth-tagline-text {
    display: block;
    width: calc(100% + 3px);
    margin-left: -2px;
    text-align: justify;
    text-align-last: justify;
    text-transform: uppercase;
}
body.admin-page.auth-shell .simco-auth-card {
    padding: var(--space-6);
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}
body.admin-page.auth-shell .simco-auth-kicker {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
    color: var(--green-action);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body.admin-page.auth-shell .simco-auth-kicker::before {
    width: 7px;
    height: 7px;
    content: "";
    border-radius: 50%;
    background: var(--green-action);
}
body.admin-page.auth-shell .simco-auth-card h1 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(1.65rem, 5vw, 2rem);
    letter-spacing: -.04em;
    line-height: 1.1;
}
body.admin-page.auth-shell .simco-auth-intro {
    margin: var(--space-3) 0 var(--space-5);
    color: var(--text-secondary);
    font-size: var(--text-md);
    line-height: 1.55;
}
body.admin-page.auth-shell .simco-auth-form { margin: 0; }
body.admin-page.auth-shell .simco-auth-form .form-group { margin-bottom: var(--space-4); }
body.admin-page.auth-shell .simco-auth-form label {
    display: block;
    margin-bottom: var(--space-2);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: 700;
}
body.admin-page.auth-shell .simco-auth-form input {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    color: var(--text-primary);
    background: var(--surface-base);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    font: inherit;
    line-height: 1.3;
}
body.admin-page.auth-shell .simco-auth-form input::placeholder { color: var(--text-muted); }
body.admin-page.auth-shell .simco-auth-form input:focus {
    border-color: var(--brand-primary);
    outline: 2px solid var(--brand-primary-border);
    outline-offset: 1px;
}
body.admin-page.auth-shell .simco-auth-form .recovery-code-input {
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}
body.admin-page.auth-shell .simco-auth-form .password-field-wrap { position: relative; }
body.admin-page.auth-shell .simco-auth-form .password-field-wrap input { padding-right: 52px; }
body.admin-page.auth-shell .simco-auth-form .password-toggle-btn {
    position: absolute;
    top: 50%;
    right: 1px;
    display: inline-flex;
    width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transform: translateY(-50%);
}
body.admin-page.auth-shell .simco-auth-form .password-toggle-btn:hover { color: var(--green-action); background: var(--surface-hover); }
body.admin-page.auth-shell .simco-auth-form .password-toggle-btn svg { width: 18px; height: 18px; }
body.admin-page.auth-shell .simco-auth-form .eye-icon-hide { display: none; }
body.admin-page.auth-shell .simco-auth-form .eye-icon-hide.is-visible { display: block; }
body.admin-page.auth-shell .simco-auth-form .eye-icon-show.is-hidden { display: none; }
body.admin-page.auth-shell .simco-auth-form .field-hint {
    margin: var(--space-2) 0 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
}
body.admin-page.auth-shell .simco-auth-form .form-actions { margin-top: var(--space-5); }
body.admin-page.auth-shell .simco-auth-form .btn-primary {
    display: inline-flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px var(--space-4);
    font-weight: 800;
}
body.admin-page.auth-shell .simco-auth-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    margin-top: var(--space-4);
    color: var(--brand-link);
    font-size: var(--text-sm);
    font-weight: 700;
    text-decoration: none;
}
body.admin-page.auth-shell .simco-auth-link:hover { color: var(--green-deep); text-decoration: underline; }
body.admin-page.auth-shell .simco-auth-alert {
    margin: 0 0 var(--space-4);
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    line-height: 1.45;
}
body.admin-page.auth-shell .simco-auth-alert--error { color: var(--danger); background: var(--danger-soft); border-color: var(--danger); }
body.admin-page.auth-shell .simco-auth-alert--success { color: var(--status-completed); background: var(--success-soft); border-color: var(--status-completed); }
body.admin-page.auth-shell .simco-auth-alert ul { margin: 0; padding-left: 1.2em; }
body.admin-page.auth-shell .simco-auth-alert p { margin: 0; }
body.admin-page.auth-shell .forgot-password-page .simco-auth-card {
    padding: var(--space-5);
}
body.admin-page.auth-shell .forgot-password-page .simco-auth-intro {
    margin: var(--space-2) 0 var(--space-3);
    font-size: var(--text-sm);
}
body.admin-page.auth-shell .forgot-password-page .simco-auth-alert {
    margin-bottom: var(--space-3);
    padding: var(--space-2) var(--space-3);
}
body.admin-page.auth-shell .forgot-password-page .simco-auth-form .form-group {
    margin-bottom: var(--space-3);
}
body.admin-page.auth-shell .forgot-password-page .simco-auth-form .form-actions {
    margin-top: var(--space-3);
}
body.admin-page.auth-shell .forgot-password-page .simco-auth-link {
    margin-top: var(--space-2);
}
@media (max-width: 767px) {
    body.admin-page.auth-shell .main-content { padding: 0; }
    body.admin-page.auth-shell .main-content > .container { padding: var(--space-4); }
    body.admin-page.auth-shell .auth-brand-header {
        width: auto;
        height: 67px;
        margin: 24px 12px 0;
    }
    body.admin-page.auth-shell .auth-brand-header-inner { padding: 0 16px; }
    body.admin-page.auth-shell .simco-auth-brand {
        --auth-lockup-width: 102px;
        gap: 3px;
        padding-left: 6px;
        transform: none;
    }
    body.admin-page.auth-shell .simco-auth-wordmark {
        width: calc(var(--auth-lockup-width) - 5px);
        height: 20px;
        margin-left: 3px;
        transform: translateY(1px);
    }
    body.admin-page.auth-shell .simco-auth-tagline {
        width: calc(var(--auth-lockup-width) - 5px);
        margin-left: 3px;
        margin-right: 2px;
    }
    body.admin-page.auth-shell .simco-auth-page { padding-top: var(--space-4); }
    body.admin-page.auth-shell .simco-auth-card { padding: var(--space-5) var(--space-4); }
    body.admin-page.auth-shell .forgot-password-page .simco-auth-card { padding: var(--space-4); }
}
body.admin-page .migrated-admin .ir-msg{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3)}

/* Scoped credential mutation surface: composed to make a consequential access
   change legible without importing alarmist or legacy-form visual language. */
body.admin-page .migrated-admin.admin-password-page {
    width: 100%;
    max-width: 860px;
    margin-inline: auto;
    padding: clamp(var(--space-4), 3vw, var(--space-6));
    background: transparent;
    border: 0;
    box-shadow: none;
}
body.admin-page .migrated-admin.admin-password-page .admin-list-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
}
body.admin-page .migrated-admin.admin-password-page .admin-list-heading { min-width: 0; }
body.admin-page .migrated-admin.admin-password-page .admin-list-header h1 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(1.55rem, 3vw, 2rem);
    letter-spacing: -.04em;
}
body.admin-page .migrated-admin.admin-password-page .admin-list-help {
    max-width: 610px;
    margin: var(--space-2) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    line-height: 1.55;
}
body.admin-page .migrated-admin.admin-password-page .admin-header-action {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.admin-page .migrated-admin.admin-password-page .form-card {
    box-sizing: border-box;
    max-width: 620px !important;
    padding: clamp(var(--space-5), 4vw, var(--space-6));
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}
body.admin-page .migrated-admin.admin-password-page .alert {
    max-width: 620px;
    margin-bottom: var(--space-4);
}
body.admin-page .migrated-admin.admin-password-page .password-identity {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    padding-bottom: var(--space-4);
    margin-bottom: var(--space-4);
    border-bottom: 1px solid var(--border-subtle);
}
body.admin-page .migrated-admin.admin-password-page .password-identity-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--green-wash);
    color: var(--green-deep);
    font-size: var(--text-lg);
    font-weight: 800;
}
body.admin-page .migrated-admin.admin-password-page .password-identity-label,
body.admin-page .migrated-admin.admin-password-page .password-identity-email {
    display: block;
    color: var(--text-muted);
    font-size: var(--text-xs);
}
body.admin-page .migrated-admin.admin-password-page .password-identity-label {
    margin: 0 0 2px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}
body.admin-page .migrated-admin.admin-password-page .password-identity-name {
    display: block;
    color: var(--text-primary);
    line-height: 1.25;
}
body.admin-page .migrated-admin.admin-password-page .password-identity-email { margin-top: 2px; overflow-wrap: anywhere; }
body.admin-page .migrated-admin.admin-password-page .password-guidance {
    display: grid;
    grid-template-columns: 4px minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    margin: 0 0 var(--space-5);
    background: var(--surface-subtle);
    border-radius: var(--radius-sm);
}
body.admin-page .migrated-admin.admin-password-page .password-guidance-marker {
    background: var(--green-action);
    border-radius: var(--radius-pill);
}
body.admin-page .migrated-admin.admin-password-page .password-guidance p {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    line-height: 1.5;
}
body.admin-page .migrated-admin.admin-password-page .password-field { margin-bottom: var(--space-4); }
body.admin-page .migrated-admin.admin-password-page .password-field label {
    display: block;
    margin-bottom: 6px;
    color: var(--text-primary);
    font-size: var(--text-sm);
    font-weight: 750;
}
body.admin-page .migrated-admin.admin-password-page .password-field .form-control {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: .045em;
}
body.admin-page .migrated-admin.admin-password-page .password-field-help {
    display: block;
    margin-top: 6px;
    color: var(--text-muted);
    font-size: var(--text-xs);
}
body.admin-page .migrated-admin.admin-password-page .password-generator {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-3) 0 var(--space-5);
    margin-bottom: var(--space-4);
    border-bottom: 1px solid var(--border-subtle);
}
body.admin-page .migrated-admin.admin-password-page .password-generator strong,
body.admin-page .migrated-admin.admin-password-page .password-generator span {
    display: block;
}
body.admin-page .migrated-admin.admin-password-page .password-generator strong { color: var(--text-primary); font-size: var(--text-sm); }
body.admin-page .migrated-admin.admin-password-page .password-generator span { margin-top: 2px; color: var(--text-muted); font-size: var(--text-xs); line-height: 1.4; }
body.admin-page .migrated-admin.admin-password-page .password-generator .btn { flex: 0 0 auto; }
body.admin-page .migrated-admin.admin-password-page .password-consequence {
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-5);
    background: var(--warning-soft);
    border-left: 3px solid var(--warning);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
body.admin-page .migrated-admin.admin-password-page .password-consequence strong,
body.admin-page .migrated-admin.admin-password-page .password-consequence span { display: block; }
body.admin-page .migrated-admin.admin-password-page .password-consequence strong { color: var(--text-primary); font-size: var(--text-sm); }
body.admin-page .migrated-admin.admin-password-page .password-consequence span { margin-top: 3px; color: var(--text-secondary); font-size: var(--text-xs); line-height: 1.45; }
body.admin-page .migrated-admin.admin-password-page .password-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
body.admin-page .migrated-admin.admin-password-page .password-actions .btn { min-height: 42px; }
body.admin-page .password-confirm-dialog .btn-secondary {
    background: var(--surface-base);
    color: var(--text-primary);
    border: 1px solid var(--border-default);
}
@media (max-width: 767px) {
    body.admin-page .migrated-admin.admin-password-page { padding: var(--space-3); }
    body.admin-page .migrated-admin.admin-password-page .form-card { padding: var(--space-4); }
    body.admin-page .migrated-admin.admin-password-page .password-identity { grid-template-columns: 42px minmax(0, 1fr); }
    body.admin-page .migrated-admin.admin-password-page .password-access-badge { grid-column: 2; justify-self: start; }
    body.admin-page .migrated-admin.admin-password-page .password-generator { align-items: flex-start; flex-direction: column; }
    body.admin-page .migrated-admin.admin-password-page .password-generator .btn,
    body.admin-page .migrated-admin.admin-password-page .password-actions .btn { width: 100%; justify-content: center; }
}

/* Batch 12: Xero connection console. Page-scoped to preserve the sync-log regression surface. */
body.admin-page .migrated-admin.xero-console-page,
body.admin-page .migrated-admin.xero-tenant-page{width:100%;max-width:1180px;margin-inline:auto;background:transparent;border:0;box-shadow:none}
body.admin-page .migrated-admin .xero-page-header{margin-bottom:var(--space-5)}
body.admin-page .migrated-admin.xero-console-page .ui-panel,
body.admin-page .migrated-admin.xero-tenant-page .ui-panel{margin-bottom:var(--space-5)}
body.admin-page .xero-console-page .btn,
body.admin-page .xero-tenant-page .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
body.admin-page .xero-console-page .ui-badge,
body.admin-page .xero-tenant-page .ui-badge{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
body.admin-page .xero-feedback{margin:0 0 var(--space-4);padding:12px 14px;border:1px solid;border-radius:var(--radius-md);font-size:var(--text-sm)}
body.admin-page .xero-feedback-success{color:var(--green-action);background:var(--green-wash);border-color:var(--brand-primary-border)}
body.admin-page .xero-feedback-state-off{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}
body.admin-page .xero-feedback-error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}
body.admin-page .xero-panel-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}
body.admin-page .xero-product,body.admin-page .xero-picker-intro{display:flex;align-items:flex-start;gap:12px;min-width:0}
body.admin-page .xero-mark{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;color:var(--green-action);background:var(--green-wash);border:1px solid var(--brand-primary-border);font-size:18px;font-weight:800}
body.admin-page .xero-console-page h2,body.admin-page .xero-tenant-page h2{margin:0;color:var(--text-primary);letter-spacing:-.025em}
body.admin-page .xero-connection-detail{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(150px,1fr) minmax(150px,1fr);gap:var(--space-4);margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}
body.admin-page .xero-connection-detail>div{min-width:0}
body.admin-page .xero-connection-detail strong,.xero-detail-label,.xero-detail-note{display:block}
body.admin-page .xero-connection-detail strong{color:var(--text-primary);font-size:1rem;overflow-wrap:anywhere}
body.admin-page .xero-detail-label{margin-bottom:4px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
body.admin-page .xero-detail-note{margin-top:4px;color:var(--text-muted);font-size:var(--text-xs)}
body.admin-page .xero-actions,body.admin-page .xero-picker-actions,body.admin-page .xero-dialog-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}
body.admin-page .xero-actions{margin-top:var(--space-4)}
body.admin-page .xero-disconnected-copy{max-width:720px;margin:var(--space-4) 0;color:var(--text-secondary)}
body.admin-page .xero-disconnected-copy strong{color:var(--text-primary)}
body.admin-page .xero-disconnected-copy p{margin:6px 0 0;line-height:1.55}
body.admin-page .xero-connect-button{min-width:170px}
body.admin-page .xero-mode-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-4)}
body.admin-page .xero-mode-panel .ui-panel-heading{grid-column:1/-1;margin-bottom:0}
body.admin-page .xero-mode-copy{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-left:3px solid;font-size:var(--text-sm);line-height:1.45}
body.admin-page .xero-mode-copy strong{color:var(--text-primary)}
body.admin-page .xero-mode-demo{background:var(--warning-soft);border-color:var(--warning);color:var(--text-secondary)}
body.admin-page .xero-mode-live{background:var(--green-wash);border-color:var(--brand-primary);color:var(--text-secondary)}
body.admin-page .xero-confirm-form{display:grid;gap:7px;max-width:510px}
body.admin-page .xero-confirm-form label{color:var(--text-secondary);font-size:var(--text-sm)}
body.admin-page .xero-confirm-form>div{display:flex;gap:var(--space-2)}
body.admin-page .xero-confirm-form .form-control{min-height:44px;min-width:0;flex:1;padding:10px 16px;background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm)}
body.admin-page .xero-guidance ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 34px;margin:0;padding-left:22px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}
body.admin-page .xero-guidance p{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--text-xs)}
body.admin-page .xero-activity-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}
body.admin-page .xero-activity-head,body.admin-page .xero-activity-row{display:grid;grid-template-columns:150px minmax(120px,.8fr) minmax(100px,.7fr) 78px minmax(180px,1.6fr);gap:var(--space-3);align-items:center}
body.admin-page .xero-activity-head{padding:0 12px 9px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
body.admin-page .xero-activity-row{padding:12px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-sm)}
body.admin-page .xero-activity-row>div{min-width:0}
body.admin-page .xero-activity-row code{color:var(--text-primary);font-size:11px;overflow-wrap:anywhere}
body.admin-page .xero-activity-row a{color:var(--green-action);font-weight:700}
body.admin-page .xero-result{overflow-wrap:anywhere}
body.admin-page .xero-activity-row.has-error .xero-result{color:var(--danger)}
body.admin-page .xero-ok{color:var(--status-completed);font-weight:700}
body.admin-page .xero-dialog-overlay{position:fixed;inset:0;z-index:700;align-items:center;justify-content:center;padding:20px;background:rgba(39,52,35,.42)}
body.admin-page .xero-dialog-overlay[data-admin-dialog-open="true"]{display:flex!important}
body.admin-page .xero-dialog{width:min(100%,460px);padding:var(--space-5);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
body.admin-page .xero-dialog h2{margin:0;color:var(--text-primary);font-size:var(--text-lg)}
body.admin-page .xero-dialog p:not(.ui-eyebrow){margin:10px 0 var(--space-5);color:var(--text-secondary);line-height:1.5}
body.admin-page .xero-dialog-actions{justify-content:flex-end}
body.admin-page .xero-dialog-actions form{margin:0}
body.admin-page .xero-dialog .btn-secondary{background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-default)}
body.admin-page .xero-picker-panel{max-width:800px}
body.admin-page .xero-picker-intro{padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}
body.admin-page .xero-picker-intro p:not(.ui-eyebrow){margin:6px 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}
body.admin-page .xero-picker-panel fieldset{margin:var(--space-4) 0 0;padding:0;border:0}
body.admin-page .xero-picker-panel legend{margin-bottom:var(--space-2);color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
body.admin-page .xero-tenant-list{display:grid;gap:8px;max-height:420px;overflow:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scroll-padding-block:2px;padding:2px}
body.admin-page .xero-tenant-choice{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;scroll-snap-align:start}
body.admin-page .xero-tenant-choice:has(input:checked){border-color:var(--brand-primary);background:var(--green-wash)}
body.admin-page .xero-tenant-choice input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--brand-primary)}
body.admin-page .xero-choice-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:3px;color:var(--text-primary)}
body.admin-page .xero-choice-copy strong{overflow-wrap:anywhere}
body.admin-page .xero-choice-copy small{color:var(--text-muted);font-size:var(--text-xs)}
body.admin-page .xero-picker-actions{margin-top:var(--space-4)}
@media (max-width:1023px){
 body.admin-page .xero-connection-detail{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.admin-page .xero-connection-detail>div:first-child{grid-column:1/-1}
 body.admin-page .xero-mode-panel{grid-template-columns:1fr;align-items:stretch}
 body.admin-page .xero-mode-panel .ui-panel-heading{grid-column:auto}
 body.admin-page .xero-activity-head{display:none}
 body.admin-page .xero-activity-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-4);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-base)}
 body.admin-page .xero-activity-row>div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-3);padding:8px 0;border-bottom:1px solid var(--border-subtle)}
 body.admin-page .xero-activity-row>div::before{content:attr(data-label);color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
 body.admin-page .xero-activity-row>div:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:767px){
 body.admin-page .xero-console-page,body.admin-page .xero-tenant-page{max-width:100%}
 body.admin-page .xero-connection-detail,body.admin-page .xero-mode-panel{grid-template-columns:1fr}
 body.admin-page .xero-mode-panel .ui-panel-heading{grid-column:auto}
 body.admin-page .xero-confirm-form>div{display:grid;grid-template-columns:1fr}
 body.admin-page .xero-confirm-form .btn,body.admin-page .xero-actions .btn,body.admin-page .xero-picker-actions .btn{width:100%}
 body.admin-page .xero-actions,body.admin-page .xero-picker-actions{display:grid;grid-template-columns:1fr}
 body.admin-page .xero-activity-heading-actions{justify-content:flex-start}
 body.admin-page .xero-guidance ol{grid-template-columns:1fr;gap:9px}
 body.admin-page .xero-activity-row{grid-template-columns:1fr;margin-bottom:10px}
 body.admin-page .xero-activity-row>div{grid-template-columns:minmax(96px,max-content) minmax(0,1fr)}
 body.admin-page .xero-activity-row>div:nth-last-child(2){border-bottom:1px solid var(--border-subtle)}
 body.admin-page .xero-dialog-actions{display:grid;grid-template-columns:1fr}
 body.admin-page .xero-dialog-actions .btn,body.admin-page .xero-dialog-actions form{width:100%}
}

/* Customer invoice detail: Booking Analytics operational-detail system. */
body.admin-page .customer-invoice-detail-page{max-width:1180px}
body.admin-page .customer-invoice-detail-page .admin-list-header{align-items:end}
body.admin-page .customer-invoice-detail-page .invoice-detail-header-value{min-width:160px;padding:10px 0 10px 18px;border-left:1px solid var(--border-default);display:flex;flex-direction:column;align-items:flex-end}
body.admin-page .customer-invoice-detail-page .invoice-detail-header-value span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
body.admin-page .customer-invoice-detail-page .invoice-detail-header-value strong{font-size:1.32rem;letter-spacing:-.035em;color:var(--text-primary)}
body.admin-page .customer-invoice-detail-page .invoice-detail-alert{margin:0 0 var(--space-3)}
body.admin-page .customer-invoice-detail-page .invoice-detail-alert a{color:inherit;font-weight:700}
body.admin-page .customer-invoice-detail-page .invoice-detail-progress{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
body.admin-page .customer-invoice-detail-page .invoice-progress-heading{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:10px;color:var(--text-muted);font-size:var(--text-xs)}
body.admin-page .customer-invoice-detail-page .invoice-progress-heading .ui-eyebrow{margin:0}
body.admin-page .customer-invoice-detail-page .fin-status-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;background:var(--border-subtle);border-radius:6px;overflow:hidden}
body.admin-page .customer-invoice-detail-page .fin-status-step{min-height:38px;display:flex;align-items:center;padding:7px 10px;background:var(--surface-base);color:var(--text-muted);font-size:11px;font-weight:750;line-height:1.2}
body.admin-page .customer-invoice-detail-page .fin-status-step.done{background:var(--green-wash);color:var(--green-action)}
body.admin-page .customer-invoice-detail-page .fin-status-step.active{background:var(--green-deep);color:var(--nav-text)}
body.admin-page .customer-invoice-detail-page .invoice-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:var(--space-5);align-items:start}
body.admin-page .customer-invoice-detail-page .invoice-detail-panel{max-width:none;margin-bottom:var(--space-4)}
body.admin-page .customer-invoice-detail-page .invoice-detail-panel .ui-panel-heading{display:block;margin-bottom:var(--space-3)}
body.admin-page .customer-invoice-detail-page .invoice-detail-panel .ui-panel-meta{max-width:none;margin-top:var(--space-1);text-align:left}
body.admin-page .customer-invoice-detail-page .invoice-detail-panel .form-input{box-sizing:border-box;min-height:44px;padding:12px 16px}
body.admin-page .customer-invoice-detail-page .invoice-detail-amount-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.admin-page .customer-invoice-detail-page .invoice-read-value{min-height:42px;display:flex;align-items:center;color:var(--text-primary);line-height:1.35}
body.admin-page .customer-invoice-detail-page .invoice-read-strong{font-weight:700}
body.admin-page .customer-invoice-detail-page .invoice-total-value{font-size:1.15rem;font-weight:800;color:var(--green-action)}
body.admin-page .customer-invoice-detail-page .invoice-read-notes{margin:0;white-space:pre-wrap;color:var(--text-secondary);line-height:1.5}
body.admin-page .customer-invoice-detail-page .invoice-notes-detail-panel textarea{box-sizing:border-box;width:100%;padding:14px 16px;resize:vertical}
body.admin-page .customer-invoice-detail-page .invoice-save-button{margin:0 0 var(--space-5)}
body.admin-page .customer-invoice-detail-page .invoice-position-panel{border-top:3px solid var(--green-action)}
body.admin-page .customer-invoice-detail-page .invoice-balance,
body.admin-page .customer-invoice-detail-page .invoice-paid-state{display:flex;flex-direction:column;gap:4px}
body.admin-page .customer-invoice-detail-page .invoice-balance span,
body.admin-page .customer-invoice-detail-page .invoice-paid-state span{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4}
body.admin-page .customer-invoice-detail-page .invoice-balance strong{color:var(--green-deep);font-size:1.7rem;letter-spacing:-.05em}
body.admin-page .customer-invoice-detail-page .invoice-paid-state strong{color:var(--status-completed);font-size:1.15rem}
body.admin-page .customer-invoice-detail-page .invoice-action-panel{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md)}
body.admin-page .customer-invoice-detail-page .invoice-action-panel .ui-eyebrow{margin:0 0 var(--space-3)}
body.admin-page .customer-invoice-detail-page .invoice-action-stack{display:grid;gap:var(--space-2)}
body.admin-page .customer-invoice-detail-page .invoice-action-stack form,
body.admin-page .customer-invoice-detail-page .invoice-action-stack .btn{width:100%;margin:0}
body.admin-page .customer-invoice-detail-page .invoice-action-stack .btn{min-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
body.admin-page .customer-invoice-detail-page .xero-synced-banner{padding:10px 12px;background:var(--info-soft);border:1px solid rgba(53,120,200,.25);border-radius:var(--radius-sm);color:#24558d;font-size:var(--text-sm);line-height:1.35}
body.admin-page .customer-invoice-detail-page .xero-sync-btn,
body.admin-page .customer-invoice-detail-page .xero-open-btn{background:#167a9d;color:#f5fbfc;border-color:#167a9d}
body.admin-page .customer-invoice-detail-page .invoice-payment-list{display:grid}
body.admin-page .customer-invoice-detail-page .xero-detail-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.35}
body.admin-page .customer-invoice-detail-page .xero-detail-row:last-child{border-bottom:0;padding-bottom:0}
body.admin-page .customer-invoice-detail-page .xero-detail-row strong{color:var(--text-primary)}
body.admin-page .customer-invoice-detail-page .xero-detail-label{color:var(--text-muted);font-size:var(--text-xs);font-weight:700}
body.admin-page .customer-invoice-detail-page .xero-detail-row code{max-width:58%;color:var(--text-secondary);font-size:11px;text-align:right}
body.admin-page .customer-invoice-detail-page .invoice-xero-help{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-xs);line-height:1.5}
body.admin-page .customer-invoice-detail-page .invoice-xero-help a{color:var(--brand-link);font-weight:700}
body.admin-page .customer-invoice-detail-page .invoice-linked-records{display:flex;flex-wrap:wrap;gap:var(--space-3)}
body.admin-page .customer-invoice-detail-page .fin-link-card{min-width:220px;flex:1;padding:var(--space-3);background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);text-decoration:none}
body.admin-page .customer-invoice-detail-page a.fin-link-card:hover{background:var(--surface-hover)}
body.admin-page .customer-invoice-detail-page .fin-link-label{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
body.admin-page .customer-invoice-detail-page .fin-link-value{margin-top:4px;font-weight:700}
body.admin-page .customer-invoice-detail-page .fin-link-sub{margin-top:4px;color:var(--text-secondary);font-size:var(--text-xs)}
body.admin-page .customer-invoice-detail-page .invoice-quote-linked{color:var(--green-action);font-weight:700}
body.admin-page .customer-invoice-detail-page .invoice-payment-modal{display:none;align-items:center;justify-content:center;padding:var(--space-3)}
body.admin-page .customer-invoice-detail-page .invoice-payment-box{box-sizing:border-box;width:min(100%,440px);max-width:440px;padding:var(--space-5);background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}
body.admin-page .customer-invoice-detail-page .invoice-modal-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:start;margin-bottom:var(--space-4)}
body.admin-page .customer-invoice-detail-page .invoice-modal-header .ui-eyebrow{margin:0 0 3px}
body.admin-page .customer-invoice-detail-page .invoice-modal-header h2{margin:0;font-size:var(--text-xl)}
body.admin-page .customer-invoice-detail-page .invoice-modal-close{width:44px;height:44px;flex:0 0 44px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1.5rem;cursor:pointer}
body.admin-page .customer-invoice-detail-page .invoice-payment-box .form-group{margin-bottom:var(--space-3)}
body.admin-page .customer-invoice-detail-page .invoice-payment-box .form-input{box-sizing:border-box;width:100%;min-height:44px;padding:12px 16px}
body.admin-page .customer-invoice-detail-page .invoice-modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}

@media (max-width:1023px){
body.admin-page .customer-invoice-detail-page .invoice-detail-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
body.admin-page .customer-invoice-detail-page .invoice-detail-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.admin-page .customer-invoice-detail-page .invoice-action-stack .btn{min-height:44px}
}
@media (max-width:767px){
body.admin-page .customer-invoice-detail-page .admin-list-header{align-items:flex-start}
body.admin-page .customer-invoice-detail-page .invoice-detail-header-value{width:100%;padding:10px 0 0;border:0;border-top:1px solid var(--border-default);align-items:flex-start}
body.admin-page .customer-invoice-detail-page .invoice-progress-heading span:last-child{display:none}
body.admin-page .customer-invoice-detail-page .fin-status-bar{grid-template-columns:1fr}
body.admin-page .customer-invoice-detail-page .fin-status-step{min-height:36px}
body.admin-page .customer-invoice-detail-page .invoice-detail-layout{grid-template-columns:1fr}
body.admin-page .customer-invoice-detail-page .invoice-detail-side{display:contents}
body.admin-page .customer-invoice-detail-page .invoice-position-panel{order:0}
body.admin-page .customer-invoice-detail-page .invoice-detail-main{display:contents}
body.admin-page .customer-invoice-detail-page .invoice-detail-main .invoice-detail-panel:first-child{order:1}
body.admin-page .customer-invoice-detail-page .invoice-action-panel{order:2}
body.admin-page .customer-invoice-detail-page .invoice-detail-main .invoice-detail-panel:nth-child(2){order:3}
body.admin-page .customer-invoice-detail-page .invoice-detail-main .invoice-detail-panel:nth-child(3){order:4}
body.admin-page .customer-invoice-detail-page .invoice-save-button{order:5}
body.admin-page .customer-invoice-detail-page .invoice-detail-side .invoice-detail-panel:not(.invoice-position-panel){order:6}
body.admin-page .customer-invoice-detail-page .invoice-detail-customer-grid,
body.admin-page .customer-invoice-detail-page .invoice-detail-amount-grid{grid-template-columns:1fr}
body.admin-page .customer-invoice-detail-page .invoice-action-stack .btn{min-height:44px}
body.admin-page .customer-invoice-detail-page .invoice-payment-box{padding:var(--space-4)}
body.admin-page .customer-invoice-detail-page .invoice-modal-actions{display:grid;grid-template-columns:1fr}
body.admin-page .customer-invoice-detail-page .invoice-modal-actions .btn{min-height:44px}
}

/* Customer invoice creation: a dense finance workflow that uses the booking
   analytics hierarchy without borrowing its listing-only table treatments. */
body.admin-page .customer-invoice-create-page.migrated-admin.admin-list-page {
    max-width: 1060px;
}
body.admin-page .customer-invoice-create-page .invoice-create-header {
    margin-bottom: var(--space-4);
}
body.admin-page .customer-invoice-create-page .invoice-create-alert {
    margin-bottom: var(--space-4);
}
body.admin-page .customer-invoice-create-page .invoice-source-card {
    box-sizing: border-box;
    margin-bottom: var(--space-5);
    padding: var(--space-4) var(--space-5);
    background: var(--green-wash);
    border: 1px solid var(--brand-primary-border);
    border-radius: var(--radius-md);
}
body.admin-page .customer-invoice-create-page .invoice-source-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    padding-bottom: var(--space-3);
    margin-bottom: var(--space-3);
    border-bottom: 1px solid rgba(46,126,84,.17);
}
body.admin-page .customer-invoice-create-page .invoice-source-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-lg);
    letter-spacing: -.02em;
}
body.admin-page .customer-invoice-create-page .invoice-ready-badge {
    flex: 0 0 auto;
}
body.admin-page .customer-invoice-create-page .invoice-source-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3) var(--space-5);
}
body.admin-page .customer-invoice-create-page .invoice-source-grid.has-quote {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.admin-page .customer-invoice-create-page .fin-meta-label {
    margin-bottom: 3px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
body.admin-page .customer-invoice-create-page .fin-meta-value {
    color: var(--text-primary);
    font-size: var(--text-sm);
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
body.admin-page .customer-invoice-create-page .invoice-quote-amount {
    color: var(--status-completed);
}
body.admin-page .migrated-admin.admin-list-page.customer-invoice-create-page .admin-form-panel.invoice-create-panel {
    max-width: none;
    margin-bottom: var(--space-4);
}
body.admin-page .customer-invoice-create-page .invoice-create-panel .ui-panel-heading {
    display: block;
    margin-bottom: var(--space-4);
}
body.admin-page .customer-invoice-create-page .invoice-create-panel .ui-panel-meta {
    max-width: none;
    margin-top: var(--space-1);
    text-align: left;
    line-height: 1.4;
}
body.admin-page .customer-invoice-create-page .admin-form-grid .form-label {
    display: block;
    margin-bottom: 6px;
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-weight: 750;
}
body.admin-page .customer-invoice-create-page .admin-form-grid .form-input,
body.admin-page .customer-invoice-create-page .invoice-notes-panel .form-input {
    box-sizing: border-box;
    min-height: 44px;
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    box-shadow: none;
}
body.admin-page .migrated-admin.admin-list-page.customer-invoice-create-page .admin-form-grid.invoice-amount-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.admin-page .customer-invoice-create-page .invoice-amount-grid .form-group:first-child .form-input {
    background: var(--green-wash);
    border-color: var(--brand-primary-border);
    font-weight: 750;
}
body.admin-page .customer-invoice-create-page .invoice-gst-note {
    margin: var(--space-3) 0 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: 1.45;
}
body.admin-page .customer-invoice-create-page .invoice-notes-panel .form-group {
    margin: 0;
}
body.admin-page .customer-invoice-create-page .invoice-notes-panel textarea {
    display: block;
    width: 100%;
    padding: 14px 16px;
    resize: vertical;
    line-height: 1.45;
}
body.admin-page .customer-invoice-create-page .invoice-create-actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
    padding-top: var(--space-1);
}
body.admin-page .customer-invoice-create-page .invoice-create-actions .btn {
    min-height: 44px;
}
@media (max-width: 1023px) {
    body.admin-page .customer-invoice-create-page .invoice-source-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.admin-page .customer-invoice-create-page .invoice-create-panel .ui-panel-meta {
        display: block;
        max-width: none;
        margin-top: var(--space-1);
        text-align: left;
    }
    body.admin-page .customer-invoice-create-page .invoice-create-panel .ui-panel-heading {
        display: block;
    }
    body.admin-page .migrated-admin.admin-list-page.customer-invoice-create-page .admin-form-grid.invoice-amount-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    body.admin-page .customer-invoice-create-page .invoice-amount-grid .form-label > span {
        display: block;
    }
    body.admin-page .customer-invoice-create-page .invoice-amount-grid .form-label i {
        font-style: normal;
    }
    body.admin-page .customer-invoice-create-page .invoice-amount-grid .form-input {
        font-size: .9rem;
    }
}
@media (max-width: 767px) {
    body.admin-page .customer-invoice-create-page .invoice-source-card {
        padding: var(--space-4);
    }
    body.admin-page .customer-invoice-create-page .invoice-source-heading {
        align-items: center;
    }
    body.admin-page .customer-invoice-create-page .invoice-create-panel .ui-panel-heading {
        display: block;
    }
    body.admin-page .customer-invoice-create-page .invoice-create-panel .ui-panel-meta {
        display: block;
        max-width: none;
        margin-top: var(--space-1);
        text-align: left;
    }
    body.admin-page .migrated-admin.admin-list-page.customer-invoice-create-page .admin-form-grid,
    body.admin-page .migrated-admin.admin-list-page.customer-invoice-create-page .admin-form-grid.invoice-amount-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-3);
    }
    body.admin-page .customer-invoice-create-page .invoice-amount-grid .form-label > span {
        display: inline;
    }
    body.admin-page .customer-invoice-create-page .invoice-create-actions .btn {
        flex: 1 1 140px;
        justify-content: center;
    }
}
@media (max-width: 440px) {
    body.admin-page .customer-invoice-create-page .invoice-source-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    body.admin-page .customer-invoice-create-page .invoice-source-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--space-2);
    }
    body.admin-page .customer-invoice-create-page .invoice-create-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
    body.admin-page .customer-invoice-create-page .invoice-create-actions .btn {
        width: 100%;
    }
}
body.admin-page .migrated-admin .ir-msg-latest{border-color:var(--brand-primary-border)}
body.admin-page .migrated-admin .ir-msg-outgoing{background:var(--green-wash);border-color:var(--brand-primary-border);border-left:3px solid var(--green-action)}
body.admin-page .migrated-admin .ir-msg-outgoing-pending{opacity:.6;border-style:dashed}
/* Batch 9: Financial reporting.  Deliberately page-scoped: invoice and
   timesheet surfaces retain their legacy layouts until their own migration. */
/* Batch 9: Timesheets & approvals. Payroll is treated as a calm operational
   desk: compact, high-contrast numbers with status as the primary signal. */
body.admin-page .timesheets-page {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    font-family: var(--font-admin-ui);
}
body.admin-page .timesheets-page .ts-page-header { margin-bottom: var(--space-4); }
body.admin-page .timesheets-page .ts-period {
    margin: 2px 0 0 auto;
    padding: 8px 11px;
    border-left: 2px solid var(--brand-primary);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    line-height: 1.25;
}
body.admin-page .timesheets-page .ts-period span { display: block; color: var(--text-muted); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; font-size: 9px; }
body.admin-page .timesheets-page .ts-period strong { color: var(--text-primary); }
body.admin-page .timesheets-page .ts-week-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-2);
    margin-bottom: var(--space-5);
}
body.admin-page .timesheets-page .ts-week-nav .btn { min-height: 38px; }
body.admin-page .timesheets-page .ts-week-current {
    padding: 8px 12px;
    color: var(--green-action);
    background: var(--green-wash);
    border: 1px solid var(--brand-primary-border);
    border-radius: var(--radius-pill);
    font-size: var(--text-xs);
    font-weight: 800;
}
body.admin-page .timesheets-page .alert { margin-bottom: var(--space-4); }
body.admin-page .timesheets-page .ui-panel { margin-bottom: var(--space-5); }
body.admin-page .timesheets-page .ts-active-panel { border-color: color-mix(in srgb, var(--warning) 42%, var(--border-subtle)); }
body.admin-page .timesheets-page .ts-active-panel .ui-panel-heading h2 { color: var(--status-in-progress); }
body.admin-page .timesheets-page .ts-table-shell {
    overflow-x: auto;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
}
body.admin-page .timesheets-page .admin-data-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--text-primary);
}
body.admin-page .timesheets-page .admin-data-table th {
    padding: 10px 12px;
    color: var(--text-muted);
    background: var(--surface-subtle);
    border-bottom: 1px solid var(--border-default);
    font-size: 10px;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
body.admin-page .timesheets-page .admin-data-table td {
    padding: 12px;
    border-bottom: 1px solid var(--border-subtle);
    vertical-align: middle;
    font-size: var(--text-sm);
}
body.admin-page .timesheets-page .admin-data-table tbody tr:last-child td { border-bottom: 0; }
body.admin-page .timesheets-page .admin-data-table tbody tr:hover { background: var(--surface-hover); }
body.admin-page .timesheets-page .ts-totals { margin: 0 0 var(--space-5); }
body.admin-page .timesheets-page .ts-section-heading { margin-bottom: var(--space-3); }
body.admin-page .timesheets-page .ts-section-heading h2 { margin: 0; font-size: var(--text-lg); letter-spacing: -.02em; }
body.admin-page .timesheets-page .ts-total-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(164px, 1fr));
    gap: var(--space-2);
}
body.admin-page .timesheets-page .ts-total-card {
    min-width: 0;
    padding: 13px 14px;
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-top: 2px solid var(--brand-primary-border);
    border-radius: var(--radius-sm);
}
body.admin-page .timesheets-page .ts-total-card > div { overflow: hidden; color: var(--text-secondary); font-size: var(--text-xs); text-overflow: ellipsis; white-space: nowrap; }
body.admin-page .timesheets-page .ts-total-card strong { display: block; margin-top: 5px; font-size: 1.35rem; letter-spacing: -.035em; }
body.admin-page .timesheets-page .ts-total-card small { color: var(--text-muted); font-size: var(--text-xs); letter-spacing: 0; }
body.admin-page .timesheets-page .ts-payroll-guidance {
    margin: 0 0 var(--space-4);
    padding: 11px 13px;
    color: var(--text-secondary);
    background: var(--green-wash);
    border: 1px solid var(--brand-primary-border);
    border-left: 3px solid var(--green-action);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    line-height: 1.5;
}
body.admin-page .timesheets-page .ts-payroll-guidance strong { color: var(--text-primary); }
body.admin-page .timesheets-page .ts-payroll-guidance a,
body.admin-page .timesheets-page .pr-paydetail a { color: var(--brand-link); font-weight: 800; }
body.admin-page .timesheets-page .pr-table { min-width: 930px; }
body.admin-page .timesheets-page .pr-table td:first-child { min-width: 135px; font-weight: 700; }
body.admin-page .timesheets-page .pr-muted { color: var(--text-muted); font-size: var(--text-xs); font-weight: 500; }
body.admin-page .timesheets-page .pr-badge,
body.admin-page .timesheets-page .ts-entry-flag {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
body.admin-page .timesheets-page .pr-active { margin-left: 5px; color: var(--status-in-progress); background: var(--warning-soft); border-color: color-mix(in srgb, var(--warning) 54%, transparent); }
body.admin-page .timesheets-page .pr-paid { color: var(--green-action); background: var(--green-wash); border-color: var(--brand-primary-border); }
body.admin-page .timesheets-page .pr-approved { color: #1d4ed8; background: #dbeafe; border-color: rgba(29,78,216,.26); }
body.admin-page .timesheets-page .pr-locked { color: var(--status-in-progress); background: var(--warning-soft); border-color: color-mix(in srgb, var(--warning) 54%, transparent); }
body.admin-page .timesheets-page .pr-open { color: var(--text-secondary); background: var(--surface-muted); border-color: var(--border-default); }
body.admin-page .timesheets-page .pr-paydetail { margin-top: 4px; color: var(--text-muted); font-size: 10px; line-height: 1.35; }
body.admin-page .timesheets-page .pr-owed { color: var(--text-primary); font-variant-numeric: tabular-nums; font-weight: 800; white-space: nowrap; }
body.admin-page .timesheets-page .pr-norate { color: var(--danger); font-size: var(--text-xs); font-weight: 700; }
body.admin-page .timesheets-page .pr-days { display: flex; gap: 4px; flex-wrap: wrap; }
body.admin-page .timesheets-page .pr-inline { display: inline-flex; margin: 0; }
body.admin-page .timesheets-page .pr-day {
    min-height: 28px;
    padding: 4px 7px;
    color: var(--text-secondary);
    background: var(--surface-base);
    border: 1px solid var(--border-default);
    border-radius: 4px;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}
body.admin-page .timesheets-page button.pr-day { cursor: pointer; }
body.admin-page .timesheets-page .pr-day-locked { color: var(--green-action); background: var(--green-wash); border-color: var(--brand-primary-border); }
body.admin-page .timesheets-page .pr-payform { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
body.admin-page .timesheets-page .pr-payinput { width: auto; min-height: 32px; padding: 4px 7px; font-size: 11px; }
body.admin-page .timesheets-page .pr-totalrow td { background: var(--surface-subtle); border-top: 1px solid var(--border-default); font-variant-numeric: tabular-nums; }
body.admin-page .timesheets-page .pr-note { margin: var(--space-3) 0 0; color: var(--text-muted); font-size: var(--text-xs); }
body.admin-page .timesheets-page .ts-manual-panel { width: 100%; max-width: none; }
body.admin-page .timesheets-page .ts-manual-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); align-items: end; }
body.admin-page .timesheets-page .ts-manual-grid .form-group { min-width: 0; margin: 0; }
body.admin-page .timesheets-page .ts-manual-grid .form-control { width: 100%; box-sizing: border-box; }
body.admin-page .timesheets-page .ts-manual-grid .btn { min-height: 42px; }
body.admin-page .timesheets-page .ts-bulk-actions { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); }
body.admin-page .timesheets-page .ts-bulk-actions span { color: var(--text-muted); font-size: var(--text-xs); }
body.admin-page .timesheets-page .ts-delete-btn { color: #a42f3b; background: var(--danger-soft); border: 1px solid color-mix(in srgb, var(--danger) 48%, transparent); }
body.admin-page .timesheets-page .ts-delete-btn:hover { color: #8b2430; background: color-mix(in srgb, var(--danger) 20%, transparent); }
body.admin-page .timesheets-page .ts-select-cell { width: 32px; }
body.admin-page .timesheets-page input[type="checkbox"] { accent-color: var(--green-action); }
body.admin-page .timesheets-page .ts-select-target {
    display: inline-grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 0;
    cursor: pointer;
}
body.admin-page .timesheets-page .ts-select-target input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 0;
    cursor: pointer;
}
body.admin-page .timesheets-page .ts-select-caption { display: none; }
body.admin-page .timesheets-page .ts-mode-badge { color: var(--text-secondary); background: var(--surface-muted); border: 1px solid var(--border-default); font-size: 10px; }
body.admin-page .timesheets-page .ts-entry-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
body.admin-page .timesheets-page .ts-inline-form { display: inline-flex; margin: 0; }
body.admin-page .timesheets-page .ts-entry-flag { color: var(--status-in-progress); background: var(--warning-soft); border-color: color-mix(in srgb, var(--warning) 48%, transparent); }
body.admin-page .migrated-admin.admin-list-page.timesheets-page .admin-data-table.ts-entries-table {
    min-width: 0;
    table-layout: fixed;
    font-size: 11px;
}
body.admin-page .migrated-admin.admin-list-page.timesheets-page .admin-data-table.ts-entries-table th,
body.admin-page .migrated-admin.admin-list-page.timesheets-page .admin-data-table.ts-entries-table td {
    padding-inline: 7px;
}
body.admin-page .timesheets-page .ts-entries-table th:nth-child(1) { width: 60px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(2) { width: 88px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(3) { width: 82px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(4) { width: 68px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(5) { width: 104px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(6) { width: 98px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(7) { width: 108px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(8) { width: 98px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(9) { width: 46px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(10) { width: 50px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(11) { width: 90px; }
body.admin-page .timesheets-page .ts-entries-table th:nth-child(12) { width: 120px; }
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.timesheets-page .admin-data-table tbody tr.ts-editrow { display: none; }
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.timesheets-page .admin-data-table tbody tr.ts-editrow.is-open { display: table-row; }
body.admin-page .timesheets-page .ts-editrow td { padding: var(--space-3); background: var(--surface-subtle); }
body.admin-page .timesheets-page .ts-edit-form { display: grid; grid-template-columns: 190px 190px 90px minmax(160px, 1fr) auto; gap: var(--space-2); align-items: end; }
body.admin-page .timesheets-page .ts-edit-form > div { min-width: 0; }
body.admin-page .timesheets-page .ts-edit-form label { display: block; margin-bottom: 4px; color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.admin-page .timesheets-page .ts-edit-form .form-control { box-sizing: border-box; width: 100%; }
body.admin-page .timesheets-page .ts-edit-actions { display: flex; gap: var(--space-2); }

@media (max-width: 1023px) {
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .btn,
    body.admin-page .migrated-admin.admin-list-page.timesheets-page input:not([type="checkbox"]),
    body.admin-page .migrated-admin.admin-list-page.timesheets-page select { min-height: 44px; }
    body.admin-page .migrated-admin.admin-list-page.timesheets-page button.pr-day { min-height: 44px; }
    body.admin-page .migrated-admin.admin-list-page.timesheets-page input[type="checkbox"] { width: 44px; height: 44px; }
    body.admin-page .timesheets-page .ts-entry-select-target {
        display: inline-flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: flex-start;
        width: auto;
        height: auto;
        gap: 8px;
    }
    body.admin-page .timesheets-page .ts-entry-select-target input[type="checkbox"] {
        width: 44px;
        height: 44px;
        min-height: 44px;
    }
    body.admin-page .timesheets-page .ts-entry-select-target .ts-select-caption {
        display: block;
        color: var(--text-muted);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: .075em;
        text-transform: uppercase;
        order: -1;
    }
    body.admin-page .timesheets-page .ts-week-nav { flex-wrap: wrap; }
    body.admin-page .timesheets-page .ts-table-shell { overflow: visible; border: 0; border-radius: 0; }
    body.admin-page .timesheets-page .admin-data-table,
    body.admin-page .timesheets-page .admin-data-table td { display: block; width: 100%; box-sizing: border-box; }
    body.admin-page .timesheets-page .admin-data-table thead { display: none; }
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .admin-data-table tbody {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-3);
        width: 100%;
    }
    body.admin-page .timesheets-page .admin-data-table tbody tr {
        display: grid;
        grid-template-columns: 1fr;
        column-gap: var(--space-4);
        margin-bottom: 0;
        padding: 10px;
        background: var(--surface-base);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-sm);
    }
    body.admin-page .timesheets-page .admin-data-table tbody tr.ts-editrow { display: none; }
    body.admin-page .timesheets-page .admin-data-table tbody tr.ts-editrow.is-open { display: grid; grid-column: 1 / -1; }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.timesheets-page .admin-data-table td {
        display: block;
        padding: 10px 0;
        border-bottom: 1px solid var(--border-subtle);
    }
    body.admin-page .timesheets-page .admin-data-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 7px;
        color: var(--text-muted);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: .075em;
        text-transform: uppercase;
    }
    body.admin-page .timesheets-page .admin-data-table td[data-label=""]::before {
        display: none;
        margin: 0;
    }
    body.admin-page .timesheets-page .admin-data-table td:last-child { border-bottom: 0; }
    body.admin-page .timesheets-page .pr-table { min-width: 0; }
    body.admin-page .timesheets-page .pr-table tfoot { display: block; }
    body.admin-page .timesheets-page .pr-table tfoot tr { grid-template-columns: 1fr 1fr; }
    body.admin-page .timesheets-page .pr-table tfoot td:empty,
    body.admin-page .timesheets-page .pr-table tfoot td[colspan] { display: none; }
    body.admin-page .timesheets-page .pr-payform { display: grid; grid-template-columns: 1fr; width: 100%; }
    body.admin-page .timesheets-page .pr-payform .btn { grid-column: auto; }
    body.admin-page .timesheets-page .pr-payinput { width: 100%; }
    body.admin-page .timesheets-page .pr-inline { min-width: 0; width: 100%; }
    body.admin-page .timesheets-page .pr-inline .btn { width: 100%; padding-inline: 6px; }
    body.admin-page .timesheets-page .ts-entry-actions { display: grid; grid-template-columns: 1fr 1fr; }
    body.admin-page .timesheets-page .ts-entry-actions .btn,
    body.admin-page .timesheets-page .ts-entry-actions form { width: 100%; }
    body.admin-page .timesheets-page .ts-editrow { margin-top: -13px; padding-top: 0; border-top: 0; border-radius: 0 0 var(--radius-md) var(--radius-md); }
    body.admin-page .timesheets-page .ts-editrow td { display: block; padding: var(--space-3); }
    body.admin-page .timesheets-page .ts-editrow td::before { display: none; }
    body.admin-page .timesheets-page .ts-edit-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.admin-page .timesheets-page .ts-edit-notes,
    body.admin-page .timesheets-page .ts-edit-actions { grid-column: 1 / -1; }
    body.admin-page .timesheets-page .ts-manual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.admin-page .timesheets-page .ts-manual-grid > .btn { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 640px) {
    body.admin-page .timesheets-page .ts-page-header { display: block; }
    body.admin-page .timesheets-page .ts-period { width: fit-content; margin: var(--space-3) 0 0; }
    body.admin-page .timesheets-page .ts-week-nav .btn { flex: 1 1 145px; }
    body.admin-page .timesheets-page .ts-total-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.admin-page .timesheets-page .ts-manual-grid { grid-template-columns: 1fr; }
    body.admin-page .timesheets-page .ts-manual-grid .btn { width: 100%; }
    body.admin-page .timesheets-page .ts-bulk-actions { align-items: stretch; flex-direction: column; }
    body.admin-page .timesheets-page .ts-bulk-actions .btn { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page.timesheets-page .admin-data-table tbody { grid-template-columns: 1fr; }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.timesheets-page .admin-data-table tbody tr {
        display: grid;
        grid-template-columns: 1fr;
        padding: var(--space-3);
    }
    body.admin-page .timesheets-page .admin-data-table td { grid-template-columns: minmax(92px, .42fr) minmax(0, 1fr); }
    body.admin-page .timesheets-page .ts-active-table td { grid-template-columns: 112px minmax(0, 1fr); }
    body.admin-page .timesheets-page .pr-table tfoot tr { grid-template-columns: 1fr; }
    body.admin-page .timesheets-page .pr-payform { grid-template-columns: 1fr; }
    body.admin-page .timesheets-page .ts-entry-actions { grid-template-columns: 1fr; }
    body.admin-page .timesheets-page .ts-edit-form { grid-template-columns: 1fr; }
    body.admin-page .timesheets-page .ts-edit-notes,
    body.admin-page .timesheets-page .ts-edit-actions { grid-column: auto; }
    body.admin-page .timesheets-page .ts-edit-actions { display: grid; grid-template-columns: 1fr 1fr; }
}
body.admin-page .financial-page {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    font-family: var(--font-admin-ui);
    overflow: visible;
}
body.admin-page .financial-page .financial-header { margin-bottom: var(--space-4); }
body.admin-page .financial-page .admin-list-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: var(--space-4); flex-wrap: wrap;
}
body.admin-page .financial-page .admin-list-heading { min-width: 0; }
body.admin-page .financial-page .admin-list-header h1 {
    margin: 0; color: var(--text-primary); font-size: clamp(1.55rem, 2.2vw, 2rem);
    letter-spacing: -.04em; line-height: 1.1;
}
body.admin-page .financial-page .admin-list-help {
    max-width: 620px; margin: var(--space-2) 0 0; color: var(--text-secondary);
    font-size: var(--text-sm); line-height: 1.45;
}
body.admin-page .financial-page .admin-header-action,
body.admin-page .financial-page .btn,
body.admin-page .financial-page input { min-height: 44px; }
body.admin-page .financial-page .admin-header-action {
    display: inline-flex; align-items: center; justify-content: center; white-space: nowrap;
}
body.admin-page .financial-page .fin-controls {
    display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
    padding: var(--space-3); margin-bottom: var(--space-3);
    background: var(--surface-panel); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
}
body.admin-page .financial-page .fin-period-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; }
body.admin-page .financial-page .fin-period-btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
    padding: 8px 13px; border: 1px solid var(--border-default); border-radius: var(--radius-sm);
    color: var(--text-secondary); background: var(--surface-base); font-size: var(--text-xs);
    font-weight: 800; text-decoration: none; white-space: nowrap;
}
body.admin-page .financial-page .fin-period-btn:hover { background: var(--surface-hover); color: var(--text-primary); }
body.admin-page .financial-page .fin-period-btn.active {
    background: var(--green-deep); border-color: var(--green-deep); color: var(--nav-text);
}
body.admin-page .financial-page .fin-custom-range {
    display: flex; align-items: center; align-self: center; gap: var(--space-2); flex-wrap: wrap; margin: 0;
    padding-left: var(--space-3); border-left: 1px solid var(--border-default);
}
body.admin-page .financial-page .fin-custom-range label {
    display: flex; align-items: center; gap: 6px; color: var(--text-muted);
    margin: 0; font-size: var(--text-xs); font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
}
body.admin-page .financial-page .fin-custom-range input {
    box-sizing: border-box; padding: 7px 9px; color: var(--text-primary);
    background: var(--surface-base); border: 1px solid var(--border-default); border-radius: var(--radius-sm);
}
body.admin-page .financial-page .fin-period-label {
    display: flex; align-items: baseline; gap: var(--space-2); margin: 0 0 var(--space-5);
    color: var(--text-secondary); font-size: var(--text-sm);
}
body.admin-page .financial-page .fin-period-label span,
body.admin-page .financial-page .ui-eyebrow {
    color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase;
}
body.admin-page .financial-page .fin-period-label strong { color: var(--text-primary); font-size: var(--text-sm); }
body.admin-page .financial-page .fin-cards {
    display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(0, .92fr) minmax(0, .92fr);
    gap: var(--space-3); margin-bottom: var(--space-5);
}
body.admin-page .financial-page .ui-kpi.fin-card {
    min-height: 128px; align-items: flex-start; padding: 18px 20px; border-radius: var(--radius-md);
}
body.admin-page .financial-page .ui-kpi.fin-card .ui-kpi-label {
    font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}
body.admin-page .financial-page .ui-kpi.fin-card .ui-kpi-value {
    margin-top: 9px; font-size: clamp(1.65rem, 2.5vw, 2.2rem); font-variant-numeric: tabular-nums;
}
body.admin-page .financial-page .ui-kpi.fin-card .ui-kpi-comparison {
    margin-top: 8px; color: var(--text-secondary); font-size: var(--text-xs); font-weight: 600;
}
body.admin-page .financial-page .ui-kpi.fin-card--revenue { background: var(--green-wash); border-color: var(--brand-primary-border); }
body.admin-page .financial-page .ui-kpi.fin-card--revenue .ui-kpi-value,
body.admin-page .financial-page .ui-kpi.fin-card--profit .ui-kpi-value { color: var(--green-deep); }
body.admin-page .financial-page .ui-kpi.fin-card--loss { border-color: rgba(224,82,82,.35); }
body.admin-page .financial-page .ui-kpi.fin-card--loss .ui-kpi-value { color: var(--danger); }
body.admin-page .financial-page .financial-panel { margin-bottom: var(--space-5); padding: var(--space-4) var(--space-5); }
body.admin-page .financial-page .financial-panel .ui-panel-heading { margin-bottom: var(--space-4); }
body.admin-page .financial-page .financial-panel .admin-panel-title { font-size: 1rem; }
body.admin-page .financial-page .fin-cost-panel { max-width: none; }
body.admin-page .financial-page .fin-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.admin-page .financial-page .fin-table { width: 100%; border-collapse: collapse; color: var(--text-primary); }
body.admin-page .financial-page .fin-table th {
    padding: 9px 12px; color: var(--text-muted); background: var(--surface-subtle);
    border-bottom: 1px solid var(--border-default); font-size: 10px; font-weight: 800;
    letter-spacing: .1em; text-align: left; text-transform: uppercase; white-space: nowrap;
}
body.admin-page .financial-page .fin-table td {
    padding: 11px 12px; border-bottom: 1px solid var(--border-subtle); font-size: var(--text-sm); line-height: 1.35;
}
body.admin-page .financial-page .fin-table tbody tr:last-child td { border-bottom: 0; }
body.admin-page .financial-page .fin-table tbody tr:hover { background: var(--surface-hover); }
body.admin-page .financial-page .fin-number { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.admin-page .financial-page .fin-total-row td { border-top: 2px solid var(--border-default); font-weight: 800; }
body.admin-page .financial-page .fin-net { font-weight: 800; }
body.admin-page .financial-page .fin-net--positive { color: var(--status-completed); }
body.admin-page .financial-page .fin-net--negative { color: var(--danger); }
body.admin-page .financial-page .status-badge { white-space: nowrap; overflow-wrap: normal; word-break: keep-all; }
body.admin-page .financial-page .fin-pipeline { display: grid; grid-template-columns: 1fr 1.2fr 1.2fr 1fr; gap: var(--space-3); }
body.admin-page .financial-page .fin-pipe-card {
    min-height: 120px; display: flex; flex-direction: column; justify-content: space-between;
    padding: var(--space-4); color: var(--text-primary); background: var(--surface-base);
    border: 1px solid var(--border-subtle); border-top: 3px solid var(--border-strong);
    border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); text-decoration: none;
}
body.admin-page .financial-page .fin-pipe-card:hover { transform: translateY(-1px); border-color: var(--brand-primary-border); }
body.admin-page .financial-page .fin-pipe-label { color: var(--text-secondary); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
body.admin-page .financial-page .fin-pipe-count { margin-top: auto; padding-top: var(--space-3); font-size: 1.65rem; font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
body.admin-page .financial-page .fin-pipe-total { margin-top: 2px; color: var(--text-secondary); font-size: var(--text-xs); font-variant-numeric: tabular-nums; }
body.admin-page .financial-page .fin-pipe-draft { border-top-color: var(--text-muted); }
body.admin-page .financial-page .fin-pipe-ready { border-top-color: var(--status-in-progress); }
body.admin-page .financial-page .fin-pipe-sent_to_xero { border-top-color: var(--status-scheduled); }
body.admin-page .financial-page .fin-pipe-paid { border-top-color: var(--status-completed); background: var(--green-wash); }
body.admin-page .financial-page .fin-section-action { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin: -2px 0 var(--space-3); }
body.admin-page .financial-page .badge-count { min-width: 28px; min-height: 28px; display: inline-grid; place-items: center; padding: 2px 8px; color: var(--green-deep); background: var(--green-wash); border: 1px solid var(--brand-primary-border); border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: 800; }
body.admin-page .financial-page .fin-inline-link { color: var(--green-action); font-weight: 700; text-decoration: none; }
body.admin-page .financial-page .fin-inline-link:hover { color: var(--green-deep); text-decoration: underline; }
body.admin-page .financial-page .fin-muted { color: var(--text-muted); }
body.admin-page .financial-page .fin-empty { min-height: 112px; }
body.admin-page .financial-page .no-data { margin: 0; color: var(--text-secondary); }
@media (max-width: 1023px) {
    body.admin-page .financial-page { max-width: 100%; }
    body.admin-page .financial-page .fin-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.admin-page .financial-page .fin-card--revenue { grid-column: span 2; }
    body.admin-page .financial-page .fin-pipeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.admin-page .financial-page .financial-panel { padding: var(--space-4); }
    body.admin-page .financial-page .fin-trend-table,
    body.admin-page .financial-page .fin-recent-table {
        min-width: 0; display: block;
    }
    body.admin-page .financial-page .fin-trend-table thead,
    body.admin-page .financial-page .fin-recent-table thead { display: none; }
    body.admin-page .financial-page .fin-trend-table tbody,
    body.admin-page .financial-page .fin-recent-table tbody {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3);
    }
    body.admin-page .financial-page .fin-trend-table tr,
    body.admin-page .financial-page .fin-recent-table tr {
        display: grid; align-content: start; overflow: hidden;
        background: var(--surface-base); border: 1px solid var(--border-subtle);
        border-top: 3px solid var(--brand-primary-border); border-radius: var(--radius-sm);
        box-shadow: var(--shadow-sm);
    }
    body.admin-page .financial-page .fin-trend-table td,
    body.admin-page .financial-page .fin-recent-table td {
        display: grid; grid-template-columns: minmax(94px, .8fr) minmax(0, 1.2fr);
        align-items: start; gap: var(--space-2); min-width: 0; padding: 9px 11px;
        border-bottom: 1px solid var(--border-subtle); text-align: right !important;
        white-space: normal;
    }
    body.admin-page .financial-page .fin-trend-table td:last-child,
    body.admin-page .financial-page .fin-recent-table td:last-child { border-bottom: 0; }
    body.admin-page .financial-page .fin-trend-table td::before,
    body.admin-page .financial-page .fin-recent-table td::before {
        content: attr(data-label); color: var(--text-muted); font-size: 10px;
        font-weight: 800; letter-spacing: .08em; line-height: 1.35; text-align: left;
        text-transform: uppercase; white-space: nowrap; overflow-wrap: normal; word-break: keep-all;
    }
    body.admin-page .financial-page .fin-trend-table .status-badge,
    body.admin-page .financial-page .fin-recent-table .status-badge { justify-self: end; }
    body.admin-page .financial-page .fin-trend-table tbody tr:hover,
    body.admin-page .financial-page .fin-recent-table tbody tr:hover { background: var(--surface-base); }
}
@media (max-width: 767px) {
    body.admin-page .financial-page .admin-list-header { display: grid; }
    body.admin-page .financial-page .admin-header-action { width: 100%; }
    body.admin-page .financial-page .fin-controls { align-items: stretch; }
    body.admin-page .financial-page .fin-period-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.admin-page .financial-page .fin-period-btn:last-child { grid-column: span 2; }
    body.admin-page .financial-page .fin-custom-range { padding: var(--space-3) 0 0; border-top: 1px solid var(--border-default); border-left: 0; }
    body.admin-page .financial-page .fin-custom-range label { width: 100%; justify-content: space-between; }
    body.admin-page .financial-page .fin-custom-range input { flex: 1; min-width: 0; }
    body.admin-page .financial-page .fin-custom-range .btn { width: 100%; }
    body.admin-page .financial-page .fin-period-label { display: grid; gap: 4px; }
    body.admin-page .financial-page .fin-cards,
    body.admin-page .financial-page .fin-pipeline { grid-template-columns: 1fr; }
    body.admin-page .financial-page .fin-card--revenue { grid-column: auto; }
    body.admin-page .financial-page .ui-kpi.fin-card { min-height: 108px; }
    body.admin-page .financial-page .financial-panel { padding: var(--space-4) var(--space-3); }
    body.admin-page .financial-page .fin-table { min-width: 620px; }
    body.admin-page .financial-page .fin-cost-table-wrap .fin-table { min-width: 0; }
    body.admin-page .financial-page .fin-trend-table,
    body.admin-page .financial-page .fin-recent-table { min-width: 0; }
    body.admin-page .financial-page .fin-trend-table tbody,
    body.admin-page .financial-page .fin-recent-table tbody { grid-template-columns: 1fr; }
    body.admin-page .financial-page .fin-trend-table td,
    body.admin-page .financial-page .fin-recent-table td {
        grid-template-columns: minmax(88px, .72fr) minmax(0, 1.28fr);
    }
    body.admin-page .financial-page .fin-section-action .btn { min-height: 44px; }
}
/* Batch 9: customer invoice register. It shares the financial reporting
   vocabulary, while deliberately becoming a true card register at 820px. */
body.admin-page .customer-invoices-page {
    max-width: 1180px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    font-family: var(--font-admin-ui);
}
body.admin-page .customer-invoices-page .invoice-list-header { margin-bottom: var(--space-4); }
body.admin-page .customer-invoices-page .invoice-alert { margin-bottom: var(--space-4); }
body.admin-page .customer-invoices-page .invoice-pipeline {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1.18fr 1fr 1fr;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}
body.admin-page .customer-invoices-page .fin-pipe-card {
    min-height: 112px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--space-4);
    color: var(--text-primary);
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-top: 3px solid var(--border-strong);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);
    text-decoration: none;
}
body.admin-page .customer-invoices-page .fin-pipe-card:hover {
    color: var(--text-primary);
    border-color: var(--brand-primary-border);
    transform: translateY(-1px);
}
body.admin-page .customer-invoices-page .fin-pipe-active {
    background: var(--green-wash);
    border-color: var(--brand-primary-border);
}
body.admin-page .customer-invoices-page .fin-pipe-all { border-top-color: var(--green-deep); }
body.admin-page .customer-invoices-page .fin-pipe-draft { border-top-color: var(--text-muted); }
body.admin-page .customer-invoices-page .fin-pipe-ready { border-top-color: var(--status-in-progress); }
body.admin-page .customer-invoices-page .fin-pipe-sent_to_xero { border-top-color: var(--status-scheduled); }
body.admin-page .customer-invoices-page .fin-pipe-paid { border-top-color: var(--status-completed); }
body.admin-page .customer-invoices-page .fin-pipe-label {
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
body.admin-page .customer-invoices-page .fin-pipe-count {
    margin-top: auto;
    padding-top: var(--space-3);
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: -.04em;
    font-variant-numeric: tabular-nums;
}
body.admin-page .customer-invoices-page .fin-pipe-total {
    margin-top: 2px;
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-variant-numeric: tabular-nums;
}
body.admin-page .customer-invoices-page .invoice-filter-bar { margin-bottom: var(--space-5); }
body.admin-page .customer-invoices-page .invoice-filter-bar input[name="q"] {
    padding-right: 16px;
    padding-left: 16px;
}
body.admin-page .customer-invoices-page .invoice-filter-bar .admin-filter-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}
body.admin-page .customer-invoices-page .invoice-records-panel { padding: var(--space-4) var(--space-5); }
body.admin-page .customer-invoices-page .invoice-records-panel .ui-panel-heading { margin-bottom: var(--space-4); }
body.admin-page .customer-invoices-page .invoice-table-shell { overflow: hidden; }
body.admin-page .migrated-admin.admin-list-page.customer-invoices-page .admin-data-table.invoice-list-table {
    table-layout: fixed;
}
body.admin-page .customer-invoices-page .invoice-list-table th,
body.admin-page .customer-invoices-page .invoice-list-table td { box-sizing: border-box; }
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(1) { width: 11%; }
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(2) { width: 14%; }
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(3) { width: 21%; }
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(4) { width: 14%; }
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(5) { width: 12%; }
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(6),
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(7) { width: 10%; }
body.admin-page .customer-invoices-page .invoice-list-table th:nth-child(8) { width: 8%; }
body.admin-page .customer-invoices-page .invoice-list-table td { font-size: var(--text-sm); }
body.admin-page .customer-invoices-page .invoice-record-link {
    color: var(--green-action);
    font-weight: 750;
    text-decoration: none;
}
body.admin-page .customer-invoices-page .invoice-record-link:hover {
    color: var(--green-deep);
    text-decoration: underline;
}
body.admin-page .customer-invoices-page .invoice-address {
    overflow-wrap: anywhere;
    white-space: normal;
}
body.admin-page .customer-invoices-page .invoice-amount {
    font-weight: 750;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
body.admin-page .customer-invoices-page .invoice-list-table .status-badge {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    justify-self: start;
}
body.admin-page .customer-invoices-page .invoice-list-table .status-scheduled {
    min-width: 110px;
}
body.admin-page .customer-invoices-page .invoice-muted { color: var(--text-muted); }
body.admin-page .customer-invoices-page .invoice-view-cell { text-align: right; }
body.admin-page .customer-invoices-page .invoice-empty-panel { padding: var(--space-6) var(--space-5); }
body.admin-page .customer-invoices-page .invoice-empty-panel .no-data {
    margin: 0;
    color: var(--text-secondary);
    text-align: center;
}
@media (min-width: 821px) and (max-width: 1023px) {
    body.admin-page .customer-invoices-page .invoice-table-shell {
        padding: 0;
        border: 1px solid var(--border-subtle);
        background: var(--surface-panel);
        overflow-x: auto;
    }
    body.admin-page .customer-invoices-page .invoice-list-table,
    body.admin-page .customer-invoices-page .invoice-list-table tbody,
    body.admin-page .customer-invoices-page .invoice-list-table tr {
        display: table;
        width: 100%;
    }
    body.admin-page .customer-invoices-page .invoice-list-table thead { display: table-header-group; }
    body.admin-page .customer-invoices-page .invoice-list-table tbody { display: table-row-group; }
    body.admin-page .customer-invoices-page .invoice-list-table tr { display: table-row; }
    body.admin-page .customer-invoices-page .invoice-list-table td { display: table-cell; padding: 11px 9px; }
    body.admin-page .customer-invoices-page .invoice-list-table td::before { display: none; }
    body.admin-page .customer-invoices-page .invoice-view-cell { width: auto; white-space: nowrap; }
}
@media (max-width: 820px) {
    body.admin-page .customer-invoices-page .invoice-pipeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.admin-page .customer-invoices-page .invoice-pipeline .fin-pipe-card:first-child { grid-column: span 2; }
    body.admin-page .customer-invoices-page .invoice-records-panel { padding: var(--space-4); }
    body.admin-page .customer-invoices-page .invoice-table-shell {
        padding: 0;
        border: 0;
        background: transparent;
        overflow: visible;
        box-shadow: none;
    }
    body.admin-page .migrated-admin.admin-list-page.customer-invoices-page .admin-data-table.invoice-list-table tbody {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-3);
    }
    body.admin-page .migrated-admin.admin-list-page.customer-invoices-page .admin-data-table.invoice-list-table tbody tr {
        display: grid;
        align-content: start;
        margin: 0;
        padding: var(--space-4);
        overflow: hidden;
        border: 1px solid var(--border-subtle);
        border-top: 3px solid var(--brand-primary-border);
        border-radius: var(--radius-md);
        background: var(--surface-base);
        box-shadow: var(--shadow-sm);
    }
    body.admin-page .customer-invoices-page .invoice-list-table td,
    body.admin-page .customer-invoices-page .invoice-list-table td.admin-action-cell {
        grid-template-columns: max-content minmax(0, 1fr);
        width: 100%;
        padding: 10px 0;
        text-align: left;
    }
    body.admin-page .customer-invoices-page .invoice-list-table td:last-child { padding-bottom: 0; }
    body.admin-page .customer-invoices-page .invoice-list-table td::before { min-width: 0; }
    body.admin-page .customer-invoices-page .invoice-list-table .invoice-address {
        white-space: normal;
    }
    body.admin-page .customer-invoices-page .invoice-view-cell .btn {
        width: auto;
        min-width: 76px;
        justify-self: start;
    }
}
@media (max-width: 390px) {
    body.admin-page .customer-invoices-page .invoice-pipeline,
    body.admin-page .migrated-admin.admin-list-page.customer-invoices-page .admin-data-table.invoice-list-table tbody {
        grid-template-columns: 1fr;
    }
    body.admin-page .customer-invoices-page .invoice-pipeline .fin-pipe-card:first-child { grid-column: auto; }
    body.admin-page .customer-invoices-page .invoice-filter-bar,
    body.admin-page .customer-invoices-page .admin-filter-actions { align-items: stretch; }
    body.admin-page .customer-invoices-page .admin-filter-actions { width: 100%; }
    body.admin-page .customer-invoices-page .admin-filter-actions .btn { flex: 1 1 0; }
    body.admin-page .customer-invoices-page .invoice-records-panel { padding: var(--space-4) var(--space-3); }
}
/* Assessment reports, Xero audit and inbound request listings. */
body.admin-page .assessment-report-list .assessment-table th:first-child{width:42%}
body.admin-page .assessment-report-list .assessment-table th:nth-child(2){width:22%}
body.admin-page .assessment-report-list .assessment-table th:nth-child(3){width:20%}
body.admin-page .assessment-report-list .assessment-table td:first-child{font-weight:700}
body.admin-page .assessment-report-list .assessment-table .ui-badge{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;flex-shrink:0}
body.admin-page .assessment-report-list .admin-empty-state{margin-top:var(--space-4);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}

body.admin-page .xero-synclog-page{max-width:1320px}
body.admin-page .xero-synclog-page .admin-list-help{max-width:830px}
body.admin-page .xero-synclog-page .xero-synclog-table{min-width:1120px;font-size:12px}
body.admin-page .xero-synclog-page .xero-synclog-table th{padding:10px 9px}
body.admin-page .xero-synclog-page .xero-synclog-table td{padding:11px 9px;vertical-align:top}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(1){width:5%}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(2){width:13%}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(3){width:12%}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(4){width:8%}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(5){width:5%}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(6){width:9%}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(7){width:16%}
body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(8),body.admin-page .xero-synclog-page .xero-synclog-table th:nth-child(9){width:16%}
body.admin-page .xero-synclog-page code{color:var(--text-primary);font-size:11px}
body.admin-page .xero-synclog-page .xero-time{white-space:nowrap}
body.admin-page .xero-synclog-page .xero-http{text-align:center}
body.admin-page .xero-synclog-page .xero-tenant,.xero-synclog-page .xero-payload{color:var(--text-muted);font-size:11px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
body.admin-page .xero-synclog-page .xero-result{max-width:190px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
body.admin-page .xero-synclog-page .xero-error-text{color:var(--danger);font-size:11px}
body.admin-page .xero-synclog-page .xero-status-ok,.xero-synclog-page .xero-status-warn,.xero-synclog-page .xero-status-err{display:inline-flex;min-width:30px;justify-content:center;border-radius:99px;padding:2px 6px;font-size:10px;font-weight:800}
body.admin-page .xero-synclog-page .xero-status-ok{color:var(--green-action);background:var(--green-wash)}
body.admin-page .xero-synclog-page .xero-status-warn{color:var(--status-in-progress);background:var(--warning-soft)}
body.admin-page .xero-synclog-page .xero-status-err{color:var(--danger);background:var(--danger-soft)}
body.admin-page .xero-synclog-page .xero-log-error td:first-child{box-shadow:inset 3px 0 var(--danger)}
body.admin-page .xero-synclog-page .xero-log-ok td:first-child{box-shadow:inset 3px 0 var(--green-action)}

body.admin-page .inbound-request-list{max-width:1400px}
body.admin-page .inbound-request-list .ir-filter-bar{align-items:flex-end}
body.admin-page .inbound-request-list .ir-filter-search{flex:2 1 300px}
body.admin-page .inbound-request-list .ir-filter-select{flex:1 1 130px}
body.admin-page .inbound-request-list .ir-filter-check{display:flex;position:relative;align-items:center;min-height:44px;padding-left:52px;color:var(--text-secondary);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
body.admin-page .inbound-request-list .ir-filter-dates{display:flex;gap:8px}
body.admin-page .inbound-request-list .ir-filter-date-field{display:grid;gap:3px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.admin-page .inbound-request-list .ir-filter-date{width:130px}
body.admin-page .inbound-request-list .ir-bulk-bar{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-3);padding:9px 12px;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
body.admin-page .inbound-request-list .ir-bulk-select-all{display:flex;position:relative;align-items:center;min-height:44px;padding-left:52px;color:var(--text-primary);font-size:12px;font-weight:800;cursor:pointer}
body.admin-page .inbound-request-list .ir-filter-check input,
body.admin-page .inbound-request-list .ir-bulk-select-all input,
body.admin-page .inbound-request-list .ir-mcard-select input,
body.admin-page .inbound-request-list .ir-row-select-wrap input{position:absolute;z-index:2;top:0;left:0;width:44px;height:44px;margin:0;opacity:0;cursor:pointer}
body.admin-page .inbound-request-list .ir-filter-check::before,
body.admin-page .inbound-request-list .ir-bulk-select-all::before,
body.admin-page .inbound-request-list .ir-mcard-select::before,
body.admin-page .inbound-request-list .ir-row-select-wrap::before{content:"";position:absolute;top:13px;left:13px;box-sizing:border-box;width:18px;height:18px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface-base)}
body.admin-page .inbound-request-list .ir-filter-check::after,
body.admin-page .inbound-request-list .ir-bulk-select-all::after,
body.admin-page .inbound-request-list .ir-mcard-select::after,
body.admin-page .inbound-request-list .ir-row-select-wrap::after{content:"";position:absolute;z-index:1;top:16px;left:19px;width:5px;height:9px;border:solid var(--brand-on-primary);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0}
body.admin-page .inbound-request-list .ir-filter-check:has(input:checked)::before,
body.admin-page .inbound-request-list .ir-bulk-select-all:has(input:checked)::before,
body.admin-page .inbound-request-list .ir-mcard-select:has(input:checked)::before,
body.admin-page .inbound-request-list .ir-row-select-wrap:has(input:checked)::before{border-color:var(--brand-primary);background:var(--brand-primary)}
body.admin-page .inbound-request-list .ir-filter-check:has(input:checked)::after,
body.admin-page .inbound-request-list .ir-bulk-select-all:has(input:checked)::after,
body.admin-page .inbound-request-list .ir-mcard-select:has(input:checked)::after,
body.admin-page .inbound-request-list .ir-row-select-wrap:has(input:checked)::after{opacity:1}
body.admin-page .inbound-request-list .ir-bulk-select-all:has(input:indeterminate)::before{border-color:var(--brand-primary);background:var(--brand-primary)}
body.admin-page .inbound-request-list .ir-bulk-select-all:has(input:indeterminate)::after{top:21px;left:18px;width:8px;height:0;border-width:0 0 2px;transform:none;opacity:1}
body.admin-page .inbound-request-list .ir-selected-count{margin-right:auto;color:var(--text-muted);font-size:12px}
body.admin-page .inbound-request-list .ir-bulk-delete{min-height:44px;padding:6px 12px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger);color:var(--text-on-brand);font-size:12px;font-weight:800;cursor:pointer}
body.admin-page .inbound-request-list .ir-bulk-delete:disabled{border-color:var(--border-default);background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed}
body.admin-page .inbound-request-list .ir-bulk-message{margin:-4px 0 var(--space-3);padding:10px 12px;color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);font-size:12px;font-weight:700}
body.admin-page .inbound-request-list .ir-card-list{display:none}
body.admin-page .inbound-request-list .ir-table{min-width:1040px;font-size:12px}
body.admin-page .inbound-request-list .ir-table td{padding:10px 9px}
body.admin-page .inbound-request-list .ir-table th:nth-child(1){width:5%}
body.admin-page .inbound-request-list .ir-table th:nth-child(2){width:11%}
body.admin-page .inbound-request-list .ir-table th:nth-child(3){width:10%}
body.admin-page .inbound-request-list .ir-table th:nth-child(4){width:14%}
body.admin-page .inbound-request-list .ir-table th:nth-child(5){width:20%}
body.admin-page .inbound-request-list .ir-table th:nth-child(6){width:9%}
body.admin-page .inbound-request-list .ir-table th:nth-child(7){width:8%}
body.admin-page .inbound-request-list .ir-table th:nth-child(8){width:8%}
body.admin-page .inbound-request-list .ir-table th:nth-child(9){width:5%}
body.admin-page .inbound-request-list .ir-table th:nth-child(10){width:10%}
body.admin-page .inbound-request-list .ir-row{cursor:pointer}
body.admin-page .inbound-request-list .ir-row:hover{background:var(--surface-hover)}
body.admin-page .inbound-request-list .ir-row:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}
body.admin-page .inbound-request-list .ir-row:has(.ir-item-select:checked){background:var(--green-wash)}
body.admin-page .inbound-request-list .ir-row-new-reply td:first-child{box-shadow:inset 3px 0 var(--green-action)}
body.admin-page .inbound-request-list .ir-td-addr{font-weight:700;white-space:normal;overflow-wrap:anywhere}
body.admin-page .inbound-request-list .ir-td-ref{font-family:var(--font-mono,monospace);color:var(--text-muted)}
body.admin-page .inbound-request-list .ir-subline{margin-top:2px;color:var(--text-muted);font-size:10px}
body.admin-page .inbound-request-list .ir-message-count{margin-top:2px;color:var(--green-action);font-size:10px;font-weight:700}
body.admin-page .inbound-request-list .ir-new-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green-action)}
body.admin-page .inbound-request-list .ir-new-dot-blue{background:#2563eb}
body.admin-page .inbound-request-list .ir-row-select-wrap{display:flex;position:relative;align-items:center;width:44px;height:44px}
body.admin-page .inbound-request-list .ir-att-badge{display:inline-flex;min-width:20px;justify-content:center;padding:2px 6px;border:1px solid var(--brand-primary-border);border-radius:99px;background:var(--green-wash);color:var(--green-action);font-size:10px;font-weight:800}
body.admin-page .inbound-request-list .ir-status-badge{display:inline-flex;padding:3px 8px;border:1px solid var(--border-default);border-radius:99px;background:var(--surface-muted);color:var(--text-secondary);font-size:10px;font-weight:800;white-space:nowrap}
body.admin-page .inbound-request-list .ir-status-new{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}
body.admin-page .inbound-request-list .ir-status-needs_review{color:var(--status-in-progress);background:var(--warning-soft);border-color:var(--warning)}
body.admin-page .inbound-request-list .ir-status-ready_to_convert,.inbound-request-list .ir-status-converted{color:var(--green-action);background:var(--green-wash);border-color:var(--brand-primary-border)}
body.admin-page .inbound-request-list .ir-status-import_error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}
body.admin-page .inbound-request-list .ir-conversion-link{display:table;margin-top:4px;color:var(--green-action);font-size:10px;font-weight:800;text-decoration:none}
body.admin-page .inbound-request-list .ir-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

@media (max-width:1023px) and (min-width:768px){
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .admin-table-shell{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table,body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table tbody{display:block;width:100%}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table thead{display:none}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table{min-width:0}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table tbody{display:grid;gap:var(--space-3)}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table tr{display:grid;width:100%;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0;padding:16px;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table td{display:block;width:auto;min-width:0;padding:0;border:0;overflow-wrap:normal;word-break:normal}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table td:first-child{padding-left:8px}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table td::before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table td:nth-child(3),body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table td:nth-child(7),body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table td:nth-child(8),body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-synclog-table td:nth-child(9){grid-column:1/-1}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-time{white-space:normal}
body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-tenant,body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-payload,body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing.xero-synclog-page .xero-result{max-width:none;white-space:normal;overflow-wrap:normal;word-break:normal}
body.admin-page .inbound-request-list .ir-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
body.admin-page .inbound-request-list .ir-table-wrap{display:none}
}
@media (max-width:1023px){
body.admin-page .inbound-request-list .ir-mcard-wrap{position:relative;min-width:0}
body.admin-page .inbound-request-list .ir-mcard-select{position:absolute;z-index:1;top:7px;left:7px;display:grid;place-items:center;width:44px;height:44px;cursor:pointer}
body.admin-page .inbound-request-list .ir-mcard{display:block;height:100%;box-sizing:border-box;padding:13px 14px 12px 58px;color:var(--text-primary);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-decoration:none;font-size:12px}
body.admin-page .inbound-request-list .ir-mcard-wrap:has(.ir-item-select:checked) .ir-mcard{border-color:var(--brand-primary);background:var(--green-wash)}
body.admin-page .inbound-request-list .ir-mcard-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:6px 8px;margin-bottom:7px;color:var(--text-muted);font-size:10px}
body.admin-page .inbound-request-list .ir-mcard-top .ir-status-badge{flex:0 0 auto}
body.admin-page .inbound-request-list .ir-mcard strong{display:block;margin-bottom:3px;font-size:14px}
body.admin-page .inbound-request-list .ir-mcard>div:not(.ir-mcard-top){margin-top:3px;color:var(--text-secondary)}
body.admin-page .inbound-request-list .ir-mcard-view{display:flex;align-items:center;min-height:44px;margin-top:4px;color:var(--green-action);font-size:11px;font-weight:800}
}
@media (max-width:767px){
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .admin-table-shell{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table,body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table tbody,body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table tr{display:block;width:100%}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table thead{display:none}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table{min-width:0}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table tbody{display:grid;gap:10px}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table tr{display:grid;width:100%;box-sizing:border-box;grid-template-columns:minmax(0,1fr);gap:10px;margin:0;padding:14px;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table td{display:block;width:auto;min-width:0;padding:0;border:0;overflow-wrap:normal;word-break:normal}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table td:first-child{padding-left:8px}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-synclog-table td::before{content:attr(data-label);display:block;margin:0 0 4px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-time{white-space:normal}
body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-tenant,body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-payload,body.admin-page .migrated-admin.admin-list-page.xero-synclog-page .xero-result{max-width:none;white-space:normal;overflow-wrap:normal;word-break:normal}
body.admin-page .inbound-request-list .ir-filter-bar{align-items:stretch}
body.admin-page .inbound-request-list .ir-filter-search,.inbound-request-list .ir-filter-select{flex:1 1 100%}
body.admin-page .inbound-request-list .ir-filter-dates{width:100%}
body.admin-page .inbound-request-list .ir-filter-date-field{flex:1}
body.admin-page .inbound-request-list .ir-filter-date{width:100%}
body.admin-page .inbound-request-list .ir-bulk-bar{flex-wrap:wrap}
body.admin-page .inbound-request-list .ir-selected-count{order:3;flex-basis:100%}
body.admin-page .inbound-request-list .ir-card-list{display:grid;grid-template-columns:1fr;gap:0}
body.admin-page .inbound-request-list .ir-table-wrap{display:none}
body.admin-page .inbound-request-list .ir-mcard-wrap{position:relative;margin-bottom:10px}
}
body.admin-page .migrated-admin .ir-msg-direction-badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--green-action);background:var(--green-wash);border:1px solid var(--brand-primary-border);border-radius:var(--radius-sm);padding:2px 7px;margin-bottom:var(--space-2)}
body.admin-page .migrated-admin .ir-msg-badge-pending{color:var(--text-muted);background:var(--surface-muted);border-color:var(--border-default);animation:ir-pulse 1.8s ease-in-out infinite}
@keyframes ir-pulse{0%,100%{opacity:.55}50%{opacity:1}}
body.admin-page .migrated-admin .ir-msg-header{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}
body.admin-page .migrated-admin .ir-msg-meta{font-weight:800;font-size:var(--text-sm);color:var(--text-primary)}
body.admin-page .migrated-admin .ir-msg-email,.migrated-admin .ir-msg-date,.migrated-admin .ir-msg-to,.migrated-admin .ir-att-size{color:var(--text-muted);font-size:var(--text-xs)}
body.admin-page .migrated-admin .ir-msg-body{margin-top:var(--space-3)}
body.admin-page .migrated-admin .ir-body-pre,.migrated-admin .ir-body-html{font-size:var(--text-sm);color:var(--text-primary);line-height:1.55;max-height:600px;overflow:auto;word-break:break-word}
body.admin-page .migrated-admin .ir-body-pre{white-space:pre-wrap;font-family:inherit;margin:0}
body.admin-page .migrated-admin .ir-att-list{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}
body.admin-page .migrated-admin .ir-att-label{font-size:var(--text-xs);font-weight:800;color:var(--text-muted);margin-bottom:var(--space-1)}
body.admin-page .migrated-admin .ir-att-item{display:flex;align-items:center;gap:var(--space-2);padding:3px 0}
body.admin-page .migrated-admin .ir-att-link,.migrated-admin .ir-convert-link,.migrated-admin .ir-body-html a{color:var(--brand-link);font-weight:700;text-decoration:none}
body.admin-page .migrated-admin .ir-audit-list,.migrated-admin .ir-crm-box{background:var(--surface-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}
body.admin-page .migrated-admin .ir-audit-row{display:flex;gap:var(--space-2);font-size:var(--text-xs);padding:var(--space-1) 0;border-bottom:1px solid var(--border-subtle)}
body.admin-page .migrated-admin .ir-audit-row:last-child{border-bottom:0}
body.admin-page .migrated-admin .ir-audit-type{font-weight:800;color:var(--text-muted);min-width:110px}
body.admin-page .migrated-admin .ir-audit-summary{flex:1;color:var(--text-primary)}
body.admin-page .migrated-admin .ir-audit-date{color:var(--text-muted);white-space:nowrap}
body.admin-page .migrated-admin .ir-right{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5);position:sticky;top:var(--space-3)}
body.admin-page .migrated-admin .ir-save-bar{margin-bottom:var(--space-4)}
body.admin-page .migrated-admin .ir-section-head{margin:var(--space-4) 0 var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}
body.admin-page .migrated-admin .ir-section-head:first-of-type{margin-top:0;border-top:0}
body.admin-page .migrated-admin .ir-field-group{margin-bottom:var(--space-3)}
body.admin-page .migrated-admin .ir-label{display:block;font-size:10px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}
body.admin-page .migrated-admin .ir-input,.migrated-admin .ir-select,.migrated-admin .ir-textarea{box-sizing:border-box;width:100%;background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);padding:9px 10px}
body.admin-page .migrated-admin .ir-textarea{resize:vertical;font-family:inherit}
body.admin-page .migrated-admin .ir-warn-box{background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-sm);padding:var(--space-3);margin-top:var(--space-3);color:var(--status-in-progress)}
body.admin-page .migrated-admin .ir-crm-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}
body.admin-page .migrated-admin .ir-crm-row:last-child{border-bottom:0}
body.admin-page .migrated-admin .ir-crm-info{flex:1;font-size:var(--text-xs);display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;min-width:0}
body.admin-page .migrated-admin .ir-crm-confirm{background:var(--green-action);color:var(--brand-on-primary);border:0;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:800;padding:7px 10px;cursor:pointer}
body.admin-page .migrated-admin .ir-status-badge{display:inline-block;font-size:var(--text-xs);font-weight:800;border-radius:var(--radius-pill);padding:4px 10px;color:var(--green-action);background:var(--green-wash);border:1px solid var(--brand-primary-border)}
body.admin-page .migrated-admin .ir-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
body.admin-page .migrated-admin .ir-action-btn{background:var(--surface-subtle);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-sm);padding:10px;font-size:var(--text-xs);font-weight:800;cursor:pointer;text-align:left}
body.admin-page .migrated-admin .ir-action-primary{border-color:var(--brand-primary-border);color:var(--green-action)}
body.admin-page .migrated-admin .ir-action-warn{border-color:var(--danger);color:var(--danger)}
body.admin-page .migrated-admin .ir-action-muted{color:var(--text-secondary)}
body.admin-page .migrated-admin .ir-convert-done{background:var(--green-wash);border:1px solid var(--brand-primary-border);border-radius:var(--radius-sm);padding:var(--space-3);color:var(--green-deep);font-size:var(--text-sm);line-height:1.5}
body.admin-page .migrated-admin .btn-sm-text{background:transparent;border:0;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;padding:0;text-decoration:underline}
@media(max-width:900px){body.admin-page .migrated-admin .ir-split{grid-template-columns:1fr}}
@media(max-width:767px){body.admin-page .migrated-admin .ir-audit-row{flex-direction:column;gap:2px;padding:var(--space-2) 0}body.admin-page .migrated-admin .ir-action-btn,#saveBtn{min-height:44px}body.admin-page .migrated-admin .ir-right{position:static;padding:var(--space-4)}body.admin-page .migrated-admin .ir-msg{padding:var(--space-3)}}
body.admin-page .migrated-admin.admin-ops-detail {
    max-width: 1240px;
    padding: var(--space-5);
    background: transparent;
    border: 0;
    box-shadow: none;
}
body.admin-page .migrated-admin .admin-ops-context {
    display:flex; align-items:center; gap:var(--space-2); flex-wrap:wrap; margin:-12px 0 var(--space-5);
    color:var(--text-secondary); font-size:var(--text-sm);
}
body.admin-page .migrated-admin .admin-ops-context span,
body.admin-page .migrated-admin .admin-plan-date,
body.admin-page .migrated-admin .admin-section-count {
    color:var(--green-action); background:var(--green-wash); border:1px solid var(--brand-primary-border);
    border-radius:var(--radius-pill); padding:3px 8px; font-size:var(--text-xs); font-weight:700;
}
body.admin-page .migrated-admin .admin-ops-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); margin-bottom:var(--space-5); max-width:820px; }
body.admin-page .migrated-admin .admin-ops-summary,
body.admin-page .migrated-admin .admin-ops-action-panel {
    box-sizing:border-box; max-width:620px; margin:0 0 var(--space-5); padding:var(--space-5);
    background:var(--surface-panel); border:1px solid var(--border-subtle); border-radius:var(--radius-md); box-shadow:var(--shadow-sm);
}
body.admin-page .migrated-admin .admin-ops-summary > div { display:flex; justify-content:space-between; gap:var(--space-4); padding:8px 0; color:var(--text-secondary); }
body.admin-page .migrated-admin .admin-ops-summary > div + div { border-top:1px solid var(--border-subtle); }
body.admin-page .migrated-admin .admin-ops-summary > div span:last-child { color:var(--text-primary); font-weight:800; }
body.admin-page .migrated-admin .admin-ops-summary > div:last-child span:last-child { color:var(--green-action); font-size:var(--text-xl); }
body.admin-page .migrated-admin .admin-ops-action-panel h3,
body.admin-page .migrated-admin .admin-runsheet h3 { margin:0 0 var(--space-2); color:var(--text-primary); font-size:var(--text-lg); }
body.admin-page .migrated-admin .admin-ops-notice { max-width:620px; margin:0 0 var(--space-4); padding:10px 12px; color:var(--status-in-progress); background:var(--warning-soft); border-left:3px solid var(--warning); font-size:var(--text-sm); }
body.admin-page .migrated-admin .admin-signature-canvas { display:block; box-sizing:border-box; width:100%; max-width:560px; height:180px; background:var(--surface-subtle); border:1px dashed var(--border-strong); border-radius:var(--radius-sm); cursor:crosshair; touch-action:none; }
body.admin-page .migrated-admin .admin-crew-add-panel { max-width:900px; }
body.admin-page .migrated-admin .admin-crew-add-form { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:var(--space-3); align-items:end; }
body.admin-page .migrated-admin .admin-crew-add-form .form-group { min-width:0; margin-bottom:0 !important; }
body.admin-page .migrated-admin .admin-crew-add-submit { display:flex; align-items:flex-end; }
body.admin-page .migrated-admin .admin-crew-add-submit .btn { width:100%; }
body.admin-page .migrated-admin .admin-compact-edit-form {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(80px,100px);
    gap:var(--space-2); margin-top:var(--space-2); max-width:500px;
}
body.admin-page .migrated-admin .admin-compact-edit-form > * { min-width:0; font-size:var(--text-sm); }
body.admin-page .migrated-admin .admin-compact-edit-form .admin-compact-wide { grid-column:1 / -1; }
body.admin-page .migrated-admin .admin-runsheet { margin-top:var(--space-7); padding-top:var(--space-5); border-top:1px solid var(--border-default); }
body.admin-page .migrated-admin .admin-runsheet > .ui-eyebrow { margin-bottom:var(--space-1); }
body.admin-page .migrated-admin .member-table-wrap { margin-bottom:var(--space-5) !important; }
body.admin-page .migrated-admin .admin-js-hidden { display:none; }
body.admin-page .migrated-admin .admin-inline-form { display:inline; }
body.admin-page .migrated-admin .admin-inline-actions { display:flex; align-items:center; gap:var(--space-3); flex-wrap:wrap; }
body.admin-page .migrated-admin .admin-stack-xs,
body.admin-page .migrated-admin .admin-stack-sm,
body.admin-page .migrated-admin .admin-stack-md { display:flex; flex-direction:column; }
body.admin-page .migrated-admin .admin-stack-xs { gap:var(--space-2); }
body.admin-page .migrated-admin .admin-stack-sm { gap:var(--space-3); }
body.admin-page .migrated-admin .admin-stack-md { gap:var(--space-4); }
body.admin-page .migrated-admin .admin-space-top-xs { margin-top:var(--space-1); }
body.admin-page .migrated-admin .admin-space-top-sm { margin-top:var(--space-3); }
body.admin-page .migrated-admin .admin-space-top-md { margin-top:var(--space-4); }
body.admin-page .migrated-admin .admin-space-top-lg { margin-top:var(--space-6); }
body.admin-page .migrated-admin .admin-space-bottom-sm { margin-bottom:var(--space-3); }
body.admin-page .migrated-admin .admin-space-bottom-lg { margin-bottom:var(--space-6); }
body.admin-page .migrated-admin .admin-form-narrow { max-width:400px; }
body.admin-page .migrated-admin .admin-form-group-flush { margin-bottom:0; }
body.admin-page .migrated-admin .admin-full-width { width:100%; }
body.admin-page .migrated-admin .admin-self-start { align-self:flex-start; }
body.admin-page .migrated-admin .admin-grow { flex:1; min-width:0; }
body.admin-page .migrated-admin .admin-monospace { font-family:monospace; }
body.admin-page .migrated-admin .admin-text-xs { font-size:var(--text-xs); }
body.admin-page .migrated-admin .admin-text-italic { font-style:italic; }
body.admin-page .migrated-admin .admin-status-success { color:var(--green-action); font-weight:700; }
body.admin-page .migrated-admin .admin-status-danger { color:var(--danger); font-weight:700; }
body.admin-page .migrated-admin .admin-warning-text { color:var(--status-in-progress); }
body.admin-page .migrated-admin .admin-accent-text,
body.admin-page .migrated-admin .admin-accent-link { color:var(--brand-primary-active); }
body.admin-page .migrated-admin .admin-accent-link { font-size:var(--text-xs); font-weight:700; }
body.admin-page .migrated-admin .admin-required { color:var(--danger); }
body.admin-page .migrated-admin .admin-label-strong { margin-bottom:var(--space-1); font-size:var(--text-xs); font-weight:800; }
body.admin-page .migrated-admin .admin-empty-inline { padding:var(--space-4); color:var(--text-muted); font-size:var(--text-sm); }
body.admin-page .migrated-admin .admin-link-summary { padding:var(--space-2) 0; font-size:var(--text-sm); }
body.admin-page .migrated-admin .admin-save-message { min-height:1.2rem; margin-top:var(--space-1); text-align:center; font-size:var(--text-xs); }
body.admin-page .migrated-admin .admin-btn-compact { padding:4px 10px; font-size:var(--text-xs); }
body.admin-page .migrated-admin .admin-btn-danger { background:var(--danger); border-color:var(--danger); color:var(--brand-on-primary); }
body.admin-page .migrated-admin .admin-btn-warning { background:var(--warning); border-color:var(--warning); color:var(--text-primary); }
body.admin-page .migrated-admin .admin-btn-muted { background:var(--surface-muted); }
body.admin-page .migrated-admin .admin-control-medium { min-width:120px; font-size:var(--text-sm); }
body.admin-page .migrated-admin .admin-control-location { min-width:160px; font-size:var(--text-sm); }
body.admin-page .migrated-admin .admin-control-time { min-width:100px; }
body.admin-page .migrated-admin .admin-run-list { display:flex; flex-direction:column; gap:var(--space-3); max-width:900px; margin-bottom:var(--space-6); }
body.admin-page .migrated-admin .admin-run-item {
    display:flex; align-items:flex-start; gap:var(--space-4); padding:14px 16px;
    background:var(--surface-base); border:1px solid var(--border-subtle); border-left:4px solid var(--text-muted); border-radius:var(--radius-md);
}
body.admin-page .migrated-admin .admin-run-item--job { border-left-color:var(--green-action); }
body.admin-page .migrated-admin .admin-run-item--lunch { border-left-color:var(--warning); }
body.admin-page .migrated-admin .admin-run-item--break { border-left-color:var(--info); }
body.admin-page .migrated-admin .admin-run-item--travel { border-left-color:var(--status-assessment); }
body.admin-page .migrated-admin .admin-run-move-stack { display:flex; flex-direction:column; gap:var(--space-1); }
body.admin-page .migrated-admin .admin-form-reset { margin:0; }
body.admin-page .migrated-admin .admin-run-move-btn { padding:2px 8px; background:var(--surface-muted); }
body.admin-page .migrated-admin .admin-disabled { opacity:.3; }
body.admin-page .migrated-admin .admin-run-title-row { display:flex; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; }
body.admin-page .migrated-admin .admin-run-meta { margin-top:2px; color:var(--text-secondary); font-size:var(--text-sm); }
body.admin-page .migrated-admin .admin-run-detail { color:var(--text-secondary); font-size:var(--text-xs); }
body.admin-page .migrated-admin .admin-details-summary { cursor:pointer; color:var(--text-primary); font-weight:700; }
body.admin-page .migrated-admin .admin-run-type { color:var(--text-secondary); font-size:var(--text-xs); font-weight:400; text-transform:uppercase; }
body.admin-page .migrated-admin .admin-detail-note { margin:var(--space-2) 0; }
body.admin-page .migrated-admin .admin-ops-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:var(--space-4); max-width:900px; }
body.admin-page .migrated-admin .admin-ops-card { padding:var(--space-5); background:var(--surface-base); border:1px solid var(--border-subtle); border-radius:var(--radius-md); }
body.admin-page .migrated-admin .admin-ops-card-wide { max-width:900px; }
body.admin-page .migrated-admin .admin-ops-card-title { margin:0 0 var(--space-3); color:var(--text-primary); font-size:var(--text-md); }
body.admin-page .migrated-admin .admin-job-option { display:flex; justify-content:space-between; align-items:center; gap:var(--space-3); padding:var(--space-2) var(--space-3); background:var(--surface-subtle); border-radius:var(--radius-sm); }
body.admin-page .migrated-admin .admin-reply-composer { margin-top:var(--space-5); padding:var(--space-5); background:var(--surface-base); border:1px solid var(--brand-primary-border); border-radius:var(--radius-md); }
body.admin-page .migrated-admin .admin-reply-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--space-4); }
body.admin-page .migrated-admin .admin-reply-title { font-size:var(--text-md); font-weight:800; }
body.admin-page .migrated-admin .admin-icon-button { background:none; border:0; color:var(--text-muted); font-size:var(--text-md); cursor:pointer; }
body.admin-page .migrated-admin .admin-inbound-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:var(--space-3); margin-bottom:var(--space-5); }
body.admin-page .migrated-admin.b2a-page { max-width:1400px; padding-bottom:var(--space-7); }
body.admin-page .migrated-admin.admin-ops-detail .admin-list-header {
    display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap;
}
body.admin-page .migrated-admin.admin-ops-detail .admin-list-heading { min-width:0; }
body.admin-page .migrated-admin.admin-ops-detail .admin-list-header h1 {
    margin:0; color:var(--text-primary); font-size:clamp(1.45rem,2vw,1.85rem); letter-spacing:-.035em;
}
body.admin-page .migrated-admin.admin-ops-detail .admin-list-help {
    max-width:680px; margin:var(--space-2) 0 0; color:var(--text-secondary); font-size:var(--text-sm); line-height:1.5;
}
body.admin-page .migrated-admin.admin-ops-detail .admin-list-header.admin-inbound-page-header { margin-bottom:var(--space-5); }
body.admin-page .migrated-admin.admin-ops-detail .admin-inbound-page-header .admin-list-help { max-width:780px; }
body.admin-page .migrated-admin .admin-inbound-header-actions { display:flex; gap:var(--space-2); align-items:center; flex-wrap:wrap; }
body.admin-page .migrated-admin.admin-ops-detail .btn,
body.admin-page .migrated-admin.admin-ops-detail button,
body.admin-page .migrated-admin.admin-ops-detail input,
body.admin-page .migrated-admin.admin-ops-detail select,
body.admin-page .migrated-admin.admin-ops-detail textarea { max-width:100%; }
body.admin-page .migrated-admin.admin-ops-detail .admin-detail-actions { display:flex; align-items:center; gap:var(--space-2); flex-wrap:wrap; }
body.admin-page .migrated-admin.admin-ops-detail .admin-detail-actions .btn { min-height:42px; display:inline-flex; align-items:center; }
@media (max-width:1023px) {
    body.admin-page .migrated-admin .admin-ops-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.admin-page .migrated-admin.admin-ops-detail .btn,
    body.admin-page .migrated-admin.admin-ops-detail button,
    body.admin-page .migrated-admin.admin-ops-detail input:not([type="hidden"]),
    body.admin-page .migrated-admin.admin-ops-detail select { min-height:44px; }
}
@media (max-width:767px) {
    body.admin-page .migrated-admin.admin-ops-detail { padding:var(--space-3); }
    body.admin-page .migrated-admin .admin-ops-kpis { grid-template-columns:1fr; }
    body.admin-page .migrated-admin .admin-ops-action-panel,
    body.admin-page .migrated-admin .admin-ops-summary { padding:var(--space-4); }
    body.admin-page .migrated-admin .admin-signature-canvas { height:150px; }
    body.admin-page .migrated-admin .admin-inbound-header { margin-bottom:var(--space-4); }
    body.admin-page .migrated-admin .admin-crew-add-form { grid-template-columns:1fr; }
    body.admin-page .migrated-admin .admin-crew-add-submit { width:100%; }
    body.admin-page .migrated-admin .admin-compact-edit-form { grid-template-columns:1fr; }
    body.admin-page .migrated-admin .admin-compact-edit-form .admin-compact-wide { grid-column:auto; }
    body.admin-page .migrated-admin .admin-ops-card-grid { grid-template-columns:1fr; }
    body.admin-page .migrated-admin .admin-run-item { gap:var(--space-3); padding:var(--space-3); }
}

/* Batch 3 operational surfaces: these are shared composition rules rather than
   page skins, so correspondence, quote and crew workflows retain one rhythm. */
body.admin-page .migrated-admin.admin-list-page .admin-section-heading {
    margin: var(--space-6) 0 var(--space-3);
    color: var(--text-primary);
    font-size: var(--text-lg);
    letter-spacing: -.02em;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-surface form {
    max-width: 100%;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-surface label {
    color: var(--text-secondary);
    text-shadow: none;
}
body.admin-page .migrated-admin.admin-list-page .admin-editor-grid,
body.admin-page .migrated-admin.admin-list-page .admin-form-surface .form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}
body.admin-page .migrated-admin.admin-list-page .admin-editor-grid .form-group,
body.admin-page .migrated-admin.admin-list-page .admin-form-surface .form-group { min-width: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-form-surface > .form-group { margin-top: var(--space-3); }
body.admin-page .migrated-admin.admin-list-page .admin-form-surface textarea,
body.admin-page .migrated-admin.admin-list-page .admin-editor-body { line-height: 1.55; }
body.admin-page .migrated-admin.admin-list-page .admin-editor-body { font-family: Georgia, "Times New Roman", serif; }
body.admin-page .migrated-admin.admin-list-page .admin-workspace {
    display: grid;
    grid-template-columns: minmax(360px, 540px) minmax(0, 1fr);
    gap: var(--space-5);
    align-items: start;
}
body.admin-page .migrated-admin.admin-list-page .admin-workspace-intro {
    margin: calc(var(--space-5) * -1) 0 var(--space-5);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}
body.admin-page .migrated-admin.admin-list-page .admin-intro-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}
body.admin-page .migrated-admin.admin-list-page .admin-intro-actions p { margin: 0; }
@media (max-width: 1023px) and (min-width: 768px) {
    body.admin-page .migrated-admin.admin-list-page .admin-intro-actions {
        align-items: stretch;
        flex-direction: column;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-intro-actions .btn { width: 100%; }
}
body.admin-page .migrated-admin.admin-list-page .admin-workspace-intro a,
body.admin-page .migrated-admin.admin-list-page .admin-disclosure-trigger {
    color: var(--status-completed);
    font-weight: 700;
}
body.admin-page .migrated-admin.admin-list-page .admin-disclosure-trigger {
    padding: 0;
    border: 0;
    background: transparent;
    text-decoration: underline;
    cursor: pointer;
    font: inherit;
}
body.admin-page .migrated-admin.admin-list-page .admin-workspace .ui-panel { margin-bottom: var(--space-4); }
body.admin-page .migrated-admin.admin-list-page .admin-record-panel { margin-top: var(--space-4); }
body.admin-page .migrated-admin.admin-list-page .admin-action-lane,
body.admin-page .migrated-admin.admin-list-page .admin-signature-tools,
body.admin-page .migrated-admin.admin-list-page .admin-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    flex-wrap: wrap;
}
body.admin-page .migrated-admin.admin-list-page .admin-feedback {
    margin-top: var(--space-3);
    padding: 10px 14px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 700;
}
body.admin-page .migrated-admin.admin-list-page .admin-feedback.ok { background: var(--green-wash); color: var(--status-completed); border-color: var(--brand-primary-border); }
body.admin-page .migrated-admin.admin-list-page .admin-feedback.err { background: var(--danger-soft); color: var(--danger); border-color: var(--danger); }
body.admin-page .migrated-admin.admin-list-page .admin-status-pill { margin-left: var(--space-2); }
body.admin-page .migrated-admin.admin-list-page .admin-preview-frame {
    display: block; width: 100%; height: 78vh; min-height: 560px;
    border: 1px solid var(--border-subtle); border-radius: var(--radius-sm); background: var(--surface-subtle);
}
body.admin-page .migrated-admin.admin-list-page .admin-record-list { display: flex; flex-direction: column; }
body.admin-page .migrated-admin.admin-list-page .admin-record-trigger {
    display: inline-block;
    width: auto;
    height: auto;
    min-height: 0;
    padding: 0;
    color: var(--text-primary);
    background: transparent;
    border: 0;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}
body.admin-page .migrated-admin.admin-list-page .admin-record-trigger:hover { color: var(--status-completed); }
body.admin-page .migrated-admin.admin-list-page .admin-delete-control { color: var(--text-muted); background: transparent; border: 0; cursor: pointer; }
body.admin-page .migrated-admin.admin-list-page .admin-delete-control:hover { color: var(--danger); }
body.admin-page .migrated-admin.admin-list-page .admin-signature-surface { padding: var(--space-2); background: var(--surface-subtle); border: 1px dashed var(--brand-primary-border); border-radius: var(--radius-sm); }
body.admin-page .migrated-admin.admin-list-page .admin-signature-pad { display: block; width: 100%; height: 150px; border-radius: var(--radius-sm); background: #242424; cursor: crosshair; touch-action: none; }
body.admin-page .migrated-admin.admin-list-page .admin-signature-tools { margin-top: var(--space-2); }
body.admin-page .migrated-admin.admin-list-page .admin-section-heading { margin: var(--space-5) 0 var(--space-3); }
body.admin-page .migrated-admin.admin-list-page .admin-section-heading h2 { margin: 0; font-size: var(--text-lg); }
body.admin-page .migrated-admin.admin-list-page .admin-compat-hidden { display: none !important; }
body.admin-page .migrated-admin.admin-list-page .admin-disclosure-row { background: var(--surface-subtle); }
body.admin-page .migrated-admin.admin-list-page .admin-form-spacing { margin-top: .75rem; }
body.admin-page .migrated-admin.admin-list-page .admin-detail-list { margin: .4rem 0 0 1.2rem; padding: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-muted-note { color: var(--text-muted); font-size: var(--text-xs); }
body.admin-page .migrated-admin.admin-list-page .admin-list-search {
    width: min(100%, 380px);
    margin: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-record-link {
    color: var(--text-primary);
    font-weight: 700;
    text-decoration-color: var(--border-strong);
}
body.admin-page .migrated-admin.admin-list-page .admin-record-link:hover { color: var(--status-completed); }
body.admin-page .migrated-admin.admin-list-page .admin-detail-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-2);
    flex-wrap: wrap;
    margin: calc(var(--space-2) * -1) 0 var(--space-4);
}
body.admin-page .migrated-admin.admin-list-page .admin-list-header > .admin-detail-actions {
    flex: 1 0 100%;
    width: 100%;
}
body.admin-page .migrated-admin.admin-list-page .admin-detail-actions > .btn {
    width: auto;
    padding-inline: var(--space-3);
}
body.admin-page .migrated-admin.admin-list-page .admin-linked-record {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 9px 12px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}
body.admin-page .migrated-admin.admin-list-page .admin-linked-record a { font-weight: 700; }
body.admin-page .migrated-admin.admin-list-page .admin-linked-record-success { background: var(--green-wash); border-color: var(--brand-primary-border); }
body.admin-page .migrated-admin.admin-list-page .admin-linked-record-success a { color: var(--status-completed); }
body.admin-page .migrated-admin.admin-list-page .admin-linked-record-info { background: var(--status-scheduled-soft); border-color: var(--status-scheduled); }
body.admin-page .migrated-admin.admin-list-page .admin-linked-record-info a { color: var(--status-scheduled); }
body.admin-page .migrated-admin.admin-list-page .admin-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--space-4) var(--space-5);
    margin: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-detail-grid > div { min-width: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-detail-grid dt {
    margin-bottom: 3px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}
body.admin-page .migrated-admin.admin-list-page .admin-detail-grid dd { margin: 0; color: var(--text-primary); font-weight: 700; }
body.admin-page .migrated-admin.admin-list-page .admin-checklist { list-style: none; margin: 0; padding: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-checklist li {
    padding: 8px 0;
    border-bottom: 1px solid var(--border-subtle);
}
body.admin-page .migrated-admin.admin-list-page .admin-checklist li:last-child { border-bottom: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-scope-list li::before {
    content: "—";
    margin-right: var(--space-2);
    color: var(--green-action);
    font-weight: 700;
}
body.admin-page .migrated-admin.admin-list-page .admin-preserved-notes { margin: 0; white-space: pre-wrap; }
body.admin-page .migrated-admin.admin-list-page .cjd-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}
body.admin-page .migrated-admin.admin-list-page .cjd-photo-group {
    min-width: 0;
    padding: var(--space-3);
    background: var(--surface-subtle);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
}
body.admin-page .migrated-admin.admin-list-page .cjd-photo-group h3 {
    margin: 0 0 var(--space-2);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    letter-spacing: .06em;
    text-transform: uppercase;
}
body.admin-page .migrated-admin.admin-list-page .cjd-thumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); }
body.admin-page .migrated-admin.admin-list-page .cjd-thumb {
    display: block;
    width: 200px;
    max-width: 100%;
    overflow: hidden;
    background: var(--surface-base);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    text-decoration: none;
}
body.admin-page .migrated-admin.admin-list-page .cjd-thumb img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: contain;
    background: var(--surface-base);
}
body.admin-page .migrated-admin.admin-list-page .cjd-open {
    display: block;
    padding: 5px;
    border-top: 1px solid var(--border-subtle);
    color: var(--status-completed);
    font-size: var(--text-xs);
    text-align: center;
}
body.admin-page .migrated-admin.admin-list-page .admin-detail-block { margin-top: var(--space-4); }
body.admin-page .migrated-admin.admin-list-page .admin-detail-block h3 {
    margin: 0 0 var(--space-2);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    letter-spacing: .06em;
    text-transform: uppercase;
}
body.admin-page .migrated-admin.admin-list-page .admin-detail-block p { margin: 0; }
/* Detail composition remains intentionally generic: panels may be used by any
   migrated record surface without route-specific selectors. */
body.admin-page .migrated-admin.admin-list-page .admin-panel-title {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
}
body.admin-page .migrated-admin.admin-list-page .admin-detail-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}
body.admin-page .migrated-admin.admin-list-page .admin-detail-layout > .ui-panel { margin-bottom: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-detail-layout .admin-panel-wide { grid-column: 1 / -1; }
body.admin-page .migrated-admin.admin-list-page .admin-form-actions,
body.admin-page .migrated-admin.admin-list-page .admin-record-actions {
    display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-4);
}
body.admin-page .migrated-admin.admin-list-page .admin-form-actions--distributed {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: stretch;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-actions--distributed > *,
body.admin-page .migrated-admin.admin-list-page .admin-form-actions--distributed .btn {
    box-sizing: border-box;
    width: 100%;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-actions--distributed .admin-inline-form {
    display: flex;
}
body.admin-page .migrated-admin.admin-list-page .admin-form-grid .admin-form-full { grid-column: 1 / -1; }
body.admin-page .migrated-admin.admin-list-page .admin-subsection {
    grid-column: 1 / -1; padding-top: var(--space-4); border-top: 1px solid var(--border-subtle);
}
body.admin-page .migrated-admin.admin-list-page .admin-subsection-header {
    display:flex; align-items: baseline; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; margin-bottom:var(--space-3);
}
body.admin-page .migrated-admin.admin-list-page .admin-subsection-header h3 { margin:0; color:var(--text-primary); font-size:var(--text-md); }
body.admin-page .migrated-admin.admin-list-page .admin-subsection-header p { margin:0; color:var(--text-muted); font-size:var(--text-sm); }
body.admin-page .migrated-admin.admin-list-page .admin-record-list > * + * { border-top: 1px solid var(--border-subtle); }
body.admin-page .migrated-admin.admin-list-page .admin-record-row { padding: var(--space-3) 0; }
body.admin-page .migrated-admin.admin-list-page .admin-record-row:first-child { padding-top: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-record-row:last-child { padding-bottom: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-record-row-head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; }
body.admin-page .migrated-admin.admin-list-page .admin-record-row p { margin: var(--space-1) 0 0; }
body.admin-page .migrated-admin.admin-list-page .admin-record-meta { color:var(--text-muted); font-size:var(--text-xs); }
body.admin-page .migrated-admin.admin-list-page .admin-details { margin-top:var(--space-3); }
body.admin-page .migrated-admin.admin-list-page .admin-details summary { color:var(--status-completed); cursor:pointer; font-weight:700; }
body.admin-page .migrated-admin.admin-list-page .admin-details form { margin-top:var(--space-3); }
body.admin-page .migrated-admin.admin-list-page .admin-checkbox-row {
    display: inline-flex;
    align-items: flex-start;
    justify-content: flex-start;
    align-self: start;
    width: fit-content;
    max-width: 100%;
    min-height: 44px;
    gap: var(--space-2);
    color: var(--text-secondary);
    line-height: 1.4;
    cursor: pointer;
}
body.admin-page .migrated-admin.admin-list-page .admin-checkbox-row.admin-form-full {
    width: 100%;
}
body.admin-page .migrated-admin.admin-list-page .admin-checkbox-row input[type="checkbox"],
body.admin-page .migrated-admin.admin-list-page .admin-checkbox-row input[type="radio"] {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    min-height: 18px;
    margin: 1px 0 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-text-block { margin:0; white-space:pre-line; line-height:1.65; }
body.admin-page .migrated-admin.admin-list-page .admin-danger-panel { border-color:var(--danger); background:var(--danger-soft); }
body.admin-page .migrated-admin.admin-list-page .admin-danger-panel .btn-danger { background:var(--danger); color:var(--text-on-brand); }
body.admin-page .migrated-admin.admin-list-page .admin-accent-panel { background:var(--brand-primary-soft); border-color:var(--brand-primary-border); }
body.admin-page .migrated-admin.admin-list-page .admin-tag-list { display:flex; gap:var(--space-2); flex-wrap:wrap; }
body.admin-page .migrated-admin.admin-list-page .admin-tag { display:inline-flex; padding:3px 10px; border:1px solid var(--brand-primary-border); border-radius:var(--radius-pill); background:var(--surface-base); color:var(--status-completed); font-size:var(--text-sm); }
body.admin-page .migrated-admin.admin-list-page .admin-inline-edit { margin-top:var(--space-3); }
body.admin-page .migrated-admin.admin-list-page .admin-inline-edit .admin-form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
/* Generic record-detail vocabulary shared by migrated admin edit screens. */
body.admin-page .migrated-admin.admin-list-page .admin-context-list,
body.admin-page .migrated-admin.admin-list-page .admin-context-line { margin: 0 0 var(--space-4); color: var(--text-secondary); }
body.admin-page .migrated-admin.admin-list-page .admin-context-list p { margin: 0 0 var(--space-2); }
body.admin-page .migrated-admin.admin-list-page .admin-context-list p:last-child { margin-bottom: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-context-list strong,
body.admin-page .migrated-admin.admin-list-page .admin-context-line strong { color: var(--text-primary); }
body.admin-page .migrated-admin.admin-list-page .admin-status-attention { color: var(--status-in-progress); font-weight: 700; }
body.admin-page .migrated-admin.admin-list-page .admin-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-3); }
body.admin-page .migrated-admin.admin-list-page .admin-photo-grid .photo-thumbnail { display: block; overflow: hidden; border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface-subtle); }
body.admin-page .migrated-admin.admin-list-page .admin-photo-grid .photo-thumbnail img { display: block; width: 100%; height: 150px; object-fit: cover; }
body.admin-page .migrated-admin.admin-list-page .admin-photo-card { display: grid; gap: var(--space-2); min-width: 0; }
body.admin-page .migrated-admin.admin-list-page .admin-photo-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
body.admin-page .migrated-admin.admin-list-page .admin-danger-button { color: var(--danger); }
body.admin-page .migrated-admin.admin-list-page .admin-danger-button:hover { background: var(--danger-soft); border-color: var(--danger); }
body.admin-page .migrated-admin.admin-list-page .admin-warning-button { background: var(--status-in-progress); border-color: var(--status-in-progress); color: var(--text-on-brand); }
body.admin-page .migrated-admin.admin-list-page .admin-warning-button:hover { filter: brightness(.94); color: var(--text-on-brand); }
body.admin-page .migrated-admin.admin-list-page #copy-btn.is-copied { background: var(--status-completed); border-color: var(--status-completed); color: var(--text-on-brand); }
@media (max-width: 1023px) {
 body.admin-page .migrated-admin.admin-list-page .admin-list-header > .admin-detail-actions {
     flex: 1 0 100%;
     width: 100%;
     margin: 0;
 }
 body.admin-page .migrated-admin.admin-list-page .admin-detail-layout { grid-template-columns:1fr; }
 body.admin-page .migrated-admin.admin-list-page .admin-detail-layout .admin-panel-wide { grid-column:auto; }
 body.admin-page .migrated-admin.admin-list-page .admin-inline-edit .admin-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
 body.admin-page .migrated-admin.admin-list-page .admin-record-actions .btn,
 body.admin-page .migrated-admin.admin-list-page .admin-form-actions .btn { flex:1 1 100%; }
 body.admin-page .migrated-admin.admin-list-page .admin-inline-edit .admin-form-grid { grid-template-columns:1fr; }
}
body.admin-page .migrated-admin.admin-list-page .admin-payload {
    margin: 0;
    padding: var(--space-3);
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    background: var(--surface-subtle);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font: 12px/1.5 var(--font-admin-mono, monospace);
}
body.admin-page .migrated-admin.admin-list-page .admin-panel-status { margin-top: calc(var(--space-4) * -1); text-align: right; }
body.admin-page .migrated-admin.admin-list-page .admin-audit {
    margin: var(--space-3) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}
body.admin-page .migrated-admin.admin-list-page .admin-audit-error { color: var(--danger); }
body.admin-page .migrated-admin.admin-list-page .admin-decision-actions {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr);
    gap: var(--space-3);
    align-items: end;
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
}
body.admin-page .migrated-admin.admin-list-page .admin-decision-actions form {
    align-self: end;
    margin: 0;
}
body.admin-page .migrated-admin.admin-list-page .admin-decision-actions > form:first-child .btn {
    height: auto;
    min-height: 44px;
}
body.admin-page .migrated-admin.admin-list-page .admin-decision-actions label {
    display: block;
    margin-bottom: var(--space-1);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-weight: 700;
}
body.admin-page .migrated-admin.admin-list-page .admin-decision-reject {
    display: flex;
    gap: var(--space-2);
}
body.admin-page .migrated-admin.admin-list-page .admin-decision-reject input { min-width: 0; flex: 1 1 auto; }
body.admin-page .migrated-admin.admin-list-page .admin-choice-row { display: flex; flex-wrap: wrap; gap: 8px; }
body.admin-page .migrated-admin.admin-list-page .admin-choice-scroll { max-height: 160px; overflow-y: auto; padding: 4px 0; }
body.admin-page .migrated-admin.admin-list-page .admin-choice-card {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    min-height: 44px;
    padding: 8px 12px; border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm); background: var(--surface-subtle);
    color: var(--text-primary);
    cursor: pointer; font-size: var(--text-xs);
}
body.admin-page .migrated-admin.admin-list-page .admin-choice-card:not(.week-day-check) { flex-direction: row; }
body.admin-page .migrated-admin.admin-list-page .admin-choice-card .week-day-date { color: var(--text-secondary); font-size: 11px; }
body.admin-page .migrated-admin.admin-list-page .admin-choice-card input[type="checkbox"],
body.admin-page .migrated-admin.admin-list-page .admin-checkbox-target input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: 18px;
    flex: 0 0 18px;
}
body.admin-page .migrated-admin.admin-list-page .admin-checkbox-target {
    display: inline-grid;
    place-items: center;
    width: 44px;
    min-height: 44px;
    margin: 0;
    cursor: pointer;
}
@media (max-width: 1023px) {
    body.admin-page .migrated-admin.admin-list-page .ui-panel-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--space-1);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-workspace { grid-template-columns: 1fr; }
    body.admin-page .migrated-admin.admin-list-page .admin-editor-grid,
    body.admin-page .migrated-admin.admin-list-page .admin-form-grid { grid-template-columns: 1fr; }
    body.admin-page .migrated-admin.admin-list-page .admin-table-shell--tablet-cards {
        overflow: visible;
        background: transparent;
        border: 0;
        box-shadow: none;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards tbody,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards tr,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards td {
        display: block;
        width: 100%;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards {
        border-collapse: separate;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards thead {
        display: none;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards tbody tr {
        margin-bottom: var(--space-3);
        padding: var(--space-3);
        background: var(--surface-panel);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-sm);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards td {
        padding: 8px 0;
        border: 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards td[data-label]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 3px;
        color: var(--text-muted);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .09em;
        text-transform: uppercase;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards td:last-child {
        padding-top: 12px;
        border-top: 1px solid var(--border-subtle);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table--tablet-cards td.admin-action-cell {
        width: 100%;
        white-space: normal;
    }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td {
        overflow-wrap: normal;
        word-break: normal;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-decision-actions {
        grid-template-columns: 1fr;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-decision-actions .btn {
        width: 100%;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-record-trigger { min-height: 44px; }
    body.admin-page .migrated-admin.admin-list-page .admin-form-panel .ui-panel-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--space-1);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-disclosure-trigger {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
}
@media (max-width: 767px) {
    body.admin-page .migrated-admin.admin-list-page .admin-form-surface .form-row,
    body.admin-page .migrated-admin.admin-list-page .admin-editor-grid { grid-template-columns: 1fr; }
    body.admin-page .migrated-admin.admin-list-page .admin-action-lane .btn { flex: 1 1 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-intro-actions {
        align-items: stretch;
        flex-direction: column;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-intro-actions .btn { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-preview-frame { height: 60vh; min-height: 420px; }
    body.admin-page .migrated-admin.admin-list-page .admin-delete-control { min-width: 44px; min-height: 44px; }
    body.admin-page .migrated-admin.admin-list-page .admin-disclosure-row td { display: block; }
    body.admin-page .migrated-admin.admin-list-page .admin-list-search { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-detail-actions {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-linked-record { align-items: flex-start; flex-direction: column; }
    body.admin-page .migrated-admin.admin-list-page .admin-detail-actions > .btn { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-decision-actions { grid-template-columns: 1fr; }
    body.admin-page .migrated-admin.admin-list-page .admin-decision-actions .btn { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-decision-reject { flex-direction: column; }
    body.admin-page .migrated-admin.admin-list-page .cjd-photo-grid { grid-template-columns: 1fr; }
    body.admin-page .migrated-admin.admin-list-page .cjd-thumb { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .cjd-thumb img { height: 200px; }
}
@media (max-width: 767px) {
    body.admin-page .migrated-admin.admin-list-page .btn,
    body.admin-page .migrated-admin.admin-list-page input:not([type="checkbox"]):not([type="radio"]),
    body.admin-page .migrated-admin.admin-list-page select,
    body.admin-page .migrated-admin.admin-list-page textarea {
        min-height: 44px;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-list-header { margin-bottom: var(--space-4); }
    body.admin-page .migrated-admin.admin-list-page .admin-header-action { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-header-form,
    body.admin-page .migrated-admin.admin-list-page .admin-header-form .btn { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-filter-bar {
        align-items: stretch;
        flex-direction: column;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-filter-field { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-chip-menu {
        position: fixed;
        right: 12px;
        left: 12px;
        min-width: 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-filter-bar > *,
    body.admin-page .migrated-admin.admin-list-page .admin-filter-input {
        width: 100%;
        flex: 1 1 auto;
        min-height: 44px;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-filter-bar .form-control,
    body.admin-page .migrated-admin.admin-list-page .admin-filter-bar .admin-filter-input {
        height: 44px;
        min-height: 44px;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-filter-actions { width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-filter-actions .btn,
    body.admin-page .migrated-admin.admin-list-page .admin-filter-bar > .btn {
        flex: 1;
        min-height: 44px;
        justify-content: center;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-table-shell,
    body.admin-page .migrated-admin.admin-list-page .detail-section.cj-table-wrap {
        overflow: visible;
        background: transparent;
        border: 0;
        box-shadow: none;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tr,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td { display: block; width: 100%; }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table { border-collapse: separate; }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table thead { display: none; }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody tr {
        margin-bottom: var(--space-3);
        padding: var(--space-3);
        background: var(--surface-panel);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-sm);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table tbody tr:last-child { margin-bottom: 0; }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td {
        padding: 8px 0;
        border: 0;
        overflow-wrap: anywhere;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 3px;
        color: var(--text-muted);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .09em;
        text-transform: uppercase;
    }
    body.admin-page .migrated-admin.admin-list-page.admin-atomic-listing .admin-data-table td[data-label]::before {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: keep-all;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td:last-child {
        padding-top: 12px;
        border-top: 1px solid var(--border-subtle);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-action-group {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        flex-direction: initial;
        justify-content: stretch;
        align-items: stretch;
        gap: var(--space-2);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-action-group > * {
        box-sizing: border-box;
        width: 100%;
        flex: 0 0 auto;
        min-width: 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-inline-form { display: flex; }
    body.admin-page .migrated-admin.admin-list-page .admin-action-group .btn,
    body.admin-page .migrated-admin.admin-list-page .admin-inline-form button {
        box-sizing: border-box;
        width: 100%;
        height: auto;
        min-height: 44px;
        min-width: 0;
        padding: var(--space-2) var(--space-3);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1.25;
        overflow-wrap: normal;
        white-space: normal;
        word-break: normal;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-action-btn {
        width: 100%;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: var(--space-2) 0 0;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td .ui-badge,
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td .status-badge {
        display: inline-flex;
        width: auto;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-row-edit-form {
        flex-direction: column;
        align-items: stretch;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-row-edit-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }
    body.admin-page .migrated-admin.admin-list-page .admin-row-edit-grid > * {
        grid-column: 1;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-row-edit-form .form-control,
    body.admin-page .migrated-admin.admin-list-page .admin-row-edit-form .btn {
        width: 100%;
        flex-basis: auto;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-data-table td.admin-action-cell {
        width: 100%;
        white-space: normal;
    }
}
@media (max-width: 640px) {
    body.admin-page .migrated-admin.admin-list-page .admin-form-grid {
        grid-template-columns: 1fr;
    }
    body.admin-page .migrated-admin.admin-list-page .admin-form-submit {
        align-items: stretch;
    }
}

/* Batch 11: settings surfaces brought into the Booking Analytics admin system.
   These rules are page-scoped so legacy forms retain their existing contracts. */
body.admin-page .settings-page,
body.admin-page .inbound-settings-page,
body.admin-page .inbound-templates-page {
    box-sizing: border-box;
    max-width: 1180px;
    padding: 0;
}
body.admin-page .settings-page .settings-list-header,
body.admin-page .inbound-settings-page .inbound-list-header,
body.admin-page .inbound-templates-page .inbound-list-header {
    margin-bottom: var(--space-5);
}
body.admin-page .settings-page .admin-list-header h1,
body.admin-page .inbound-settings-page .admin-list-header h1,
body.admin-page .inbound-templates-page .admin-list-header h1 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    letter-spacing: -.035em;
}
body.admin-page .settings-page .settings-form-container,
body.admin-page .inbound-settings-page .admin-card,
body.admin-page .inbound-templates-page .tmpl-panel {
    box-sizing: border-box;
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}
body.admin-page .settings-page .settings-form-container {
    padding: var(--space-5);
    width: 100%;
    max-width: none !important;
}
body.admin-page .settings-page .settings-form-container h3 {
    margin: 0 0 var(--space-2);
    color: var(--text-primary);
    font-size: var(--text-lg);
    letter-spacing: -.02em;
}
body.admin-page .settings-page .settings-form-container > p:not(.field-hint) {
    color: var(--text-secondary) !important;
    text-align: left;
    line-height: 1.5;
}
body.admin-page .settings-page .settings-grid-migrated {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    align-items: stretch;
}
body.admin-page .settings-page .settings-grid-migrated > .settings-span-full {
    grid-column: 1 / -1;
}
body.admin-page .settings-page .settings-form-container .form-group {
    min-width: 0;
}
body.admin-page .settings-page .business-details-layout {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    column-gap: 20px;
    margin-bottom: 16px;
}
body.admin-page .settings-page .business-logo-control {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 180px;
    margin: 0 0 16px;
}
body.admin-page .settings-page .business-details-fields {
    display: contents;
}
body.admin-page .settings-page .business-details-fields > .form-group,
body.admin-page .settings-page .business-contact-fields {
    grid-column: 1 / -1;
}
body.admin-page .settings-page .business-details-fields > .form-group:nth-child(-n + 2) {
    grid-column: 2;
}
body.admin-page .settings-page .business-contact-fields {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
body.admin-page .settings-page .settings-form-container input:not([type="checkbox"]):not([type="radio"]),
body.admin-page .settings-page .settings-form-container textarea,
body.admin-page .settings-page .settings-form-container select,
body.admin-page .inbound-settings-page .form-control,
body.admin-page .inbound-templates-page .tmpl-input,
body.admin-page .inbound-templates-page .tmpl-textarea {
    box-sizing: border-box;
    min-height: 44px;
    padding: 12px 16px;
    background: var(--surface-base);
    color: var(--text-primary);
    border: 1px solid var(--border-default);
}
body.admin-page .settings-page .settings-form-container .field-hint,
body.admin-page .inbound-settings-page .form-hint,
body.admin-page .inbound-settings-page .card-body,
body.admin-page .inbound-templates-page .admin-list-help {
    text-align: left;
}
body.admin-page .settings-page .settings-form-container .btn,
body.admin-page .settings-page .settings-form-container button,
body.admin-page .settings-page .settings-form-container label.btn,
body.admin-page .inbound-settings-page .btn-primary,
body.admin-page .inbound-settings-page .btn-secondary,
body.admin-page .inbound-settings-page .btn-danger,
body.admin-page .inbound-templates-page .btn-primary,
body.admin-page .inbound-templates-page .btn-secondary,
body.admin-page .inbound-templates-page .btn-sm {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 10px 16px;
}
body.admin-page .settings-page .settings-form-container label.btn {
    cursor: pointer;
}
body.admin-page .settings-page .settings-form-container label:has(> input[type="checkbox"]),
body.admin-page .inbound-settings-page .form-row > label:has(> input[type="checkbox"]),
body.admin-page .inbound-templates-page .tmpl-field:has(> input[type="checkbox"]) {
    min-height: 44px;
    min-width: 44px;
    box-sizing: border-box;
}
body.admin-page .settings-page .quote-included-row .btn {
    min-width: 44px;
}
body.admin-page .settings-page .quote-included-row input[type="text"] {
    width: auto;
    min-width: 0;
}
body.admin-page .settings-page .svc-toggle {
    width: 52px;
    height: 44px;
}
body.admin-page .settings-page .svc-toggle-slider {
    top: 9px;
    bottom: 9px;
}
body.admin-page .settings-page .alert.alert-state-off {
    background: var(--danger-soft);
    color: var(--danger);
    border-color: var(--danger);
}
body.admin-page .inbound-settings-page .admin-card {
    margin-bottom: var(--space-5) !important;
    padding: 0;
    overflow: hidden;
}
body.admin-page .inbound-settings-page .admin-card .card-header {
    padding: 14px 20px;
    background: var(--surface-subtle);
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-size: var(--text-sm);
    letter-spacing: .01em;
}
body.admin-page .inbound-settings-page .admin-card .card-body {
    padding: 20px;
}
body.admin-page .inbound-settings-page .page-header-row,
body.admin-page .inbound-templates-page .page-header-row {
    display: none;
}
body.admin-page .inbound-settings-page .admin-header-action,
body.admin-page .inbound-templates-page .admin-header-action {
    height: 44px;
    min-height: 44px;
    box-sizing: border-box;
}
body.admin-page .inbound-settings-page .data-table {
    width: 100%;
}
body.admin-page .inbound-settings-page .data-table th {
    color: var(--text-muted);
    background: var(--surface-subtle);
    font-size: 10px;
    letter-spacing: .09em;
    text-transform: uppercase;
}
body.admin-page .inbound-settings-page .data-table td,
body.admin-page .inbound-settings-page .data-table th {
    padding: 13px 12px;
    border-bottom-color: var(--border-subtle);
}
body.admin-page .inbound-templates-page .tmpl-panel {
    overflow: hidden;
    max-width: none;
}
body.admin-page .inbound-templates-page .tmpl-row {
    padding: 16px 20px;
}
body.admin-page .inbound-templates-page .tmpl-name {
    color: var(--text-primary);
}
body.admin-page .inbound-templates-page .tmpl-body-preview {
    color: var(--text-secondary);
}
body.admin-page .inbound-templates-page .tmpl-overlay {
    background: rgba(24, 31, 28, .62);
}
body.admin-page .inbound-templates-page .tmpl-modal {
    border-color: var(--border-subtle);
    background: var(--surface-panel);
}
body.admin-page .inbound-templates-page .tmpl-modal-header,
body.admin-page .inbound-templates-page .tmpl-modal-footer {
    background: var(--surface-subtle);
    border-color: var(--border-subtle);
}
body.admin-page .inbound-templates-page .tmpl-close {
    min-height: 44px;
    min-width: 64px;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}
body.admin-page .inbound-templates-page .tmpl-label,
body.admin-page .inbound-settings-page .form-label {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}
body.admin-page .inbound-templates-page .tmpl-input:focus,
body.admin-page .inbound-templates-page .tmpl-textarea:focus {
    outline: 2px solid var(--green-action);
    outline-offset: 1px;
    border-color: var(--green-action);
}
body.admin-page .inbound-settings-page .alert-success {
    background: #edf7e5;
    color: #2f6517;
    border-color: #b9dca2;
}
body.admin-page .inbound-settings-page .alert-error {
    background: #fff0ee;
    color: #9f2f26;
    border-color: #efb8b2;
}
body.admin-page .batch11-confirm-overlay {
    position: fixed;
    inset: 0;
    z-index: 9100;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    padding: 16px;
    background: rgba(24, 31, 28, .66);
}
body.admin-page .batch11-confirm-overlay[hidden] {
    display: none;
}
body.admin-page .batch11-confirm-dialog {
    width: min(100%, 520px);
    box-sizing: border-box;
    padding: 20px;
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
}
body.admin-page .batch11-confirm-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
body.admin-page .batch11-confirm-heading h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-xl);
}
body.admin-page .batch11-confirm-close {
    min-width: 64px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    background: var(--surface-base);
    color: var(--text-secondary);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}
body.admin-page .batch11-confirm-message {
    margin: 20px 0;
    color: var(--text-secondary);
    line-height: 1.55;
}
body.admin-page .batch11-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
body.admin-page .batch11-confirm-actions .btn,
body.admin-page .batch11-confirm-actions button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.admin-page .batch11-confirm-actions .btn-danger {
    background: var(--danger);
    color: #fff;
    border: 1px solid var(--danger);
    border-radius: var(--radius-sm);
}
body.admin-page .settings-page form[action="/admin/settings/assessment"] .form-group:first-child label:has(> input[type="checkbox"]) {
    flex: 0 0 64px;
    min-width: 64px;
    white-space: nowrap;
}
body.admin-page .inbound-templates-page .tmpl-input[aria-invalid="true"] {
    border-color: var(--danger);
    outline: 2px solid var(--danger);
    outline-offset: 1px;
}
@media (max-width: 1023px) {
    body.admin-page .settings-page .settings-grid-migrated {
        grid-template-columns: 1fr;
    }
    body.admin-page .settings-page .settings-grid-migrated > .settings-span-full {
        grid-column: auto;
    }
}
@media (max-width: 767px) {
    body.admin-page .settings-page,
    body.admin-page .inbound-settings-page,
    body.admin-page .inbound-templates-page {
        max-width: 100%;
    }
    body.admin-page .settings-page .settings-form-container {
        padding: 16px;
    }
    body.admin-page .settings-page .business-logo-control {
        grid-column: 1;
        grid-row: auto;
    }
    body.admin-page .settings-page .business-details-layout {
        grid-template-columns: 1fr;
    }
    body.admin-page .settings-page .business-details-fields > .form-group:nth-child(-n + 2) {
        grid-column: 1;
    }
    body.admin-page .settings-page .settings-form-container .form-actions,
    body.admin-page .settings-page .settings-form-container .form-actions .btn,
    body.admin-page .settings-page .settings-form-container .form-actions button,
    body.admin-page .inbound-settings-page .admin-card .btn-primary,
    body.admin-page .inbound-settings-page .admin-card .btn-secondary,
    body.admin-page .inbound-settings-page .admin-card .btn-danger {
        width: 100%;
    }
    body.admin-page .inbound-settings-page .admin-card .card-body {
        padding: 16px;
    }
    body.admin-page .inbound-templates-page .tmpl-row {
        padding: 16px;
    }
    body.admin-page .inbound-templates-page .tmpl-modal-footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    body.admin-page .inbound-templates-page .tmpl-textarea {
        min-height: 120px;
        height: 120px;
    }
    body.admin-page .batch11-confirm-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    body.admin-page .batch11-confirm-actions .btn,
    body.admin-page .batch11-confirm-actions button {
        width: 100%;
    }
}
