.fau-member-surface {
    box-sizing: border-box;
    width: min(100%, 80rem);
    margin-inline: auto;
    padding: clamp(1rem, 2vw, 2rem);
}
.fau-member-auth-app { grid-template-columns: minmax(0, 1fr); min-height: 80vh; }
.fau-auth-surface { display: grid; place-items: center; min-height: 75vh; }
.fau-auth-card { width: min(100%, 32rem); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid currentColor; border-radius: .75rem; }
.fau-auth-brand { display: inline-flex; margin-block-end: 2rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; }
.fau-auth-brand img { width: 190px; height: auto; display: block; }
.fau-auth-form { display: grid; gap: 1rem; }
.fau-auth-form p { margin: 0; }
.fau-auth-form input[type="text"], .fau-auth-form input[type="password"] { width: 100%; min-height: 2.75rem; padding: .625rem; font: inherit; }
.fau-auth-remember label { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; }
.fau-auth-remember input { inline-size: 1.25rem; block-size: 1.25rem; }
.fau-auth-recovery, .fau-auth-guidance { margin-block: 1rem 0; }
.fau-auth-recovery a, .fau-auth-guidance a, .fau-card a, .fau-step-list a, .fau-status a { display: inline-flex; align-items: center; min-height: 1.5rem; }
.fau-member-surface *, .fau-member-surface *::before, .fau-member-surface *::after { box-sizing: border-box; }
.fau-surface-header { max-width: 70rem; margin-block-end: 2rem; }
.fau-surface-header h1 { margin-block: .25rem .75rem; }
.fau-eyebrow, .fau-card-meta, .fau-version { font-size: .875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.fau-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-end: 1.5rem; }
.fau-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.fau-card { min-width: 0; padding: 1.25rem; border: 1px solid currentColor; border-radius: .5rem; }
.fau-card[hidden], .fau-empty-state[hidden] { display: none; }
.fau-card h2 { font-size: 1.25rem; }
.fau-card-action { font-weight: 700; }
.fau-training-list, .fau-recording-list { display: grid; gap: .75rem; margin-block: 1rem; }
.fau-training-row, .fau-recording-row { min-width: 0; display: grid; align-items: center; gap: .75rem 1rem; padding: 1rem; border: 1px solid #d6d9df; border-radius: .75rem; }
.fau-recording-row[hidden] { display: none !important; }
.fau-training-row { grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr) auto; }
.fau-recording-row { grid-template-columns: minmax(8rem, 10rem) minmax(5.5rem, 7rem) minmax(14rem, 1fr) auto; }
.fau-training-row p, .fau-training-row h3, .fau-recording-row p, .fau-recording-row h2 { margin: 0; }
.fau-training-action, .fau-recording-action .fau-card-action { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .5rem .875rem; border: 1px solid currentColor; border-radius: .5rem; }
.fau-recording-date, .fau-recording-duration { font-size: .875rem; color: #4b5563; font-variant-numeric: tabular-nums; }
.fau-recording-action { text-align: right; }
.fau-video-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1.5rem .75rem; }
.fau-video-filter { min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid #334155; border-radius: 999px; background: transparent; color: #1e293b; font: inherit; font-weight: 700; cursor: pointer; }
.fau-video-filter[aria-pressed="true"] { background: #16233a; color: #fff; }
.fau-recommended-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; }
.fau-recommended-video { min-width: 0; display: flex; flex-direction: column; gap: .75rem; padding: 1rem; border: 1px solid #d6d9df; border-radius: .75rem; }
.fau-recommended-video[hidden] { display: none !important; }
.fau-recommended-video h2, .fau-recommended-video p { margin: 0; }
.fau-recommended-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: .5rem; background: #16233a; }
.fau-recommended-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 700px) {
    .fau-training-row, .fau-recording-row { grid-template-columns: minmax(0, 1fr) auto; }
    .fau-training-row .fau-card-meta, .fau-recording-title, .fau-recording-action { grid-column: 1 / -1; }
    .fau-recording-duration { text-align: right; }
    .fau-recording-action { text-align: left; }
    .fau-recommended-video-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 47.99rem) {
    .fau-archive-library .fau-recording-row { grid-template-columns: minmax(0, 1fr) auto; }
    .fau-archive-library .fau-recording-title, .fau-archive-library .fau-recording-date { grid-column: 1 / -1; }
    .fau-archive-library .fau-recording-duration { grid-column: 1; grid-row: 3; text-align: left; }
    .fau-archive-library .fau-recording-action { grid-column: 2; grid-row: 3; text-align: right; }
}
.fau-archive-library .fau-card-action { display: inline-flex; align-items: center; min-height: 44px; }
/* Mentorship Recordings index: the title carries the meeting date, so the row
   places title, duration, and action instead of a separate date column. */
.fau-archive-list { border: 1px solid #d6d9df; border-radius: .75rem; overflow: hidden; }
.fau-archive-library .fau-recording-row { grid-template-columns: minmax(0, 1fr) minmax(5.5rem, 7rem) minmax(11rem, 12rem); border: 0; border-block-start: 1px solid #d6d9df; border-radius: 0; }
.fau-archive-library .fau-recording-row:first-child { border-block-start: 0; }
.fau-archive-library .fau-recording-title { grid-column: 1; grid-row: 1; }
.fau-archive-library .fau-recording-date { grid-column: 1; grid-row: 2; }
.fau-archive-library .fau-recording-duration { grid-column: 2; grid-row: 1; text-align: right; }
.fau-archive-library .fau-recording-action { grid-column: 3; grid-row: 1; }
.fau-library-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); align-items: end; gap: 1rem; margin-block: 1.5rem; }
.fau-library-filters label, .fau-field { display: grid; gap: .375rem; }
.fau-library-filters input, .fau-library-filters select, .fau-field input, .fau-line-items input { width: 100%; min-height: 2.75rem; padding: .625rem; font: inherit; }
.fau-calculator-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(16rem, 2fr); gap: clamp(1rem, 3vw, 3rem); align-items: start; }
.fau-calculator-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.fau-field-unit, .fau-field small { font-size: .875rem; }
.fau-line-items { grid-column: 1 / -1; min-width: 0; padding: 1rem; }
.fau-table-scroll { max-width: 100%; overflow-x: auto; }
.fau-table-scroll table, .fau-calculator-results table, .fau-scenario-comparison table { width: 100%; border-collapse: collapse; }
.fau-table-scroll th, .fau-table-scroll td, .fau-calculator-results th, .fau-calculator-results td, .fau-scenario-comparison th, .fau-scenario-comparison td { padding: .625rem; border: 1px solid currentColor; text-align: left; vertical-align: top; }
.fau-action-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.5rem; }
.fau-button-primary, .fau-button-secondary, .fau-button-link { min-height: 2.75rem; padding: .625rem 1rem; font: inherit; cursor: pointer; }
.fau-button-link { min-height: auto; padding: .25rem; border: 0; background: transparent; text-decoration: underline; }
.fau-calculator-results { padding: 1.25rem; border: 1px solid currentColor; border-radius: .5rem; }
.fau-calculator-results dl { display: grid; gap: .75rem; margin: 0; }
.fau-result { display: grid; gap: .25rem; padding-block-end: .75rem; border-block-end: 1px solid currentColor; }
.fau-result dt { font-size: .875rem; }
.fau-result dd { margin: 0; font-size: 1.2rem; font-weight: 700; overflow-wrap: anywhere; }
.fau-result[data-result-unit="table"] { grid-column: 1 / -1; }
.fau-result[data-result-unit="table"] dd { font-size: .875rem; font-weight: 400; }
.fau-preformatted { white-space: pre-wrap; }
.fau-form-errors { margin-block: 1rem; padding: 1rem; border: 2px solid currentColor; }
.fau-form-errors p { margin: 0; }
.fau-methodology, .fau-scenario-comparison, .fau-disclaimer { margin-block-start: 1.5rem; }
.fau-methodology { padding: 1rem; border: 1px solid currentColor; }
.fau-video-frame { position: relative; aspect-ratio: 16 / 9; width: 100%; overflow: hidden; }
.fau-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fau-status { padding: 1rem; border: 1px solid currentColor; border-radius: .5rem; }
.fau-nav-list { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; padding: 0; list-style: none; }
.fau-private-media { max-width: 100%; height: auto; }
.fau-ai-embed-wrap { padding: 0; overflow: hidden; min-height: 38rem; }
.fau-ai-embed-wrap iframe { display: block; width: 100%; height: min(72rem, 78vh); min-height: 38rem; border: 0; }
.fau-member-logout a { display: flex; align-items: center; min-height: 2.75rem; }
.fau-archive-card-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.fau-resource-files { display: grid; gap: .375rem; margin: 0; padding-inline-start: 1.25rem; }
.fau-resource-files a { display: inline-flex; align-items: center; min-height: 2.75rem; padding-block: .5rem; }
.fau-locked-state { padding: 1.5rem; border: 1px solid currentColor; }
.fau-screen-only {}
@media (max-width: 48rem) {
    .fau-calculator-layout { grid-template-columns: 1fr; }
    .fau-member-surface { padding-inline: 1rem; }
}
@media print {
    .fau-screen-only, .fau-breadcrumb, .fau-action-row, .fau-library-filters { display: none !important; }
    .fau-member-surface { width: 100%; padding: 0; }
    .fau-calculator-layout { display: block; }
    .fau-calculator-form { break-after: page; }
    .fau-calculator-results, .fau-methodology { border: 1px solid #000; }
}

/* Original four-module Training organization. */
.fau-training-collection + .fau-training-collection { margin-block-start: clamp(2.5rem, 6vw, 4.5rem); }
.fau-training-section-header { max-width: 52rem; margin-block-end: 1.5rem; }
.fau-training-module { margin-block-start: 2rem; padding-block-start: 1.25rem; border-block-start: 1px solid currentColor; }
.fau-training-module-header { margin-block-end: 1rem; }
.fau-training-module-header h3 { margin-block: .25rem 0; }
