/* ================================================================
   EDUBA BRAND — Font Faces
   Diatype: editorial/content voice (self-hosted)
   IBM Plex Mono: system/UI voice (loaded via Google Fonts in App.razor)
   ================================================================ */

@font-face {
    font-family: 'Diatype';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/diatype-bold.woff2') format('woff2');
}

@font-face {
    font-family: 'Diatype';
    font-weight: 500;
    font-display: swap;
    src: url('fonts/diatype-med.woff2') format('woff2');
}

@font-face {
    font-family: 'Diatype';
    font-weight: 300;
    font-display: swap;
    src: url('fonts/diatype-reg.woff2') format('woff2');
}

/* ================================================================
   EDUBA BRAND — Design Tokens (CSS Custom Properties)
   Override Radzen --rz-* variables + add --eduba-* brand tokens
   ================================================================ */

:root {
    /* ── Radzen theme overrides ── */
    --rz-primary: #5D3136;
    --rz-primary-light: #A2777A;
    --rz-primary-lighter: #EAD5D6;
    --rz-primary-darker: #4A2C2A;
    --rz-secondary: #7D5658;
    --rz-success: #1A9C43;
    --rz-info: #5D3136;
    --rz-on-info: #FEFBF6;
    --rz-on-info-light: #4A2C2A;
    --rz-on-info-lighter: #4A2C2A;
    --rz-on-primary: #FEFBF6;
    --rz-on-primary-lighter: #FEFBF6;
    --rz-sidebar-background-color: #5D3136;
    --rz-sidebar-color: #FEFBF6;
    --rz-header-background-color: #FEFBF6;
    --rz-header-color: #4A2C2A;
    --rz-header-border: 1px solid #D8BFC0;
    --rz-body-background-color: #FEFBF6;
    --rz-body-color: #4A2C2A;
    --rz-text-color: #4A2C2A;
    --rz-text-secondary-color: #7D5658;
    --rz-text-title-color: var(--eduba-primary);
    --rz-text-h6-color: var(--eduba-primary);
    --rz-border-color: #D8BFC0;
    --rz-base-background-color: #F9ECDF;
    --rz-background-color: #FEFBF6;
    --rz-border-radius: 4px;
    --rz-button-background-color: rgba(234, 213, 214, 0.15);
    --rz-button-background-color-hover: rgba(234, 213, 214, 0.35);
    --rz-grid-header-background-color: #F9ECDF;
    --rz-grid-header-color: #4A2C2A;
    --rz-grid-stripe-background-color: rgba(249, 236, 223, 0.45);
    --rz-grid-cell-border: 1px solid #D8BFC0;
    --rz-tabs-tab-background-color: #FEFBF6;
    --rz-tabs-tab-selected-background-color: #F9ECDF;
    --rz-tabs-tab-color: #4A2C2A;
    --rz-tabs-tab-selected-color: #5D3136;
    --rz-dropdown-item-selected-background-color: #7D5658;
    --rz-dropdown-item-selected-color: #FEFBF6;
    --rz-dropdown-item-hover-background-color: #EAD5D6;
    --rz-dropdown-item-hover-color: #4A2C2A;
    --rz-dropdown-panel-background-color: #F9ECDF;
    --rz-input-background-color: #FEFBF6;
    --rz-input-font-family: 'IBM Plex Mono', monospace;
    --rz-body-font-family: 'IBM Plex Mono', monospace;
    --rz-text-font-family: 'IBM Plex Mono', monospace;
    /* ── Bootstrap overrides ── */
    --bs-primary: #5D3136;
    --bs-primary-rgb: 93, 49, 54;
    --bs-link-color: #5D3136;
    --bs-link-hover-color: #4A2C2A;
    --bs-border-color: #D8BFC0;
    --bs-body-color: #4A2C2A;
    --bs-body-bg: #FEFBF6;
    --bs-secondary-color: #7D5658;
    --bs-secondary-bg: #F9ECDF;
    --bs-tertiary-bg: #F9ECDF;
    /* ── Eduba brand tokens ── */
    --eduba-bg: #FEFBF6;
    --eduba-bg-warm: #F9ECDF;
    --eduba-accent: #EAD5D6;
    --eduba-border: #D8BFC0;
    --eduba-text: #4A2C2A;
    --eduba-text-sub: #7D5658;
    --eduba-text-muted: #A2777A;
    --eduba-primary: #5D3136;
    --eduba-primary-light: #A2777A;
    --eduba-primary-dark: #492526;
    --eduba-frame: #5D3136;
    --eduba-on-frame: #FEFBF6;
    --eduba-surface: #FEFBF6;
    --eduba-surface-raised: #F9ECDF;
    --eduba-surface-muted: #F1DECF;
    --eduba-workspace-surface: #FEFBF6;
    --eduba-neutral-surface: #FEFBF6;
    --eduba-neutral-surface-raised: #F9ECDF;
    --eduba-neutral-border: #D8BFC0;
    --eduba-comfort-text: #4A2C2A;
    --eduba-scrollbar-thumb: #5D3136;
    --eduba-scrollbar-thumb-hover: #7D5658;
    --eduba-border-subtle: #E4D3CE;
    --eduba-text-faint: #A98486;
    --eduba-gradient: linear-gradient(358deg, #492526 1.79%, #5D4143 97.65%);
    --eduba-font-mono: 'IBM Plex Mono', monospace;
    --eduba-font-primary: 'Diatype', sans-serif;
    --eduba-radius: 4px;
    --eduba-success: #1A9C43;
    --eduba-danger: #B3261E;
    --eduba-green-dot: #25CA58;
    /* ── Radius scale (mirrors @eduba/ui tokens.css --eb-radius-*) ── */
    --eduba-radius-sm: 4px;
    --eduba-radius-md: 8px;
    --eduba-radius-lg: 12px;
    --eduba-radius-full: 9999px;
    /* ── Spacing scale (mirrors @eduba/ui tokens.css --eb-frame-padding etc.) ── */
    --eduba-space-base-unit: 4px;
    --eduba-space-frame-padding: 8px;
    --eduba-space-content-padding: 40px;
    --eduba-space-section-gap: 60px;
    /* ── Elevation / shadow tokens (mirrors @eduba/ui tokens.css --eb-shadow-*) ── */
    --eduba-shadow-card: 0 1px 2px rgba(66, 29, 36, 0.06);
    --eduba-shadow-pop: 0 12px 32px -12px rgba(66, 29, 36, 0.28), 0 2px 8px -4px rgba(66, 29, 36, 0.14);
    /* ── Motion: easing curves (mirrors @eduba/ui tokens.css --eb-ease-*) ── */
    --eduba-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
    --eduba-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
    --eduba-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
    --eduba-ease-panel: cubic-bezier(0.16, 1, 0.3, 1);
    /* ── Motion: duration budget (mirrors @eduba/ui tokens.css --eb-dur-*) ── */
    --eduba-dur-press: 120ms;
    --eduba-dur-tooltip: 175ms;
    --eduba-dur-dropdown: 200ms;
    --eduba-dur-modal: 300ms;
    --eduba-dur-drawer: 400ms;
    --eduba-dur-hover: 220ms;
    /* ── Focus ring (mirrors @eduba/ui tokens.css --eb-focus-ring) ── */
    --eduba-focus-ring: 0 0 0 2px #D8BFC0;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --rz-primary: #EAD5D6;
    --rz-primary-light: #F9ECDF;
    --rz-primary-lighter: #7D5658;
    --rz-primary-darker: #FEFBF6;
    --rz-secondary: #D8BFC0;
    --rz-success: #56C77A;
    --rz-info: #EAD5D6;
    --rz-on-info: #181818;
    --rz-on-info-light: #181818;
    --rz-on-info-lighter: #181818;
    --rz-on-primary: #181818;
    --rz-on-primary-lighter: #181818;
    --rz-sidebar-background-color: #4A2C2A;
    --rz-sidebar-color: #FFFFFF;
    --rz-header-background-color: #5D3136;
    --rz-header-color: #FFFFFF;
    --rz-header-border: 1px solid #7D5658;
    --rz-body-background-color: #141414;
    --rz-body-color: #FFFFFF;
    --rz-text-color: #FFFFFF;
    --rz-text-secondary-color: #F6EBE8;
    --rz-text-h6-color: var(--eduba-primary);
    --rz-border-color: #5D4143;
    --rz-base-background-color: #2A2021;
    --rz-background-color: #141414;
    --rz-button-background-color: rgba(234, 213, 214, 0.16);
    --rz-button-background-color-hover: rgba(234, 213, 214, 0.3);
    --rz-grid-header-background-color: #2A2021;
    --rz-grid-header-color: #FFFFFF;
    --rz-grid-stripe-background-color: rgba(255, 255, 255, 0.035);
    --rz-grid-cell-border: 1px solid #5D4143;
    --rz-tabs-tab-background-color: #181818;
    --rz-tabs-tab-selected-background-color: #3A292B;
    --rz-tabs-tab-color: #FFFFFF;
    --rz-tabs-tab-selected-color: #FFFFFF;
    --rz-dropdown-item-selected-background-color: #D8BFC0;
    --rz-dropdown-item-selected-color: #181818;
    --rz-dropdown-item-hover-background-color: #5D4143;
    --rz-dropdown-item-hover-color: #FFFFFF;
    --rz-dropdown-panel-background-color: #2A2021;
    --rz-input-background-color: #181818;
    --bs-primary: #EAD5D6;
    --bs-primary-rgb: 234, 213, 214;
    --bs-link-color: #F9ECDF;
    --bs-link-hover-color: #FEFBF6;
    --bs-border-color: #5D4143;
    --bs-body-color: #FFFFFF;
    --bs-body-bg: #141414;
    --bs-secondary-color: #EAD5D6;
    --bs-secondary-bg: #2A2021;
    --bs-tertiary-bg: #3A292B;
    --eduba-bg: #141414;
    --eduba-bg-warm: #2A2021;
    --eduba-accent: #7D5658;
    --eduba-border: #5D4143;
    --eduba-text: #FFFFFF;
    --eduba-text-sub: #F6EBE8;
    --eduba-text-muted: #EAD9D6;
    --eduba-primary: #EAD5D6;
    --eduba-primary-light: #F9ECDF;
    --eduba-primary-dark: #D8BFC0;
    --eduba-frame: #4A2C2A;
    --eduba-on-frame: #FFFFFF;
    --eduba-surface: #181818;
    --eduba-surface-raised: #2A2021;
    --eduba-surface-muted: #3A292B;
    --eduba-workspace-surface: #111111;
    --eduba-neutral-surface: #181818;
    --eduba-neutral-surface-raised: #202020;
    --eduba-neutral-border: #393536;
    --eduba-comfort-text: #E8DDDA;
    --eduba-scrollbar-thumb: #5D3136;
    --eduba-scrollbar-thumb-hover: #7D5658;
    --eduba-border-subtle: #4A3638;
    --eduba-text-faint: #DCC7C4;
    --eduba-gradient: linear-gradient(358deg, #2A1C1E 1.79%, #5D4143 97.65%);
    --eduba-success: #56C77A;
    --eduba-danger: #FF8A80;
    --eduba-green-dot: #56C77A;
    --eduba-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.25);
    --eduba-shadow-pop: 0 12px 32px -12px rgba(0, 0, 0, 0.5), 0 2px 8px -4px rgba(0, 0, 0, 0.35);
    --eduba-focus-ring: 0 0 0 2px #EAD5D6;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        color-scheme: dark;
        --rz-primary: #EAD5D6;
        --rz-primary-light: #F9ECDF;
        --rz-primary-lighter: #7D5658;
        --rz-primary-darker: #FEFBF6;
        --rz-secondary: #D8BFC0;
        --rz-success: #56C77A;
        --rz-info: #EAD5D6;
        --rz-on-info: #181818;
        --rz-on-info-light: #181818;
        --rz-on-info-lighter: #181818;
        --rz-on-primary: #181818;
        --rz-on-primary-lighter: #181818;
        --rz-sidebar-background-color: #4A2C2A;
        --rz-sidebar-color: #FFFFFF;
        --rz-header-background-color: #5D3136;
        --rz-header-color: #FFFFFF;
        --rz-header-border: 1px solid #7D5658;
        --rz-body-background-color: #141414;
        --rz-body-color: #FFFFFF;
        --rz-text-color: #FFFFFF;
        --rz-text-secondary-color: #F6EBE8;
        --rz-text-h6-color: var(--eduba-primary);
        --rz-border-color: #5D4143;
        --rz-base-background-color: #2A2021;
        --rz-background-color: #141414;
        --rz-button-background-color: rgba(234, 213, 214, 0.16);
        --rz-button-background-color-hover: rgba(234, 213, 214, 0.3);
        --rz-grid-header-background-color: #2A2021;
        --rz-grid-header-color: #FFFFFF;
        --rz-grid-stripe-background-color: rgba(255, 255, 255, 0.035);
        --rz-grid-cell-border: 1px solid #5D4143;
        --rz-tabs-tab-background-color: #181818;
        --rz-tabs-tab-selected-background-color: #3A292B;
        --rz-tabs-tab-color: #FFFFFF;
        --rz-tabs-tab-selected-color: #FFFFFF;
        --rz-dropdown-item-selected-background-color: #D8BFC0;
        --rz-dropdown-item-selected-color: #181818;
        --rz-dropdown-item-hover-background-color: #5D4143;
        --rz-dropdown-item-hover-color: #FFFFFF;
        --rz-dropdown-panel-background-color: #2A2021;
        --rz-input-background-color: #181818;
        --bs-primary: #EAD5D6;
        --bs-primary-rgb: 234, 213, 214;
        --bs-link-color: #F9ECDF;
        --bs-link-hover-color: #FEFBF6;
        --bs-border-color: #5D4143;
        --bs-body-color: #FFFFFF;
        --bs-body-bg: #141414;
        --bs-secondary-color: #EAD5D6;
        --bs-secondary-bg: #2A2021;
        --bs-tertiary-bg: #3A292B;
        --eduba-bg: #141414;
        --eduba-bg-warm: #2A2021;
        --eduba-accent: #7D5658;
        --eduba-border: #5D4143;
        --eduba-text: #FFFFFF;
        --eduba-text-sub: #F6EBE8;
        --eduba-text-muted: #EAD9D6;
        --eduba-primary: #EAD5D6;
        --eduba-primary-light: #F9ECDF;
        --eduba-primary-dark: #D8BFC0;
        --eduba-frame: #4A2C2A;
        --eduba-on-frame: #FFFFFF;
        --eduba-surface: #181818;
        --eduba-surface-raised: #2A2021;
        --eduba-surface-muted: #3A292B;
        --eduba-workspace-surface: #111111;
        --eduba-neutral-surface: #181818;
        --eduba-neutral-surface-raised: #202020;
        --eduba-neutral-border: #393536;
        --eduba-comfort-text: #E8DDDA;
        --eduba-scrollbar-thumb: #5D3136;
        --eduba-scrollbar-thumb-hover: #7D5658;
        --eduba-border-subtle: #4A3638;
        --eduba-text-faint: #DCC7C4;
        --eduba-gradient: linear-gradient(358deg, #2A1C1E 1.79%, #5D4143 97.65%);
        --eduba-success: #56C77A;
        --eduba-danger: #FF8A80;
        --eduba-green-dot: #56C77A;
        --eduba-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.25);
        --eduba-shadow-pop: 0 12px 32px -12px rgba(0, 0, 0, 0.5), 0 2px 8px -4px rgba(0, 0, 0, 0.35);
        --eduba-focus-ring: 0 0 0 2px #EAD5D6;
    }
}

