/* Dolamo RAF CMS — one visual system for the complete application. */
.application-page {
    --application-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    --dashboard-navy-950: #071b33;
    --dashboard-navy-900: #0b294d;
    --dashboard-navy-800: #123b68;
    --dashboard-blue-700: #15558f;
    --dashboard-blue-100: #e7f1fa;
    --dashboard-gold-500: #b88028;
    --dashboard-gold-100: #fbf2df;
    --dashboard-red-700: #a5221a;
    --dashboard-red-100: #fceae8;
    --dashboard-amber-800: #78500a;
    --dashboard-amber-100: #fff4d6;
    --dashboard-green-800: #176144;
    --dashboard-green-100: #e5f5ed;
    --dashboard-ink: #172b3d;
    --dashboard-muted: #4d6173;
    --dashboard-border: #d7e1e9;
    --dashboard-surface: #ffffff;
    --dashboard-canvas: #f4f7fa;
    --dashboard-shadow: 0 18px 50px rgba(7, 27, 51, .09);
    --flat-bg: var(--dashboard-canvas);
    --flat-surface: var(--dashboard-surface);
    --flat-border: var(--dashboard-border);
    --flat-text: var(--dashboard-ink);
    --flat-text-muted: var(--dashboard-muted);
    --flat-primary: var(--dashboard-navy-900);
    --flat-primary-hover: var(--dashboard-navy-800);
    --flat-primary-text: #ffffff;
    --flat-accent: #f0c56e;
    --flat-success: var(--dashboard-green-800);
    --flat-warning: var(--dashboard-amber-800);
    --flat-danger: var(--dashboard-red-700);
    min-height: 100vh;
    margin: 0;
    background: var(--dashboard-canvas);
    color: var(--dashboard-ink);
    font-family: Inter, "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.application-page *,
.application-page *::before,
.application-page *::after {
    box-sizing: border-box;
}

.application-page button,
.application-page input,
.application-page select,
.application-page textarea {
    font: inherit;
}

.application-page::before {
    display: none;
}

.application-page .flat-header {
    position: sticky;
    z-index: 30;
    top: 0;
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 32px;
    border-color: var(--dashboard-border);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 4px 18px rgba(7, 27, 51, .04);
}

.application-page .flat-brand {
    color: var(--dashboard-navy-950);
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1.05;
    text-decoration: none;
    text-transform: uppercase;
}

.application-page .flat-brand::after {
    content: "RAF CMS";
    display: block;
    margin-top: 2px;
    color: var(--dashboard-blue-700);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.application-page .flat-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.application-page .flat-nav a,
.application-page .flat-nav button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 0 11px;
    border-radius: 7px;
    color: var(--dashboard-muted);
    font-size: .86rem;
    font-weight: 700;
    text-decoration: none;
}

.application-page .flat-nav button {
    border: 0;
    cursor: pointer;
    background: transparent;
}

.application-page .flat-nav a:hover,
.application-page .flat-nav button:hover,
.application-page .flat-nav a[aria-current="page"] {
    color: var(--dashboard-navy-900);
    background: var(--dashboard-blue-100);
}

.application-page .flat-nav form {
    display: block;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 4px;
    padding-left: 8px;
    border-left: 1px solid var(--dashboard-border);
}

.application-page .skip-link {
    position: fixed;
    z-index: 100;
    top: 8px;
    left: 8px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    color: #ffffff;
    background: var(--dashboard-navy-950);
    transform: translateY(-150%);
}

.application-page .skip-link:focus {
    transform: translateY(0);
}

.application-page .flat-container {
    width: min(1440px, calc(100% - 48px));
    min-height: calc(100vh - 68px);
    margin-inline: auto;
    padding: 32px 0 72px;
}

/* Shared foundations */
.application-page a {
    color: var(--dashboard-blue-700);
    text-underline-offset: .18em;
}

.application-page a:hover {
    color: var(--dashboard-navy-900);
}

.application-page h1,
.application-page h2,
.application-page h3,
.application-page p {
    overflow-wrap: anywhere;
}

.application-page h1,
.application-page h2,
.application-page h3 {
    color: var(--dashboard-navy-950);
    font-family: var(--application-display);
    font-weight: 650;
    text-wrap: balance;
}

.application-page h1 {
    font-size: clamp(2rem, 4vw, 3.45rem);
    letter-spacing: -.05em;
    line-height: 1.04;
}

.application-page h2 {
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    letter-spacing: -.025em;
    line-height: 1.18;
}

.application-page h3 {
    font-size: 1rem;
}

.application-page p {
    color: var(--dashboard-muted);
    line-height: 1.65;
}

.application-page code,
.application-page pre,
.application-page .secret-value {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.application-page img,
.application-page svg {
    display: block;
    max-width: 100%;
}

.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Alignment and page frames */
.app-frame {
    width: 100%;
    margin-inline: auto;
}

.app-frame--narrow {
    max-width: 760px;
}

.app-frame--medium {
    max-width: 1000px;
}

.app-frame--wide {
    max-width: none;
}

/* Card-based document workspace, aligned with the UAT service-group pattern. */
.service-section-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--dashboard-border);
}

.service-section-heading h2 {
    margin: 3px 0 5px;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.service-section-heading p { margin-bottom: 0; }

.service-count {
    min-width: 44px;
    padding: 8px 12px;
    border-radius: 8px;
    color: var(--dashboard-navy-950);
    background: #e9eef3;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.document-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}

.document-card {
    position: relative;
    overflow: hidden;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(7, 27, 51, .05), 0 14px 32px -24px rgba(7, 27, 51, .4);
}

.document-card__tone {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--dashboard-gold-500);
}

.document-card--clean .document-card__tone { background: var(--dashboard-green-800); }
.document-card--infected .document-card__tone { background: var(--dashboard-red-700); }

.document-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 20px 17px 24px;
}

.document-card__identity { min-width: 0; }
.document-card__identity h3 { margin: 3px 0; font-size: 1.08rem; line-height: 1.3; }
.document-card__filename { margin: 5px 0 0; color: var(--dashboard-muted); font-size: .78rem; overflow-wrap: anywhere; }

.document-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 17px 20px 19px 24px;
    border-top: 1px solid #e8eef3;
    background: #fbfcfd;
}

.document-card__meta dt {
    color: var(--dashboard-muted);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.document-card__meta dd { margin: 3px 0 0; font-size: .82rem; font-weight: 650; overflow-wrap: anywhere; }
.document-card__notice { margin: 15px 20px 0 24px; padding: 9px 11px; color: var(--dashboard-amber-800); background: var(--dashboard-amber-100); font-size: .78rem; font-weight: 750; }

.document-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: auto;
    padding: 16px 20px 18px 24px;
    border-top: 1px solid var(--dashboard-border);
}

