:root {
    color-scheme: light;
    --bt-bg: #f4f7f8;
    --bt-bg-strong: #e9f0f2;
    --bt-surface: #ffffff;
    --bt-surface-muted: #f8fbfb;
    --bt-surface-raised: #ffffff;
    --bt-border: #dbe5e7;
    --bt-border-strong: #bdcdd2;
    --bt-text: #172326;
    --bt-text-muted: #617276;
    --bt-text-soft: #87989c;
    --bt-primary: #4d55cc;
    --bt-primary-strong: #3730a3;
    --bt-primary-soft: #ecebff;
    --bt-purple: #4d55cc;
    --bt-purple-soft: #ecebff;
    --bt-report: #0ea5e9;
    --bt-report-soft: #e0f2fe;
    --bt-blue: #1d4f8f;
    --bt-blue-soft: #e3edf8;
    --bt-success: #15803d;
    --bt-success-soft: #dcfce7;
    --bt-warning: #a16207;
    --bt-warning-soft: #fef3c7;
    --bt-danger: #b42318;
    --bt-danger-soft: #fee4e2;
    --bt-info: #0369a1;
    --bt-info-soft: #e0f2fe;
    --bt-shadow: 0 16px 40px rgba(24, 39, 42, 0.08);
    --bt-shadow-soft: 0 8px 24px rgba(24, 39, 42, 0.06);
    --bt-radius: 8px;
    --bt-radius-sm: 6px;
    --bt-sidebar-width: 264px;
    --bt-header-height: 64px;
    --rz-primary: var(--bt-primary);
    --rz-primary-light: var(--bt-primary-soft);
    --rz-primary-dark: var(--bt-primary-strong);
    --rz-on-primary: #ffffff;
    --rz-base-background-color: var(--bt-bg);
    --rz-body-background-color: var(--bt-bg);
    --rz-text-color: var(--bt-text);
    --rz-grid-background-color: var(--bt-surface);
    --rz-grid-header-background-color: var(--bt-surface-muted);
    --rz-grid-stripe-background-color: var(--bt-surface-muted);
    --rz-input-background-color: var(--bt-surface);
    --rz-input-border: 1px solid var(--bt-border);
    --rz-border-radius: var(--bt-radius-sm);
}

html[data-theme="dark"] {
    color-scheme: dark;
    --bt-bg: #090b16;
    --bt-bg-strong: #0f1024;
    --bt-surface: #151827;
    --bt-surface-muted: #1d2135;
    --bt-surface-raised: #17132f;
    --bt-border: #343653;
    --bt-border-strong: #525582;
    --bt-text: #f7f7ff;
    --bt-text-muted: #c9c9dc;
    --bt-text-soft: #9b9ab8;
    --bt-primary: #7c3aed;
    --bt-primary-strong: #a78bfa;
    --bt-primary-soft: rgba(124, 58, 237, 0.24);
    --bt-purple: #c4b5fd;
    --bt-purple-soft: rgba(124, 58, 237, 0.24);
    --bt-report: #67e8f9;
    --bt-report-soft: rgba(14, 165, 233, 0.18);
    --bt-blue: #8bb8ff;
    --bt-blue-soft: rgba(96, 165, 250, 0.14);
    --bt-success: #86efac;
    --bt-success-soft: rgba(34, 197, 94, 0.16);
    --bt-warning: #fde68a;
    --bt-warning-soft: rgba(245, 158, 11, 0.16);
    --bt-danger: #fca5a5;
    --bt-danger-soft: rgba(239, 68, 68, 0.16);
    --bt-info: #7dd3fc;
    --bt-info-soft: rgba(14, 165, 233, 0.16);
    --bt-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
    --bt-shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.24);
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
    margin: 0;
    font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background: var(--bt-bg);
    color: var(--bt-text);
}

body {
    overflow-x: hidden;
}

a,
.btn-link {
    color: var(--bt-primary);
}

a:hover {
    color: var(--bt-primary-strong);
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--bt-success);
}

.invalid {
    outline: 1px solid var(--bt-danger);
}

.validation-message,
.rz-message {
    color: var(--bt-danger);
    font-size: 0.84rem;
}

.darker-border-checkbox.form-check-input {
    border-color: var(--bt-border-strong);
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bt-text-muted);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.bt-app-shell.rz-layout {
    min-height: 100vh;
    background: var(--bt-bg);
}

.bt-app-header.rz-header {
    min-height: var(--bt-header-height);
    height: var(--bt-header-height);
    background: rgba(255, 255, 255, 0.86);
    border-bottom: 1px solid var(--bt-border);
    box-shadow: none;
    color: var(--bt-text);
    backdrop-filter: blur(14px);
}

html[data-theme="dark"] .bt-app-header.rz-header {
    background: rgba(23, 19, 47, 0.94);
    border-bottom-color: rgba(167, 139, 250, 0.28);
}

.bt-header-inner {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    height: 100%;
    padding: 0 1rem;
}

