/*
 * EM-087c: /cabinet and /account in the public style (design/redesign-2026-10-31/cabinet.css).
 * Colours come from Filament's palettes set in PanelTheme (a copy of resources/css/tokens.css),
 * so this file only shapes: radii, weights, surfaces, the sidebar, the auth card, the toggle.
 * Light/dark follow Filament's `.dark` class, which panel.js keeps in step with the site.
 */

/* The public token names (tokens.css) for panel pages that reuse them, e.g. account.css (EM-087d). */
.fi {
    --digi-color-bg: var(--gray-50);
    --digi-color-surface: #ffffff;
    --digi-color-fg: var(--gray-950);
    --digi-color-muted: var(--gray-500);
    --digi-color-placeholder: var(--gray-700);
    --digi-color-border: var(--gray-200);
    --digi-color-primary: var(--primary-600);
    --digi-color-error: #b42318;
    --digi-radius-sm: 10px;
    --digi-shadow: 0 6px 18px rgb(23 27 77 / .07);
    --km-radius-md: 14px;
    --km-surface: #ffffff;
    --km-line: var(--gray-200);
    --km-active-bg: var(--primary-50);
    --km-active-ink: var(--primary-800);
    --km-shadow-sm: 0 8px 20px rgb(23 27 77 / .045);
    --km-radius: 14px;
}

.fi.dark {
    --digi-color-bg: var(--gray-950);
    --digi-color-surface: var(--gray-900);
    --digi-color-fg: #f7f8ff;
    --digi-color-muted: #c1c6df;
    --digi-color-placeholder: var(--gray-200);
    --digi-color-border: var(--gray-700);
    --digi-color-primary: var(--primary-400);
    --digi-color-error: #ff8f84;
    --digi-shadow: 0 6px 18px rgb(0 0 0 / .22);
    --km-surface: var(--gray-900);
    --km-line: var(--gray-700);
    --km-active-bg: var(--gray-800);
    --km-active-ink: #ffffff;
    --km-shadow-sm: 0 8px 20px rgb(0 0 0 / .22);
}

.fi-body {
    letter-spacing: -.005em;
}

/* Chrome: top bar, sidebar, tenant switcher */
.fi-topbar {
    background: var(--gray-50);
    border-bottom: 1px solid var(--km-line);
    box-shadow: none;
}
.km-public-links { display: flex; align-items: center; gap: 1rem; margin-inline: auto 1rem; font-size: .8125rem; }
.km-public-links a { color: var(--gray-600); text-decoration: none; }
.km-public-links a:hover, .km-public-links a:focus-visible { color: var(--primary-600); text-decoration: underline; text-underline-offset: 3px; }
.fi.dark .km-public-links a { color: var(--gray-300); }
.fi-ta-placeholder { color: var(--digi-color-placeholder); }
@media (max-width: 768px) {
    .km-public-links { gap: .35rem; margin-inline: auto .25rem; }
    .km-public-links a { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--km-line); border-radius: 9px; }
    .km-public-links a span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .km-public-links a::before { font-size: 1rem; line-height: 1; }
    .km-public-links a:first-child::before { content: '⌂'; }
    .km-public-links a:last-child::before { content: '⌕'; }
}
.fi.dark .fi-topbar {
    background: var(--gray-950);
}

.fi-sidebar.fi-main-sidebar {
    background: var(--km-surface);
    border-inline-end: 1px solid var(--km-line);
}
.fi-sidebar-header {
    background: var(--km-surface);
    box-shadow: none;
    border-bottom: 1px solid var(--km-line);
}

