/* ============================================================
   Saraya Design-System
   Alle Farben zentral als Variablen — später in den Einstellungen
   änderbar. Eine Änderung hier färbt das ganze System um.
   ============================================================ */

:root {
    /* Marken-Farben (Saraya) */
    --gold: #C9A24B;
    --gold-hell: #D4AF6A;
    --gold-dunkel: #A8842F;
    --braun: #241710;
    --braun-hell: #3A2A1E;

    /* Arbeitsflächen (hell, ruhig, gut lesbar) */
    --bg-seite: #FAF6EE;        /* Seitenhintergrund (warmes Creme) */
    --bg-karte: #FFFFFF;        /* Karten / Felder */
    --bg-gedimmt: #EFE7D6;      /* dezente Flächen, inaktive Reiter */

    /* Text */
    --text: #241710;           /* Haupttext (dunkles Braun statt Schwarz) */
    --text-leise: #7A6A52;     /* sekundärer Text */
    --text-auf-dunkel: #C9BBA4;

    /* Linien */
    --linie: #E0D6C2;
    --linie-stark: #D8CCB4;

    /* Status-Farben (Spinde) — gedämpft, gut lesbar */
    --frei-bg: #EAF3DE;     --frei-rand: #A9CE6E;   --frei-text: #27500A;
    --aus-bg:  #FAEEDA;     --aus-rand:  #E0B968;   --aus-text:  #633806;
    --defekt-bg: #FCEBEB;   --defekt-rand: #E8A0A0; --defekt-text: #791F1F;
    --putz-bg: #E6F1FB;     --putz-rand: #85B7EB;   --putz-text: #0C447C;

    /* Maße */
    --radius: 10px;
    --radius-gross: 14px;

    /* Schriften */
    --font-titel: Georgia, 'Times New Roman', serif;
    --font-text: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ---------- Grundlagen ---------- */
* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font-text);
    background: var(--bg-seite);
    color: var(--text);
    font-size: 15px;
    line-height: 1.5;
}

