/* ============================================================
   THEME "GLASS" – graues Glas-Design im macOS-Stil
   Wird zusätzlich zu style.css geladen, wenn unter
   Einstellungen → Design "Glas" gewählt ist.
   ============================================================ */

body.theme-glass {
    --glass-bg: rgba(255, 255, 255, 0.45);
    --glass-bg-strong: rgba(255, 255, 255, 0.62);
    --glass-border: rgba(255, 255, 255, 0.55);
    --glass-shadow: 0 8px 32px rgba(30, 41, 59, 0.18), 0 1.5px 0 rgba(255,255,255,0.6) inset;
    --glass-text: #1f2430;
    --glass-muted: #5b6472;
    --glass-accent: #4b5568;
    --glass-accent-dark: #333a45;

    color: var(--glass-text);
    background:
        radial-gradient(circle at 15% 10%, rgba(180, 190, 205, 0.9) 0%, transparent 45%),
        radial-gradient(circle at 85% 15%, rgba(148, 160, 178, 0.85) 0%, transparent 50%),
        radial-gradient(circle at 25% 85%, rgba(200, 206, 216, 0.9) 0%, transparent 50%),
        radial-gradient(circle at 90% 90%, rgba(120, 130, 145, 0.7) 0%, transparent 55%),
        linear-gradient(160deg, #e7e9ec 0%, #c4c9d1 45%, #9aa2ae 100%);
    background-attachment: fixed;
    min-height: 100vh;
}

/* Grundflächen: Header, Karten, Auth-Box, Installer, Cookie-Banner */
body.theme-glass .app-header,
body.theme-glass .card,
body.theme-glass .auth-box,
body.theme-glass .installer-wrap,
body.theme-glass .legal-page,
body.theme-glass .cookie-banner-inner {
    background: var(--glass-bg);
    backdrop-filter: blur(28px) saturate(160%);
    -webkit-backdrop-filter: blur(28px) saturate(160%);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    border-radius: 18px;
}

body.theme-glass .app-header {
    border-radius: 0 0 20px 20px;
    border-top: none;
    position: sticky;
    top: 0;
    z-index: 50;
}
body.theme-glass .admin-header { border-bottom: 1px solid var(--glass-border); }

body.theme-glass .app-main { padding-top: 28px; }

body.theme-glass .legal-page {
    padding: 28px 32px;
}

/* Navigation */
body.theme-glass .app-nav a {
    color: var(--glass-text);
    padding: 6px 12px;
    border-radius: 999px;
    transition: background 0.15s ease;
}
body.theme-glass .app-nav a:hover {
    background: rgba(255, 255, 255, 0.5);
    text-decoration: none;
}

/* Karten-Überschriften */
body.theme-glass h1, body.theme-glass h2, body.theme-glass h3 {
    color: var(--glass-text);
}
body.theme-glass .hint { color: var(--glass-muted); }

/* Buttons */
body.theme-glass .btn {
    background: rgba(75, 85, 104, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(30, 41, 59, 0.2);
    color: #fff;
}
body.theme-glass .btn:hover {
    background: rgba(51, 58, 69, 0.88);
}
body.theme-glass .btn-danger {
    background: rgba(197, 48, 48, 0.75);
}
body.theme-glass .btn-danger:hover {
    background: rgba(155, 44, 44, 0.88);
}

/* Formulare */
body.theme-glass input[type=text], body.theme-glass input[type=email],
body.theme-glass input[type=password], body.theme-glass input[type=number],
body.theme-glass input[type=date], body.theme-glass input[type=time],
body.theme-glass input[type=month], body.theme-glass select,
body.theme-glass textarea {
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 10px;
    color: var(--glass-text);
}
body.theme-glass input:focus, body.theme-glass select:focus, body.theme-glass textarea:focus {
    outline: 2px solid rgba(75, 85, 104, 0.4);
    background: rgba(255, 255, 255, 0.75);
}
body.theme-glass label { color: var(--glass-text); }
body.theme-glass fieldset { border-color: var(--glass-border); background: rgba(255,255,255,0.2); border-radius: 12px; }

/* Tabellen */
body.theme-glass .data-table th {
    background: rgba(255, 255, 255, 0.35);
    color: var(--glass-text);
}
body.theme-glass .data-table th, body.theme-glass .data-table td,
body.theme-glass .mini-table td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

/* Badges */
body.theme-glass .badge { backdrop-filter: blur(4px); }
body.theme-glass .badge-pending, body.theme-glass .badge-eingereicht, body.theme-glass .badge-beantragt {
    background: rgba(255, 243, 205, 0.75);
}
body.theme-glass .badge-active, body.theme-glass .badge-freigegeben, body.theme-glass .badge-genehmigt {
    background: rgba(198, 246, 213, 0.75);
}
body.theme-glass .badge-disabled, body.theme-glass .badge-abgelehnt {
    background: rgba(254, 215, 215, 0.8);
}

/* KPI-Kacheln */
body.theme-glass .kpi-warn { background: rgba(255, 244, 214, 0.55); border-color: rgba(246, 173, 85, 0.5); }

/* Filter-Tabs */
body.theme-glass .filter-tabs a {
    background: rgba(255, 255, 255, 0.4);
    color: var(--glass-text);
}
body.theme-glass .filter-tabs a.active {
    background: rgba(75, 85, 104, 0.8);
    color: #fff;
}

/* Alerts */
body.theme-glass .alert-success { background: rgba(198, 246, 213, 0.65); }
body.theme-glass .alert-error { background: rgba(254, 215, 215, 0.7); }

/* Installer-Schritte */
body.theme-glass .steps span { background: rgba(255, 255, 255, 0.4); }
body.theme-glass .steps span.active { background: rgba(75, 85, 104, 0.85); color: #fff; }

/* Team-Kalender */
body.theme-glass .kalender-tag {
    background: rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.45);
}
body.theme-glass .kalender-tag.wochenende { background: rgba(255, 255, 255, 0.18); }
body.theme-glass .kalender-tag.feiertag { background: rgba(255, 224, 168, 0.55); border-color: rgba(246, 173, 85, 0.6); }
body.theme-glass .kalender-tag.heute { border: 2px solid var(--glass-accent-dark); }
body.theme-glass .kalender-badge { box-shadow: 0 2px 6px rgba(0,0,0,0.25); }

/* Cookie-Banner */
body.theme-glass .cookie-banner { background: transparent; padding: 16px; }
body.theme-glass .cookie-banner-inner {
    background: rgba(40, 44, 52, 0.55);
    color: #fff;
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border: 1px solid rgba(255,255,255,0.25);
}
body.theme-glass .cookie-banner a { color: #cfd8e3; }

/* Kacheln/Cards inneres Padding etwas großzügiger für den "Panel"-Look */
body.theme-glass .card { padding: 22px; }

/* Konto-Salden */
body.theme-glass .positiv { color: #276749; font-weight: 600; }
body.theme-glass .negativ { color: #9b2c2c; font-weight: 600; }
