:root {
    --brand-navy: #1a2130;
    --brand-navy-2: #2b3446;
    --brand-gold: #b8923c;
    --brand-gold-strong: #a67c2e;
    --brand-cream: #f6f4ef;
}

html, body {
    font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

/* ---- Marke: Typografie & Wortmarke ---- */
.mud-typography-h4, .mud-typography-h5, .mud-typography-h6 {
    font-family: 'Jost', 'Roboto', sans-serif;
    letter-spacing: 0.015em;
    font-weight: 500;
}

.brand-wordmark {
    font-family: 'Jost', 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 1.35rem;
    letter-spacing: 0.32em;
    line-height: 1;
    user-select: none;
    padding-right: 0.32em; /* gleicht das Tracking rechts aus */
}

.brand-wordmark .brand-flip { color: var(--brand-gold); }
.brand-wordmark .brand-side { color: #f4f2ec; }

/* Aktiver Navigationspunkt: dezente Gold-Kante */
.mud-nav-link.active {
    box-shadow: inset 3px 0 0 var(--brand-gold);
}

#blazor-error-ui {
    background: #b71c1c;
    color: #fff;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* ---- Login ---- */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: radial-gradient(1200px 600px at 50% -10%, #223049 0%, var(--brand-navy) 55%, #10151f 100%);
}

/* Login-Karte mit Hero-Banner */
.login-card {
    max-width: 460px;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
}

.login-hero {
    display: block;
    /* 1px über die Kartenränder hinaus, per overflow:hidden beschnitten -> keine weißen Streifen */
    width: calc(100% + 2px);
    margin-left: -1px;
    height: auto;
    background: #10151f; /* Fallback in Bannerfarbe, falls doch ein Sub-Pixel durchscheint */
}

.login-body {
    padding: 1.5rem 2rem 2rem;
}

.login-caption {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.72rem;
    color: #8a939f;
    margin-bottom: 1.35rem;
}

.login-label {
    display: block;
    font-size: 0.85rem;
    color: #55606e;
    margin-bottom: 0.3rem;
    letter-spacing: 0.02em;
}

.login-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.7rem 0.85rem;
    border: 1px solid #d3d0c8;
    border-radius: 8px;
    font-size: 1rem;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

    .login-input:focus {
        border-color: var(--brand-gold);
        box-shadow: 0 0 0 3px rgba(184, 146, 60, 0.18);
    }

.login-button {
    width: 100%;
    padding: 0.75rem;
    background: var(--brand-navy-2);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background 0.15s;
}

    .login-button:hover {
        background: #354057;
    }

/* ---- Kalender-Grid ---- */
.cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.cal-cell {
    min-height: 92px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 0;
    padding: 4px;
    overflow: hidden;
    background: var(--mud-palette-surface); /* hebt das Raster vom warmen Seitenhintergrund ab */
}

    .cal-cell.cal-other-month {
        opacity: 0.4;
    }

    .cal-cell.cal-today {
        border: 2px solid var(--brand-gold);
    }

.cal-daynum {
    font-size: 0.8rem;
    font-weight: 500;
    margin-bottom: 2px;
}

.cal-event {
    font-size: 0.72rem;
    line-height: 1.15;
    border-radius: 4px;
    padding: 1px 4px;
    margin-bottom: 2px;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cal-weekday {
    text-align: center;
    font-weight: 500;
    font-size: 0.8rem;
    padding: 4px 0;
    color: #777;
}

.cal-event-time {
    font-weight: 700;
    margin-right: 3px;
}

.cal-cell.cal-schoolhol {
    /* Amber-Tönung über der Zellfläche – funktioniert in Light und Dark */
    background: linear-gradient(rgba(255, 171, 0, 0.17), rgba(255, 171, 0, 0.17)), var(--mud-palette-surface);
}

.cal-holiday-label {
    font-size: 0.64rem;
    line-height: 1.05;
    color: #c62828;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}

/* ---- Datei-Liste ---- */
/* Abstand zwischen Dateiname und Datei-Infos (Größe/Datum) – hier anpassen: */
.file-name {
    margin-bottom: 0 !important;
    line-height: 1.3;
}

.file-meta {
    margin-top: 0 !important; /* <-- diesen Wert zum Verkleinern/Vergrößern ändern */
    line-height: 1.2;
}

/* ---- Time-Picker: nur Viertelstunden ---- */
/* Im Minuten-Modus nur 00/15/30/45 beschriften (passt zu MinuteSelectionStep=15).
   Die 12 Zahl-Labels sind die ersten Kinder; Viertel liegen auf 1,4,7,10. */
.mud-time-picker-minute .mud-clock-number:not(:nth-child(3n+1)) {
    display: none;
}

/* ---- Markdown ---- */
.md-content h1, .md-content h2, .md-content h3 { margin-top: 0.6em; }
.md-content p { margin: 0.4em 0; }
.md-content ul, .md-content ol { margin: 0.4em 0 0.4em 1.4em; }
.md-content a { color: var(--brand-gold-strong); }
.md-content img { max-width: 100%; }