.document-download { flex: 1 1 190px; }
.document-download[open] { flex-basis: 100%; }
.document-download form { display: grid; gap: 9px; margin-top: 10px; padding: 12px; border-radius: 8px; background: #f4f7fa; }
.document-card__unavailable,
.document-card__version-note { flex: 1 1 100%; color: var(--dashboard-muted); font-size: .76rem; }
.document-audit-note { margin: 22px 0 0; color: var(--dashboard-muted); font-size: .78rem; }
.service-empty { grid-column: 1 / -1; padding: 48px 20px; border: 1px dashed var(--dashboard-border); border-radius: 12px; color: var(--dashboard-muted); background: rgba(255,255,255,.55); text-align: center; }

/* Shared UAT service groups used by matters, workflow, operations and people. */
.service-group { margin-bottom: 42px; }

.service-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}

.service-card {
    position: relative;
    overflow: hidden;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(7, 27, 51, .05), 0 14px 32px -24px rgba(7, 27, 51, .4);
}

.service-card__tone {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--dashboard-border);
}

.service-card--risk .service-card__tone { background: var(--dashboard-red-700); }
.service-card--caution .service-card__tone { background: var(--dashboard-gold-500); }
.service-card--calm .service-card__tone { background: var(--dashboard-green-800); }

.service-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 20px 17px 24px;
}

.service-card__header > div { min-width: 0; }
.service-card__header h3 { margin: 3px 0; font-size: 1.08rem; line-height: 1.3; }
.service-card__header p:last-child { margin: 5px 0 0; color: var(--dashboard-muted); font-size: .8rem; overflow-wrap: anywhere; }

.service-card__meta,
.service-row__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

.service-card__meta {
    padding: 17px 20px 19px 24px;
    border-top: 1px solid #e8eef3;
    background: #fbfcfd;
}