/* ================================================================
   EDUBA BRAND — Base Styles
   ================================================================ */

html, body {
    font-family: 'IBM Plex Mono', monospace;
    color: var(--eduba-text);
    background: var(--eduba-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

* {
    scrollbar-color: var(--eduba-scrollbar-thumb) transparent;
    scrollbar-width: thin;
}

*::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

*::-webkit-scrollbar-track {
    background: transparent;
}

*::-webkit-scrollbar-thumb {
    background: var(--eduba-scrollbar-thumb);
    border-radius: var(--eduba-radius-full);
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--eduba-scrollbar-thumb-hover);
}

/* ── Typography: Diatype for headings (editorial voice) ── */
h1, h2, h3, h4 {
    font-family: 'Diatype', sans-serif;
    color: var(--eduba-text);
}

h1 {
    font-weight: 700;
    font-size: clamp(28px, 3.4vw, 44px);
}

h2 {
    font-weight: 700;
    font-size: clamp(22px, 2.5vw, 32px);
}

h3 {
    font-weight: 500;
    font-size: clamp(18px, 2vw, 24px);
}

h4 {
    font-weight: 500;
    font-size: clamp(16px, 1.5vw, 20px);
}

.nova-page {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 1.75rem;
    background: var(--eduba-neutral-surface);
}

.nova-page-header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.nova-page-header > div:first-child {
    flex: 1;
    min-width: 0;
}

.nova-page-title-row {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.nova-page-title {
    margin: 0;
    font-size: clamp(24px, 2.4vw, 34px);
    font-weight: 700;
    color: var(--eduba-primary);
}

.nova-page-subtitle {
    margin: 0.35rem 0 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--eduba-text-sub);
}

.nova-page-actions {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

.nova-context-action {
    padding: 0.45rem 0.7rem;
    color: var(--eduba-primary);
    background: var(--eduba-neutral-surface-raised);
    border: 1px solid var(--eduba-neutral-border);
    border-radius: 4px;
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    white-space: nowrap;
    text-transform: uppercase;
    cursor: pointer;
}

.nova-context-action:hover,
.nova-context-action:focus-visible {
    border-color: var(--eduba-primary);
    outline: none;
}

.nova-context-action:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

@media (max-width: 800px) {
    .nova-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .nova-page-actions {
        margin-left: auto;
    }
}

a, .btn-link {
    color: var(--eduba-primary);
}

.persona-selector {
    min-height: 4.5rem;
    overflow: auto;
}

.btn-primary {
    color: var(--rz-on-primary);
    background-color: var(--eduba-primary);
    border-color: var(--eduba-primary-dark);
    font-family: 'IBM Plex Mono', monospace;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.03em;
}

    .btn-primary:hover {
        background-color: var(--eduba-primary-dark);
        border-color: var(--eduba-primary);
    }

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem var(--eduba-surface), var(--eduba-focus-ring);
}

.rz-datatable-thead th,
.rz-grid-table thead th {
    background-color: var(--eduba-surface-raised);
    color: var(--eduba-text);
    border-color: var(--eduba-border);
}

.rz-datatable-data td,
.rz-grid-table tbody td {
    border-color: var(--eduba-border);
}

.rz-tabview-nav li a,
.rz-tabview-nav li .rz-tabview-title {
    color: var(--eduba-text);
}

.rz-tabview-nav li {
    background-color: var(--eduba-surface);
    border-color: var(--eduba-border);
}

    .rz-tabview-nav li.rz-tabview-selected {
        background-color: var(--eduba-surface-raised);
        border-color: var(--eduba-text-muted);
    }

.rz-tabview-panels {
    background-color: var(--eduba-surface-raised);
}

.rz-dropdown-panel,
.rz-multiselect-panel,
.rz-autocomplete-panel {
    background-color: var(--eduba-surface-raised);
    border-color: var(--eduba-border);
}

.rz-dropdown-item:hover,
.rz-multiselect-item:hover,
.rz-autocomplete-list-item:hover,
.rz-state-highlight:hover {
    background-color: var(--eduba-accent);
    color: var(--eduba-text);
}

.rz-state-highlight,
.rz-dropdown-item.rz-state-highlight,
.rz-multiselect-item.rz-state-highlight,
.rz-autocomplete-list-item.rz-state-highlight {
    background-color: var(--eduba-text-sub);
    color: var(--eduba-surface);
}

.rz-dropdown,
.rz-multiselect,
.rz-autocomplete,
.rz-inputtext,
.rz-textbox {
    background-color: var(--eduba-surface);
    border-color: var(--eduba-border);
    color: var(--eduba-text);
}

select,
select option {
    color: var(--eduba-text);
    background-color: var(--eduba-surface-raised);
}

.user-persona-search {
    position: relative;
    max-width: 32rem;
    width: 100%;
}

.user-persona-search-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #7D5658;
    z-index: 1;
    pointer-events: none;
}

