/* Build 0185. Component states share the existing primary token; never change WP outside this root. */
.tfsi-admin-page {
    --tfsi-interactive: var(--tfsi-primary);
    --tfsi-focus-ring: var(--tfsi-interactive);
}
.tfsi-admin-page :is(a, button, input, select, textarea, summary):focus {
    outline: 3px solid var(--tfsi-focus-ring) !important;
    outline-offset: 3px;
    box-shadow: none !important;
}
.tfsi-admin-page :is(a, button, input, select, textarea, summary):focus:not(:focus-visible) {
    outline-width: 2px !important;
    outline-offset: 2px;
}
.tfsi-admin-page :is(input, select, textarea):focus { border-color: var(--tfsi-interactive) !important; }
.tfsi-admin-page a:not(.button):not(.tfsi-btn):not(.page-numbers):not(.tfsi-step-card__link):not(.submitdelete):is(:hover,:active,:focus),
.tfsi-admin-page .button-link:not(.button-link-delete):is(:hover,:active,:focus),
.tfsi-admin-page .tfsi-dashboard-start-link:is(:visited,:active,:focus) {
    color: var(--tfsi-interactive) !important;
}
.tfsi-admin-page .tfsi-step-card__link:is(:hover,:active,:focus) { color: inherit; }
.tfsi-admin-page .tfsi-step-card__link:is(:hover,:active,:focus) h3 { color: var(--tfsi-interactive); }
.tfsi-admin-page :is(.button,.tfsi-btn,.tfsi-barcode-camera-button,.tfsi-physical-support-toggle) {
    border-color: var(--tfsi-interactive);
    border-radius: 9px;
    text-shadow: none;
}
.tfsi-admin-page :is(.button:not(.button-primary),.tfsi-btn--secondary,.tfsi-barcode-camera-button,.tfsi-physical-support-toggle) {
    color: var(--tfsi-interactive) !important;
    background-color: var(--tfsi-surface, #fff);
}
.tfsi-admin-page :is(.button:not(.button-primary),.tfsi-btn--secondary,.tfsi-barcode-camera-button,.tfsi-physical-support-toggle):is(:hover,:active,:focus) {
    color: var(--tfsi-interactive) !important;
    border-color: var(--tfsi-interactive) !important;
    background: var(--tfsi-primary-soft) !important;
}
.tfsi-admin-page :is(.button-primary,.tfsi-btn--primary),
.tfsi-admin-page :is(.button-primary,.tfsi-btn--primary):is(:hover,:active,:focus,:visited) {
    color: #fff !important;
    background: var(--tfsi-interactive) !important;
    border-color: var(--tfsi-interactive) !important;
}
.tfsi-admin-page :is(button,input[type="submit"],input[type="button"]):disabled,
.tfsi-admin-page .button[aria-disabled="true"] { opacity: .58; cursor: not-allowed; }
.tfsi-admin-page :is(input[type="checkbox"],input[type="radio"]) {
    accent-color: var(--tfsi-interactive);
    -webkit-appearance: auto;
    appearance: auto;
}
.tfsi-admin-page :is(input[type="checkbox"],input[type="radio"])::before { content: none !important; }
.tfsi-admin-page .tfsi-decision-panel { border-left-color: var(--tfsi-interactive) !important; }
.tfsi-admin-page .tfsi-decision-panel .tfsi-choice-chip:is(:hover,:focus,:active) { border-color: var(--tfsi-interactive) !important; }
.tfsi-admin-page .tfsi-decision-panel .tfsi-choice-chip--active,
.tfsi-admin-page .tfsi-decision-panel .tfsi-choice-chip--active:is(:hover,:focus,:active) {
    background: var(--tfsi-interactive) !important; color: #fff !important; border-color: var(--tfsi-interactive) !important;
}
.tfsi-admin-page .tfsi-provider-local-filter__button.is-active { border-color: var(--tfsi-interactive); box-shadow: inset 0 0 0 1px var(--tfsi-interactive); }
.tfsi-admin-page .tfsi-search-pagination__current { border-color: var(--tfsi-interactive); background: var(--tfsi-interactive); }
.tfsi-admin-page .tfsi-archive-pagination .page-numbers:is(:hover,:focus,:active) { border-color: var(--tfsi-interactive); }
/* A dangerous/destructive action remains red; only its focus ring shares the visual language. */
.tfsi-admin-page :is(.submitdelete,.button-link-delete) { color: var(--tfsi-danger, #b42318) !important; }

/* The physical support select is still the only named successful control. */
.tfsi-admin-page #tfsi-physical-support[hidden],
.tfsi-admin-page #tfsi-physical-support-panel label[hidden],
.tfsi-admin-page .tfsi-support-picker[hidden],
.tfsi-admin-page .tfsi-support-picker [hidden] { display: none !important; }
.tfsi-admin-page .tfsi-support-picker { width: 100%; min-width: 0; container: tfsi-support / inline-size; }
.tfsi-admin-page .tfsi-support-picker__label { margin: 0 0 12px; font-size: 15px; font-weight: 700; color: var(--tfsi-text); }
.tfsi-admin-page .tfsi-support-picker__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; align-items: stretch; }
.tfsi-admin-page :is(.tfsi-support-picker__category,.tfsi-support-picker__option,.tfsi-support-picker__clear) {
    appearance: none; box-sizing: border-box; display: inline-flex; align-items: center; gap: 9px;
    min-height: 48px; min-width: 0; max-width: 100%; margin: 0; padding: 11px 13px;
    border: 1px solid var(--tfsi-border); border-radius: 9px; box-shadow: none;
    color: var(--tfsi-interactive); background: var(--tfsi-surface, #fff);
    font: inherit; font-size: 14px; font-weight: 650; line-height: 1.35;
    text-align: start; text-decoration: none; cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.tfsi-admin-page .tfsi-support-picker__category { width: 100%; position: relative; flex-direction: column; align-items: flex-start; padding: 10px; gap: 6px; }
.tfsi-admin-page .tfsi-support-picker__category > .tfsi-support-picker__name { width: 100%; }
.tfsi-admin-page .tfsi-support-picker__category > .tfsi-support-picker__arrow,
.tfsi-admin-page .tfsi-support-picker__category[aria-pressed="true"]::after { position: absolute; inset-inline-end: 10px; top: 14px; }
.tfsi-admin-page .tfsi-support-picker__name { min-width: 0; overflow-wrap: anywhere; }
.tfsi-admin-page .tfsi-support-picker__icon { display: block; width: 18px; height: 18px; flex: 0 0 18px; color: inherit; stroke: currentColor; fill: none; }
.tfsi-admin-page :is(.tfsi-support-picker__category,.tfsi-support-picker__option,.tfsi-support-picker__clear):is(:hover,:focus,:active) {
    border-color: var(--tfsi-interactive); color: var(--tfsi-interactive); background: var(--tfsi-primary-soft);
}
.tfsi-admin-page .tfsi-support-picker__category[aria-expanded="true"] { border-color: var(--tfsi-interactive); background: var(--tfsi-primary-soft); }
.tfsi-admin-page .tfsi-support-picker__category.has-selection,
.tfsi-admin-page :is(.tfsi-support-picker__category,.tfsi-support-picker__option)[aria-pressed="true"],
.tfsi-admin-page .tfsi-support-picker__category.has-selection:is(:hover,:focus,:active),
.tfsi-admin-page :is(.tfsi-support-picker__category,.tfsi-support-picker__option)[aria-pressed="true"]:is(:hover,:focus,:active) {
    background: var(--tfsi-interactive); border-color: var(--tfsi-interactive); color: #fff;
}
.tfsi-admin-page :is(.tfsi-support-picker__category,.tfsi-support-picker__option)[aria-pressed="true"]::after { content: '\2713'; margin-inline-start: auto; font-weight: 800; }
.tfsi-admin-page .tfsi-support-picker__arrow { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-inline-start: auto; flex: 0 0 7px; transition: transform .16s ease; }
.tfsi-admin-page .tfsi-support-picker__category[aria-expanded="true"] .tfsi-support-picker__arrow { transform: rotate(225deg); }
.tfsi-admin-page .tfsi-support-picker__panel { grid-column: 1/-1; padding: 16px; border: 1px solid var(--tfsi-border); border-inline-start: 3px solid var(--tfsi-interactive); border-radius: 9px; background: var(--tfsi-primary-soft); }
.tfsi-admin-page .tfsi-support-picker__panel-title { margin: 0 0 10px; font-size: 13px; font-weight: 700; color: var(--tfsi-interactive); }
.tfsi-admin-page .tfsi-support-picker__options { display: flex; flex-wrap: wrap; gap: 8px; }
.tfsi-admin-page .tfsi-support-picker__option { justify-content: center; min-width: 80px; border-color: var(--tfsi-border); }
.tfsi-admin-page .tfsi-support-picker__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--tfsi-border); }
.tfsi-admin-page .tfsi-support-picker__summary { margin: 0; color: var(--tfsi-muted); font-size: 13px; }
.tfsi-admin-page .tfsi-support-picker__summary strong { color: var(--tfsi-text); }
.tfsi-admin-page .tfsi-support-picker__clear { font-size: 12px; min-height: 44px; padding: 8px 12px; font-weight: 500; }
.tfsi-admin-page #tfsi-physical-support-panel .tfsi-physical-support-keep { margin-top: 16px; }
@media(prefers-reduced-motion:reduce) { .tfsi-admin-page .tfsi-support-picker * { animation: none !important; transition: none !important; } }
@media(forced-colors:active) { .tfsi-admin-page .tfsi-support-picker [aria-pressed="true"], .tfsi-admin-page .tfsi-support-picker .has-selection { border: 2px solid Highlight; } }

/* Build 0237: use available panel width, including a folded WP sidebar and zoom. */
@container tfsi-support (min-width: 34rem) {
    .tfsi-admin-page .tfsi-support-picker__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
    .tfsi-admin-page .tfsi-support-picker__category { flex-direction: row; align-items: center; gap: 7px; }
    .tfsi-admin-page .tfsi-support-picker__category > .tfsi-support-picker__name { width: auto; }
    .tfsi-admin-page .tfsi-support-picker__category > .tfsi-support-picker__arrow,
    .tfsi-admin-page .tfsi-support-picker__category[aria-pressed="true"]::after { position: static; }
}
@container tfsi-support (min-width: 62rem) {
    .tfsi-admin-page .tfsi-support-picker__grid { grid-template-columns: repeat(8,minmax(0,1fr)); }
}

/* One ordered navigation: four operational links followed by three information links. */
.tfsi-admin-page .tfsi-dashboard { container: tfsi-dashboard / inline-size; padding: 0; gap: 20px; }
.tfsi-admin-page .tfsi-quick-actions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.tfsi-admin-page .tfsi-quick-action {
    box-sizing: border-box; min-width: 0; min-height: 76px; padding: 12px !important;
    flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px;
}
.tfsi-admin-page .tfsi-quick-action-copy { min-width: 0; width: 100%; }
.tfsi-admin-page .tfsi-quick-action-copy strong { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.tfsi-admin-page .tfsi-quick-action-copy small { display: none; }
.tfsi-admin-page .tfsi-quick-action--secondary { min-height: 64px; border-top-width: 1px !important; box-shadow: none; }
.tfsi-admin-page .tfsi-quick-action--secondary > .dashicons { width: 20px; height: 20px; font-size: 20px; }
@container tfsi-dashboard (min-width: 48rem) {
    .tfsi-admin-page .tfsi-quick-actions { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
    .tfsi-admin-page .tfsi-quick-action { flex-direction: row; align-items: center; padding: 16px !important; }
    .tfsi-admin-page .tfsi-quick-action--primary { grid-column: span 3; min-height: 104px; }
    .tfsi-admin-page .tfsi-quick-action--primary strong { font-size: 16px; }
    .tfsi-admin-page .tfsi-quick-action--secondary { grid-column: span 4; min-height: 72px; }
    .tfsi-admin-page .tfsi-quick-action-copy small { display: block; font-size: 13px; }
}
@media (max-width: 782px) {
    .tfsi-admin-page .tfsi-dashboard-header { margin: 16px 0; padding: 16px; gap: 14px; }
    .tfsi-admin-page .tfsi-dashboard-header .tfsi-dashboard-brand { flex-direction: row; align-items: center; gap: 12px; }
    .tfsi-admin-page .tfsi-dashboard-header .tfsi-official-brand-icon { width: 48px; height: 48px; flex: 0 0 48px; }
    .tfsi-admin-page .tfsi-dashboard-header h1 { font-size: 23px; line-height: 1.25; overflow-wrap: anywhere; }
    .tfsi-admin-page .tfsi-dashboard-header p { font-size: 14px; }
    .tfsi-admin-page .tfsi-dashboard-header .tfsi-build-summary { min-width: 0; width: 100%; }
    .tfsi-admin-page .tfsi-dashboard .tfsi-section-heading { display: block; }
    .tfsi-admin-page .tfsi-dashboard .tfsi-section-heading p { margin-top: 6px; }
}

/* Build 0242: keep space for the existing focus ring inside every admin surface. */
.tfsi-admin-page { box-sizing: border-box; width: auto; max-width: 100%; min-width: 0; padding-inline: 15px; }
.tfsi-admin-page > :is(form, section, div, header, nav),
.tfsi-admin-page :is(.tfsi-settings-form, .tfsi-provider-section, .tfsi-panel, .tfsi-workspace) {
    box-sizing: border-box; max-width: 100%; min-width: 0;
}
.tfsi-diagnostic-options { display: grid; row-gap: 12px; }
.tfsi-diagnostic-option { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.tfsi-diagnostic-option input[type="checkbox"] { flex: 0 0 auto; margin: 3px 0 0; }
.tfsi-diagnostic-option > span { min-width: 0; overflow-wrap: anywhere; }
.tfsi-provider-section { container: tfsi-providers / inline-size; }
.tfsi-settings-table-scroll { box-sizing: border-box; max-width: 100%; padding: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.tfsi-settings-page .tfsi-provider-table { display: table; width: 100%; min-width: 0; overflow: visible; }
.tfsi-provider-table :is(th, td) { overflow-wrap: anywhere; }
.tfsi-provider-table input[type="password"] { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; }
.tfsi-provider-field-label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); }
.tfsi-settings-page .tfsi-provider-table .tfsi-state-label { box-sizing: border-box; max-width: 100%; white-space: normal; }
/* Six usable columns and their labels need 750px, so cards depend on panel space rather than device names. */
@container tfsi-providers (max-width: 749px) {
    .tfsi-settings-page .tfsi-provider-table { display: block; border: 0; box-shadow: none; background: transparent; }
    .tfsi-provider-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .tfsi-provider-table tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .tfsi-provider-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; box-sizing: border-box; min-width: 0; max-width: 100%; padding: 10px; border: 1px solid var(--tfsi-border); border-radius: 9px; background: var(--tfsi-surface, #fff); }
    .tfsi-provider-table tbody :is(th, td) { display: block; box-sizing: border-box; min-width: 0; max-width: 100%; padding: 0; font-size: 14px; line-height: 1.45; }
    .tfsi-provider-table tbody th { font-weight: 700; }
    .tfsi-provider-field-label { position: static; display: block; width: auto; height: auto; margin: 0 0 5px; overflow: visible; clip-path: none; }
    .tfsi-provider-table input.small-text { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 40px; font-size: 14px; }
    .tfsi-provider-table .tfsi-clear-credential { line-height: 1.5; overflow-wrap: anywhere; }
    .tfsi-provider-table .tfsi-state-label { font-size: 14px; }
}
.tfsi-archive-filters { display: flex; gap: 8px; align-items: flex-end; flex-wrap: wrap; margin: 12px 0 18px; }
.tfsi-archive-filter { min-width: 0; max-width: 100%; }
.tfsi-archive-table-scroll { box-sizing: border-box; max-width: 100%; min-width: 0; padding: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.tfsi-admin-page .tfsi-archive-table { display: table; min-width: 1050px; overflow: visible; }
.tfsi-archive-table th:nth-child(2) { width: 90px; }
.tfsi-archive-table th:nth-child(3) { width: 170px; }
.tfsi-archive-table th:nth-child(4) { width: 125px; }
.tfsi-archive-table th:last-child { width: 140px; }
.tfsi-archive-table-scroll { scroll-padding-inline: 8px; }
.tfsi-archive-table :is(a, button, input, summary) { scroll-margin-inline: 8px; }
@media (max-width: 782px) {
    .tfsi-admin-page { margin-inline: 0; padding-inline: 15px; width: 100%; }
    .tfsi-admin-page :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { box-sizing: border-box; max-width: 100%; min-width: 0; }
    .tfsi-admin-page .tfsi-workspace-header { flex-wrap: wrap; gap: 12px; }
    .tfsi-admin-page .tfsi-workspace-header > * { min-width: 0; max-width: 100%; }
    .tfsi-admin-page .tfsi-search-panel { padding: 16px !important; }
    .tfsi-archive-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
    .tfsi-archive-filter--search, .tfsi-archive-filter--sort, .tfsi-archive-filter--apply { grid-column: 1 / -1; }
    .tfsi-archive-filters :is(input, select), #tfsi-archive-search { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
    .tfsi-archive-bulk-controls { display: flex; flex-wrap: wrap; align-items: center; height: auto; gap: 8px; }
    .tfsi-archive-bulk-controls > select { flex: 1 1 0; width: 0; max-width: none; min-width: 0; margin: 0; }
    .tfsi-archive-bulk-controls > button { flex: 0 0 auto; margin: 0; }
    .tfsi-archive-bulk-controls > .tfsi-selected-count { flex: 0 0 100%; display: block; line-height: 1.5; }
    .tfsi-archive-bulk-controls > .tfsi-selected-count:empty { display: none; }
    .tfsi-archive-bulk-controls > .tfsi-archive-safety-note { flex: 0 0 100%; display: block; width: 100%; margin: 8px 0 0; line-height: 1.5; }
}

/* A desktop with a folded/narrow sidebar retains eight categories without squeezing their text. */
@media (min-width: 1024px) {
    @container tfsi-support (min-width: 40rem) {
        .tfsi-admin-page .tfsi-support-picker__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
    }
    @container tfsi-support (max-width: 61.99rem) {
        .tfsi-admin-page .tfsi-support-picker__category { flex-direction: column; align-items: flex-start; padding: 8px; }
        .tfsi-admin-page .tfsi-support-picker__category > .tfsi-support-picker__name { width: 100%; }
        .tfsi-admin-page .tfsi-support-picker__category > .tfsi-support-picker__arrow,
        .tfsi-admin-page .tfsi-support-picker__category[aria-pressed="true"]::after { position: absolute; inset-inline-end: 8px; top: 12px; }
    }
}
/* The onboarding steps stack at this existing breakpoint; their sideways connectors do not. */
@media (max-width: 1100px) {
    .tfsi-admin-page .tfsi-step-card:not(:last-child)::after { display: none; }
}