.service-card__meta dt,
.service-row__meta dt {
    color: var(--dashboard-muted);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-card__meta dd,
.service-row__meta dd { margin: 3px 0 0; font-size: .82rem; font-weight: 650; overflow-wrap: anywhere; }

.service-card__actions,
.service-card__controls {
    margin-top: auto;
    padding: 16px 20px 18px 24px;
    border-top: 1px solid var(--dashboard-border);
}

.service-card__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.service-card__controls details { width: 100%; }
.service-control-stack { display: grid; gap: 16px; margin-top: 12px; padding: 14px; border-radius: 9px; background: #f4f7fa; }

.service-stack { display: grid; gap: 12px; }
.service-row {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 16px 16px 20px;
    border: 1px solid var(--dashboard-border);
    border-radius: 10px;
    background: #ffffff;
}

.service-row__tone { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--dashboard-blue-700); }
.service-row--diary .service-row__tone { background: var(--dashboard-gold-500); }
.service-row__main { min-width: 0; flex: 1; }
.service-row__main h3 { margin: 0 0 5px; font-size: .98rem; }
.service-row__main > p:not(.flat-kicker) { margin: 0 0 10px; color: var(--dashboard-muted); font-size: .82rem; }
.service-row__meta { margin-top: 11px; }

.operations-service-card__meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.operations-service-page__heading { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--dashboard-border); }
.operations-service-heading__tools,
.operations-service-card__badges { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.operations-service-card-grid { padding-bottom: 24px; }
.operations-service-card--critical .operations-service-card__tone { background: var(--dashboard-red-700); }
.operations-service-card--high .operations-service-card__tone { background: #b45f0a; }
.operations-service-card--warning .operations-service-card__tone { background: var(--dashboard-gold-500); }
.operations-service-card__badges { justify-content: flex-end; }
.operations-service-card__meta small { display: block; margin-top: 3px; color: var(--dashboard-muted); }
.operations-service-evidence { padding: 16px 20px 18px 24px; border-top: 1px solid var(--dashboard-border); }
.operations-service-evidence h4 { margin: 0 0 10px; color: var(--dashboard-muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.operations-service-evidence__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.operations-service-evidence__list div { display: block; padding: 6px 0; }
.operations-service-evidence__list dt { color: var(--dashboard-muted); font-size: .67rem; }
.operations-service-evidence__list dd { margin-top: 2px; font-size: .8rem; }
.operations-service-actions { width: 100%; }
.operations-service-actions__forms { display: grid; gap: 14px; margin-top: 10px; }
.operations-service-policy { overflow: hidden; }

.page-heading--split,
.panel-heading--split,
.page-actions,
.inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.page-heading--split,
.panel-heading--split {
    justify-content: space-between;
}

.page-heading--split {
    align-items: flex-end;
}

.panel-heading--split {
    align-items: flex-start;
}

.flat-grid--start {
    align-items: start;
}

.section-spacer {
    margin-top: 18px;
}

/* Compact page hero */
.flat-heading,
.page-header {
    position: relative;
    overflow: hidden;
    margin: 0 0 24px;
    padding: clamp(26px, 4vw, 42px);
    border: 1px solid #183d65;
    border-radius: 20px;
    color: #ffffff;
    background:
        radial-gradient(circle at 92% 8%, rgba(240, 197, 110, .2), transparent 32%),
        linear-gradient(135deg, var(--dashboard-navy-950), var(--dashboard-navy-800));
    box-shadow: var(--dashboard-shadow);
}

.flat-heading::after,
.page-header::after {
    content: "";
    position: absolute;
    right: -84px;
    bottom: -144px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(255, 255, 255, .025), 0 0 0 76px rgba(255, 255, 255, .018);
    pointer-events: none;
}

.flat-heading > *,
.page-header > * {
    position: relative;
    z-index: 1;
}

.flat-heading h1,
.page-header h1 {
    margin: 0;
    color: #ffffff;
}

.flat-heading h2,
.flat-heading h3,
.page-header h2,
.page-header h3 {
    color: #ffffff;
}

.flat-heading p:not(.flat-kicker),
.page-header p:not(.eyebrow) {
    max-width: 760px;
    margin: 10px 0 0;
    color: #d7e3ed;
}

.flat-kicker,
.eyebrow {
    margin: 0 0 7px;
    color: var(--dashboard-blue-700);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.flat-heading .flat-kicker,
.page-header .eyebrow {
    color: #f0c56e;
}

.flat-heading .flat-muted,
.page-header .muted {
    color: #d7e3ed;
}

.flat-heading .flat-btn-outline,
.page-header .button-secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .45);
    background: rgba(255, 255, 255, .08);
}

.flat-heading .flat-btn-outline:hover,
.page-header .button-secondary:hover {
    color: var(--dashboard-navy-950);
    border-color: #ffffff;
    background: #ffffff;
}

/* Layout */
.flat-grid-2,
.flat-grid-3,
.flat-stack {
    display: grid;
}

.flat-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.flat-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.flat-stack {
    gap: 18px;
}

/* Panels */
.flat-panel,
.panel,
.notice {
    overflow: hidden;
    margin: 0 0 20px;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-surface);
    box-shadow: 0 10px 30px rgba(7, 27, 51, .055);
}

.flat-panel-header,
.panel-heading {
    padding: 20px 24px;
    border-bottom: 1px solid var(--dashboard-border);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.flat-panel-header h2,
.flat-panel-header h3,
.panel-heading h2,
.panel-heading h3 {
    margin: 0;
}

.flat-panel-header p,
.panel-heading p {
    margin: 7px 0 0;
    font-size: .84rem;
}

.flat-panel-body {
    padding: 24px;
}

.flat-panel--danger {
    border-left: 4px solid var(--dashboard-red-700);
}

.flat-panel--warning {
    border-left: 4px solid var(--dashboard-gold-500);
}

/* Buttons and action groups */
.flat-btn,
.button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 17px;
    border: 1px solid var(--dashboard-navy-900);
    border-radius: 8px;
    color: #ffffff;
    background: var(--dashboard-navy-900);
    box-shadow: none;
    cursor: pointer;
    font: inherit;
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.flat-btn:hover,
.button:hover {
    color: #ffffff;
    border-color: var(--dashboard-blue-700);
    background: var(--dashboard-blue-700);
}

.flat-btn-outline,
.button-secondary {
    color: var(--dashboard-navy-900);
    border-color: #bdcbd7;
    background: #ffffff;
}

.flat-btn-outline:hover,
.button-secondary:hover {
    color: #ffffff;
    border-color: var(--dashboard-navy-900);
    background: var(--dashboard-navy-900);
}

.flat-btn-danger,
.button-danger {
    color: #ffffff;
    border-color: var(--dashboard-red-700);
    background: var(--dashboard-red-700);
}

.flat-btn-danger:hover,
.button-danger:hover {
    color: #ffffff;
    border-color: #7f1712;
    background: #7f1712;
}

.flat-btn-small {
    min-height: 38px;
    padding: 7px 12px;
    font-size: .76rem;
}

.flat-btn-block {
    width: 100%;
}

.flat-action-stack {
    min-width: 11rem;
    display: grid;
    gap: 8px;
}

.flat-action-stack form,
.stacked-form {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--dashboard-border);
    border-radius: 10px;
    background: #f8fafc;
}

/* Forms */
.flat-form-group {
    min-width: 0;
    margin: 0 0 18px;
}

.flat-label,
.filter-row label,
.form-grid label,
.stacked-form label {
    display: grid;
    gap: 7px;
    margin-bottom: 7px;
    color: var(--dashboard-navy-950);
    font-size: .79rem;
    font-weight: 800;
}

.flat-input,
.flat-select,
.flat-textarea,
.filter-row input,
.filter-row select,
.form-grid input,
.form-grid select,
.form-grid textarea,
.stacked-form input,
.stacked-form select,
.stacked-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #b8c7d4;
    border-radius: 8px;
    color: var(--dashboard-ink);
    background: #ffffff;
    font: inherit;
    font-size: .92rem;
}

.flat-textarea,
.form-grid textarea,
.stacked-form textarea {
    min-height: 112px;
    resize: vertical;
}

.flat-input:hover,
.flat-select:hover,
.flat-textarea:hover,
.filter-row input:hover,
.filter-row select:hover,
.form-grid input:hover,
.form-grid select:hover,
.form-grid textarea:hover {
    border-color: #829bb0;
}

.flat-input:focus,
.flat-select:focus,
.flat-textarea:focus,
.filter-row input:focus,
.filter-row select:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.stacked-form input:focus,
.stacked-form select:focus,
.stacked-form textarea:focus {
    border-color: var(--dashboard-blue-700);
    outline: 3px solid rgba(21, 85, 143, .18);
    outline-offset: 1px;
}

.flat-input[aria-invalid="true"],
.flat-select[aria-invalid="true"],
.flat-textarea[aria-invalid="true"] {
    border-color: var(--dashboard-red-700);
}

.flat-field-error {
    display: block;
    margin-top: 7px;
    color: var(--dashboard-red-700);
    font-size: .8rem;
    font-weight: 700;
}

input.flat-input[type="checkbox"],
input.flat-input[type="radio"] {
    width: 1.12rem;
    min-height: 0;
    height: 1.12rem;
    padding: 0;
    accent-color: var(--dashboard-blue-700);
}

.flat-form-group fieldset,
fieldset.flat-form-group {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--dashboard-border);
    border-radius: 10px;
}

.flat-form-group legend,
fieldset.flat-form-group legend {
    padding: 0 6px;
    color: var(--dashboard-navy-950);
    font-size: .8rem;
    font-weight: 800;
}

.flat-help,
.flat-block,
.flat-muted,
.muted {
    color: var(--dashboard-muted);
    font-size: .78rem;
    line-height: 1.5;
}

.flat-block {
    display: block;
    margin-top: 4px;
}

/* Tables and registers */
.flat-table-wrapper,
.table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-top: 1px solid var(--dashboard-border);
    background: #ffffff;
}

.flat-table,
.operations-page table {
    width: 100%;
    border-collapse: collapse;
    color: var(--dashboard-ink);
    font-size: .82rem;
}

.flat-table th,
.flat-table td,
.operations-page th,
.operations-page td {
    padding: 14px 18px;
    border-bottom: 1px solid #e5ecf2;
    text-align: left;
    vertical-align: top;
}

.flat-table th,
.operations-page th {
    color: var(--dashboard-muted);
    background: #f7f9fb;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .065em;
    text-transform: uppercase;
    white-space: nowrap;
}

.flat-table tbody tr:hover td,
.operations-page tbody tr:hover td {
    background: #fbfcfd;
}

.flat-table td > strong,
.operations-page td > strong {
    color: var(--dashboard-navy-950);
}

/* Status, feedback and empty states */
.flat-badge,
.status-badge,
.status-pill {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border: 1px solid #bdcbd7;
    border-radius: 999px;
    color: var(--dashboard-navy-900);
    background: #edf3f7;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .045em;
    line-height: 1.2;
    text-transform: uppercase;
}

.flat-badge-active {
    color: var(--dashboard-green-800);
    border-color: #9fcfb8;
    background: var(--dashboard-green-100);
}

