h1:focus {
    outline: none;
}

/* Native Eingabefelder der statischen Login-Seite im MudBlazor-Look */
.login-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

.login-field label {
    font-size: 0.85rem;
    color: rgba(0, 0, 0, 0.6);
    margin-bottom: 0.25rem;
}

.login-field input {
    padding: 0.75rem;
    font-size: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px;
}

.login-field input:focus {
    outline: 2px solid #1E3A5F;
    border-color: transparent;
}

/* Ruhige, klare Tabellenköpfe — Farben über Theme-Variablen (hell/dunkel) */
.mud-simple-table th {
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

/* Drag & Drop (Regeleditor und Kanban-Board) */
.rule-dropzone {
    min-height: 180px;
    border: 2px dashed var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 8px;
}

.rule-dropzone.mud-drop-zone-drag-over {
    border-color: var(--mud-palette-primary);
    background-color: rgba(110, 140, 190, 0.08);
}

.rule-block {
    cursor: grab;
}

#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 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;
}

/* Prominenter Onboarding-Menüpunkt „Erste Schritte" (nur Theme-Variablen, keine Hex-Werte). */
.nav-onboarding .mud-nav-link {
    color: var(--mud-palette-primary);
    font-weight: 600;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    margin-bottom: 8px;
}

.nav-onboarding .mud-nav-link .mud-nav-link-icon {
    color: var(--mud-palette-primary);
}

/* Einklappbare Navigationsleiste (Hamburger in der AppBar, MainLayout):
   body.nav-collapsed wird per JS getoggelt und in localStorage gemerkt. */
body.nav-collapsed .mud-drawer {
    display: none;
}

body.nav-collapsed .mud-main-content {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* Freigabe-Popup „Adminzugriff vorübergehend erlauben" (Shared/AdminAccessPrompt.razor):
   eigenes fixes Overlay, weil das statische Layout keinen MudDialogProvider hat.
   Farben ausschließlich aus dem Theme. */
.admin-access-overlay {
    position: fixed;
    inset: 0;
    z-index: 1500; /* über AppBar (MudBlazor ~1300) */
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--mud-palette-overlay-dark);
    padding: 16px;
}

.admin-access-card {
    max-width: 480px;
    width: 100%;
}

/* Einheitliche Mailzeile (Shared/MailRow.razor, Shared/MailRowHeader.razor).

   Bewusst ein RASTER statt Flexbox: Nur mit festen Spuren stehen Art, Datum, Zeit,
   Absender, Betreff, Fundort und Status in allen Zeilen untereinander — genauso
   ruhig ausgerichtet wie die Aktionssymbole. Die Statusspalte bleibt auch dann
   bestehen, wenn eine Ansicht keinen Status zeigt; sonst verrutschten die
   Symbole gegenüber Zeilen mit Status.

   Der Fundort bekommt eine feste, großzügige Spur: Postfach und Ordner stehen dort
   zweizeilig, und Ordnerpfade sind lang. Der Betreff nimmt nur den Rest.

   Auf schmalen Geräten fallen Spalten in dieser Reihenfolge weg: Fundort, Zeit,
   Absender, Status. Betreff und Aktionen bleiben immer. Farben aus dem Theme. */
.mail-row {
    display: grid;
    grid-template-columns:
        [art] 26px
        [datum] 80px
        [zeit] 42px
        [absender] minmax(110px, 180px)
        [betreff] minmax(0, 1fr)
        [merker] 26px
        [fundort] 300px
        [status] 108px
        [aktionen] max-content;
    align-items: center;
    column-gap: 12px;
    width: 100%;
    min-width: 0;
}

.mail-row-cell {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.mail-row-direction,
.mail-row-date,
.mail-row-time,
.mail-row-from {
    color: var(--mud-palette-text-secondary);
}

.mail-row-date,
.mail-row-time {
    font-variant-numeric: tabular-nums;
}

.mail-row-direction {
    display: flex;
    align-items: center;
}

.mail-row-subject {
    font-weight: 600;
}

.mail-row-marks {
    display: flex;
    align-items: center;
    gap: 2px;
    color: var(--mud-palette-text-secondary);
}

.mail-row-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    justify-self: end;
}

/* Mail-Spalte der Protokolle: Betreff einzeilig, darunter Absender + Eingangszeit. */
.log-mail {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    max-width: 340px;
}

.log-mail-subject,
.log-mail-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.log-mail-meta {
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
}

/* Fundort: Postfach und Ordner untereinander, beide einzeilig mit Ellipse. */
.mail-location {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    color: var(--mud-palette-text-secondary);
}

.mail-location-line {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    font-size: 0.75rem;
    line-height: 1.35;
}

.mail-location-line .mud-icon-root {
    font-size: 0.95rem;
    flex: 0 0 auto;
}

.mail-location-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-location-removed {
    color: var(--mud-palette-warning);
}

@media (max-width: 1500px) {
    .mail-row {
        grid-template-columns: 26px 80px 42px minmax(100px, 150px) minmax(0, 1fr) 26px 240px 108px max-content;
    }
}

@media (max-width: 1200px) {
    .mail-row {
        grid-template-columns: 26px 80px 42px minmax(100px, 170px) minmax(0, 1fr) 26px 108px max-content;
    }

    .mail-row-location {
        display: none;
    }
}

@media (max-width: 900px) {
    .mail-row {
        grid-template-columns: 26px 80px minmax(100px, 150px) minmax(0, 1fr) 26px 108px max-content;
    }

    .mail-row-time {
        display: none;
    }
}

@media (max-width: 600px) {
    .mail-row {
        grid-template-columns: 26px 80px minmax(0, 1fr) 26px max-content;
        column-gap: 8px;
    }

    .mail-row-time,
    .mail-row-from,
    .mail-row-status {
        display: none;
    }
}

/* Zweizeilige Kurzform für enge Stellen (Mailauswahl im Regeleditor). */
.mail-row-compact {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.3;
}

.mail-row-compact-subject,
.mail-row-compact-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-row-compact-subject {
    font-size: 0.8125rem;
}

.mail-row-compact-meta {
    font-size: 0.72rem;
}
