:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:light;--bg-akzent: #2c6e49;--bg-akzent-sekundaer: var(--bg-akzent);--bg-seite: #f5f7f6;--bg-karte: #fff;--bg-leicht: #e4ece7;--bg-eingabe: #fff;--text-haupt: #1f2723;--text-dunkel: #2c3e35;--text-label: #4a564e;--text-gedaempft: #8a9089;--text-erfolg: #1a5c33;--text-fehler: #b3261e;--rahmen: #ccd4cf;--schatten-karte: 0 1px 3px rgba(0, 0, 0, .08);--schatten-dropdown: 0 4px 16px rgba(0, 0, 0, .15);--schatten-modal: 0 8px 32px rgba(0, 0, 0, .25);--modal-hintergrund: rgba(31, 39, 35, .6);--status-warnung-bg: #fdecc8;--status-warnung-text: #7a4b00;--status-erfolg-bg: #d9f0df;--status-erfolg-text: #1a5c33;--status-fehler-bg: #f8d7d5;--status-fehler-text: #8a221c;--status-info-bg: #d3e3f5;--status-info-text: #1c4a7a}:root[data-theme=dunkel]{color-scheme:dark;--bg-seite: #15171b;--bg-karte: #1d2025;--bg-leicht: #272b32;--bg-eingabe: #20232a;--text-haupt: #e6e8eb;--text-dunkel: #f2f3f5;--text-label: #b4b8c0;--text-gedaempft: #888d97;--text-erfolg: #6fd196;--text-fehler: #ff8a80;--rahmen: #383c44;--schatten-karte: 0 1px 3px rgba(0, 0, 0, .4);--schatten-dropdown: 0 4px 16px rgba(0, 0, 0, .5);--schatten-modal: 0 8px 32px rgba(0, 0, 0, .6);--modal-hintergrund: rgba(0, 0, 0, .7);--status-warnung-bg: #4a3a17;--status-warnung-text: #f3c878;--status-erfolg-bg: #1e3a27;--status-erfolg-text: #8fe0ac;--status-fehler-bg: #4a2320;--status-fehler-text: #f5a9a2;--status-info-bg: #1f2f42;--status-info-text: #9dc2ec}body{margin:0;background:var(--bg-seite);color:var(--text-haupt)}.layout{max-width:720px;margin:0 auto;padding:1.5rem}.karte{background:var(--bg-karte);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--schatten-karte)}.karte-angeheftet{position:sticky;top:0;z-index:5}.modal-hintergrund{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-hintergrund);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal-inhalt{background:var(--bg-karte);border-radius:10px;padding:1.5rem;max-width:360px;width:100%;text-align:center;box-shadow:var(--schatten-modal)}.modal-inhalt-formular{background:var(--bg-karte);border-radius:10px;padding:1.5rem 1.75rem;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;text-align:left;box-shadow:var(--schatten-modal)}.modal-spalten{display:grid;grid-template-columns:1fr 1fr;gap:0 1.75rem}@media (max-width: 600px){.modal-spalten{grid-template-columns:1fr}}.person-detail-spalten{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}@media (max-width: 700px){.person-detail-spalten{grid-template-columns:1fr}.person-detail-spalten>*{grid-column:1!important}}.kopfzeile{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tab-button{border:none;background:var(--bg-leicht);color:var(--text-dunkel);padding:.5rem 1rem;border-radius:999px;cursor:pointer;font-size:.9rem}.tab-button.aktiv{background:var(--bg-akzent);color:#fff}.tab-button:hover:not(.aktiv){background:color-mix(in srgb,var(--bg-akzent-sekundaer) 20%,var(--bg-leicht) 80%)}.layout-portal{max-width:none;margin:0}.portal-inhalt{display:flex;align-items:flex-start;gap:1.5rem}.sidebar{flex:0 0 240px;width:240px}.sidebar-verein-panel{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;margin-bottom:.75rem;background:var(--bg-karte);border-radius:8px;box-shadow:var(--schatten-karte)}.sidebar-verein-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--bg-akzent);color:#fff;font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:center}.sidebar-verein-logo{flex:0 0 auto;width:32px;height:32px;border-radius:50%;object-fit:contain;background:#fff}.sidebar-verein-name{font-size:.9rem;font-weight:600;color:var(--text-dunkel);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-domaene{margin-bottom:.25rem}.sidebar-domaene-titel{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;border:none;background:transparent;color:var(--text-dunkel);padding:.6rem .75rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600}.sidebar-domaene-titel.aktiv{background:var(--bg-akzent);color:#fff}.sidebar-domaene-label{flex:1}.sidebar-chevron{flex:0 0 auto;opacity:.8}.sidebar-icon{flex:0 0 auto;opacity:.85}.sidebar-untermenue{display:flex;flex-direction:column;padding-left:.75rem;margin-top:.15rem}.sidebar-eintrag{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;border:none;background:transparent;color:var(--text-dunkel);padding:.45rem .75rem;border-radius:6px;cursor:pointer;font-size:.85rem}.sidebar-eintrag:hover:not(:disabled){background:color-mix(in srgb,var(--bg-akzent-sekundaer) 20%,var(--bg-leicht) 80%)}.sidebar-eintrag.aktiv{background:var(--bg-akzent);color:#fff;font-weight:600}.sidebar-eintrag.aktiv .sidebar-icon{opacity:1}.sidebar-eintrag.gedimmt,.sidebar-eintrag:disabled{color:var(--text-gedaempft);cursor:not-allowed}.sidebar-eintrag-label{flex:1}.sidebar-badge{flex:0 0 auto;min-width:1.2rem;padding:0 .35rem;border-radius:999px;background:var(--bg-akzent-sekundaer);color:#fff;font-size:.7rem;font-weight:600;line-height:1.2rem;text-align:center}.sidebar-eintrag.aktiv .sidebar-badge,.sidebar-domaene-titel.aktiv .sidebar-badge{background:#fff;color:var(--bg-akzent)}.hauptbereich{flex:1;min-width:0;max-width:1600px}.konto-menu{position:relative}.konto-avatar{width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-akzent);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}.konto-badge{position:absolute;top:-2px;right:-2px;min-width:1.1rem;padding:0 .3rem;border-radius:999px;background:var(--bg-akzent-sekundaer);color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center;box-shadow:0 0 0 2px var(--bg-karte)}.konto-dropdown{position:absolute;top:calc(100% + .4rem);right:0;background:var(--bg-karte);border-radius:8px;box-shadow:var(--schatten-dropdown);padding:.4rem;min-width:160px;z-index:10}.konto-dropdown-eintrag{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text-dunkel);padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.9rem}.konto-dropdown-eintrag:hover{background:var(--bg-leicht)}.darkmode-umschalter{border:1px solid var(--rahmen);background:var(--bg-karte);color:var(--text-dunkel);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.darkmode-umschalter:hover{background:var(--bg-leicht)}label{display:block;font-size:.85rem;color:var(--text-label);margin-top:.75rem}input{width:100%;padding:.5rem;border:1px solid var(--rahmen);border-radius:6px;margin-top:.25rem;box-sizing:border-box;background:var(--bg-eingabe);color:var(--text-haupt)}button.primaer{background:var(--bg-akzent);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;margin-top:1rem}button.sekundaer{background:transparent;border:1px solid var(--bg-akzent-sekundaer);color:var(--bg-akzent-sekundaer);padding:.4rem .9rem;border-radius:6px;cursor:pointer}button.sekundaer:hover:not(:disabled){background:color-mix(in srgb,var(--bg-akzent-sekundaer) 12%,transparent)}:root[data-theme=dunkel] button.sekundaer{border-color:color-mix(in srgb,var(--bg-akzent-sekundaer) 65%,white 35%);color:color-mix(in srgb,var(--bg-akzent-sekundaer) 65%,white 35%)}.fehler{color:var(--text-fehler);font-size:.85rem;margin-top:.5rem}.formular-aktionen{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem}.formular-aktionen>button{margin-top:0}table th,table td{padding:.45rem .6rem}.status-badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.75rem}.status-offen,.status-geplant,.status-vertagt{background:var(--status-warnung-bg);color:var(--status-warnung-text)}.status-bezahlt,.status-zugesagt,.status-abgeschlossen,.status-angenommen,.status-erledigt{background:var(--status-erfolg-bg);color:var(--status-erfolg-text)}.status-gemahnt,.status-abgesagt,.status-abgelehnt{background:var(--status-fehler-bg);color:var(--status-fehler-text)}.status-laufend{background:var(--status-info-bg);color:var(--status-info-text)}.hell-flaeche,.hell-flaeche label{color:#1f2723}.berechtigung-domaene-label{font-size:.8rem;font-weight:600;color:var(--text-label);margin-bottom:.3rem}.hell-flaeche .berechtigung-domaene-label{color:#1f2723}.kategorie-badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;background:var(--bg-leicht);color:var(--text-dunkel)}