.flat-badge-warning,
.status-warning,
.status-high {
    color: var(--dashboard-amber-800);
    border-color: #dfc16f;
    background: var(--dashboard-amber-100);
}

.flat-badge-danger,
.status-critical {
    color: var(--dashboard-red-700);
    border-color: #e2aaa6;
    background: var(--dashboard-red-100);
}

.flat-alert,
.flat-warning-box,
.notice {
    padding: 16px 18px;
    border: 1px solid var(--dashboard-border);
    border-left: 4px solid var(--dashboard-blue-700);
    border-radius: 10px;
    color: var(--dashboard-ink);
    background: var(--dashboard-blue-100);
    font-size: .86rem;
    line-height: 1.55;
}

.flat-alert {
    margin: 0 0 18px;
}

.flat-alert-success {
    color: var(--dashboard-green-800);
    border-left-color: var(--dashboard-green-800);
    background: var(--dashboard-green-100);
}

.flat-alert-error,
.flat-alert-danger {
    color: var(--dashboard-red-700);
    border-left-color: var(--dashboard-red-700);
    background: var(--dashboard-red-100);
}

.flat-warning-box,
.notice-warning {
    color: var(--dashboard-amber-800);
    border-left-color: var(--dashboard-gold-500);
    background: var(--dashboard-amber-100);
}

.flat-empty {
    padding: 32px 20px !important;
    color: var(--dashboard-muted);
    text-align: center;
}

/* Definitions, notes and workflow groups */
.flat-dl {
    display: grid;
    grid-template-columns: minmax(130px, .7fr) minmax(0, 1.3fr);
    gap: 0;
    margin: 0;
}

.flat-dl dt,
.flat-dl dd {
    padding: 10px 0;
    border-bottom: 1px solid #e8eef3;
}

.flat-dl dt {
    color: var(--dashboard-muted);
    font-size: .75rem;
    font-weight: 800;
}

.flat-dl dd {
    margin: 0;
    color: var(--dashboard-navy-950);
    font-size: .84rem;
    font-weight: 650;
}

.flat-note-form,
.flat-workflow-form {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: #f8fafc;
}

.flat-note-timeline {
    display: grid;
    gap: 0;
    margin-top: 24px;
}

.flat-note {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 0 0 24px;
    border: 0;
    background: transparent;
}

.flat-note:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 40px;
    bottom: 0;
    left: 21px;
    width: 2px;
    background: var(--dashboard-border);
}

.flat-note-marker {
    position: relative;
    z-index: 1;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 3px solid #ffffff;
    border-radius: 50%;
    color: #ffffff;
    background: var(--dashboard-navy-900);
    box-shadow: 0 0 0 1px var(--dashboard-border);
    font-size: .82rem;
    font-weight: 850;
}

.flat-note-content {
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(7, 27, 51, .045);
}

.flat-note header {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #e8eef3;
    background: #f8fafc;
}

.flat-note-author {
    margin: 0;
    color: var(--dashboard-navy-950);
}

.flat-note time {
    display: block;
    margin-top: 2px;
    color: var(--dashboard-muted);
    font-size: .76rem;
}