.bt-brand-toggle {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.bt-sidebar-toggle,
.bt-sidebar-toggle.rz-button,
.bt-sidebar-toggle.rz-button.rz-button-icon-only {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0 !important;
    color: var(--bt-primary-strong) !important;
    background: #ffffff !important;
    border: 1px solid color-mix(in srgb, var(--bt-primary) 54%, var(--bt-border)) !important;
    border-radius: var(--bt-radius-sm);
    box-shadow: none;
}

.bt-sidebar-toggle .rzi,
.bt-sidebar-toggle .rz-button-icon,
.bt-sidebar-toggle .rz-button-icon-left {
    display: block !important;
    width: 1em;
    height: 1em;
    margin: 0 !important;
    color: var(--bt-primary-strong) !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
}

.bt-sidebar-toggle:hover,
.bt-sidebar-toggle:focus-visible,
.bt-sidebar-toggle.rz-button:hover,
.bt-sidebar-toggle.rz-button:focus-visible {
    background: var(--bt-primary-soft) !important;
    border-color: var(--bt-primary) !important;
    color: var(--bt-primary-strong) !important;
}

html[data-theme="dark"] .bt-sidebar-toggle,
html[data-theme="dark"] .bt-sidebar-toggle.rz-button,
html[data-theme="dark"] .bt-sidebar-toggle.rz-button.rz-button-icon-only {
    color: #ffffff !important;
    background: rgba(124, 58, 237, 0.28) !important;
    border-color: rgba(255, 255, 255, 0.42) !important;
}

html[data-theme="dark"] .bt-sidebar-toggle .rzi,
html[data-theme="dark"] .bt-sidebar-toggle .rz-button-icon,
html[data-theme="dark"] .bt-sidebar-toggle .rz-button-icon-left {
    color: #ffffff !important;
}

.bt-brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.bt-brand-mark {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 0;
    background: transparent;
    border: 0;
    overflow: hidden;
}

.bt-brand-mark img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    filter: saturate(1.1);
}

html[data-theme="dark"] .bt-brand-mark {
    background: transparent;
    border-color: transparent;
}

html[data-theme="dark"] .bt-brand-mark img {
    filter: brightness(0) invert(1);
}