.fi-sidebar-item-btn {
    border-radius: 9px;
}
.fi-sidebar-item-label {
    font-size: .875rem;
    color: var(--gray-600);
}
.fi.dark .fi-sidebar-item-label {
    color: var(--gray-300);
}
.fi-sidebar-item-btn:hover,
.fi-sidebar-item-btn:focus-visible {
    background: var(--km-active-bg);
}
.fi-sidebar-item-btn:hover .fi-sidebar-item-label {
    color: var(--km-active-ink);
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: var(--km-active-bg);
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-icon {
    color: var(--km-active-ink);
    font-weight: 800;
}

.fi-tenant-menu-trigger {
    border-radius: 12px;
    border: 1px solid var(--km-line);
    background: var(--gray-50);
}
.fi.dark .fi-tenant-menu-trigger {
    background: var(--gray-950);
}
.fi-tenant-menu-trigger-tenant-name {
    font-weight: 800;
    color: var(--gray-950);
}
.fi.dark .fi-tenant-menu-trigger-tenant-name {
    color: #ffffff;
}
.fi-tenant-avatar.fi-avatar {
    border-radius: 10px;
    background: var(--primary-600);
    color: #ffffff;
}

.fi-avatar.fi-user-avatar {
    outline: 2px solid var(--primary-200);
    outline-offset: 1px;
}

/* The site toggle replaces Filament's three-way switcher in the user menu. */
.fi-user-menu .fi-theme-switcher {
    display: none;
}

.km-theme-toggle {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-inline-end: .5rem;
    padding: 0;
    border: 1px solid var(--km-line);
    border-radius: 10px;
    background: var(--km-surface);
    color: var(--gray-950);
    cursor: pointer;
}
.fi.dark .km-theme-toggle {
    color: #ffffff;
}
.km-theme-toggle[hidden] {
    display: none;
}
.km-theme-toggle:hover,
.km-theme-toggle:focus-visible {
    border-color: var(--primary-600);
    color: var(--primary-600);
}
.fi.dark .km-theme-toggle:hover,
.fi.dark .km-theme-toggle:focus-visible {
    border-color: var(--primary-400);
    color: var(--primary-400);
}
.km-theme-toggle[aria-pressed="true"] {
    background: var(--gray-800);
}

/* Page head */
.fi-header-heading {
    font-weight: 800;
    letter-spacing: -.045em;
    color: var(--gray-950);
}
.fi.dark .fi-header-heading {
    color: #ffffff;
}
.fi-breadcrumbs-item-label {
    font-size: .8125rem;
}

/* Cards: sections, stat cards, tables, modals */
.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-fo-repeater-item,
.fi-in-repeatable-item {
    border-radius: var(--km-radius);
    box-shadow: 0 0 0 1px var(--km-line), var(--km-shadow-sm);
}
.fi-section-header-heading {
    font-weight: 800;
    letter-spacing: -.02em;
}
.fi-wi-stats-overview-stat-value {
    font-weight: 800;
    letter-spacing: -.05em;
    color: var(--gray-950);
}
.fi.dark .fi-wi-stats-overview-stat-value {
    color: #ffffff;
}
.fi-modal-window {
    border-radius: 18px;
}

/* Tables */
.fi-ta-header-cell {
    font-size: .75rem;
    font-weight: 800;
    color: var(--gray-500);
}
.fi.dark .fi-ta-header-cell {
    color: var(--gray-300);
}
.fi-ta-header-cell .fi-ta-header-cell-sort-btn {
    font-weight: inherit;
}

/* Empty states: text first, the icon is a quiet tile. */
.fi-empty-state-icon-bg,
.fi-ta-empty-state-icon-bg {
    border-radius: 12px;
    background: var(--primary-50);
}
.fi.dark .fi-empty-state-icon-bg,
.fi.dark .fi-ta-empty-state-icon-bg {
    background: var(--gray-800);
}
.fi-empty-state-icon-bg .fi-icon,
.fi-ta-empty-state-icon-bg .fi-icon {
    color: var(--primary-600);
}
.fi.dark .fi-empty-state-icon-bg .fi-icon,
.fi.dark .fi-ta-empty-state-icon-bg .fi-icon {
    color: var(--primary-300);
}
.fi-empty-state-heading,
.fi-ta-empty-state-heading {
    font-weight: 800;
}

/* Controls */
.fi-btn {
    border-radius: 10px;
    font-weight: 700;
}
.fi-btn.fi-color:not(.fi-outlined) {
    box-shadow: inset 0 -2px 0 rgb(23 27 77 / .22);
}
.fi-input-wrp {
    border-radius: 9px;
}
.fi-fo-field-label-content {
    font-weight: 700;
}
.fi-badge {
    border-radius: 999px;
    font-weight: 700;
}
.fi-tabs {
    border-radius: 12px;
    padding: 4px;
    gap: 3px;
}
.fi-tabs-item {
    border-radius: 8px;
}
.fi-tabs-item.fi-active {
    background: var(--km-active-bg);
}
.fi-tabs-item.fi-active .fi-tabs-item-label {
    color: var(--km-active-ink);
    font-weight: 800;
}
.fi-link {
    font-weight: 600;
}
.fi-callout {
    border-radius: 12px;
}

.fi-dropdown-panel {
    border-radius: 12px;
}

/* Notifications (toasts and the database slide-over) */
.fi-no-notification {
    border-radius: 12px;
}

/* Auth pages: login.html / register.html / center-login.html */
.fi-simple-layout {
    background: var(--gray-50);
}
.fi.dark .fi-simple-layout {
    background: var(--gray-950);
}
.fi-simple-main {
    border-radius: 18px;
    background: var(--km-surface);
    box-shadow: 0 0 0 1px var(--km-line), 0 16px 34px rgb(23 27 77 / .09);
}
.fi.dark .fi-simple-main {
    box-shadow: 0 0 0 1px var(--km-line), 0 18px 36px rgb(0 0 0 / .28);
}
.fi-simple-header-heading {
    font-size: 2rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -.06em;
    color: var(--gray-950);
}
.fi.dark .fi-simple-header-heading {
    color: #ffffff;
}
.fi-simple-header .fi-logo {
    margin-bottom: .5rem;
}
.fi-simple-layout .fi-btn {
    min-height: 2.875rem;
}
.km-panel-simple-bar {
    position: absolute;
    inset-block-start: 1rem;
    inset-inline-end: 1rem;
    z-index: 10;
}
/* Simple pages inside the cabinet shell (claims, claim profile) start flush under the topbar. */
.fi-main .fi-simple-page {
    padding-block-start: 1.5rem;
}
/* Signed-in simple pages (start, claims) already carry the toggle in the user menu header. */
.fi-simple-layout:has(.fi-simple-user-menu-ctn) > .km-panel-simple-bar {
    display: none;
}

@media (max-width: 640px) {
    .fi-simple-header-heading {
        font-size: 1.625rem;
    }
    .km-panel-simple-bar {
        inset-block-start: .75rem;
        inset-inline-end: .75rem;
    }
}

/* Cabinet overview and stats pages (moved from inline <style> in pages/overview, pages/stats) */
.edu-ov { display: grid; gap: 1.5rem; }
.edu-ov-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem 1rem; }
.edu-ov-field { display: grid; gap: 0.375rem; min-width: 10rem; flex: 1 1 10rem; }
.edu-ov-field--dates { flex: 2 1 20rem; }
.edu-ov-field-label { font-size: 0.875rem; font-weight: 500; color: var(--gray-950); }
.dark .edu-ov-field-label { color: var(--color-white, #fff); }
.edu-ov-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.edu-ov-filters-submit { flex: 0 0 auto; }
.edu-ov-range { font-size: 0.875rem; color: var(--gray-500); margin: 0; }
.dark .edu-ov-range { color: var(--gray-400); }
.edu-ov-heading { font-size: 1rem; font-weight: 600; color: var(--gray-950); margin: 0 0 0.75rem; }
.dark .edu-ov-heading { color: var(--color-white, #fff); }
.edu-ov-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .edu-ov-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .edu-ov-grid--main { grid-template-columns: repeat(4, minmax(0, 1fr)); } .edu-ov-grid--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1536px) { .edu-ov-grid--compact { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.edu-ov-value-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.375rem; }
.edu-ov-unit { font-size: 0.875rem; color: var(--gray-500); }
.dark .edu-ov-unit { color: var(--gray-400); }
.edu-ov-trend { display: flex; align-items: center; gap: 0.25rem; font-size: 0.875rem; color: var(--gray-500); }
.edu-ov-trend .fi-icon { width: 1rem; height: 1rem; color: inherit !important; }
.dark .edu-ov-trend { color: var(--gray-400); }
.edu-ov-trend--up { color: var(--success-600); }
.dark .edu-ov-trend--up { color: var(--success-400); }
.edu-ov-trend--down { color: var(--danger-600); }
.dark .edu-ov-trend--down { color: var(--danger-400); }
.edu-ov-hint { font-size: 0.75rem; line-height: 1rem; color: var(--gray-500); margin: 0; }
.dark .edu-ov-hint { color: var(--gray-400); }
.edu-ov-note { font-size: 0.875rem; color: var(--gray-600); margin: 0.75rem 0 0; }
.dark .edu-ov-note { color: var(--gray-400); }
.edu-ov-card--compact.fi-wi-stats-overview-stat { padding: 1rem; }
.edu-ov-card--compact .fi-wi-stats-overview-stat-content { row-gap: 0.25rem; }
.edu-ov-card--compact .fi-wi-stats-overview-stat-value { font-size: 1.5rem; line-height: 2rem; }
@media (max-width: 639px) {
    .edu-ov-card--compact .fi-wi-stats-overview-stat-content { grid-template-columns: 1fr auto; align-items: center; column-gap: 0.75rem; }
    .edu-ov-grid--compact { gap: 0.5rem; }
    .edu-ov-card--compact.fi-wi-stats-overview-stat { padding: 0.75rem 1rem; }
    .edu-ov-card--compact .fi-wi-stats-overview-stat-label-ctn { grid-column: 1; }
    .edu-ov-card--compact .edu-ov-value-row { grid-column: 2; grid-row: 1; justify-content: flex-end; }
    .edu-ov-card--compact .edu-ov-trend, .edu-ov-card--compact .edu-ov-hint { grid-column: 1 / -1; }
    .edu-ov-filters-submit { flex: 1 1 100%; }
    .edu-ov-filters-submit .fi-btn { width: 100%; }
}
.edu-ov-footer { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; font-size: 0.875rem; color: var(--gray-500); }
.dark .edu-ov-footer { color: var(--gray-400); }
.edu-st { display: grid; gap: 1.5rem; min-width: 0; }
.edu-st-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem 1rem; }
.edu-st-field { display: grid; gap: 0.375rem; min-width: 10rem; flex: 1 1 10rem; }
.edu-st-field--dates { flex: 2 1 20rem; }
.edu-st-field-label { font-size: 0.875rem; font-weight: 500; color: var(--gray-950); }
.dark .edu-st-field-label { color: var(--color-white, #fff); }
.edu-st-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.edu-st-muted { font-size: 0.875rem; color: var(--gray-500); margin: 0; }
.dark .edu-st-muted { color: var(--gray-400); }
.edu-st-tabs.fi-tabs { flex-wrap: wrap; overflow-x: visible; }
.edu-st-table { width: 100%; table-layout: auto; border-collapse: collapse; font-size: 0.875rem; }
.edu-st-table th { text-align: start; font-weight: 600; color: var(--gray-950); padding: 0.625rem 0.75rem; border-bottom: 1px solid var(--gray-200); }
.edu-st-table td { padding: 0.625rem 0.75rem; border-bottom: 1px solid var(--gray-100); color: var(--gray-950); vertical-align: top; }
.edu-st-table .edu-st-num { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
.edu-st-table tfoot td { font-weight: 600; border-top: 1px solid var(--gray-200); border-bottom: 0; }
.dark .edu-st-table th, .dark .edu-st-table td { color: var(--color-white, #fff); border-color: rgb(255 255 255 / 0.1); }
.edu-st-nested td:first-child { padding-inline-start: 1.75rem; color: var(--gray-600); }
.dark .edu-st-nested td:first-child { color: var(--gray-400); }
.edu-st-trend { display: block; font-size: 0.75rem; font-weight: 400; color: var(--gray-500); }
.dark .edu-st-trend { color: var(--gray-400); }
.edu-st-trend--up { color: var(--success-600); }
.dark .edu-st-trend--up { color: var(--success-400); }
.edu-st-trend--down { color: var(--danger-600); }
.dark .edu-st-trend--down { color: var(--danger-400); }
.edu-st-note { font-size: 0.8125rem; color: var(--gray-600); margin: 0.75rem 0 0; }
.dark .edu-st-note { color: var(--gray-400); }
@media (max-width: 639px) {
    .edu-st-filters > .edu-st-submit { flex: 1 1 100%; }
    .edu-st-filters > .edu-st-submit .fi-btn { width: 100%; }
    .edu-st-table--stack thead { display: none; }
    .edu-st-table--stack, .edu-st-table--stack tbody, .edu-st-table--stack tfoot, .edu-st-table--stack tr, .edu-st-table--stack td { display: block; width: 100%; }
    .edu-st-table--stack tr { padding: 0.5rem 0; border-bottom: 1px solid var(--gray-200); }
    .dark .edu-st-table--stack tr { border-color: rgb(255 255 255 / 0.1); }
    .edu-st-table--stack td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: 0.25rem 0; }
    .edu-st-table--stack td.edu-st-num { text-align: end; white-space: normal; }
    .edu-st-table--stack td::before { content: attr(data-label); font-weight: 500; color: var(--gray-500); text-align: start; }
    .edu-st-table--stack td:first-child { font-weight: 600; }
    .edu-st-table--stack tfoot td { border: 0; }
    .edu-st-table--stack td:first-child::before { content: none; }
    .edu-st-table--stack td:empty { display: none; }
    .edu-st-table th, .edu-st-table td { padding-inline: 0.375rem; }
}
/* cabinet-dashboard.html: labels bold, tables quiet headers, headings heavier */
.edu-ov-field-label,
.edu-st-field-label {
    font-weight: 700;
}
.edu-ov-heading {
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -.02em;
}
.edu-st-table th {
    font-size: .75rem;
    font-weight: 800;
    color: var(--gray-500);
}
.dark .edu-st-table th {
    color: var(--gray-300);
}
.edu-st-table td {
    border-bottom-color: var(--gray-200);
}
.dark .edu-st-table td {
    border-color: var(--gray-700);
}
.km-empty-art {
    border-radius: 16px;
}
[data-edu-account-locale] {
    color: var(--primary-600);
    font-weight: 700;
    text-underline-offset: 3px;
}
.dark [data-edu-account-locale] {
    color: var(--primary-300);
}
[data-edu-account-locale]:hover {
    text-decoration: underline;
}
/* EM-087c: claims, application form, card review, start, claim profile, qualifications (cabinet.css: cards, tables, statuses) */
.edu-cb { display: grid; gap: 1.25rem; min-width: 0; }
.edu-cb-card { background: var(--km-surface); border: 1px solid var(--km-line); border-radius: var(--km-radius-md); box-shadow: var(--km-shadow-sm); padding: 1.25rem; min-width: 0; }
.edu-cb-card-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: 0 0 .875rem; }
.edu-cb-card-head .edu-cb-title { margin: 0; }
.edu-cb-title { margin: 0 0 .875rem; font-size: 1rem; font-weight: 800; letter-spacing: -.02em; color: var(--gray-950); }
.edu-cb-completeness-score { font-size: 1.75rem; letter-spacing: -.04em; color: var(--primary-600); }
.dark .edu-cb-completeness-score { color: var(--primary-300); }
.edu-cb-checklist-title { margin-top: 1.25rem; margin-bottom: .5rem; }
.edu-cb-checklist__done { margin: 0; color: var(--success-700); font-size: .8125rem; }
.dark .edu-cb-checklist__done { color: var(--success-400); }
.dark .edu-cb-title { color: #fff; }
.edu-cb-heading { margin: 0; font-size: 1.75rem; line-height: 1.15; font-weight: 800; letter-spacing: -.04em; color: var(--gray-950); overflow-wrap: anywhere; }
.dark .edu-cb-heading { color: #fff; }
.edu-cb-text { margin: 0 0 .75rem; font-size: .875rem; line-height: 1.5; color: var(--gray-700); }
.dark .edu-cb-text { color: var(--gray-200); }
.edu-cb-muted { margin: 0; font-size: .8125rem; line-height: 1.45; color: var(--gray-500); }
.dark .edu-cb-muted { color: #c1c6df; }
small.edu-cb-muted { display: block; margin-top: .25rem; }
.edu-cb-foot { margin: .875rem 0 0; font-size: .875rem; }
.edu-cb-empty { display: grid; justify-items: center; gap: .75rem; text-align: center; color: var(--gray-600); }
.dark .edu-cb-empty { color: #c1c6df; }
.edu-cb-empty p { margin: 0; }
.edu-cb-lead { display: flex; align-items: center; gap: 1rem; }
.edu-cb-choices { display: grid; gap: 1rem; }
.edu-cb-choice { display: grid; align-content: start; justify-items: start; gap: .25rem; }
.edu-cb-choice .edu-cb-card-head { width: 100%; }
.edu-start .edu-cb-choice { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem; }
.edu-start .edu-cb-choice .edu-cb-card-head { width: auto; flex: 1 1 14rem; margin: 0; justify-content: flex-start; }
.edu-cb-rows { display: grid; margin: 0; padding: 0; list-style: none; }
.edu-cb-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .875rem; padding: .875rem 0; border-top: 1px solid var(--km-line); font-size: .875rem; color: var(--gray-950); }
.dark .edu-cb-row { color: #fff; }
.edu-cb-row:first-child { border-top: 0; padding-top: .25rem; }
.edu-cb-row:last-child { padding-bottom: 0; }
.edu-cb-row-main { flex: 1 1 12rem; min-width: 0; overflow-wrap: anywhere; }
.edu-cb-row-main strong { font-weight: 700; }
.edu-cb-row-main.fi-link { display: block; text-align: start; font-weight: 700; }
.edu-cb-status { display: inline-flex; align-items: center; padding: .3125rem .625rem; border-radius: 99px; background: var(--gray-100); color: var(--gray-700); font-size: .6875rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; }
.dark .edu-cb-status { background: var(--gray-800); color: var(--gray-100); }
.edu-cb-status--pending { background: #fff3d8; color: #8a5800; }
.dark .edu-cb-status--pending { background: rgb(241 199 91 / .16); color: #f6d27a; }
.edu-cb-status--danger { background: #fae5e1; color: #a03f31; }
.dark .edu-cb-status--danger { background: rgb(255 141 117 / .16); color: #ffb3a3; }
.edu-cb-status--ok { background: #e7f4ed; color: #11684a; }
.dark .edu-cb-status--ok { background: rgb(98 194 181 / .16); color: #8fdccf; }
.edu-cb-table-wrap { overflow-x: auto; margin: -.25rem -.25rem 0; padding: 0 .25rem; }
.edu-cb-table { width: 100%; border-collapse: collapse; font-size: .8125rem; }
.edu-cb-table th { padding: .625rem .5625rem; text-align: start; font-size: .6875rem; font-weight: 800; color: var(--gray-500); border-bottom: 1px solid var(--km-line); white-space: nowrap; }
.dark .edu-cb-table th { color: var(--gray-300); }
.edu-cb-table td { padding: .8125rem .5625rem; border-bottom: 1px solid var(--km-line); color: var(--gray-950); vertical-align: top; overflow-wrap: break-word; }
.edu-cb-table td:nth-child(-n+2) { white-space: nowrap; }
.edu-cb-table td:nth-child(3) { min-width: 14rem; }
.dark .edu-cb-table td { color: #fff; }
.edu-cb-table tbody tr:last-child td { border-bottom: 0; }
.edu-cb-steps { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: .25rem; list-style: none; background: var(--km-surface); border: 1px solid var(--km-line); border-radius: 12px; }
.edu-cb-steps li { display: inline-flex; align-items: baseline; gap: .25rem; padding: .5rem .75rem; border-radius: 8px; font-size: .8125rem; color: var(--gray-600); }
.dark .edu-cb-steps li { color: #c1c6df; }
.edu-cb-steps li .fi-link { font-size: inherit; }
.edu-cb-steps li[aria-current="step"] { background: var(--km-active-bg); color: var(--km-active-ink); font-weight: 800; }
.edu-cb-steps small { font-size: .75rem; }
.edu-cb-steps li[data-done="1"] small { color: var(--success-700); }
.dark .edu-cb-steps li[data-done="1"] small { color: var(--success-400); }
.edu-cb-form { display: grid; gap: 1rem; }
.edu-cb-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.edu-cb-alert { padding: .9375rem 1.125rem; border: 1px solid #ffe0cb; border-left: 4px solid #e7664f; border-radius: 12px; background: #fff7f2; color: #6d3b2c; font-size: .8125rem; }
.dark .edu-cb-alert { background: #392a30; border-color: #68424a; border-left-color: #ff8d75; color: #ffe1d6; }
.edu-cb-alert ul, .edu-cb-missing { margin: 0; padding-inline-start: 1.125rem; display: grid; gap: .25rem; }
.edu-cb-missing { margin: 0 0 1rem; font-size: .8125rem; color: var(--gray-700); }
.edu-cb-missing li { display: flex; align-items: flex-start; gap: .5rem; }
.edu-cb-missing-icon { display: inline-grid; flex: 0 0 1.1rem; place-items: center; width: 1.1rem; height: 1.1rem; margin-top: .08rem; border: 1px solid currentColor; border-radius: 50%; font-size: .7rem; font-weight: 800; line-height: 1; }
.dark .edu-cb-missing { color: var(--gray-200); }
.edu-cb-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.edu-cb-input { flex: 1 1 12rem; min-width: 0; padding: .625rem .75rem; border: 1px solid var(--km-line); border-radius: 9px; background: var(--gray-50); color: var(--gray-950); font-size: .875rem; }
.dark .edu-cb-input { background: var(--gray-950); color: #fff; }
.edu-cb-input:focus { outline: none; border-color: var(--primary-600); box-shadow: 0 0 0 3px rgb(64 56 216 / .13); }
.edu-help { display: inline-block; vertical-align: middle; }
.edu-help > summary { display: inline-flex; list-style: none; cursor: pointer; color: var(--gray-500); }
.edu-help > summary::-webkit-details-marker { display: none; }
.dark .edu-help > summary { color: var(--gray-400); }
.edu-help > [role="note"] { margin-top: .5rem; max-width: 32rem; font-size: .875rem; line-height: 1.5; color: var(--gray-700); }
.dark .edu-help > [role="note"] { color: var(--gray-200); }
@media (max-width: 639px) {
    .edu-cb-card { padding: 1rem; }
    .edu-cb-table { min-width: 36rem; }
    .edu-cb-heading { font-size: 1.5rem; }
    .edu-cb-lead { align-items: flex-start; }
    .edu-cb-lead .km-empty-art { width: 96px; height: 96px; }
}