.flat-note-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.flat-note-body {
    padding: 18px 16px;
    line-height: 1.65;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.flat-note-link {
    margin: 0;
    padding: 0 16px 16px;
    color: var(--dashboard-muted);
    font-size: .82rem;
}

.flat-note-correction {
    margin: 0 16px 16px;
    padding-top: 10px;
    border-top: 1px solid var(--dashboard-border);
}

.flat-audit-list,
.flat-security-steps {
    margin: 0;
}

.flat-audit-list {
    display: grid;
    gap: 10px;
    padding: 0;
    list-style: none;
}

.flat-audit-list li {
    padding: 12px 0;
    border-bottom: 1px solid var(--dashboard-border);
}

.flat-security-steps {
    display: grid;
    gap: 13px;
    padding-left: 1.3rem;
    color: var(--dashboard-muted);
    line-height: 1.55;
}

.flat-security-steps li::marker {
    color: var(--dashboard-gold-500);
    font-weight: 900;
}

.application-page details > summary {
    color: var(--dashboard-navy-950);
    cursor: pointer;
    font-weight: 800;
}

/* Authentication and account screens */
.security-page .flat-container {
    display: grid;
    align-content: center;
    padding-block: clamp(28px, 6vw, 72px);
}

.flat-auth-layout {
    width: 100%;
    max-width: 1080px;
    min-height: 520px;
    margin: 0 auto;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: var(--dashboard-shadow);
}

.flat-auth-layout > :first-child {
    padding: clamp(30px, 5vw, 52px);
    color: #ffffff;
    background:
        radial-gradient(circle at 12% 90%, rgba(240, 197, 110, .16), transparent 30%),
        linear-gradient(145deg, var(--dashboard-navy-950), var(--dashboard-navy-800));
}

.flat-auth-layout > :first-child > .flat-heading {
    overflow: visible;
    margin: 0 0 22px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.flat-auth-layout > :first-child > .flat-heading::after {
    display: none;
}

.flat-auth-layout > :first-child p,
.flat-auth-layout > :first-child li {
    color: #d7e3ed !important;
}

.flat-auth-layout > .flat-panel,
.flat-auth-layout > :last-child.flat-panel {
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.flat-auth-layout > .flat-panel .flat-panel-header,
.flat-auth-layout > :last-child.flat-panel .flat-panel-header {
    padding: 28px 32px 20px;
    background: #ffffff;
}

.flat-auth-layout > .flat-panel .flat-panel-body,
.flat-auth-layout > :last-child.flat-panel .flat-panel-body {
    padding: 28px 32px 34px;
}

.security-feature-list {
    display: grid;
    gap: 12px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.security-feature-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.security-feature-list li::before {
    content: "✓";
    color: #f0c56e;
    font-weight: 900;
}

.secret-value {
    display: block;
    padding: 14px 16px;
    border: 1px solid #d8c187;
    border-left: 4px solid var(--dashboard-gold-500);
    border-radius: 8px;
    color: var(--dashboard-navy-950);
    background: var(--dashboard-gold-100);
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .035em;
    overflow-wrap: anywhere;
}

.mfa-qr {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin: 18px 0;
}

.mfa-qr-code {
    box-sizing: border-box;
    display: block;
    width: min(100%, 312px);
    height: auto;
    padding: 12px;
    border: 1px solid var(--dashboard-border);
    border-radius: 10px;
    background: #ffffff;
}

.mfa-qr figcaption {
    max-width: 36ch;
    color: var(--dashboard-muted);
    font-size: .82rem;
    text-align: center;
}

.recovery-code-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    margin: 16px 0;
    padding: 0;
    list-style: none;
}

.recovery-code-grid li {
    padding: 12px;
    border: 1px solid var(--dashboard-border);
    border-radius: 8px;
    color: var(--dashboard-navy-950);
    background: #f8fafc;
    text-align: center;
}

.recovery-code,
.secret-input {
    color: var(--dashboard-navy-950);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .045em;
}

.security-assurance {
    margin: 20px 0 0;
    color: var(--dashboard-muted);
    font-size: .82rem;
    text-align: center;
}

.security-assurance .flat-badge,
.security-assurance__badge {
    margin-right: 6px;
}

.security-disclosure {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid var(--dashboard-border);
    border-radius: 8px;
    background: #f8fafc;
}

.secret-uri {
    display: block;
    margin-top: 10px;
    overflow-wrap: anywhere;
}

.role-choice-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.role-choice-list label {
    min-height: 44px;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin: 0;
    padding: 8px 11px;
    border: 1px solid var(--dashboard-border);
    border-radius: 8px;
    background: #f8fafc;
    font-size: .82rem;
    font-weight: 750;
}

.role-choice-list--compact label {
    min-height: 38px;
    padding-block: 6px;
}

.form-section-spaced {
    margin-top: 16px;
}

.security-choice-group {
    padding: 14px;
    border: 1px solid var(--dashboard-border);
    border-radius: 10px;
    background: #fbfcfd;
}

.security-choice-group--compact {
    padding: 10px;
}

.security-choice-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.security-choice-list--compact {
    gap: 8px 12px;
}

.security-choice {
    min-height: 38px;
    display: inline-flex;
    gap: 7px;
    align-items: center;
    margin: 0;
    color: var(--dashboard-ink);
    font-size: .8rem;
    font-weight: 750;
}

.inline-field {
    min-width: 0;
    display: grid;
    margin: 0;
}

.inline-field--capacity {
    width: 86px;
}

.inline-field--date {
    width: 145px;
}

.flat-input--compact,
.control-small {
    min-height: 38px;
    padding: 7px 9px;
    font-size: .8rem;
}

.flat-table-wrapper--flush {
    margin-bottom: 0;
}

.page-back {
    color: #d7e3ed !important;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.page-back:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

.inline-code {
    display: inline-block;
    padding: 4px 7px;
    border: 1px solid var(--dashboard-border);
    border-radius: 5px;
    color: var(--dashboard-navy-950);
    background: #f8fafc;
    font-size: .8rem;
}

.compact-form {
    min-width: 390px;
    display: grid;
    grid-template-columns: minmax(72px, 90px) auto minmax(130px, 1fr) auto;
    gap: 8px;
    align-items: end;
}

.compact-field {
    min-width: 0;
    margin: 0;
}

.compact-field--checkbox {
    min-height: 38px;
    display: inline-flex;
    gap: 6px;
    align-items: center;
    font-size: .78rem;
    font-weight: 750;
    white-space: nowrap;
}

.compact-field--reason {
    min-width: 130px;
}

/* Operations compatibility */
.page-header {
    display: flex;
    gap: 28px;
    align-items: flex-start;
    justify-content: space-between;
}

.page-header .status-pill {
    color: var(--dashboard-navy-950);
    border-color: #f0c56e;
    background: #f0c56e;
    white-space: nowrap;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 20px;
}

.metric-card {
    min-height: 130px;
    display: grid;
    align-content: space-between;
    gap: 8px;
    padding: 20px;
    border: 1px solid var(--dashboard-border);
    border-top: 4px solid var(--dashboard-blue-700);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(7, 27, 51, .045);
}

.metric-card span {
    color: var(--dashboard-muted);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.metric-card strong {
    color: var(--dashboard-navy-950);
    font-size: 2.2rem;
    letter-spacing: -.05em;
}

.panel {
    padding: 0;
}

.panel > :not(.panel-heading):not(.table-wrap) {
    margin-right: 24px;
    margin-left: 24px;
}

.filter-row,
.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    align-items: end;
    margin-block: 22px;
}

.span-full {
    grid-column: 1 / -1;
}

.compact-evidence {
    margin: 0;
}

.compact-evidence div {
    display: grid;
    grid-template-columns: minmax(100px, .7fr) minmax(0, 1fr);
    gap: 8px;
    padding: 3px 0;
}

.compact-evidence dt {
    color: var(--dashboard-muted);
    font-weight: 750;
}

.compact-evidence dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.notice {
    margin: 20px 24px 24px !important;
}

.dashboard-shell {
    display: grid;
    gap: 42px;
}

.dashboard-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(250px, .55fr);
    gap: 40px;
    align-items: end;
    padding: clamp(32px, 5vw, 64px);
    border: 1px solid #183d65;
    border-radius: 24px;
    color: #ffffff;
    background:
        radial-gradient(circle at 92% 8%, rgba(215, 171, 93, .24), transparent 31%),
        linear-gradient(135deg, var(--dashboard-navy-950), var(--dashboard-navy-800));
    box-shadow: var(--dashboard-shadow);
}

.dashboard-hero::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -160px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 44px rgba(255, 255, 255, .025), 0 0 0 88px rgba(255, 255, 255, .02);
    pointer-events: none;
}

.dashboard-hero__copy,
.dashboard-hero__status {
    position: relative;
    z-index: 1;
}

.dashboard-eyebrow {
    margin: 0 0 8px;
    color: var(--dashboard-blue-700);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.dashboard-hero .dashboard-eyebrow {
    color: #f0c56e;
}

.dashboard-hero h1 {
    max-width: 800px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.25rem, 5vw, 4.6rem);
    font-weight: 760;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.dashboard-hero__intro {
    max-width: 760px;
    margin: 20px 0 0;
    color: #d8e5f0;
    font-size: clamp(1rem, 1.5vw, 1.14rem);
    line-height: 1.65;
}

.dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.dashboard-button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}

.dashboard-button--primary {
    color: var(--dashboard-navy-950);
    background: #f0c56e;
}

.dashboard-button--primary:hover {
    color: var(--dashboard-navy-950);
    background: #ffda8c;
}

.dashboard-button--secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .08);
}

.dashboard-button--secondary:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .15);
}

.dashboard-hero__status {
    display: grid;
    gap: 7px;
    align-content: end;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    background: rgba(5, 22, 42, .44);
    backdrop-filter: blur(10px);
}

.dashboard-hero__status strong {
    color: #ffffff;
    font-size: 1.08rem;
}