.bt-brand-title {
    margin: 0;
    color: var(--bt-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
}

.bt-brand-subtitle {
    color: var(--bt-text-muted);
    font-size: 0.78rem;
    line-height: 1.1;
}

.bt-header-spacer {
    flex: 1;
}

.bt-user-chip {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    max-width: 280px;
    padding: 0.35rem 0.55rem;
    border: 1px solid var(--bt-border);
    border-radius: 999px;
    background: var(--bt-surface);
}

.bt-user-avatar {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    color: #fff;
    background: var(--bt-blue);
    font-size: 0.82rem;
    font-weight: 800;
}

.bt-user-meta {
    min-width: 0;
    line-height: 1.1;
}

.bt-user-name,
.bt-user-role {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bt-user-name {
    color: var(--bt-text);
    font-size: 0.84rem;
    font-weight: 750;
}

.bt-user-role {
    color: var(--bt-text-muted);
    font-size: 0.72rem;
}

.bt-theme-toggle.rz-button,
.bt-logout.rz-button {
    border-radius: 999px;
    box-shadow: none;
}

.bt-theme-toggle.rz-button {
    background: var(--bt-surface);
    border: 1px solid var(--bt-border);
    color: #111827 !important;
}

.bt-theme-toggle.rz-button .rz-button-text,
.bt-theme-toggle.rz-button .rz-button-box,
.bt-theme-toggle.rz-button .rzi,
.bt-theme-toggle.rz-button .rz-button-icon {
    color: #111827 !important;
}

html[data-theme="dark"] .bt-theme-toggle.rz-button {
    color: #ffffff !important;
}

html[data-theme="dark"] .bt-theme-toggle.rz-button .rz-button-text,
html[data-theme="dark"] .bt-theme-toggle.rz-button .rz-button-box,
html[data-theme="dark"] .bt-theme-toggle.rz-button .rzi,
html[data-theme="dark"] .bt-theme-toggle.rz-button .rz-button-icon {
    color: #ffffff !important;
}

.bt-app-sidebar.rz-sidebar {
    width: var(--bt-sidebar-width) !important;
    background: var(--bt-surface-raised);
    border-right: 1px solid var(--bt-border);
    box-shadow: none;
}

.bt-app-shell.bt-sidebar-closed .bt-app-sidebar.rz-sidebar {
    width: 0 !important;
    min-width: 0 !important;
    border-right: 0;
    overflow: hidden;
}

.bt-app-shell.bt-sidebar-closed .bt-app-body.rz-body {
    margin-left: 0 !important;
    width: 100% !important;
}

.bt-app-shell.bt-sidebar-closed .bt-page-frame > * {
    max-width: 1560px;
}

html[data-theme="dark"] .bt-app-sidebar.rz-sidebar {
    background: #17132f;
}

.bt-sidebar-content {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - var(--bt-header-height));
    padding: 0.8rem;
}

.bt-sidebar-section-label {
    margin: 0.45rem 0.7rem 0.6rem;
    color: var(--bt-text-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

html[data-theme="dark"] .bt-sidebar-section-label {
    color: rgba(255, 255, 255, 0.72);
}

.bt-app-sidebar .rz-panel-menu {
    background: transparent;
    border: 0;
}

.bt-app-sidebar .rz-navigation-item-wrapper {
    margin-bottom: 0.22rem;
}

.bt-app-sidebar .rz-navigation-item-link {
    min-height: 42px;
    border-radius: var(--bt-radius);
    color: var(--bt-text-muted);
    font-weight: 700;
}

html[data-theme="dark"] .bt-app-sidebar .rz-navigation-item-link {
    color: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .bt-app-sidebar .rz-navigation-item-link .rz-navigation-item-icon {
    color: rgba(255, 255, 255, 0.9);
}

.bt-app-sidebar .rz-navigation-item-link:hover {
    background: var(--bt-surface-muted);
    color: var(--bt-text);
}

html[data-theme="dark"] .bt-app-sidebar .rz-navigation-item-link:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.bt-app-sidebar .rz-navigation-item-active > .rz-navigation-item-wrapper > .rz-navigation-item-link,
.bt-app-sidebar .rz-navigation-item-link.rz-state-active {
    background: #dedcff;
    color: #2f248f;
    border-left: 3px solid var(--bt-primary);
}

html[data-theme="dark"] .bt-app-sidebar .rz-navigation-item-active > .rz-navigation-item-wrapper > .rz-navigation-item-link,
html[data-theme="dark"] .bt-app-sidebar .rz-navigation-item-link.rz-state-active {
    background: rgba(124, 58, 237, 0.44);
    border-left: 3px solid #c4b5fd;
    color: #ffffff;
}

html[data-theme="dark"] .bt-app-sidebar .rz-navigation-item-active .rz-navigation-item-icon,
html[data-theme="dark"] .bt-app-sidebar .rz-navigation-item-link.rz-state-active .rz-navigation-item-icon {
    color: #ffffff;
}

.bt-sidebar-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    margin-top: auto;
    padding: 0.9rem 0.7rem;
    border-top: 1px solid var(--bt-border);
    color: var(--bt-text-muted);
    font-size: 0;
}

.bt-sidebar-footer img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.bt-sidebar-footer img[src$="logo_al-footer.png"] {
    max-width: 120px;
    max-height: 70px;
}

.bt-sidebar-footer img[src$="eu-logo-transparent.png"] {
    max-width: 180px;
    max-height: 42px;
}

html[data-theme="dark"] .bt-sidebar-footer {
    color: rgba(255, 255, 255, 0.78);
}

html[data-theme="dark"] .bt-sidebar-footer img {
    filter: brightness(1.08) contrast(1.02);
}

html[data-theme="dark"] .bt-sidebar-footer img[src$="eu-logo-transparent.png"] {
    filter: none;
}

.bt-app-body.rz-body {
    background: var(--bt-bg);
}

.bt-page-frame {
    width: 100%;
    min-height: calc(100vh - var(--bt-header-height));
    padding: 1.2rem;
}

.bt-page-frame > * {
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
}

.bt-page,
.bt-dashboard,
.notifications-page {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.bt-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    background: var(--bt-surface);
    box-shadow: var(--bt-shadow-soft);
}

.bt-page-eyebrow {
    margin: 0 0 0.28rem;
    color: var(--bt-primary);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bt-page-title,
.bt-page-header h1 {
    margin: 0;
    color: var(--bt-text);
    font-size: 1.42rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.2;
}

.bt-page-subtitle {
    margin: 0.35rem 0 0;
    max-width: 760px;
    color: var(--bt-text-muted);
    font-size: 0.94rem;
    line-height: 1.45;
}

.bt-page-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.bt-page-actions .rz-button.rz-light,
.bt-page-actions .rz-button.rz-button-light,
.bt-page-actions .rz-button.rz-variant-outlined.rz-light,
.bt-page-actions .rz-button.rz-button-outlined.rz-light {
    background: #ffffff !important;
    border-color: #111827 !important;
    color: #111827 !important;
}

.bt-page-actions .rz-button.rz-light .rz-button-text,
.bt-page-actions .rz-button.rz-light .rz-button-box,
.bt-page-actions .rz-button.rz-light .rzi,
.bt-page-actions .rz-button.rz-button-light .rz-button-text,
.bt-page-actions .rz-button.rz-button-light .rz-button-box,
.bt-page-actions .rz-button.rz-button-light .rzi {
    color: #111827 !important;
}

html[data-theme="dark"] .bt-page-actions .rz-button.rz-light,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-button-light,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-variant-outlined.rz-light,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-button-outlined.rz-light {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.82) !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .bt-page-actions .rz-button.rz-light .rz-button-text,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-light .rz-button-box,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-light .rzi,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-button-light .rz-button-text,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-button-light .rz-button-box,
html[data-theme="dark"] .bt-page-actions .rz-button.rz-button-light .rzi {
    color: #ffffff !important;
}

.bt-panel,
.grid-container,
.notification-grid-section,
.notification-editor-card.rz-card,
.rz-fieldset {
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    background: var(--bt-surface);
    box-shadow: var(--bt-shadow-soft);
}

.bt-panel,
.grid-container,
.notification-grid-section {
    overflow: hidden;
}

.grid-container {
    margin-bottom: 1rem;
}

.bt-panel-header,
.bt-grid-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    border-bottom: 1px solid var(--bt-border);
    background: var(--bt-surface-muted);
}

.bt-grid-tools {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.bt-grid-tool-label {
    color: var(--bt-text-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.bt-page-size-select.rz-dropdown {
    min-width: 92px;
}

.bt-panel-title,
.bt-grid-title {
    margin: 0;
    color: var(--bt-text);
    font-size: 1rem;
    font-weight: 800;
}

.bt-panel-subtitle,
.bt-grid-subtitle {
    margin: 0.2rem 0 0;
    color: var(--bt-text-muted);
    font-size: 0.86rem;
}

.bt-form-shell {
    padding: 0;
}

.bt-form-shell .rz-fieldset {
    margin: 0;
    padding: 1rem;
}

.bt-form-shell .rz-fieldset-legend {
    color: var(--bt-text);
    font-weight: 850;
}

html[data-theme="dark"] .bt-form-shell .rz-fieldset,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-legend,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-legend *,
html[data-theme="dark"] .bt-form-shell .rz-label,
html[data-theme="dark"] .bt-form-shell label,
html[data-theme="dark"] .bt-form-shell .rz-radio-button-list label,
html[data-theme="dark"] .bt-form-shell .rz-colorpicker-label,
html[data-theme="dark"] .bt-form-shell .rz-form-field-content,
html[data-theme="dark"] .bt-form-shell .rz-form-field-content *,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content .rz-text,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content h1,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content h2,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content h3,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content h4,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content h5,
html[data-theme="dark"] .bt-form-shell .rz-fieldset-content h6,
html[data-theme="dark"] .rz-fieldset.bt-form-shell,
html[data-theme="dark"] .rz-fieldset.bt-form-shell *,
html[data-theme="dark"] form .rz-fieldset,
html[data-theme="dark"] form .rz-fieldset label,
html[data-theme="dark"] form .rz-fieldset .rz-label,
html[data-theme="dark"] form .rz-fieldset .rz-fieldset-legend,
html[data-theme="dark"] form .rz-fieldset .rz-fieldset-legend * {
    color: #ffffff !important;
}

.bt-form-shell .rz-row {
    row-gap: 0.85rem;
}

.bt-form-shell .rz-button {
    margin-top: 0.4rem;
}

.bt-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.bt-metric-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: center;
    min-height: 128px;
    padding: 1rem;
    border: 1px solid var(--bt-border);
    border-left: 4px solid var(--bt-primary);
    border-radius: var(--bt-radius);
    background: var(--bt-surface);
    box-shadow: var(--bt-shadow-soft);
}

.bt-metric-label {
    margin: 0;
    color: var(--bt-text-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.bt-metric-value {
    margin: 0.25rem 0;
    color: var(--bt-text);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.bt-metric-note {
    margin: 0;
    color: var(--bt-text-soft);
    font-size: 0.84rem;
}

.bt-metric-icon,
.bt-action-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: var(--bt-radius);
    background: var(--bt-primary-soft);
    color: var(--bt-primary);
}

.bt-quick-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.8rem;
}

.bt-quick-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 86px;
    padding: 0.85rem;
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    background: var(--bt-surface);
    color: var(--bt-text);
    text-decoration: none;
    box-shadow: var(--bt-shadow-soft);
    transition: border-color 0.16s ease, transform 0.16s ease, background 0.16s ease;
}

.bt-quick-card:hover {
    transform: translateY(-1px);
    border-color: var(--bt-primary);
    background: var(--bt-surface-muted);
    color: var(--bt-text);
}

.bt-quick-title {
    display: block;
    color: var(--bt-text);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.2;
}

.bt-quick-subtitle {
    display: block;
    margin-top: 0.15rem;
    color: var(--bt-text-muted);
    font-size: 0.78rem;
}

.bt-status-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.bt-status-card {
    padding: 0.95rem;
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    background: var(--bt-surface);
}

.bt-status-card strong {
    display: block;
    color: var(--bt-text);
    font-size: 0.92rem;
}

.bt-status-card span {
    display: block;
    margin-top: 0.25rem;
    color: var(--bt-text-muted);
    font-size: 0.84rem;
}

.bt-inline-detail {
    padding-bottom: 0.4rem;
    color: var(--bt-text);
    line-height: 1.35;
}

.bt-inline-detail em {
    color: var(--bt-text-muted);
}

.bt-color-swatch {
    display: inline-block;
    width: 76px;
    height: 18px;
    border-radius: 999px;
    border: 1px solid var(--bt-border-strong);
}

.bt-category-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.bt-category-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 1px solid var(--bt-border-strong);
}

.bt-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    padding: 0.24rem 0.62rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.bt-type-badge-event {
    background: var(--bt-purple-soft);
    color: var(--bt-purple);
    border: 1px solid color-mix(in srgb, var(--bt-purple) 28%, transparent);
}

.bt-type-badge-report {
    background: var(--bt-report-soft);
    color: var(--bt-report);
    border: 1px solid color-mix(in srgb, var(--bt-report) 28%, transparent);
}

.bt-grid-cell-wrap {
    display: block;
    max-height: calc(1.35em * 4);
    overflow: hidden;
    white-space: normal;
    line-height: 1.35;
    word-break: break-word;
}

.bt-grid-row-pending > td {
    background: color-mix(in srgb, var(--bt-primary-soft) 68%, var(--bt-surface)) !important;
}

html[data-theme="dark"] .bt-grid-row-pending > td {
    background: rgba(124, 58, 237, 0.18) !important;
}

.bt-auth-page {
    min-height: 100vh;
}

.bt-denied-page {
    position: relative;
    min-height: 100vh;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--bt-primary) 24%, transparent) 0, transparent 32rem),
        radial-gradient(circle at bottom right, color-mix(in srgb, var(--bt-info) 18%, transparent) 0, transparent 30rem),
        linear-gradient(160deg, color-mix(in srgb, var(--bt-bg) 70%, #ffffff 30%) 0%, var(--bt-bg-strong) 100%);
}

.bt-denied-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.12), transparent 36%),
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.22), transparent 12rem);
    pointer-events: none;
}