a { color: var(--gold-dunkel); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ---------- Navigationsleiste ---------- */
.nav {
    background: var(--braun);
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 100;
}
.nav-marke {
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.nav-marke .logo {
    font-family: var(--font-titel);
    font-size: 22px;
    color: var(--gold-hell);
    letter-spacing: 0.5px;
}
.nav-marke .untertitel {
    font-size: 11px;
    color: #9C8A6E;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.nav-links {
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: 14px;
}
.nav-links a {
    color: var(--text-auf-dunkel);
    text-decoration: none;
    padding-bottom: 3px;
    transition: color 0.15s;
}
.nav-links a:hover { color: var(--gold-hell); }
.nav-links a.aktiv {
    color: var(--gold-hell);
    border-bottom: 2px solid var(--gold-hell);
}
.nav-user {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text-auf-dunkel);
    font-size: 14px;
}
.nav-logout-form { margin: 0; display: inline; }
.nav-logout {
    background: rgba(255,255,255,0.12); color: var(--text-auf-dunkel);
    border: 1px solid rgba(255,255,255,0.25); border-radius: 8px;
    padding: 5px 14px; font-size: 13px; font-weight: 600; cursor: pointer;
    margin-left: 4px; transition: all 0.12s;
}
.nav-logout:hover { background: rgba(255,255,255,0.22); }

/* ---------- Seiteninhalt ---------- */
.inhalt {
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px;
}
h1 {
    font-family: var(--font-titel);
    font-weight: normal;
    font-size: 28px;
    margin: 0 0 4px;
}

/* ---------- Warnungs-Kacheln ---------- */
.warnungen { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.warnung {
    display: flex; align-items: center; gap: 10px;
    border-radius: var(--radius);
    padding: 9px 14px;
    font-size: 13px;
    border: 1px solid;
}
.warnung .zahl {
    color: #fff; font-size: 12px;
    border-radius: 20px; padding: 1px 9px;
}
.warnung.rot   { background: var(--defekt-bg); border-color: var(--defekt-rand); color: var(--defekt-text); }
.warnung.rot .zahl { background: #A32D2D; }
.warnung.gelb  { background: var(--aus-bg); border-color: var(--aus-rand); color: var(--aus-text); }
.warnung.gelb .zahl { background: #854F0B; }
.warnung.klickbar { cursor: pointer; transition: transform 0.1s, box-shadow 0.1s; }
.warnung.klickbar:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(36,23,16,0.12); }

/* Warn-Detail-Liste im Dialog */
.warn-liste { margin: 6px 0 16px; }
.warn-zeile {
    display: flex; align-items: center; justify-content: space-between;
    padding: 9px 2px; border-bottom: 1px solid var(--linie);
    font-size: 14px;
}
.warn-zeile:last-child { border-bottom: none; }
.warn-link { color: var(--gold-dunkel, #8a6a2a); font-weight: 600; text-decoration: none; }
.warn-link:hover { text-decoration: underline; }
.warn-name { font-weight: 600; }
.warn-info { font-size: 12.5px; color: var(--text-leise); }

/* ---------- Statistik-Pillen ---------- */
.statistik { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.stat-pille {
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    padding: 8px 14px;
    font-size: 13px;
}
.stat-pille .wert { font-size: 16px; font-weight: 600; margin-left: 4px; }

/* ---------- Garderoben-Block ---------- */
.garderobe-kopf {
    display: flex; align-items: center; gap: 10px;
    margin: 26px 0 12px;
}
.garderobe-kopf .balken {
    width: 6px; height: 20px;
    background: var(--gold); border-radius: 2px;
}
.garderobe-kopf .name { font-size: 15px; font-weight: 600; }
.garderobe-kopf .bereich { font-size: 12px; color: var(--text-leise); }
.garderobe-kopf .anzahl {
    margin-left: auto;
    background: var(--bg-gedimmt); color: var(--text-leise);
    font-size: 12px; border-radius: 20px; padding: 2px 11px;
}

/* ---------- Spind-Raster ---------- */
.spind-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
    gap: 8px;
}
.spind {
    border-radius: var(--radius);
    padding: 6px 4px;
    text-align: center;
    border: 1px solid;
    cursor: pointer;
    transition: transform 0.1s;
    user-select: none;
    height: 62px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.spind:hover { transform: translateY(-1px); }
.spind .nummer { font-size: 14px; font-weight: 600; line-height: 1.2; }
.spind .groesse { font-size: 11px; opacity: 0.75; }
.spind .name {
    font-family: var(--font-titel);
    font-size: 12px; font-style: italic;
    line-height: 1.15; margin-top: 1px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.spind .warnzeit { font-size: 10px; }

.spind.frei   { background: var(--frei-bg);   border-color: var(--frei-rand);   color: var(--frei-text); }
.spind.aus    { background: var(--aus-bg);    border-color: var(--aus-rand);    color: var(--aus-text); }
.spind.defekt { background: var(--defekt-bg); border-color: var(--defekt-rand); color: var(--defekt-text); }
.spind.putz   { background: var(--putz-bg);   border-color: var(--putz-rand);   color: var(--putz-text); }
.spind.person { background: var(--braun);     border-color: var(--gold-hell);   color: var(--gold-hell); }
.spind.personal { background: #1f4f4a; border-color: #5fa89c; color: #b8e0d8; }

/* ---------- Zimmer-Raster ---------- */
.zimmer-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.zimmer-kachel {
    border-radius: 10px;
    border: 1px solid;
    padding: 22px 14px;
    text-align: center;
    cursor: pointer;
    transition: transform 0.1s, box-shadow 0.1s;
    user-select: none;
    min-height: 100px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.zimmer-kachel:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(36,23,16,0.15); }
.zimmer-kachel.frei { background: #eef3e3; border-color: #b9d18a; color: #4a6b1e; }
.zimmer-kachel.belegt { background: #3a2818; border-color: var(--gold); color: var(--gold-hell); }
.zimmer-kachel.reserviert { background: #f5e6c4; border-color: #d4a73a; color: #7a5a18; }
.zimmer-kachel.vip { border-width: 2px; border-color: var(--gold); box-shadow: 0 0 0 2px rgba(201,162,75,0.25) inset; }
.zimmer-kachel.vip.frei { background: #fbf4e2; }
.zimmer-kachel.vip.reserviert { background: #f0dba8; }
.zk-res { font-size: 11px; margin-top: 5px; font-weight: 600; line-height: 1.3; }
.zk-nummer { font-size: 22px; font-weight: 700; font-family: var(--font-titel); }
.zk-name { font-size: 13px; font-style: italic; margin-top: 4px; }
.zk-notiz { font-size: 10px; margin-top: 5px; color: #c25555; font-weight: 600; }
.zimmer-kachel.belegt .zk-notiz { color: #f0a8a8; }
.vip-stern { font-size: 14px; margin-right: 3px; color: var(--gold); }
.zimmer-kachel.belegt .vip-stern { color: var(--gold-hell); }
.tab-notiz { color: #c25555; font-weight: 600; }
.zimmer-dame-zeile {
    display: flex; align-items: center; justify-content: space-between;
    padding: 6px 0; border-bottom: 1px solid var(--linie);
    font-size: 14px;
}
.zimmer-dame-zeile:last-child { border-bottom: none; }
.dialog-btn.klein { padding: 4px 12px; font-size: 12px; }
.res-banner {
    background: #fbf2dd; border: 1px solid #d4a73a;
    border-radius: var(--radius); padding: 10px 12px; font-size: 13px; color: #7a5a18;
}
.res-zeile { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.res-tage { width: 130px; padding: 8px 10px; border: 1px solid var(--linie-stark); border-radius: var(--radius); font-size: 14px; }
.res-datum { flex: 1; padding: 8px 10px; border: 1px solid var(--linie-stark); border-radius: var(--radius); font-size: 14px; }
.res-oder { font-size: 12px; color: var(--text-leise); }
.dialog-btn.gold-btn { background: var(--gold); border: 1px solid var(--gold); color: #fff; }
.dialog-btn.gold-btn:hover { background: #b5862a; }
.dialog-btn.grau-btn { background: none; border: 1px solid var(--linie-stark); color: var(--text-leise); }
.dialog-btn.grau-btn:hover { background: var(--bg-gedimmt); }

.reserviert-hinweis { font-size: 7.5px; opacity: 0.7; line-height: 1; margin-top: 1px; }
.stammgast-stern { font-size: 9px; opacity: 0.8; margin-right: 1px; }
.reserviert-banner {
    background: var(--aus-bg); border: 1px solid var(--aus-rand);
    border-radius: var(--radius); padding: 8px 12px; margin-bottom: 14px;
    font-size: 13px; color: var(--aus-text);
}
.dialog-btn.grau-btn { background: none; border: 1px solid var(--linie-stark); color: var(--text-leise); }
.dialog-btn.grau-btn:hover { background: var(--bg-gedimmt); }

/* ---------- Legende ---------- */
.legende { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; font-size: 12px; color: var(--text-leise); }
.legende span { display: flex; align-items: center; gap: 6px; }
.legende .punkt { width: 11px; height: 11px; border-radius: 3px; border: 1px solid; }
.legende .punkt.frei   { background: var(--frei-bg);   border-color: var(--frei-rand); }
.legende .punkt.aus    { background: var(--aus-bg);    border-color: var(--aus-rand); }
.legende .punkt.defekt { background: var(--defekt-bg); border-color: var(--defekt-rand); }
.legende .punkt.person { background: var(--braun);     border-color: var(--gold-hell); }
.legende .punkt.personal { background: #1f4f4a; border-color: #5fa89c; }
.legende .punkt.kaution { background: #6b4a8a; border-color: #b89cd4; }

/* ---------- Seiten-Kopf & Damen-Liste ---------- */
.seiten-kopf { display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px; }
.seiten-anzahl {
    background: var(--bg-gedimmt); color: var(--text-leise);
    font-size: 13px; border-radius: 20px; padding: 2px 11px;
}
.suche-leiste { display: flex; gap: 8px; margin-bottom: 22px; align-items: center; }
.suche-leiste input {
    flex: 1; max-width: 360px;
    padding: 10px 13px;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    font-size: 15px;
}
.suche-leiste button {
    padding: 10px 18px;
    background: var(--gold); color: var(--braun);
    border: none; border-radius: var(--radius);
    font-weight: 600; cursor: pointer;
}
.suche-leiste button:hover { background: var(--gold-hell); }
.suche-reset {
    color: var(--text-leise); font-size: 22px;
    text-decoration: none; padding: 0 6px;
}

.damen-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

/* Status-Gruppen */
.status-gruppe { margin-bottom: 28px; }
.status-gruppe-kopf {
    display: flex; align-items: center; gap: 9px;
    margin-bottom: 12px;
    font-size: 14px; font-weight: 600;
}
.status-gruppe-kopf .sgk-punkt {
    width: 12px; height: 12px; border-radius: 50%;
}
.status-gruppe-kopf .sgk-anzahl {
    font-size: 12px; border-radius: 20px; padding: 1px 9px;
    background: var(--bg-gedimmt); color: var(--text-leise);
}
/* Farben je Status */
.status-gruppe-kopf.arbeitet { color: #2c6e0e; }
.status-gruppe-kopf.arbeitet .sgk-punkt { background: #5fa524; }
.status-gruppe-kopf.anwesend { color: #856016; }
.status-gruppe-kopf.anwesend .sgk-punkt { background: #d4a73a; }
.status-gruppe-kopf.abwesend { color: #7a7a7a; }
.status-gruppe-kopf.abwesend .sgk-punkt { background: #b0b0b0; }
.status-gruppe-kopf.urlaub { color: #2f6090; }
.status-gruppe-kopf.urlaub .sgk-punkt { background: #5b94c8; }
.status-gruppe-kopf.weg { color: #9a2a2a; }
.status-gruppe-kopf.weg .sgk-punkt { background: #c25555; }
.status-gruppe-kopf.neutral { color: var(--text-leise); }
.status-gruppe-kopf.neutral .sgk-punkt { background: var(--linie-stark); }

.damen-listen-karte {
    display: block;
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-left: 4px solid var(--linie-stark);
    border-radius: var(--radius);
    padding: 14px 16px;
    text-decoration: none;
    color: var(--text);
    transition: all 0.12s;
}
.damen-listen-karte:hover {
    transform: translateY(-1px);
    text-decoration: none;
}
/* Farbiger linker Rand je Status */
.damen-listen-karte.arbeitet { border-left-color: #5fa524; }
.damen-listen-karte.anwesend { border-left-color: #d4a73a; }
.damen-listen-karte.abwesend { border-left-color: #b0b0b0; }
.damen-listen-karte.urlaub { border-left-color: #5b94c8; }
.damen-listen-karte.weg { border-left-color: #c25555; }
.dlk-kopf { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.dlk-name { font-family: var(--font-titel); font-size: 18px; }
.dlk-tag {
    font-size: 10px; font-weight: 600;
    border-radius: 10px; padding: 1px 7px;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.dlk-tag.hot { background: #FCE4E4; color: #B23535; }
.dlk-tag.neu { background: #E2F0D8; color: #3E7018; }
.dlk-tag.pruefung { background: var(--aus-bg); color: var(--aus-text); }
.dlk-zeile { margin-top: 6px; }
.dlk-status { font-size: 13px; color: var(--text-leise); }
.dlk-meta { display: flex; gap: 14px; margin-top: 8px; font-size: 12px; color: var(--text-leise); }
.leer-gross {
    grid-column: 1 / -1;
    padding: 40px; text-align: center;
    color: var(--text-leise); font-style: italic;
    border: 1px dashed var(--linie-stark);
    border-radius: var(--radius);
}

/* ---------- Damen-Detailseite ---------- */
.zurueck { display: inline-block; margin-bottom: 14px; font-size: 14px; color: var(--text-leise); }
.detail-kopf { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.detail-spalten { display: grid; grid-template-columns: 1fr 280px; gap: 22px; }
.detail-block {
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    padding: 18px 20px;
    margin-bottom: 16px;
}
.block-titel {
    font-size: 13px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px;
    color: var(--text-leise); margin-bottom: 14px;
    display: flex; align-items: center; gap: 8px;
}
.info-zeilen { display: flex; flex-direction: column; gap: 9px; font-size: 15px; }
.info-zeilen .label {
    display: inline-block; min-width: 120px;
    color: var(--text-leise); font-size: 13px;
}
.detail-beschreibung { margin-top: 14px; color: var(--text); line-height: 1.6; }
.service-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.service-chip {
    background: var(--bg-gedimmt);
    border-radius: 20px; padding: 5px 12px;
    font-size: 13px; color: var(--text);
}
/* Sensible Blöcke: dezent goldlich umrandet */
.detail-block.sensibel { border-color: var(--gold); border-left: 3px solid var(--gold); }
.sensibel-hinweis {
    background: var(--aus-bg); color: var(--aus-text);
    font-size: 10px; border-radius: 10px; padding: 1px 8px;
    text-transform: none; letter-spacing: 0;
}
.detail-block.gesperrt {
    background: var(--bg-gedimmt);
    border: 1px dashed var(--linie-stark);
}
.gesperrt-text { color: var(--text-leise); font-size: 14px; text-align: center; padding: 10px; }
.detail-leer { color: var(--text-leise); font-style: italic; font-size: 14px; }
.dok-ablauf { color: var(--text-leise); font-size: 12px; margin-left: 8px; }
.foto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.detail-foto { width: 100%; border-radius: var(--radius); aspect-ratio: 3/4; object-fit: cover; }

/* ---------- Dame-Formular ---------- */
.dame-form { max-width: 720px; }
.form-block {
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    padding: 20px 22px;
    margin-bottom: 16px;
}
.form-block.sensibel { border-color: var(--gold); border-left: 3px solid var(--gold); }
.form-feld { margin-bottom: 14px; }
.form-feld label { display: block; font-size: 13px; color: var(--text-leise); margin-bottom: 5px; }
.form-feld input[type=text],
.form-feld input[type=date],
.form-feld textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    font-size: 15px;
    font-family: var(--font-text);
}
.form-feld select {
    width: 100%;
    padding: 10px 34px 10px 12px;
    font-size: 15px;
    font-family: var(--font-text);
}
.form-feld input:focus, .form-feld select:focus, .form-feld textarea:focus {
    outline: none; border-color: var(--gold);
}
.form-reihe { display: flex; gap: 14px; flex-wrap: wrap; }
.form-reihe .form-feld { flex: 1; min-width: 120px; }
.check { display: flex; align-items: center; gap: 7px; font-size: 15px; color: var(--text); }

/* Spind-Auswahl im Formular */
.spind-auswahl {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
    gap: 6px;
    max-height: 220px;
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    background: var(--bg-seite);
}
.spind-option {
    display: flex; align-items: center; justify-content: center;
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    padding: 8px 4px;
    font-size: 14px; cursor: pointer;
    text-align: center;
    transition: all 0.1s;
}
.spind-option:hover { border-color: var(--gold); }
.spind-option.aktiv { background: var(--frei-bg); border-color: var(--frei-rand); color: var(--frei-text); font-weight: 600; }
.spind-option input { display: none; }

/* Service-Liste im Formular */
.service-hinweis { font-size: 12px; color: var(--text-leise); font-weight: 400; margin-left: 6px; }
.service-liste {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 18px;
}
.service-zeile {
    display: flex; align-items: center; gap: 8px;
    padding: 4px 0;
}
.service-check {
    flex: 1; display: flex; align-items: center; gap: 7px;
    font-size: 14px; color: var(--text); cursor: pointer;
}
.service-preis {
    width: 64px; padding: 5px 8px;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius); font-size: 13px;
    text-align: right;
}

/* Sprach-Häkchen */
.sprach-haken { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 9px; }
.sprach-check { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--text); cursor: pointer; }
.sprach-extra {
    width: 100%; padding: 9px 11px;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius); font-size: 14px;
}

/* Dokument-Upload */
.dokument-zeile {
    display: flex; align-items: center; gap: 12px;
    padding: 9px 0; border-bottom: 1px solid var(--linie);
    flex-wrap: wrap;
}
.dokument-zeile:last-of-type { border-bottom: none; }
.dok-label { min-width: 130px; font-size: 14px; color: var(--text); }
.dok-vorhanden { display: block; font-size: 11px; color: var(--frei-text); margin-top: 2px; }
.dok-datei { flex: 1; font-size: 13px; min-width: 160px; }
.dok-gueltig {
    padding: 6px 9px; border: 1px solid var(--gold);
    border-radius: var(--radius); font-size: 13px;
}
.dok-hinweis { font-size: 12px; color: var(--text-leise); margin: 10px 0 0; font-style: italic; }
.form-fehler {
    background: var(--defekt-bg); color: var(--defekt-text);
    border: 1px solid var(--defekt-rand);
    border-radius: var(--radius); padding: 11px 15px; margin-bottom: 16px;
}
.form-aktionen { display: flex; align-items: center; gap: 14px; margin-top: 8px; }
.form-btn {
    padding: 12px 28px;
    background: var(--gold); color: var(--braun);
    border: none; border-radius: var(--radius);
    font-size: 15px; font-weight: 600; cursor: pointer;
}
.form-btn:hover { background: var(--gold-hell); }
.form-abbrechen { color: var(--text-leise); font-size: 14px; }
.neue-dame-btn {
    margin-left: auto;
    padding: 9px 18px;
    background: var(--gold); color: var(--braun);
    border-radius: var(--radius); font-weight: 600;
    font-size: 14px; text-decoration: none;
}
.neue-dame-btn:hover { background: var(--gold-hell); text-decoration: none; }

/* ---------- Freigabe-Banner ---------- */
.freigabe-banner {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    border-radius: var(--radius);
    padding: 14px 18px;
    margin-bottom: 20px;
}
.freigabe-banner.pruefung {
    background: var(--aus-bg);
    border: 1px solid var(--aus-rand);
}
.freigabe-banner.frei {
    background: var(--frei-bg);
    border: 1px solid var(--frei-rand);
}
.fb-text { font-size: 14px; color: var(--text); }
.fb-text strong { display: block; margin-bottom: 2px; }
.fb-btn {
    border: none; border-radius: var(--radius);
    padding: 10px 20px; font-size: 14px; font-weight: 600;
    cursor: pointer; white-space: nowrap;
}
.fb-btn.gruen { background: var(--frei-rand); color: #1c3a06; }
.fb-btn.gruen:hover { background: #9bc35f; }
.fb-btn.grau { background: none; border: 1px solid var(--linie-stark); color: var(--text-leise); }
.fb-btn.grau:hover { background: var(--bg-gedimmt); }

/* ---------- Übersicht 'wer hat was' ---------- */
.seiten-unter { color: var(--text-leise); font-size: 14px; margin: 0 0 22px; }
.uebersicht-block {
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    padding: 18px 20px;
    margin-bottom: 18px;
}
.uebersicht-zwei {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.uebersicht-tabelle { width: 100%; border-collapse: collapse; font-size: 14px; }
.uebersicht-tabelle th {
    text-align: left;
    font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;
    color: var(--text-leise); font-weight: 600;
    padding: 8px 10px; border-bottom: 2px solid var(--linie);
}
.uebersicht-tabelle td {
    padding: 9px 10px;
    border-bottom: 1px solid var(--linie);
    color: var(--text);
}
.uebersicht-tabelle tr:last-child td { border-bottom: none; }
.uebersicht-tabelle tr.ohne-zuordnung td { color: var(--text-leise); }
.uebersicht-tabelle a { color: var(--gold-dunkel); font-weight: 500; }
.leer-zelle { color: var(--text-leise); font-style: italic; text-align: center; padding: 16px; }

/* ---------- Spind-Dialog (Overlay) ---------- */
.overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(36, 23, 16, 0.55);
    align-items: center; justify-content: center;
    z-index: 1000;
}
.dialog {
    background: var(--bg-karte);
    border-radius: var(--radius-gross);
    padding: 24px;
    width: 340px;
    max-width: 92vw;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}
.dialog-titel {
    font-family: var(--font-titel);
    font-size: 20px;
    margin-bottom: 18px;
    color: var(--text);
}
.dialog-bereich { display: none; }
.dialog-feld { margin-bottom: 14px; }
.dialog-feld label { display: block; font-size: 13px; color: var(--text-leise); margin-bottom: 5px; }
.radio-zeile { display: flex; gap: 18px; }
.radio-zeile label { display: flex; align-items: center; gap: 6px; color: var(--text); font-size: 15px; }
.dialog-feld input[type=text] {
    width: 100%; padding: 9px 11px;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    font-size: 15px;
}
.dialog-feld select {
    width: 100%; padding: 9px 34px 9px 11px;
    font-size: 15px;
}
.dialog-btn {
    width: 100%; padding: 11px;
    border: none; border-radius: var(--radius);
    font-size: 15px; font-weight: 600; cursor: pointer;
    margin-top: 6px;
}
.dialog-btn.gruen { background: var(--frei-rand); color: #1c3a06; }
.dialog-btn.gruen:hover { background: #9bc35f; }
.dialog-btn.klein { width: auto; padding: 8px 12px; font-size: 13px; font-weight: 500; }
.dialog-btn.rot { background: var(--defekt-bg); color: var(--defekt-text); border: 1px solid var(--defekt-rand); }
.dialog-btn.rot:hover { background: #f7dede; }
.dialog-trenner { border: none; border-top: 1px solid var(--linie); margin: 18px 0 14px; }
.dialog-defekt-titel { font-size: 13px; color: var(--text-leise); margin-bottom: 10px; }
.defekt-knoepfe { display: flex; flex-wrap: wrap; gap: 7px; }
.defekt-notiz {
    width: 100%; padding: 8px 11px;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    font-size: 14px; margin-bottom: 9px;
}
.defekt-text {
    font-size: 8.5px; line-height: 1.05; text-align: center;
    margin-top: 1px; font-weight: 600;
    max-height: 30px; overflow: hidden;
}
.defekt-notiz-text { display: block; font-weight: 400; opacity: 0.8; font-size: 8px; margin-top: 1px; }
.dialog-info { font-size: 14px; color: var(--text-leise); margin: 0 0 14px; }
.dialog-abbrechen {
    width: 100%; padding: 9px; margin-top: 14px;
    background: none; border: 1px solid var(--linie-stark);
    border-radius: var(--radius); color: var(--text-leise);
    font-size: 14px; cursor: pointer;
}
.dialog-abbrechen:hover { background: var(--bg-gedimmt); }
.spind { cursor: pointer; }
.kaution-bereich { margin-top: 30px; }
.kaution-liste {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px;
}
.kaution-karte {
    background: var(--bg-karte);
    border: 1px solid var(--gold);
    border-radius: var(--radius);
    padding: 12px 14px;
}
.kaution-nummer { font-weight: 600; font-size: 15px; color: var(--gold-dunkel); }
.kaution-inhaber { font-size: 14px; color: var(--text); margin-top: 3px; }
.kaution-typ {
    font-size: 11px; color: var(--text-leise);
    background: var(--bg-gedimmt); border-radius: 10px;
    padding: 1px 7px; margin-left: 4px;
}
.kaution-betrag { font-size: 13px; color: var(--text-leise); margin-top: 3px; }

/* ---------- Damen-Bereich (Ein-/Auschecken) ---------- */
.damen-bereich { margin-top: 40px; border-top: 1px solid var(--linie); padding-top: 24px; }
.damen-titel {
    font-family: var(--font-titel);
    font-weight: normal;
    font-size: 22px;
    margin: 0 0 18px;
}
.damen-spalten {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}
.spalte-kopf {
    display: flex; align-items: center; gap: 10px;
    font-size: 13px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px;
    color: var(--text-leise);
    margin-bottom: 12px;
}
.spalte-kopf.arbeitet { color: var(--frei-text); }
.spalte-kopf .anzahl {
    background: var(--bg-gedimmt); color: var(--text-leise);
    font-size: 12px; border-radius: 20px; padding: 1px 9px;
    letter-spacing: 0;
}
.spalte-kopf.arbeitet .anzahl {
    background: var(--frei-bg); color: var(--frei-text);
}

/* Kompaktes Raster: viele Namen nebeneinander (gut für bis zu 50 Damen) */
.damen-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
}
.damen-raster form { margin: 0; }
.dame-kachel {
    width: 100%;
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-radius: 12px;
    padding: 16px 14px;
    cursor: pointer;
    color: var(--text);
    text-align: center;
    transition: all 0.12s;
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    min-height: 72px; justify-content: center;
}
.dk-name { font-size: 18px; font-weight: 600; }
.dk-info { display: flex; gap: 8px; font-size: 12px; flex-wrap: wrap; justify-content: center; }
.dk-zeit { color: var(--text-leise); }
.dk-zimmer { background: rgba(0,0,0,0.06); padding: 1px 8px; border-radius: 8px; font-weight: 600; }
.dk-preis { background: var(--braun); color: var(--gold-hell); padding: 1px 9px; border-radius: 8px; font-weight: 700; }
.dk-aktion { color: var(--text-leise); font-size: 11.5px; opacity: 0.7; }
/* Noch nicht im Haus: heller Sand, beim Hover Gold (= wird eingecheckt) */
.dame-kachel:hover {
    border-color: var(--gold);
    background: #f5ecd8;
    color: var(--braun);
    transform: translateY(-1px);
}
/* Arbeitende: warmes Gold/Beige hinterlegt (hebt sich klar von grünen Spinden ab) */
.dame-kachel.arbeitet {
    background: #ede0c4;
    border-color: var(--gold);
    color: var(--braun);
}
.dame-kachel.arbeitet:hover {
    background: #e3d0a8;
    border-color: var(--gold-dunkel, #a5832f);
    color: var(--braun);
    transform: translateY(-1px);
}
.dk-spaet {
    display: inline-block; margin-top: 3px;
    background: #d32f2f; color: #fff; font-size: 10.5px; font-weight: 700;
    padding: 1px 9px; border-radius: 10px; letter-spacing: 0.3px;
}
.leer {
    grid-column: 1 / -1;
    color: var(--text-leise);
    font-style: italic;
    padding: 16px;
    text-align: center;
    border: 1px dashed var(--linie-stark);
    border-radius: var(--radius);
    font-size: 14px;
}

/* ===================== Berichte-Seite ===================== */
.sicht-nav {
    display: flex; align-items: center; gap: 16px;
    background: var(--karte-bg, #fff); border: 1px solid var(--linie);
    border-radius: 10px; padding: 12px 18px; margin-bottom: 18px;
}
.sicht-info { flex: 1; text-align: center; }
.sicht-titel { font-size: 16px; font-weight: 600; font-family: var(--font-titel); color: var(--braun); }
.sicht-zeit { font-size: 12px; color: var(--text-leise); margin-top: 2px; }
.sicht-badge { background: #5fa524; color: #fff; font-size: 10px; padding: 1px 8px; border-radius: 10px; margin-left: 8px; vertical-align: middle; }
.sicht-pfeil { color: var(--gold-dunkel, #8a6a2a); text-decoration: none; font-size: 13px; font-weight: 600; white-space: nowrap; }
.sicht-pfeil:hover { text-decoration: underline; }
.sicht-pfeil.leer { color: var(--linie-stark); cursor: default; }

.bericht-counter { display: flex; gap: 16px; margin-bottom: 24px; }
.counter-box.gross {
    flex: 1; background: var(--braun); color: var(--gold-hell);
    border-radius: 12px; padding: 22px; text-align: center;
}
.counter-box.gross.gruen { background: #2e5a34; color: #c8e6c9; }
.counter-zahl { font-size: 42px; font-weight: 700; font-family: var(--font-titel); line-height: 1; }
.counter-label { font-size: 13px; margin-top: 8px; opacity: 0.9; }

.zeitfenster { font-size: 13px; white-space: nowrap; }
.zf-dauer { font-size: 11px; color: var(--text-leise); }
.laeuft-tag { color: #5fa524; font-weight: 600; }

/* Dashboard Gäste-Counter */
.gaeste-counter { display: flex; gap: 14px; margin: 14px 0 4px; }
.gc-box {
    flex: 1; background: var(--braun); color: var(--gold-hell);
    border-radius: 10px; padding: 14px 18px; text-decoration: none;
    display: flex; align-items: center; gap: 14px;
    transition: transform 0.1s;
}
.gc-box:hover { transform: translateY(-1px); }
.gc-box.gruen { background: #2e5a34; color: #c8e6c9; }
.gc-box.gold { background: #8a6a2a; color: #f5e9cc; }
.gc-box.gold-aktiv { background: #b08a3a; color: #fff5e0; }
.gc-zahl { font-size: 30px; font-weight: 700; font-family: var(--font-titel); line-height: 1; }
.gc-label { font-size: 13px; opacity: 0.9; }

/* ===================== Berichte-Tabellen (TGN-Stil, hübsch) ===================== */
.block-zahl {
    background: var(--gold); color: #fff; font-size: 12px;
    padding: 1px 9px; border-radius: 10px; margin-left: 8px; font-weight: 600;
    vertical-align: middle;
}
.bericht-tabelle { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.bericht-tabelle thead th {
    text-align: left; padding: 9px 12px; font-size: 11px; text-transform: uppercase;
    letter-spacing: 0.5px; color: var(--text-leise); border-bottom: 2px solid var(--linie-stark);
    font-weight: 600;
}
.bericht-tabelle tbody td { padding: 10px 12px; border-bottom: 1px solid var(--linie); }
.bericht-tabelle tbody tr:hover td { background: var(--bg-gedimmt, #faf6ee); }
.b-name { font-weight: 600; color: var(--braun); }
.b-zeit { color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.b-dauer { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.b-von { color: var(--text-leise); font-size: 12.5px; }
.b-spind { white-space: nowrap; }
.b-typ { font-size: 12px; }
.typ-gast { color: #5b7fa8; }
.typ-dame { color: #8a5a2a; }
.typ-personal { color: #2e7d6b; }
.spind-mehrfach { font-size: 10px; color: var(--gold-dunkel, #8a6a2a); font-weight: 600; }
/* Folge-Zeilen desselben Spinds dezent einrücken/abheben */
.spind-folge td { border-bottom: 1px solid var(--linie); }
.spind-folge .b-spind { border-left: 2px solid var(--linie-stark); }
.spind-erste td { border-top: 1px solid var(--linie-stark); }
.laeuft-tag { color: #5fa524; font-weight: 600; }

/* ===================== Berichte TGN-Stil ===================== */
.bericht-tabs {
    display: flex; gap: 4px; border-bottom: 2px solid var(--linie);
    margin-bottom: 20px;
}
.btab {
    background: none; border: none; cursor: pointer;
    padding: 11px 20px; font-size: 14px; color: var(--text-leise);
    border-bottom: 2px solid transparent; margin-bottom: -2px;
    font-family: inherit; transition: color 0.15s;
}
.btab:hover { color: var(--braun); }
.btab.aktiv { color: var(--gold-dunkel, #8a6a2a); border-bottom-color: var(--gold); font-weight: 600; }

.datum-leiste {
    display: flex; align-items: flex-end; gap: 14px;
    margin-bottom: 22px; flex-wrap: wrap;
}
.dl-feld { display: flex; flex-direction: column; gap: 4px; }
.dl-feld label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-leise); }
.dl-feld input {
    padding: 8px 11px; border: 1px solid var(--linie-stark);
    border-radius: var(--radius); font-size: 14px;
}
.dl-btn {
    padding: 9px 22px; background: var(--gold); color: #fff; border: none;
    border-radius: var(--radius); font-size: 14px; cursor: pointer; font-weight: 600;
}
.dl-btn:hover { background: #b5862a; }
.dl-info { font-size: 12px; color: var(--text-leise); margin-left: auto; align-self: center; }

.bericht-summe { font-size: 13px; color: var(--text-leise); margin-bottom: 14px; }
.bericht-leer { padding: 40px; text-align: center; color: var(--text-leise); font-size: 14px; }

.tag-block { margin-bottom: 26px; }
.tag-kopf {
    font-size: 15px; font-weight: 600; font-family: var(--font-titel);
    color: var(--braun); padding: 8px 0; margin-bottom: 2px;
}
.tag-zahl { font-size: 13px; color: var(--text-leise); font-weight: 400; font-family: inherit; }

.bericht-tabelle { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.bericht-tabelle thead th {
    text-align: left; padding: 8px 12px; font-size: 11px; text-transform: uppercase;
    letter-spacing: 0.5px; color: var(--text-leise); border-bottom: 1px solid var(--linie-stark);
    font-weight: 600;
}
.bericht-tabelle tbody td { padding: 9px 12px; border-bottom: 1px solid var(--linie); }
.bericht-tabelle tbody tr:hover td { background: #faf6ee; }
.b-name { font-weight: 600; color: var(--braun); }
.b-zeit { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--text); }
.b-dauer { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.b-von { color: var(--text-leise); font-size: 12.5px; }
.b-spind { white-space: nowrap; }
.b-typ-txt { font-size: 12px; color: var(--text-leise); }
.b-alt { color: #a06a6a; font-size: 12.5px; }
.b-neu { color: #5a8a5a; font-size: 12.5px; }
.laeuft-tag { color: #5fa524; font-weight: 600; }

.typ-pill {
    display: inline-block; padding: 1px 9px; border-radius: 10px;
    font-size: 11px; font-weight: 600;
}
.typ-gast { background: #e3edf7; color: #3a6286; }
.typ-dame { background: #f2e3d2; color: #8a5a2a; }
.typ-personal { background: #d8efe8; color: #2e7d6b; }

/* ===================== Anwesenheits-Kalender (Damen-Detail) ===================== */
.anw-steuerung { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-bottom: 14px; }
.anw-regler { display: flex; align-items: center; gap: 12px; }
.anw-regler label { font-size: 13px; color: var(--text); white-space: nowrap; }
.anw-regler input[type=range] { width: 180px; accent-color: var(--gold); }
.anw-legende { display: flex; gap: 12px; flex-wrap: wrap; }
.anw-leg { font-size: 11.5px; padding: 2px 9px; border-radius: 10px; }
.anw-leg.gruen { background: #d4edcb; color: #3a6b1e; }
.anw-leg.gelb { background: #fbeebd; color: #8a6a1a; }
.anw-leg.rot { background: #f6d4d4; color: #a33; }
.anw-summe { font-size: 14px; color: var(--braun); margin-bottom: 16px; }

.anw-kalender {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
    align-items: start;
}
.anw-monat { border: 1px solid var(--linie); border-radius: 8px; padding: 10px 11px; background: #fff; align-self: start; }
.anw-monat-kopf { font-size: 12.5px; font-weight: 600; color: var(--braun); margin-bottom: 7px; display: flex; justify-content: space-between; align-items: baseline; }
.anw-monat-zahl { font-size: 10.5px; color: var(--text-leise); font-weight: 400; }
.anw-wt-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-bottom: 3px; }
.anw-grid { display: grid; grid-template-columns: repeat(7, 1fr); grid-auto-rows: 20px; gap: 2px; }
.anw-wt { font-size: 9px; color: var(--text-leise); text-align: center; font-weight: 600; line-height: 1.2; }
.anw-zelle {
    height: 20px; min-height: 20px; max-height: 20px;
    display: flex; align-items: center; justify-content: center;
    font-size: 10px; border-radius: 3px; background: #f3efe7; color: var(--text-leise);
    border: none !important; aspect-ratio: auto !important;
}
.anw-zelle.leer { background: none; }
.anw-zelle.gruen { background: #6aab3e; color: #fff; font-weight: 600; }
.anw-zelle.gelb { background: #e8c860; color: #5a4510; font-weight: 600; }
.anw-zelle.rot { background: #d97a7a; color: #fff; font-weight: 600; }
.anw-leer { color: var(--text-leise); font-size: 14px; padding: 20px 0; }

/* Pro-Dame-Tab Steuerung */
.prodame-steuerung { display: flex; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 16px; }
.pd-feld { display: flex; flex-direction: column; gap: 5px; }
.pd-feld label { font-size: 12px; color: var(--text-leise); }
.pd-feld select {
    padding: 9px 34px 9px 13px; font-size: 14px; min-width: 200px;
}
.pd-feld input[type=range] { width: 180px; accent-color: var(--gold); }

/* ===================== Dropdowns im Saraya-Stil ===================== */
select {
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
    background-color: var(--bg-karte);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C9A24B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    border: 1px solid var(--linie-stark);
    border-radius: var(--radius);
    padding: 9px 34px 9px 13px;
    font-size: 14px; color: var(--text); font-family: inherit;
    cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s;
}
select:hover { border-color: var(--gold-hell); }
select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,162,75,0.15); }

/* ===================== Spät-Eincheck-Warnung ===================== */
.anw-spaet-leiste { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; flex-wrap: wrap; }
.anw-dame-name { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.spaet-hinweis {
    display: inline-block;
    background: #d32f2f; color: #fff !important; font-size: 11px; font-weight: 700;
    padding: 2px 10px; border-radius: 12px; white-space: nowrap;
    margin-left: 8px; letter-spacing: 0.3px;
    box-shadow: 0 1px 3px rgba(211,47,47,0.4);
}
/* Kalender: spät-Tage kräftig rot umrandet */
.anw-zelle.spaet { box-shadow: 0 0 0 2px #d32f2f inset; }

/* Aktuelle-Sicht-Button */
.dl-btn-aktuell {
    padding: 9px 18px; background: var(--gold); color: #fff; border: none;
    border-radius: var(--radius); font-size: 14px; font-weight: 600;
    text-decoration: none; white-space: nowrap; align-self: flex-end;
}
.dl-btn-aktuell:hover { background: #b5862a; }

/* ===================== Wichtige Papiere-Warnung (große rote Box oben rechts) ===================== */
.kopf-zeile {
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; flex-wrap: wrap; margin-bottom: 4px;
}
.papiere-warnung {
    display: flex; align-items: center; gap: 14px;
    background: #d32f2f; color: #fff;
    border-radius: 12px; padding: 14px 22px;
    cursor: pointer; box-shadow: 0 3px 12px rgba(211,47,47,0.35);
    transition: transform 0.12s, box-shadow 0.12s;
    animation: papiere-puls 2s ease-in-out infinite;
}
.papiere-warnung:hover { transform: translateY(-2px); box-shadow: 0 5px 18px rgba(211,47,47,0.5); }
.pw-icon { font-size: 30px; line-height: 1; }
.pw-text { display: flex; flex-direction: column; gap: 2px; }
.pw-namen { font-size: 17px; font-weight: 700; opacity: 0.98; }
.pw-sub { font-size: 11px; opacity: 0.85; margin-top: 1px; }
@keyframes papiere-puls {
    0%, 100% { box-shadow: 0 3px 12px rgba(211,47,47,0.35); }
    50% { box-shadow: 0 3px 18px rgba(211,47,47,0.65); }
}

/* ===================== Lager-Seite ===================== */
.lager-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
    margin-bottom: 32px;
}
.lager-karte {
    background: var(--bg-karte);
    border: 1px solid var(--linie-stark);
    border-radius: 14px;
    padding: 18px;
    display: flex; flex-direction: column; gap: 12px;
}
.lk-kopf { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lk-name { font-size: 18px; font-weight: 600; color: var(--braun); }
.lk-bestand { font-size: 26px; font-weight: 800; color: var(--frei-text); }
.lk-bestand small { font-size: 13px; font-weight: 500; color: var(--text-leise); }
.lk-bestand.niedrig { color: #c9821f; }
.lk-bestand.leer { color: #d32f2f; }
.lk-verkauf { margin: 0; }
.lk-verkauf-btn {
    width: 100%; padding: 14px; border: none; border-radius: 10px;
    background: var(--braun); color: var(--gold-hell);
    font-size: 16px; font-weight: 700; cursor: pointer; transition: all 0.12s;
}
.lk-verkauf-btn:hover { background: #3a2516; transform: translateY(-1px); }
.lk-eingang, .lk-korrektur { display: flex; gap: 6px; margin: 0; }
.lk-input {
    flex: 1; min-width: 0; padding: 8px 10px; border-radius: 8px;
    border: 1px solid var(--linie-stark); background: var(--bg-arbeitsflaeche); font-size: 14px;
}
.lk-eingang-btn, .lk-korrektur-btn {
    padding: 8px 12px; border: 1px solid var(--linie-stark); border-radius: 8px;
    background: var(--bg-arbeitsflaeche); cursor: pointer; font-size: 13px; font-weight: 600;
    white-space: nowrap; transition: all 0.12s;
}
.lk-eingang-btn { color: var(--frei-text); border-color: var(--frei-rand); }
.lk-eingang-btn:hover { background: var(--frei-bg); }
.lk-korrektur-btn { color: #c9821f; }
.lk-korrektur-btn:hover { background: #fdf3e3; }

/* Historie */
.lager-historie { margin-top: 24px; }
.historie-titel { font-size: 18px; margin-bottom: 12px; color: var(--braun); }
.historie-tabelle { width: 100%; border-collapse: collapse; font-size: 14px; }
.historie-tabelle th {
    text-align: left; padding: 8px 12px; border-bottom: 2px solid var(--linie-stark);
    color: var(--text-leise); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.4px;
}
.historie-tabelle td { padding: 8px 12px; border-bottom: 1px solid var(--linie); }
.historie-tabelle .num { text-align: right; font-variant-numeric: tabular-nums; }
.historie-tabelle .num.plus { color: var(--frei-text); font-weight: 700; }
.historie-tabelle .num.minus { color: #d32f2f; font-weight: 700; }
.bewegung-pille {
    display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 12px; font-weight: 600;
}
.bewegung-pille.eingang { background: var(--frei-bg); color: var(--frei-text); }
.bewegung-pille.verkauf { background: #f3e3e3; color: #a13a3a; }
.bewegung-pille.korrektur { background: #fdf3e3; color: #c9821f; }

/* ===================== Lager-Schnellverkauf am Dashboard ===================== */
.lager-schnell { margin: 28px 0; }
.lager-schnell-titel { font-size: 18px; margin-bottom: 12px; color: var(--braun); }
.lager-schnell-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}
.ls-form { margin: 0; }
.ls-btn {
    width: 100%; padding: 14px 16px; border: 1px solid var(--linie-stark);
    border-radius: 12px; background: var(--bg-karte); cursor: pointer;
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    transition: all 0.12s;
}
.ls-btn:hover { background: var(--braun); transform: translateY(-1px); }
.ls-btn:hover .ls-name { color: var(--gold-hell); }
.ls-btn:hover .ls-bestand { color: #fff; }
.ls-name { font-size: 15px; font-weight: 600; color: var(--braun); }
.ls-bestand { font-size: 18px; font-weight: 800; color: var(--frei-text); }
.ls-bestand.niedrig { color: #c9821f; }
.ls-bestand.leer { color: #d32f2f; }

/* ===================== Verkaufs-Übersicht der Sicht (oben, Anzeige) ===================== */
.verkauf-sicht {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin: 14px 0 22px;
}
.vs-kachel {
    border: 1px solid var(--linie); border-radius: 10px;
    background: var(--bg-karte); padding: 10px 14px;
    display: flex; flex-direction: column; gap: 2px;
}
.vs-name { font-size: 13px; font-weight: 600; color: var(--text-leise); }
.vs-zahl { font-size: 22px; font-weight: 800; color: var(--braun); }
.vs-zahl small { font-size: 11px; font-weight: 500; color: var(--text-leise); margin-left: 5px; }
.vs-umsatz { font-size: 13px; font-weight: 700; color: var(--frei-text); }

/* ===================== Bänder-Bestätigung (Dashboard) ===================== */
.band-bestaetigung { margin: 12px 0 18px; display: flex; flex-direction: column; gap: 8px; }
.bb-zeile {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    background: #fff7e6; border: 1px solid #e0c180; border-radius: 10px; padding: 12px 18px;
}
.bb-text { font-size: 15px; color: var(--braun); }
.bb-form { margin: 0; }
.bb-btn {
    padding: 8px 18px; border: none; border-radius: 8px;
    background: #2e7d32; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer;
    white-space: nowrap; transition: all 0.12s;
}
.bb-btn:hover { background: #256628; transform: translateY(-1px); }

/* ===================== Bänder-Bereich (Lager-Seite) ===================== */
.band-bereich { margin-top: 36px; padding-top: 24px; border-top: 2px solid var(--linie-stark); }
.band-titel { font-size: 20px; margin-bottom: 14px; color: var(--braun); }
.band-raster {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px; margin-bottom: 24px;
}
.band-karte {
    background: var(--bg-karte); border: 1px solid var(--linie-stark);
    border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 12px;
}
.bk-kopf { display: flex; align-items: center; justify-content: space-between; }
.bk-name { font-size: 17px; font-weight: 600; color: var(--braun); }
.bk-rest { font-size: 28px; font-weight: 800; color: var(--frei-text); }
.bk-rest.niedrig { color: #c9821f; }
.bk-rest.leer { color: #d32f2f; }
.bk-gegenprobe {
    display: flex; flex-direction: column; gap: 4px; font-size: 13px;
    color: var(--text-leise); background: var(--bg-arbeitsflaeche);
    padding: 10px 12px; border-radius: 8px;
}
.bk-gegenprobe strong { color: var(--text); }
.bk-rest-zeile { border-top: 1px solid var(--linie); padding-top: 4px; margin-top: 2px; }
.bk-rest-zeile strong { color: var(--frei-text); }
.bk-eingang, .bk-korrektur { display: flex; gap: 6px; margin: 0; }
.band-hist-titel { font-size: 16px; margin: 8px 0 10px; color: var(--braun); }
.bewegung-pille.verbrauch { background: #e8eef3; color: #4a6a85; }
.bb-ok { color: var(--frei-text); font-weight: 600; font-size: 13px; }
.bb-offen { color: #c9821f; font-weight: 600; font-size: 13px; }

/* ===================== Sichtübernahme (Schichtwechsel) ===================== */
.dienst-zeile {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
    background: var(--bg-karte); border: 1px solid var(--linie);
    border-radius: 8px; padding: 6px 14px; margin-bottom: 14px;
}
.dienst-info { font-size: 13px; color: var(--text); }
.dienst-label { color: var(--text-leise); margin-right: 4px; }
.dienst-seit { color: var(--text-leise); margin-left: 6px; font-size: 12px; }
.sicht-btn {
    background: var(--braun); color: var(--gold-hell);
    border: none; border-radius: 7px; padding: 6px 14px;
    font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.12s;
    white-space: nowrap;
}
.sicht-btn:hover { background: #3a2516; transform: translateY(-1px); }
.uebernahme-text { color: var(--text-leise); font-size: 14px; margin: 4px 0 14px; }
.uebernahme-kette {
    background: var(--bg-arbeitsflaeche); border-radius: 8px; padding: 10px 14px;
    margin-bottom: 12px; font-size: 13px; line-height: 1.8;
}
.uk-titel { color: var(--text-leise); display: block; margin-bottom: 4px; font-size: 12px; }
.uk-person { font-weight: 600; color: var(--braun); }
.uk-person small { color: var(--text-leise); font-weight: 400; }
.uebernahme-staende {
    background: var(--bg-arbeitsflaeche); border-radius: 10px; padding: 12px 16px;
    margin-bottom: 14px; display: flex; flex-direction: column; gap: 6px;
}
.us-zeile { display: flex; justify-content: space-between; font-size: 14px; }
.us-zeile strong { color: var(--frei-text); }
.us-feld {
    width: 100%; padding: 10px 12px; border-radius: 8px;
    border: 1px solid var(--linie-stark); background: var(--bg-arbeitsflaeche);
    font-size: 14px; margin-bottom: 10px;
}
select.us-feld { padding-right: 34px; }
.flash-meldung {
    padding: 12px 18px; border-radius: 10px; margin-bottom: 14px;
    font-size: 14px; font-weight: 600;
}
.flash-meldung.error { background: #f3e3e3; color: #a13a3a; border: 1px solid #d9a0a0; }
.flash-meldung.success { background: var(--frei-bg); color: var(--frei-text); border: 1px solid var(--frei-rand); }