.dashboard-hero__status span:not(.dashboard-user-label),
.dashboard-hero__status time {
    color: #cbdbe8;
    font-size: .82rem;
    line-height: 1.5;
}

.dashboard-user-label {
    color: #f0c56e;
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dashboard-journey {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-surface);
    box-shadow: 0 8px 24px rgba(7, 27, 51, .045);
}

.dashboard-journey a {
    position: relative;
    min-height: 88px;
    display: grid;
    grid-template-columns: 28px 1fr;
    grid-template-rows: auto auto;
    gap: 2px 10px;
    align-content: center;
    padding: 16px 20px;
    color: var(--dashboard-ink);
    text-decoration: none;
}

.dashboard-journey a + a {
    border-left: 1px solid var(--dashboard-border);
}

.dashboard-journey a:hover {
    background: #f7fafc;
}

.dashboard-journey a > span {
    grid-row: 1 / 3;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--dashboard-navy-800);
    font-size: .74rem;
    font-weight: 850;
}

.dashboard-journey strong {
    color: var(--dashboard-navy-950);
    font-size: .88rem;
}

.dashboard-journey small {
    color: var(--dashboard-muted);
    font-size: .75rem;
}

.dashboard-section {
    scroll-margin-top: 92px;
}

.dashboard-section__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .62fr);
    gap: 36px;
    align-items: end;
    margin-bottom: 20px;
}

.dashboard-section__heading h2 {
    max-width: 780px;
    margin: 0;
    color: var(--dashboard-navy-950);
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    letter-spacing: -.035em;
    line-height: 1.15;
}

.dashboard-section__heading > p {
    margin: 0 0 3px;
    color: var(--dashboard-muted);
    font-size: .92rem;
    line-height: 1.65;
}

.dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-kpi {
    position: relative;
    min-height: 188px;
    display: flex;
    flex-direction: column;
    padding: 22px;
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-top: 4px solid var(--dashboard-blue-700);
    border-radius: 12px;
    background: var(--dashboard-surface);
    box-shadow: 0 8px 24px rgba(7, 27, 51, .045);
}

.dashboard-kpi--critical {
    border-top-color: var(--dashboard-red-700);
}

.dashboard-kpi--warning {
    border-top-color: var(--dashboard-gold-500);
}

.dashboard-kpi > div {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
}

.dashboard-kpi p {
    margin: 0;
    color: var(--dashboard-muted);
    font-size: .8rem;
    line-height: 1.5;
}

.dashboard-kpi > div p {
    max-width: 135px;
    color: var(--dashboard-navy-900);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.dashboard-kpi strong {
    color: var(--dashboard-navy-950);
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -.05em;
    line-height: .9;
}

.dashboard-kpi > p {
    margin-top: 18px;
}

.dashboard-kpi > a {
    margin-top: auto;
    padding-top: 15px;
    color: var(--dashboard-blue-700);
    font-size: .8rem;
    font-weight: 850;
    text-decoration: none;
}

.dashboard-kpi--critical > a {
    color: var(--dashboard-red-700);
}

.dashboard-focus-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
    gap: 18px;
    align-items: start;
}

.dashboard-focus-lane {
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-surface);
    box-shadow: 0 10px 28px rgba(7, 27, 51, .05);
}

.dashboard-focus-lane__header {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    justify-content: space-between;
    padding: 22px 24px;
    border-bottom: 1px solid var(--dashboard-border);
}

