
    :host { display:block; }
    *, *::before, *::after { box-sizing:border-box; }
    .karte { background:#fff; border-radius:var(--radius); box-shadow:var(--schatten-md); padding:clamp(1rem,3vw,2rem); }
    h2 { font-family:var(--schrift-anzeige); color:var(--farbe-primaer); margin-bottom:.35rem; }
    p { color:var(--farbe-text-ged); margin-bottom:1.25rem; }
    label { display:block; font-size:.78rem; font-weight:700; text-transform:uppercase; margin:.9rem 0 .35rem; }
    .form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; align-items:end; }
    .form-grid label { margin:0; }
    .form-grid label.checkbox-option { display:flex; align-items:center; gap:.55rem; min-height:44px; text-transform:none; letter-spacing:normal; font-size:.9rem; font-weight:600; }
    .form-grid label.checkbox-option input[type=checkbox] { flex:0 0 auto; width:1.1rem; height:1.1rem; margin:0; }
    .form-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; margin-top:.8rem; }
    .form-actions button { margin:0; }
    input, select, textarea { width:100%; min-height:44px; padding:.7rem .85rem; border:1.5px solid var(--farbe-rahmen); border-radius:var(--radius); font:inherit; background:#fff; }
    input[type=checkbox], input[type=color], input[type=file] { width:auto; min-height:auto; }
    input[type=color].rollen-farbwahl { width:35px; height:35px; min-width:35px; min-height:35px; padding:0; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px var(--farbe-rahmen),0 2px 5px rgba(0,36,64,.18); cursor:pointer; }
    input[type=file] { max-width:100%; padding:.55rem; }
    textarea { min-height:180px; font-family:monospace; }
    button { margin-top:1rem; padding:.7rem 1.3rem; border:0; border-radius:var(--radius); background:var(--farbe-primaer); color:#fff; font-weight:700; cursor:pointer; }
    .statistik { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin:1.2rem 0; }
    .stat { background:var(--farbe-hg); padding:1rem; border-radius:var(--radius); }
    .stat strong { display:block; font-size:1.5rem; color:var(--farbe-primaer); }
    .meldung { margin-top:1rem; padding:.8rem; border-radius:var(--radius); background:rgba(0,36,64,.06); }
    .personen-uebersicht { margin:1rem 0 1.25rem; border:1px solid var(--farbe-rahmen); border-radius:var(--radius); overflow:hidden; }
    .personen-uebersicht .gruppen-kopf { padding:.55rem .75rem; font-weight:700; color:var(--farbe-primaer); }
    .personen-uebersicht table { width:100%; border-collapse:collapse; font-size:.88rem; }
    .personen-uebersicht th, .personen-uebersicht td { padding:.55rem .7rem; text-align:left; border-bottom:1px solid rgba(214,211,205,.7); vertical-align:middle; }
    .personen-uebersicht th { background:var(--farbe-hg); font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--farbe-text-ged); }
    .personen-uebersicht .check-angemeldet { color:#16803c; font-size:1.15rem; font-weight:800; margin-right:.35rem; }
    @media(max-width:600px){.personen-uebersicht{overflow-x:auto}.personen-uebersicht table{min-width:520px}}
    .verwaltung { display:grid; grid-template-columns:240px minmax(0,1fr); gap:2rem; }
    .seitenleiste { border-right:1px solid var(--farbe-rahmen); padding-right:1rem; }
    .seitenleiste button { display:block; width:100%; margin:0 0 .45rem; text-align:left; background:transparent; color:var(--farbe-primaer); }
    .seitenleiste button[hidden] { display:none !important; }
    .seitenleiste button.aktiv { background:var(--farbe-primaer); color:#fff; }
    .seitenleiste .nav-kaskade { margin:0 0 .45rem; }
    .seitenleiste .nav-kaskade > summary { display:block; padding:.7rem .85rem; border:1px solid var(--farbe-rahmen); border-radius:var(--radius); color:var(--farbe-primaer); font-weight:700; cursor:pointer; list-style:none; }
    .seitenleiste .nav-kaskade > summary::-webkit-details-marker { display:none; }
    .seitenleiste .nav-kaskade > summary::after { content:'▸'; float:right; transition:transform .15s ease; }
    .seitenleiste .nav-kaskade[open] > summary::after { transform:rotate(90deg); }
    .seitenleiste .nav-kaskade-inhalt { margin:.3rem 0 0 .65rem; padding-left:.55rem; border-left:2px solid var(--farbe-rahmen); }
    .seitenleiste .nav-kaskade-inhalt button { font-size:.9rem; padding-left:.7rem; }
    .verwaltungsseite[hidden] { display:none; }
    .mail-vorlage { margin:1rem 0; padding:1rem; border:1px solid var(--farbe-rahmen); border-radius:var(--radius); background:#fff; }
    .mail-vorlage h4 { margin:0 0 .35rem; color:var(--farbe-primaer); }
    .mail-vorlage textarea { min-height:12rem; resize:vertical; font-family:inherit; line-height:1.45; }
    .mail-vorlage [data-mail-status] { color:#176b36; font-size:.85rem; }
    .monatsraster { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.65rem; width:100%; max-width:1220px; margin:1.25rem auto .7rem; overflow:visible; padding:.15rem .1rem .7rem; }
    .monatswochentag { padding:.35rem .55rem; color:var(--farbe-text-ged); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-align:left; text-transform:uppercase; }
    .monatsleer { min-height:1px; }
    .monatskachel { min-width:0; min-height:196px; padding:.78rem; display:flex; flex-direction:column; background:#fff; color:#002440; border:1px solid #d5dde1; border-top:5px solid #b9c5cb; border-radius:14px; box-shadow:0 3px 12px rgba(0,36,64,.07); cursor:pointer; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
    .monatskachel:hover { transform:translateY(-2px); box-shadow:0 7px 18px rgba(0,36,64,.12); }
    .monatskachel.freigegeben { border-top-color:#2f8f46; background:linear-gradient(180deg,#f3fbf5 0%,#fff 42%); }
    .monatskachel.unvollstaendig { background:#fffaf0; }
    .monatskachel.ueberbelegt { background:#fff4f4; border-top-color:#b33a3a; }
    .monatskachel-kopf { display:flex; justify-content:space-between; align-items:flex-start; gap:.75rem; padding-bottom:.7rem; border-bottom:1px solid #e4e9eb; }
    .monatskachel-tag { display:flex; flex-direction:column; gap:.1rem; }
    .monatskachel-tag strong { font-size:1.65rem; line-height:1; }
    .monatskachel-status { display:inline-flex; align-items:center; align-self:flex-start; gap:.3rem; margin-top:.7rem; padding:.32rem .55rem; border-radius:999px; background:#f1f4f5; color:var(--farbe-text-ged); font-size:.74rem; font-weight:700; }
    .monatskachel-status.aktiv { background:#dff2e3; color:#176b36; }
    .monatskachel-status.inaktiv { background:#f1f4f5; color:#68757b; }
    .monatsrollen { display:grid; gap:.15rem; margin-top:.65rem; }
    .monatsrolle { display:flex; justify-content:space-between; align-items:center; gap:.65rem; padding:.48rem 0; border-bottom:1px solid #eef1f2; font-size:.82rem; }
    .monatsrolle:last-child { border-bottom:0; }
    .bedarf-termin { margin:1rem 0; padding:1rem; border:1px solid var(--farbe-rahmen); border-left:5px solid var(--farbe-primaer); border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(0,36,64,.05); }
    .bedarf-termin-kopf { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-bottom:.7rem; border-bottom:1px solid #e4e9eb; }
    .bedarf-termin > summary { cursor:pointer; list-style:none; padding-bottom:0; border-bottom:0; }
    .bedarf-termin > summary::-webkit-details-marker { display:none; }
    .bedarf-termin > summary::after { content:'▸'; margin-left:auto; color:var(--farbe-primaer); font-size:1.1rem; }
    .bedarf-termin[open] > summary::after { content:'▾'; }
    .bedarf-termin > summary button { margin:0; }
    .bedarf-rollen { display:grid; gap:.55rem; margin-top:.8rem; }
    .bedarf-rolle { display:grid; grid-template-columns:minmax(10rem,1fr) minmax(8rem,1.3fr) auto 5rem auto; gap:.45rem; align-items:center; padding:.45rem 0; }
    .bedarf-rolle + .bedarf-rolle { border-top:1px solid #eef1f2; }
    .bedarf-rolle-name { display:flex; flex-direction:column; gap:.12rem; font-weight:700; }
    .bedarf-rolle-name small { color:var(--farbe-text-ged); font-weight:400; text-transform:none; }
    .bedarf-stepper { width:2rem; height:2rem; margin:0; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; font-size:1.1rem; line-height:1; }
    .bedarf-zahl { width:5rem; margin:0; padding:.45rem .35rem; text-align:center; }
    .bedarf-speicherstatus { color:#176b36; font-size:.82rem; font-weight:700; }
    @media(max-width:650px){.bedarf-rolle{grid-template-columns:minmax(0,1fr) auto 4.5rem auto}.bedarf-rolle-name{grid-column:1/-1}.bedarf-rolle > small,.bedarf-rolle .bedarf-zahl,.bedarf-rolle .bedarf-stepper{grid-row:auto;grid-column:auto}}
    .monatsrolle-name { display:flex; align-items:center; gap:.35rem; min-width:0; }
    .monatsrolle-punkt { width:.55rem; height:.55rem; flex:0 0 .55rem; border-radius:50%; }
    .monatsrolle-zahl { font-weight:800; white-space:nowrap; color:var(--farbe-primaer); }
    .monatsnavigation { display:grid; grid-template-columns:repeat(6,minmax(90px,1fr)); gap:.45rem; margin:.8rem 0 1.1rem; }
    .monatsnavigation button { margin:0; padding:.55rem .4rem; background:var(--farbe-hg); color:var(--farbe-primaer); border:1px solid var(--farbe-rahmen); }
    .monatsnavigation button.aktiv { background:var(--farbe-primaer); color:#fff; }
    .monatssteuerung { display:grid; grid-template-columns:auto minmax(9rem,1fr) auto auto; gap:.5rem; align-items:center; }
    .monatssteuerung button { margin:0; min-width:2.8rem; padding:.65rem .8rem; }
    @media(max-width:600px){.monatssteuerung{grid-template-columns:auto 1fr auto}.monatssteuerung #monat-laden{grid-column:1 / -1}}
    .konto-filter { max-width:42rem; margin:.8rem 0 1rem; }
    .mitglied-liste { display:grid; gap:.55rem; }
    .mitglied-zeile { display:grid; grid-template-columns:minmax(3rem,20%) minmax(0,1fr); gap:.65rem; align-items:start; padding:.65rem .75rem; border:1px solid var(--farbe-rahmen); border-radius:8px; background:#fff; }
    .mitglied-zeile:not(:has([data-mitglied-einsatz])) { background:#fff9d9; border-color:#e7d58b; }
    .mitglied-zeile.mitglied-freigabe-ausstehend { background:#fff0f0; border-color:#efb6b6; }
    .mitglied-freigabe-hinweis { display:block; color:#a22b2b; font-weight:700; margin-top:.25rem; }
    .mitglied-verifizierung-hinweis { display:block; color:#8b2424; font-size:.78rem; margin-top:.15rem; }
    .mitglied-zeile > input[type="checkbox"] { justify-self:start; align-self:center; margin:.2rem; }
    .mitglied-zeile > div { min-width:0; }
    .mitglied-zeile .mitglied-inhalt { display:grid; grid-template-columns:minmax(12rem,1.3fr) minmax(10rem,1fr) minmax(8rem,11rem); gap:.65rem; align-items:center; }
    .mitglied-zeile .mitglied-details { display:flex; flex-direction:column; min-width:0; align-self:start; }
    .mitglied-gruppenpunkt { display:inline-grid; place-items:center; width:20px; height:20px; margin-left:.35rem; padding:0; border:1px solid rgba(0,36,64,.35); border-radius:50%; background:var(--gruppenfarbe); color:transparent; vertical-align:middle; cursor:help; }
    .mitglied-gruppenpunkt:focus-visible { outline:2px solid var(--farbe-primaer); outline-offset:2px; }
    .mitglied-zeile .mitglied-details button { align-self:flex-start; margin-top:.45rem; }
    .mitglied-zeile .mitglied-einsatz { min-width:0; transform:translateX(-40px); }
    .mitglied-zeile select { margin:0; width:100%; padding:.45rem; }
    .mitglied-zeile button { margin:0; padding:.45rem .65rem; white-space:nowrap; }
    .mitglied-modal { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:1rem; background:rgba(0,20,35,.5); }
    .mitglied-modal[hidden] { display:none; }
    #monat-mitglied-modal[hidden] { display:none !important; }
    #monat-mitglied-modal > div { width:min(100%,34rem) !important; max-height:min(78vh,42rem) !important; }
    #monat-mitglied-modal [data-monats-mitglieder-liste] { max-height:min(42rem,65vh); overflow-y:auto; padding-right:.2rem; }
    .mitglied-modal-inhalt { width:min(100%,42rem); max-height:min(90vh,46rem); overflow:auto; padding:1.2rem; border-radius:12px; background:#fff; box-shadow:var(--schatten-md); }
    .mitglied-modal-kopf { display:flex; justify-content:space-between; align-items:start; gap:1rem; }
    .mitglied-modal-kopf button { margin:0; padding:.35rem .6rem; background:#6b7280; }
    @media(max-width:700px){.mitglied-zeile{grid-template-columns:1fr}.mitglied-zeile > input[type="checkbox"]{justify-self:start}.mitglied-zeile .mitglied-inhalt{grid-template-columns:1fr;align-items:start}.mitglied-zeile .mitglied-einsatz{transform:none}.mitglied-zeile button{justify-self:start}}
    .konto-kopf { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
    @media(max-width:1100px){.monatsraster{grid-template-columns:repeat(4,minmax(0,1fr));max-width:900px;}}
    @media(max-width:760px){.monatsraster{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;}.monatsnavigation{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:480px){.monatsraster{grid-template-columns:minmax(0,1fr);}.monatswochentag{display:none}.monatsleer{display:none}.monatskachel{min-height:0}.monatskachel-kopf{align-items:center}}
    @media(max-width:760px){.verwaltung{grid-template-columns:1fr}.seitenleiste{border-right:0;border-bottom:1px solid var(--farbe-rahmen);padding:0 0 .75rem;display:flex;gap:.4rem;overflow:auto}.seitenleiste button{width:auto;white-space:nowrap;margin:0}.form-grid{grid-template-columns:1fr}}
  
