html, body {
    font-family: 'Inter', 'Cairo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

code, pre, .mud-code {
    font-family: 'Fira Code', 'Courier New', Courier, monospace !important;
}

[dir="rtl"] {
    font-family: 'Cairo', 'Inter', sans-serif !important;
}

a, .btn-link {
    color: var(--mud-palette-primary);
}

.mud-typography-h1, .mud-typography-h2, .mud-typography-h3, .mud-typography-h4, .mud-typography-h5, .mud-typography-h6 {
    letter-spacing: -0.02em;
    font-family: 'Inter', 'Cairo', sans-serif !important;
}

.mud-typography-h1 { font-size: 2.5rem !important; font-weight: 700 !important; }
.mud-typography-h2 { font-size: 2rem !important; font-weight: 700 !important; }
.mud-typography-h3 { font-size: 1.75rem !important; font-weight: 600 !important; }
.mud-typography-h4 { font-size: 1.5rem !important; font-weight: 600 !important; }
.mud-typography-h5 { font-size: 1.25rem !important; font-weight: 600 !important; }
.mud-typography-h6 { font-size: 1.125rem !important; font-weight: 600 !important; }

.mud-typography-body1, .mud-typography-body2, .mud-button {
    font-family: 'Inter', 'Cairo', sans-serif !important;
}

.primary-text {
    color: var(--mud-palette-primary) !important;
}

.secondary-text {
    color: var(--mud-palette-secondary) !important;
}

.info-text {
    color: var(--mud-palette-info) !important;
}

.warning-text {
    color: var(--mud-palette-warning) !important;
}

.error-text {
    color: var(--mud-palette-error) !important;
}

.mud-table-head {
    background-color: var(--mud-palette-background) !important;
}

.mud-table-cell {
    color: var(--mud-palette-text-primary) !important;
    border-bottom: 1px solid var(--mud-palette-lines-default) !important;
}

.mud-paper {
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
    border-radius: 8px;
}

    .blazor-error-boundary::after {
        content: "An error has occurred.";
    }

/* Glassmorphism & High Contrast Cards */
.card-contrast {
    background: var(--mud-palette-surface) !important;
    border: 1px solid var(--mud-palette-lines-default) !important;
    color: var(--mud-palette-text-primary) !important;
}

.card-contrast:hover {
    border-color: var(--mud-palette-primary) !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--mud-palette-background);
}

::-webkit-scrollbar-thumb {
    background: var(--mud-palette-lines-default);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--mud-palette-primary);
}
/* Static (server-rendered) auth forms: plain inputs styled to match MudBlazor outlined fields. */
.nk-form { width: 100%; display: flex; flex-direction: column; gap: 1rem; }
.nk-form label { font-size: 0.85rem; font-weight: 600; color: var(--mud-palette-text-secondary); }
.nk-form input {
    width: 100%; box-sizing: border-box; padding: 0.85rem 1rem; font: inherit;
    border: 1px solid var(--mud-palette-lines-inputs); border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface); color: var(--mud-palette-text-primary);
}
.nk-form input:focus { outline: 2px solid var(--mud-palette-primary); border-color: transparent; }
.nk-form button[type=submit] {
    width: 100%; padding: 0.9rem; font: inherit; font-weight: 700; cursor: pointer; border: 0;
    border-radius: var(--mud-default-borderradius); background: var(--mud-palette-primary); color: var(--mud-palette-primary-text);
}
.nk-form button[type=submit]:hover { filter: brightness(1.08); }
.nk-key { font-family: 'Fira Code', monospace; word-break: break-all; padding: 0.75rem 1rem; border-radius: var(--mud-default-borderradius); background: var(--mud-palette-background-gray); }

/* Rendered Markdown (docs, blog) */
.nk-md h1, .nk-md h2, .nk-md h3 { margin: 1.4em 0 0.6em; font-weight: 700; }
.nk-md p { margin: 0 0 1em; }
.nk-md pre { background: #0d0d12; color: #64ffda; padding: 1rem; border-radius: 12px; overflow-x: auto; font-family: 'Fira Code', monospace; }
.nk-md code { font-family: 'Fira Code', monospace; font-size: 0.9em; }
.nk-md table { border-collapse: collapse; margin: 1em 0; }
.nk-md th, .nk-md td { border: 1px solid var(--mud-palette-lines-default); padding: 0.4em 0.8em; }
.nk-md blockquote { border-left: 4px solid var(--mud-palette-primary); margin: 1em 0; padding: 0.2em 1em; color: var(--mud-palette-text-secondary); }
.nk-md img { max-width: 100%; }