.dashboard-focus-lane--critical .dashboard-focus-lane__header {
    background: linear-gradient(90deg, var(--dashboard-red-100), #ffffff 60%);
}

.dashboard-focus-lane--warning .dashboard-focus-lane__header {
    background: linear-gradient(90deg, var(--dashboard-amber-100), #ffffff 60%);
}

.dashboard-focus-lane__header h3 {
    margin: 0;
    color: var(--dashboard-navy-950);
    font-size: 1.18rem;
}

.dashboard-focus-lane__header p:not(.dashboard-eyebrow) {
    max-width: 560px;
    margin: 6px 0 0;
    color: var(--dashboard-muted);
    font-size: .82rem;
    line-height: 1.5;
}

.dashboard-count {
    min-width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid var(--dashboard-border);
    border-radius: 50%;
    color: var(--dashboard-navy-900);
    background: #ffffff;
    font-size: .83rem;
    font-weight: 850;
}

.dashboard-work-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dashboard-work-list li {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    padding: 17px 24px;
    border-bottom: 1px solid #e7edf2;
}

.dashboard-work-list li:hover {
    background: #f8fafc;
}

.dashboard-work-list__main {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.dashboard-work-list__main > strong {
    overflow: hidden;
    color: var(--dashboard-navy-950);
    font-size: .91rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-reference {
    color: var(--dashboard-blue-700);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.dashboard-work-list__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    align-items: center;
    color: var(--dashboard-muted);
    font-size: .74rem;
}

.dashboard-status,
.dashboard-boolean {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 2px 8px;
    border: 1px solid var(--dashboard-border);
    border-radius: 999px;
    color: var(--dashboard-navy-900);
    background: #f1f5f8;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.dashboard-boolean--yes {
    color: var(--dashboard-green-800);
    border-color: #a8d8c3;
    background: var(--dashboard-green-100);
}

.dashboard-boolean--no {
    color: var(--dashboard-amber-800);
    border-color: #e7c973;
    background: var(--dashboard-amber-100);
}

.dashboard-row-action {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0 12px;
    border: 1px solid var(--dashboard-border);
    border-radius: 7px;
    color: var(--dashboard-navy-900);
    background: #ffffff;
    font-size: .75rem;
    font-weight: 850;
    text-decoration: none;
}

.dashboard-row-action:hover {
    color: #ffffff;
    border-color: var(--dashboard-navy-800);
    background: var(--dashboard-navy-800);
}

.dashboard-focus-lane__footer,
.dashboard-register__footer {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    color: var(--dashboard-muted);
    background: #f8fafc;
    font-size: .75rem;
}

.dashboard-focus-lane__footer a,
.dashboard-register__footer a {
    color: var(--dashboard-blue-700);
    font-weight: 850;
    text-decoration: none;
}

.dashboard-empty {
    padding: 34px 24px;
    text-align: left;
}

.dashboard-empty strong {
    color: var(--dashboard-green-800);
}

.dashboard-empty p {
    margin: 6px 0 0;
    color: var(--dashboard-muted);
    font-size: .84rem;
}

.dashboard-empty a {
    display: inline-block;
    margin-top: 14px;
    color: var(--dashboard-blue-700);
    font-size: .8rem;
    font-weight: 850;
}

.dashboard-overview-panel {
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-radius: 14px;
    background: var(--dashboard-surface);
    box-shadow: 0 10px 28px rgba(7, 27, 51, .045);
}

.dashboard-metric-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.dashboard-metric-row {
    min-height: 104px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 20px;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--dashboard-border);
}

.dashboard-metric-row:nth-child(odd) {
    border-right: 1px solid var(--dashboard-border);
}

.dashboard-metric-row dt {
    display: grid;
    gap: 4px;
}

.dashboard-metric-row dt strong {
    color: var(--dashboard-navy-950);
    font-size: .88rem;
}

.dashboard-metric-row dt span {
    color: var(--dashboard-muted);
    font-size: .75rem;
    line-height: 1.45;
}

.dashboard-metric-row dd {
    margin: 0;
    color: var(--dashboard-navy-950);
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -.04em;
}

.dashboard-metric-row dd small {
    color: var(--dashboard-muted);
    font-size: .68rem;
    letter-spacing: 0;
}

.dashboard-metric-row > a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    color: var(--dashboard-blue-700);
    font-size: .75rem;
    font-weight: 850;
    text-decoration: none;
}

.dashboard-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-breakdown {
    padding: 22px;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: var(--dashboard-surface);
}

.dashboard-breakdown h3 {
    margin: 0 0 15px;
    color: var(--dashboard-navy-950);
    font-size: .92rem;
}

.dashboard-breakdown dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.dashboard-breakdown dl > div {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 9px 0;
    border-top: 1px solid #e8eef3;
}

.dashboard-breakdown dt {
    color: var(--dashboard-muted);
    font-size: .75rem;
}

.dashboard-breakdown dd {
    margin: 0;
    color: var(--dashboard-navy-950);
    font-size: .88rem;
    font-weight: 850;
}

.dashboard-registers {
    display: grid;
    gap: 10px;
}

.dashboard-register {
    overflow: hidden;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: var(--dashboard-surface);
}

.dashboard-register summary {
    min-height: 78px;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    padding: 16px 22px;
    color: var(--dashboard-navy-950);
    cursor: pointer;
    list-style: none;
}

.dashboard-register summary::-webkit-details-marker {
    display: none;
}

.dashboard-register summary::after {
    content: "+";
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid var(--dashboard-border);
    border-radius: 50%;
    color: var(--dashboard-blue-700);
    font-size: 1.25rem;
    line-height: 1;
}

.dashboard-register[open] summary::after {
    content: "−";
}

.dashboard-register summary > span:first-child {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.dashboard-register summary strong {
    font-size: .92rem;
}

.dashboard-register summary small {
    overflow: hidden;
    color: var(--dashboard-muted);
    font-size: .76rem;
    font-weight: 500;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-register__count {
    margin-left: auto;
    color: var(--dashboard-muted);
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

.dashboard-register__content {
    border-top: 1px solid var(--dashboard-border);
}

.dashboard-table-region {
    max-width: 100%;
    overflow-x: auto;
}

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

.dashboard-table th,
.dashboard-table td {
    padding: 13px 18px;
    border-bottom: 1px solid #e7edf2;
    text-align: left;
    vertical-align: middle;
}

.dashboard-table th {
    color: var(--dashboard-muted);
    background: #f8fafc;
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.dashboard-table tbody tr:hover {
    background: #fbfcfd;
}

.dashboard-table a {
    color: var(--dashboard-blue-700);
    font-weight: 800;
}

.dashboard-table__action a {
    white-space: nowrap;
}

.dashboard-muted {
    color: var(--dashboard-muted);
    font-size: .74rem;
}

.application-page a:focus-visible,
.application-page button:focus-visible,
.application-page summary:focus-visible,
.dashboard-table-region:focus-visible {
    outline: 3px solid #1769aa;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px #ffffff;
}

@media (max-width: 1100px) {
    .document-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .application-page .flat-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        padding: 14px 24px;
    }

    .application-page .flat-nav {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .application-page .flat-nav a,
    .application-page .flat-nav button {
        white-space: nowrap;
    }

    .dashboard-kpi-grid,
    .dashboard-breakdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .application-page .flat-container {
        width: min(100% - 32px, 1440px);
        padding-top: 22px;
    }

    .flat-grid-2,
    .flat-grid-3 { grid-template-columns: 1fr; }

    .flat-heading,
    .page-header,
    .panel-heading { align-items: flex-start; flex-direction: column; }

    .flat-auth-layout { margin-block: 20px; }

    .document-card-grid { grid-template-columns: 1fr; }
    .service-card-grid { grid-template-columns: 1fr; }

    .dashboard-hero {
        grid-template-columns: 1fr;
    }

    .dashboard-hero__status {
        max-width: 420px;
    }

    .dashboard-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-journey a:nth-child(3) {
        border-top: 1px solid var(--dashboard-border);
        border-left: 0;
    }

    .dashboard-journey a:nth-child(4) {
        border-top: 1px solid var(--dashboard-border);
    }

    .dashboard-section__heading {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .dashboard-section__heading > p {
        max-width: 680px;
    }

    .dashboard-focus-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dashboard-shell {
        gap: 34px;
    }

    .application-page .flat-header {
        position: static;
    }

    .dashboard-kpi-grid,
    .dashboard-breakdown-grid,
    .dashboard-metric-list {
        grid-template-columns: 1fr;
    }

    .dashboard-metric-row:nth-child(odd) {
        border-right: 0;
    }

    .dashboard-register summary small {
        white-space: normal;
    }

    .dashboard-table-region {
        overflow: visible;
    }

    .dashboard-table,
    .dashboard-table tbody,
    .dashboard-table tr,
    .dashboard-table td {
        display: block;
        width: 100%;
    }

    .dashboard-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .dashboard-table tr {
        padding: 10px 18px;
        border-bottom: 1px solid var(--dashboard-border);
    }

    .dashboard-table td {
        display: grid;
        grid-template-columns: minmax(105px, .45fr) minmax(0, 1fr);
        gap: 14px;
        padding: 8px 0;
        border: 0;
        overflow-wrap: anywhere;
    }

    .dashboard-table td::before {
        content: attr(data-label);
        color: var(--dashboard-muted);
        font-size: .66rem;
        font-weight: 850;
        letter-spacing: .055em;
        text-transform: uppercase;
    }
}

@media (max-width: 560px) {
    .service-section-heading,
    .service-card__header,
    .document-card__header,
    .service-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .service-card__meta,
    .document-card__meta,
    .service-row__meta,
    .operations-service-evidence__list {
        grid-template-columns: 1fr;
    }

    .service-card__header,
    .service-card__meta,
    .service-card__actions,
    .service-card__controls,
    .document-card__header,
    .document-card__meta,
    .document-card__actions {
        padding-inline: 18px;
    }

    .application-page .flat-container {
        width: min(100% - 24px, 1440px);
        padding-bottom: 48px;
    }

    .application-page .flat-header {
        padding-inline: 12px;
    }

    .application-page .flat-nav {
        gap: 2px;
    }

    .application-page .flat-nav a,
    .application-page .flat-nav button {
        padding-inline: 9px;
        font-size: .8rem;
    }

    .application-page .flat-nav form {
        margin-left: 0;
        padding-left: 2px;
        border-left: 0;
    }

    .dashboard-hero {
        gap: 28px;
        padding: 28px 22px;
        border-radius: 16px;
    }

    .dashboard-hero h1 {
        font-size: clamp(2rem, 11vw, 3rem);
    }

    .dashboard-actions {
        display: grid;
    }

    .dashboard-button {
        width: 100%;
    }

    .dashboard-hero__status {
        padding: 18px;
    }

    .dashboard-journey {
        grid-template-columns: 1fr;
    }

    .dashboard-journey a + a,
    .dashboard-journey a:nth-child(3),
    .dashboard-journey a:nth-child(4) {
        border-top: 1px solid var(--dashboard-border);
        border-left: 0;
    }

    .dashboard-kpi {
        min-height: 164px;
    }

    .dashboard-focus-lane__header,
    .dashboard-work-list li,
    .dashboard-focus-lane__footer {
        padding-inline: 18px;
    }

    .dashboard-work-list li {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-work-list__main > strong {
        white-space: normal;
    }

    .dashboard-row-action {
        min-height: 44px;
    }

    .dashboard-focus-lane__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-metric-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
        padding-inline: 18px;
    }

    .dashboard-metric-row > a {
        grid-column: 1 / -1;
        padding: 0;
    }

    .dashboard-register summary {
        align-items: flex-start;
        padding-inline: 16px;
    }

    .dashboard-register__count {
        display: none;
    }

    .dashboard-table td {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

@media (max-width: 390px) {
    .application-page .flat-container {
        width: calc(100% - 20px);
    }

    .dashboard-hero {
        padding-inline: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .application-page *,
    .application-page *::before,
    .application-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (forced-colors: active) {
    .dashboard-hero,
    .dashboard-hero__status,
    .dashboard-kpi,
    .dashboard-focus-lane,
    .dashboard-overview-panel,
    .dashboard-breakdown,
    .dashboard-register {
        border: 1px solid CanvasText;
        box-shadow: none;
    }

    .dashboard-button,
    .dashboard-row-action,
    .dashboard-status,
    .dashboard-boolean {
        border: 1px solid ButtonText;
    }

    .application-page a:focus-visible,
    .application-page button:focus-visible,
    .application-page summary:focus-visible,
    .dashboard-table-region:focus-visible {
        outline: 3px solid Highlight;
        box-shadow: none;
    }
}

@media print {
    .application-page .flat-header,
    .dashboard-actions,
    .dashboard-journey,
    .dashboard-row-action,
    .dashboard-register__footer {
        display: none;
    }

    .application-page .flat-container {
        width: 100%;
    }

    .dashboard-hero {
        color: #000000;
        border: 1px solid #000000;
        background: #ffffff;
        box-shadow: none;
    }

    .dashboard-hero h1,
    .dashboard-hero__intro,
    .dashboard-hero__status strong,
    .dashboard-hero__status span,
    .dashboard-hero__status time {
        color: #000000;
    }
}

/* Shared responsive rules */
@media (max-width: 1200px) {
    .metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .flat-auth-layout {
        grid-template-columns: 1fr;
        max-width: 720px;
    }

    .flat-auth-layout > :first-child {
        min-height: 280px;
    }

    .page-header {
        flex-direction: column;
    }

    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .flat-grid-2,
    .flat-grid-3 {
        grid-template-columns: 1fr;
    }

    .flat-heading,
    .page-header {
        border-radius: 16px;
        padding: 26px 22px;
    }

    .flat-panel-header,
    .flat-panel-body,
    .panel-heading {
        padding-right: 18px;
        padding-left: 18px;
    }

    .page-heading--split,
    .panel-heading--split {
        align-items: flex-start;
        flex-direction: column;
    }

    .flat-table {
        min-width: 720px;
    }

    .flat-table-wrapper,
    .table-wrap {
        overscroll-behavior-inline: contain;
    }

    .flat-dl {
        grid-template-columns: 1fr;
    }

    .flat-dl dt {
        padding-bottom: 2px;
        border-bottom: 0;
    }

    .flat-dl dd {
        padding-top: 2px;
    }

    .panel > :not(.panel-heading):not(.table-wrap) {
        margin-right: 18px;
        margin-left: 18px;
    }
}

@media (max-width: 560px) {
    .page-actions,
    .inline-actions {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .page-actions .flat-btn,
    .inline-actions .flat-btn,
    .page-actions .button,
    .inline-actions .button {
        width: 100%;
    }

    .flat-auth-layout {
        border-radius: 14px;
    }

    .flat-auth-layout > :first-child,
    .flat-auth-layout > .flat-panel .flat-panel-header,
    .flat-auth-layout > .flat-panel .flat-panel-body,
    .flat-auth-layout > :last-child.flat-panel .flat-panel-header,
    .flat-auth-layout > :last-child.flat-panel .flat-panel-body {
        padding-right: 22px;
        padding-left: 22px;
    }

    .metric-grid {
        grid-template-columns: 1fr;
    }

    .metric-card {
        min-height: 105px;
    }

    .compact-evidence div {
        grid-template-columns: 1fr;
    }
}

@media (forced-colors: active) {
    .flat-heading,
    .page-header,
    .flat-panel,
    .panel,
    .metric-card,
    .flat-note,
    .flat-workflow-form,
    .flat-auth-layout {
        border: 1px solid CanvasText;
        box-shadow: none;
    }

    .flat-btn,
    .button,
    .flat-input,
    .flat-select,
    .flat-textarea,
    .flat-badge,
    .status-badge {
        border: 1px solid ButtonText;
    }
}

@media print {
    .application-page .flat-header {
        display: none;
    }

    .application-page .flat-container {
        width: 100%;
        padding: 0;
    }

    .flat-heading,
    .page-header,
    .flat-panel,
    .panel,
    .metric-card {
        color: #000000;
        border: 1px solid #000000;
        background: #ffffff;
        box-shadow: none;
    }

    .flat-heading h1,
    .flat-heading p,
    .page-header h1,
    .page-header p {
        color: #000000 !important;
    }
}