.user-persona-search input,
.user-persona-search .rz-inputtext,
.user-persona-search .rz-textbox {
    padding-left: 2.75rem !important;
}

.application-page {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    min-height: 0;
    /* Padding, not margin: a bottom margin on a 100%-height box pushes the page past
       its container and gives the shell a second scrollbar next to the grid's own. */
    padding-bottom: 1.5rem;
}

    .application-page .rz-tabview {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        overflow: hidden;
    }

    .application-page .rz-tabview-panels {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        overflow: hidden;
    }

    .application-page .rz-tabview-panel {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        overflow: hidden;
        padding: 0;
    }

.user-persona-tab-panel,
.fluid-grid-container {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
    overflow: hidden;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

/* Compact, chat-friendly Markdown styling for Radzen */
.message-content {
    font-size: 0.875rem; /* matches typical Radzen body size */
    line-height: 1.5;
    color: inherit;
}

    /* Headings — only modestly larger than body text (chat-appropriate) */
    .message-content h1,
    .message-content h2,
    .message-content h3,
    .message-content h4,
    .message-content h5,
    .message-content h6 {
        font-weight: 600;
        line-height: 1.35;
        margin-top: 0.85rem;
        margin-bottom: 0.45rem;
    }

    .message-content h1 {
        font-size: 1.2rem;
    }

    .message-content h2 {
        font-size: 1.1rem;
    }

    .message-content h3 {
        font-size: 1.0rem;
    }

    .message-content h4 {
        font-size: 0.95rem;
    }

    .message-content h5,
    .message-content h6 {
        font-size: 0.9rem;
        color: var(--rz-text-secondary-color);
    }

    /* Tighten paragraphs and lists for chat density */
    .message-content p {
        margin-top: 0.35rem;
        margin-bottom: 0.55rem;
    }

    .message-content ul,
    .message-content ol {
        margin: 0.35rem 0 0.55rem;
        padding-left: 1.1rem;
    }

    .message-content li {
        margin-bottom: 0.2rem;
    }

    .message-content strong,
    .message-content b {
        font-weight: 700;
    }

    /* Optional: nicer code blocks inside messages */
    .message-content pre {
        font-size: 0.8rem;
        padding: 0.05rem 0.25rem;
        color: var(--eduba-text);
        background: var(--eduba-surface-raised);
        border: 1px solid var(--eduba-border);
        border-radius: var(--eduba-radius-sm, 4px);
    }

    .message-content code {
        font-size: 0.8rem;
        font-family: 'IBM Plex Mono', monospace;
    }

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #1A9C43;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