.bt-denied-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: stretch;
    max-width: 1180px;
    min-height: calc(100vh - clamp(2.5rem, 6vw, 5rem));
    margin: 0 auto;
    padding: clamp(1.1rem, 2vw, 1.5rem);
    border: 1px solid color-mix(in srgb, var(--bt-border) 84%, transparent);
    border-radius: 32px;
    background: color-mix(in srgb, var(--bt-surface) 88%, transparent);
    box-shadow: 0 28px 80px rgba(8, 15, 33, 0.14);
    backdrop-filter: blur(18px);
}

.bt-denied-copy,
.bt-denied-visual {
    min-width: 0;
}

.bt-denied-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1rem, 2.8vw, 2.25rem);
}

.bt-denied-brand {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.bt-denied-brand-lockup {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.bt-denied-brand-mark-wrap {
    display: grid;
    place-items: center;
    flex: 0 0 112px;
    width: 112px;
    height: 112px;
    border: 1px solid color-mix(in srgb, var(--bt-primary) 18%, transparent);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 20px 38px rgba(21, 24, 39, 0.12);
}

.bt-denied-logo {
    width: 64px;
    height: 64px;
}

.bt-denied-brand-copy {
    display: grid;
    gap: 0.22rem;
}

.bt-denied-brand-name {
    color: var(--bt-text);
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    font-weight: 900;
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.bt-denied-brand-subtitle {
    color: var(--bt-text-muted);
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bt-denied-badges {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.bt-denied-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    max-width: 100%;
    padding: 0.45rem 0.9rem;
    border: 1px solid color-mix(in srgb, var(--bt-primary) 26%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--bt-primary-soft) 78%, white 22%);
    color: var(--bt-primary-strong);
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bt-denied-badge-secondary {
    background: color-mix(in srgb, var(--bt-surface-muted) 86%, white 14%);
    color: var(--bt-text-muted);
    border-color: color-mix(in srgb, var(--bt-border-strong) 34%, transparent);
}

.bt-denied-title {
    margin: 0;
    color: var(--bt-text);
    font-size: clamp(1.42rem, 1.95vw, 2.25rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.03em;
    width: 100%;
    max-width: none;
    text-wrap: balance;
}

.bt-denied-text {
    margin: 1rem 0 0;
    max-width: 58ch;
    color: var(--bt-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.bt-denied-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.bt-denied-note {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 1rem;
    border: 1px solid var(--bt-border);
    border-radius: 20px;
    background: color-mix(in srgb, var(--bt-surface-muted) 78%, transparent);
}

.bt-denied-note strong {
    color: var(--bt-text);
    font-size: 0.94rem;
    font-weight: 850;
}

.bt-denied-note span {
    color: var(--bt-text-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bt-denied-actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-top: 1.7rem;
}

.bt-denied-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 48px;
    padding: 0.85rem 1.2rem;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.96rem;
    font-weight: 800;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.bt-denied-button:hover,
.bt-denied-button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 30px rgba(29, 17, 70, 0.16);
}

.bt-denied-button-primary {
    border: 1px solid var(--bt-primary);
    background: linear-gradient(135deg, var(--bt-primary) 0%, var(--bt-primary-strong) 100%);
    color: #ffffff;
}

.bt-denied-button-secondary {
    border: 1px solid var(--bt-border-strong);
    background: var(--bt-surface);
    color: var(--bt-text);
}

.bt-denied-link {
    align-self: flex-start;
    margin-top: 1rem;
    color: var(--bt-primary-strong);
    font-size: 0.95rem;
    font-weight: 800;
    text-decoration: none;
}

.bt-denied-link:hover,
.bt-denied-link:focus-visible {
    text-decoration: underline;
}

.bt-denied-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 2rem);
    border-radius: 26px;
    background:
        radial-gradient(circle at top, color-mix(in srgb, var(--bt-primary-soft) 80%, white 20%) 0, transparent 14rem),
        linear-gradient(180deg, color-mix(in srgb, var(--bt-surface-muted) 86%, transparent) 0%, color-mix(in srgb, var(--bt-surface) 96%, transparent) 100%);
    overflow: hidden;
}

.bt-denied-visual::before,
.bt-denied-visual::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.bt-denied-visual::before {
    top: 2rem;
    right: -3rem;
    width: 11rem;
    height: 11rem;
    background: color-mix(in srgb, var(--bt-primary-soft) 90%, transparent);
}

.bt-denied-visual::after {
    left: -2rem;
    bottom: 4rem;
    width: 8rem;
    height: 8rem;
    background: color-mix(in srgb, var(--bt-info-soft) 86%, transparent);
}

.bt-denied-device-card,
.bt-denied-partners {
    position: relative;
    z-index: 1;
}

.bt-denied-device-card {
    display: grid;
    gap: 1.15rem;
    justify-items: center;
    padding: 1.35rem;
    border: 1px solid color-mix(in srgb, var(--bt-border) 72%, transparent);
    border-radius: 28px;
    background: color-mix(in srgb, var(--bt-surface) 92%, transparent);
    box-shadow: 0 22px 42px rgba(16, 18, 45, 0.12);
}

.bt-denied-device-caption {
    display: grid;
    gap: 0.32rem;
    text-align: center;
}

.bt-denied-device-label {
    color: var(--bt-text);
    font-size: 0.94rem;
    font-weight: 850;
}

.bt-denied-device-copy {
    color: var(--bt-text-muted);
    font-size: 0.86rem;
}

.bt-denied-device-preview {
    width: min(280px, 100%);
    height: auto;
    filter: drop-shadow(0 24px 30px rgba(17, 24, 39, 0.18));
}

.bt-denied-partners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.bt-denied-partner-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 92px;
    padding: 0.9rem;
    border: 1px solid color-mix(in srgb, var(--bt-border) 76%, transparent);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
}

.bt-denied-partner-card-municipality {
    justify-content: flex-start;
    gap: 0.85rem;
}

.bt-denied-partner {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.bt-denied-partner-municipality {
    width: 52px;
    max-height: 52px;
    flex: 0 0 auto;
}

.bt-denied-partner-eu {
    max-height: 48px;
}

.bt-denied-partner-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.bt-denied-partner-title {
    color: #172326;
    font-size: 0.92rem;
    font-weight: 850;
    line-height: 1.15;
}

.bt-denied-partner-subtitle {
    color: #617276;
    font-size: 0.78rem;
    line-height: 1.15;
}

html[data-theme="dark"] .bt-denied-page {
    background:
        radial-gradient(circle at top left, rgba(124, 58, 237, 0.32) 0, transparent 30rem),
        radial-gradient(circle at bottom right, rgba(14, 165, 233, 0.18) 0, transparent 28rem),
        linear-gradient(160deg, #080a14 0%, #111529 100%);
}

html[data-theme="dark"] .bt-denied-page::before {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.04), transparent 36%),
        radial-gradient(circle at 18% 18%, rgba(196, 181, 253, 0.12), transparent 12rem);
}

html[data-theme="dark"] .bt-denied-shell {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(12, 15, 28, 0.74);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] .bt-denied-badge {
    background: rgba(124, 58, 237, 0.18);
    color: #f5f3ff;
}

html[data-theme="dark"] .bt-denied-badge-secondary {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.86);
    border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .bt-denied-brand-mark-wrap {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] .bt-denied-note {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .bt-denied-visual {
    background:
        radial-gradient(circle at top, rgba(124, 58, 237, 0.28) 0, transparent 14rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(17, 21, 41, 0.78) 100%);
}

html[data-theme="dark"] .bt-denied-device-card {
    background: rgba(12, 15, 28, 0.74);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] .bt-denied-partner-card {
    background: rgba(255, 255, 255, 0.96);
}

@media (max-width: 980px) {
    .bt-denied-shell {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .bt-denied-title,
    .bt-denied-text {
        max-width: none;
    }

    .bt-denied-visual {
        order: -1;
    }
}

@media (max-width: 720px) {
    .bt-denied-page {
        padding: 0.9rem;
    }

    .bt-denied-brand-lockup {
        align-items: flex-start;
        flex-direction: column;
    }

    .bt-denied-brand-mark-wrap {
        width: 88px;
        height: 88px;
        border-radius: 24px;
    }

    .bt-denied-logo {
        width: 52px;
        height: 52px;
    }

    .bt-denied-brand-name {
        font-size: 1.8rem;
    }

    .bt-denied-brand-subtitle {
        letter-spacing: 0.05em;
    }

    .bt-denied-shell {
        border-radius: 24px;
        padding: 0.8rem;
    }

    .bt-denied-copy,
    .bt-denied-visual {
        padding: 0.8rem;
    }

    .bt-denied-notes,
    .bt-denied-partners {
        grid-template-columns: 1fr;
    }

    .bt-denied-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .bt-denied-button,
    .bt-denied-link {
        width: 100%;
        justify-content: center;
    }
}

.rz-card,
.rz-fieldset,
.rz-dialog,
.rz-dialog-content {
    color: var(--bt-text);
    background: var(--bt-surface);
}

html[data-theme="dark"] .rz-dialog,
html[data-theme="dark"] .rz-dialog-titlebar,
html[data-theme="dark"] .rz-dialog-content,
html[data-theme="dark"] .rz-dialog .rz-fieldset,
html[data-theme="dark"] .rz-dialog .rz-card {
    background: var(--bt-surface) !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .rz-dialog-title,
html[data-theme="dark"] .rz-dialog-titlebar,
html[data-theme="dark"] .rz-dialog-titlebar *,
html[data-theme="dark"] .rz-dialog-content,
html[data-theme="dark"] .rz-dialog-content .rz-text,
html[data-theme="dark"] .rz-dialog-content .rz-label,
html[data-theme="dark"] .rz-dialog-content label,
html[data-theme="dark"] .rz-dialog-content .rz-fieldset-legend,
html[data-theme="dark"] .rz-dialog-content h1,
html[data-theme="dark"] .rz-dialog-content h2,
html[data-theme="dark"] .rz-dialog-content h3,
html[data-theme="dark"] .rz-dialog-content h4,
html[data-theme="dark"] .rz-dialog-content h5,
html[data-theme="dark"] .rz-dialog-content h6,
html[data-theme="dark"] .rz-dialog-content p,
html[data-theme="dark"] .rz-dialog-content span,
html[data-theme="dark"] .rz-dialog-content strong,
html[data-theme="dark"] .rz-dialog-content em {
    color: #ffffff !important;
}

html[data-theme="dark"] .rz-dialog-titlebar-close,
html[data-theme="dark"] .rz-dialog-titlebar-close .rzi {
    color: #ffffff !important;
}

html[data-theme="dark"] .rz-dialog hr {
    border-color: var(--bt-border-strong) !important;
    opacity: 1;
}

.rz-fieldset {
    border-color: var(--bt-border);
}

.rz-fieldset-legend {
    color: var(--bt-text);
}

.rz-textbox,
.rz-textarea,
.rz-dropdown,
.rz-picker,
.rz-datepicker,
.rz-colorpicker,
.rz-multiselect {
    background: var(--bt-surface) !important;
    border-color: var(--bt-border) !important;
    color: var(--bt-text) !important;
    border-radius: var(--bt-radius-sm) !important;
}

html[data-theme="dark"] .rz-fileupload,
html[data-theme="dark"] .rz-fileupload-buttonbar,
html[data-theme="dark"] .rz-fileupload-content {
    background: var(--bt-surface) !important;
    border-color: var(--bt-border) !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .rz-fileupload-choose {
    background: var(--bt-primary) !important;
    border-color: var(--bt-primary) !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

html[data-theme="dark"] .rz-fileupload-choose .rz-button-text,
html[data-theme="dark"] .rz-fileupload-choose .rz-button-box,
html[data-theme="dark"] .rz-fileupload-choose .rzi {
    color: #ffffff !important;
}

.rz-textbox:focus,
.rz-textarea:focus,
.rz-dropdown:focus,
.rz-picker:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--bt-primary) 20%, transparent) !important;
    border-color: var(--bt-primary) !important;
}

.rz-button {
    border-radius: var(--bt-radius-sm);
    font-weight: 750;
    box-shadow: none;
}

html[data-theme="dark"] .rz-button.rz-light,
html[data-theme="dark"] .rz-button.rz-secondary,
html[data-theme="dark"] .rz-button.rz-button-outlined {
    background: transparent !important;
    border-color: var(--bt-border-strong) !important;
    color: #ffffff !important;
}

.rz-button.rz-primary,
.rz-button-md.rz-primary {
    background: var(--bt-primary) !important;
    border-color: var(--bt-primary) !important;
    color: #ffffff !important;
}

.rz-data-grid,
.rz-grid-table,
.rz-grid-table-fixed {
    background: var(--bt-surface);
    color: var(--bt-text);
}

.rz-data-grid {
    border: 0;
}

.rz-data-grid-data {
    border-top: 1px solid var(--bt-border);
}

.rz-grid-table thead th,
.rz-column-title,
.rz-cell-filter {
    background: var(--bt-surface-muted) !important;
    color: var(--bt-text) !important;
}

.rz-grid-table td,
.rz-grid-table th {
    border-color: var(--bt-border) !important;
}

.rz-grid-table td {
    color: var(--bt-text);
}

html[data-theme="dark"] .rz-grid-table .rz-frozen-cell,
html[data-theme="dark"] .rz-grid-table .rz-frozen-cell-right,
html[data-theme="dark"] .rz-grid-table .rz-frozen-column,
html[data-theme="dark"] .rz-grid-table .rz-frozen-column-right {
    background: var(--bt-surface) !important;
    color: #ffffff !important;
}

.rz-cell-data {
    font-size: 0.9rem;
}

.rz-paginator {
    padding: 0.65rem 0.9rem;
    border-top: 1px solid var(--bt-border);
    background: var(--bt-surface-muted);
    color: var(--bt-text-muted);
}

.rz-paginator .rz-paginator-page.rz-state-active,
.rz-paginator .rz-paginator-page.rz-state-highlight {
    background: var(--bt-primary-soft) !important;
    color: var(--bt-primary-strong) !important;
    border-color: var(--bt-primary) !important;
}

html[data-theme="dark"] .rz-paginator .rz-paginator-page.rz-state-active,
html[data-theme="dark"] .rz-paginator .rz-paginator-page.rz-state-highlight {
    background: rgba(124, 58, 237, 0.42) !important;
    color: #ffffff !important;
}

.rz-badge {
    border-radius: 999px;
    padding: 0.25rem 0.55rem;
    font-weight: 800;
}

.rz-badge-success {
    background: var(--bt-success-soft) !important;
    color: var(--bt-success) !important;
}

.rz-badge-warning {
    background: var(--bt-warning-soft) !important;
    color: var(--bt-warning) !important;
}

.rz-badge-danger {
    background: var(--bt-danger-soft) !important;
    color: var(--bt-danger) !important;
}

.rz-badge-info,
.rz-badge-primary {
    background: var(--bt-info-soft) !important;
    color: var(--bt-info) !important;
}

.notification-editor-header {
    background: var(--bt-surface-muted) !important;
    color: var(--bt-text) !important;
    border: 1px solid var(--bt-border);
    border-bottom: 0;
    border-radius: var(--bt-radius) var(--bt-radius) 0 0 !important;
}

.notification-editor-title {
    color: var(--bt-text) !important;
}

.notification-editor-subtitle,
.notification-editor-eyebrow {
    color: var(--bt-text-muted) !important;
}

.notification-editor-body,
.notification-section,
.notification-grid-toolbar,
.notification-columns-panel,
.notification-event-option {
    background: var(--bt-surface) !important;
    border-color: var(--bt-border) !important;
    color: var(--bt-text) !important;
}

html[data-theme="dark"] .notification-editor-body,
html[data-theme="dark"] .notification-section,
html[data-theme="dark"] .notification-grid-toolbar,
html[data-theme="dark"] .notification-columns-panel,
html[data-theme="dark"] .notification-event-option,
html[data-theme="dark"] .notification-event-options-panel {
    background: var(--bt-surface) !important;
    border-color: var(--bt-border) !important;
    color: #ffffff !important;
}

.notification-section-title,
.notification-form-label,
.notification-grid-toolbar-title {
    color: var(--bt-text) !important;
}

.notification-inline-note,
.notification-grid-toolbar-subtitle,
.notification-grid-toolbar-meta,
.notification-event-option-meta {
    color: var(--bt-text-muted) !important;
}

.notification-section-title::before {
    background: var(--bt-primary) !important;
    box-shadow: 0 0 0 6px var(--bt-primary-soft) !important;
}

.notification-columns-toggle,
.notification-editor-toggle,
.notification-editor-mode {
    background: var(--bt-surface) !important;
    border-color: var(--bt-border) !important;
    color: var(--bt-text) !important;
}

.notification-grid-search .rz-textbox {
    background: var(--bt-surface) !important;
}

html[data-theme="dark"] .notification-grid .rz-frozen-cell-right,
html[data-theme="dark"] .notification-grid .rz-frozen-column-right {
    background: var(--bt-surface-muted) !important;
    box-shadow: -12px 0 18px rgba(0, 0, 0, 0.36) !important;
}

html[data-theme="dark"] .notification-action-buttons .rz-button {
    background: rgba(255, 255, 255, 0.13) !important;
    border-color: rgba(255, 255, 255, 0.92) !important;
}

html[data-theme="dark"] .notification-action-buttons .rz-button .rzi,
html[data-theme="dark"] .notification-action-buttons .rz-button .rz-button-box {
    color: inherit !important;
}

html[data-theme="dark"] .notification-action-buttons .rz-button.rz-info,
html[data-theme="dark"] .notification-action-buttons .rz-button.rz-button-info {
    color: #38bdf8 !important;
}

html[data-theme="dark"] .notification-action-buttons .rz-button.rz-primary,
html[data-theme="dark"] .notification-action-buttons .rz-button.rz-button-primary {
    color: #a78bfa !important;
}

html[data-theme="dark"] .notification-action-buttons .rz-button.rz-warning,
html[data-theme="dark"] .notification-action-buttons .rz-button.rz-button-warning {
    color: #f59e0b !important;
}

html[data-theme="dark"] .notification-action-buttons .rz-button.rz-danger,
html[data-theme="dark"] .notification-action-buttons .rz-button.rz-button-danger {
    color: #ff5a52 !important;
}

.bt-log-filter-header {
    align-items: flex-end;
    flex-wrap: wrap;
}

.bt-log-filters {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.65rem;
    flex: 1 1 680px;
    flex-wrap: wrap;
}

.bt-log-filters label {
    display: grid;
    gap: 0.28rem;
    color: var(--bt-text-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.bt-log-filter.rz-dropdown,
.bt-log-page-size.rz-dropdown {
    min-width: 150px;
}

.bt-log-page-size.rz-dropdown {
    min-width: 92px;
}

.bt-log-search-label {
    flex: 1 1 240px;
    min-width: min(260px, 100%);
}

.bt-log-search.rz-textbox {
    width: 100%;
}

.bt-log-alert {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid var(--bt-border);
    background: var(--bt-danger-soft);
    color: var(--bt-danger);
    font-weight: 750;
}

.bt-log-grid .rz-cell-data {
    white-space: normal;
}

.bt-log-time {
    color: var(--bt-text-muted);
    font-variant-numeric: tabular-nums;
    font-weight: 750;
}

.bt-log-message {
    display: block;
    max-height: calc(1.38em * 4);
    overflow: hidden;
    color: var(--bt-text);
    line-height: 1.38;
    word-break: break-word;
}

.bt-level-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    padding: 0.22rem 0.58rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 850;
    text-transform: uppercase;
}

.bt-level-information {
    background: var(--bt-info-soft);
    color: var(--bt-info);
    border: 1px solid color-mix(in srgb, var(--bt-info) 28%, transparent);
}

.bt-level-warning {
    background: var(--bt-warning-soft);
    color: var(--bt-warning);
    border: 1px solid color-mix(in srgb, var(--bt-warning) 32%, transparent);
}

.bt-level-error,
.bt-level-critical {
    background: var(--bt-danger-soft);
    color: var(--bt-danger);
    border: 1px solid color-mix(in srgb, var(--bt-danger) 32%, transparent);
}

.bt-level-debug,
.bt-level-trace {
    background: var(--bt-primary-soft);
    color: var(--bt-primary);
    border: 1px solid color-mix(in srgb, var(--bt-primary) 30%, transparent);
}

.bt-log-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--bt-border);
    background: var(--bt-surface-muted);
    color: var(--bt-text-muted);
    font-size: 0.9rem;
}

.bt-log-pager-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.bt-log-dialog dl {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 0.5rem 0.8rem;
    margin: 0 0 1rem;
}

.bt-log-dialog dt {
    color: var(--bt-text-muted);
    font-weight: 850;
}

.bt-log-dialog dd {
    margin: 0;
    color: var(--bt-text);
    word-break: break-word;
}

.bt-log-detail-pre {
    max-height: 420px;
    overflow: auto;
    padding: 0.85rem;
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius-sm);
    background: var(--bt-surface-muted);
    color: var(--bt-text);
    font-size: 0.82rem;
    white-space: pre-wrap;
}

.bt-dialog-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

html[data-theme="dark"] .bt-log-filters label,
html[data-theme="dark"] .bt-log-dialog dt,
html[data-theme="dark"] .bt-log-time {
    color: rgba(255, 255, 255, 0.74);
}

html[data-theme="dark"] .bt-log-message,
html[data-theme="dark"] .bt-log-dialog dd,
html[data-theme="dark"] .bt-log-detail-pre {
    color: #ffffff;
}

.blazor-error-boundary {
    background: var(--bt-danger-soft);
    border: 1px solid var(--bt-danger);
    border-radius: var(--bt-radius);
    color: var(--bt-danger);
    padding: 1rem;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

#blazor-error-ui {
    color-scheme: light only;
    display: none;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 1000;
    padding: 0.85rem 1rem;
    border: 1px solid var(--bt-danger);
    border-radius: var(--bt-radius);
    background: var(--bt-danger-soft);
    box-shadow: var(--bt-shadow);
    color: var(--bt-danger);
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

@media (max-width: 1100px) {
    .bt-metric-grid,
    .bt-status-row {
        grid-template-columns: 1fr;
    }

    .bt-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .bt-brand-subtitle,
    .bt-user-chip {
        display: none;
    }

    .bt-page-frame {
        padding: 0.75rem;
    }

    .bt-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .bt-quick-grid {
        grid-template-columns: 1fr;
    }

    .bt-app-sidebar.rz-sidebar {
        width: min(86vw, var(--bt-sidebar-width)) !important;
    }
}
