@font-face{font-family:Roboto Condensed;src:url(/fonts/roboto-condensed.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--db-navy: #003869;--db-blue: #003869;--db-pink: #FA0096;--db-seafoam: #71C2AD;--text: #1a2530;--text-muted: #51606e;--bg: #ffffff;--bg-soft: #f2f6fa;--border: #d4dde5;--danger: #b4231f;--ok: #1e7d46;--focus: #fa0096;--radius: 8px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Roboto Condensed,Arial Narrow,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg-soft)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--db-navy);color:#fff;padding:.5rem 1rem;z-index:100}.skip-link:focus{left:.5rem;top:.5rem}.app-header{background:var(--db-navy);color:#fff;display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.25rem;flex-wrap:wrap}.brand{font-size:1.25rem;font-weight:700;letter-spacing:.02em}.brand .punkt{color:var(--db-pink)}.app-nav{display:flex;gap:.25rem;flex-wrap:wrap}.app-nav button{background:transparent;border:none;color:#dbe7f2;font:inherit;padding:.45rem .9rem;border-radius:var(--radius);cursor:pointer}.app-nav button:hover{background:#ffffff1f;color:#fff}.app-nav button[aria-current=page]{background:#fff;color:var(--db-navy);font-weight:700}.header-user{margin-left:auto;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#dbe7f2}main{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}h1{font-size:1.5rem;color:var(--db-navy);margin:.5rem 0 1rem}h2{font-size:1.15rem;color:var(--db-navy);margin:1.5rem 0 .5rem}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.hinweis{border-left:4px solid var(--db-seafoam);background:var(--bg);padding:.75rem 1rem;border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted)}form.auth{max-width:420px;margin:3rem auto}label{display:block;font-weight:600;margin:.9rem 0 .25rem;color:var(--db-navy)}input[type=email],input[type=password],input[type=text]{width:100%;padding:.55rem .7rem;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}input:focus-visible{outline-offset:0}button.primary{background:var(--db-navy);color:#fff;border:none;font:inherit;font-weight:600;padding:.6rem 1.2rem;border-radius:var(--radius);cursor:pointer;margin-top:1.1rem}button.primary:hover{background:#00284d}button.primary:disabled{background:var(--text-muted);cursor:wait}button.link{background:none;border:none;color:var(--db-blue);font:inherit;text-decoration:underline;cursor:pointer;padding:0;margin-top:1rem}.fehler{color:var(--danger);background:#fdeeee;border:1px solid #f2c4c2;border-radius:var(--radius);padding:.6rem .8rem;margin-top:1rem}.info{color:#0b4f2e;background:#e8f5ee;border:1px solid #bfe3cf;border-radius:var(--radius);padding:.6rem .8rem;margin-top:1rem}table{width:100%;border-collapse:collapse;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--bg-soft);color:var(--db-navy);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:none}.badge{display:inline-block;font-size:.78rem;font-weight:600;padding:.1rem .55rem;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-soft)}.badge.aktiv{color:var(--ok);border-color:#bfe3cf;background:#e8f5ee}.badge.rolle-admin{color:#7a0f53;border-color:#f1b8da;background:#fdeef7}.badge.rolle-schreiben{color:#0a3d82;border-color:#bcd6f7;background:#ecf3fd}.kennzahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0}.kennzahl{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}.kennzahl .wert{font-size:1.7rem;font-weight:700;color:var(--db-navy)}.kennzahl .label{color:var(--text-muted);font-size:.88rem}.monatsleiste{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:.75rem}.monatsleiste .monat{background:var(--bg);border:1px solid var(--border);border-radius:4px;text-align:center;padding:.4rem .1rem;font-size:.8rem;color:var(--db-navy);font-weight:600}.monatsleiste .kw{display:block;font-weight:400;font-size:.7rem;color:var(--text-muted)}@media (max-width: 700px){.monatsleiste{grid-template-columns:repeat(4,1fr)}.header-user{margin-left:0}}.punkt-pink{color:var(--db-pink)}main.voll{max-width:1700px}.toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.25rem 0 .75rem}.toolbar-feld{display:flex;align-items:center;gap:.4rem;margin:0;font-weight:600;color:var(--db-navy)}.toolbar-feld span{font-size:.85rem}.toolbar select,.filterleiste select,.filterleiste input,.toolbar-feld select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:#fff;color:var(--text)}.umschalter{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.umschalter button{border:none;background:#fff;font:inherit;padding:.35rem .9rem;cursor:pointer;color:var(--db-navy)}.umschalter button[aria-pressed=true]{background:var(--db-navy);color:#fff;font-weight:600}.filterleiste{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:end;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem;margin-bottom:.9rem}.filterleiste label{display:flex;flex-direction:column;gap:.15rem;margin:0;font-weight:600;color:var(--db-navy)}.filterleiste label span{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}button.sekundaer{background:#fff;color:var(--db-navy);border:1px solid var(--border);font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:var(--radius);cursor:pointer}button.sekundaer:hover{background:var(--bg-soft)}button.gefahr{background:#fff;color:var(--danger);border:1px solid #f2c4c2;font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:var(--radius);cursor:pointer}button.gefahr:hover{background:#fdeeee}.gefahr-link{color:var(--danger)!important}.raster-rahmen{overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}table.raster{border:none;min-width:1500px;table-layout:fixed}table.raster th,table.raster td{border:1px solid var(--border)}table.raster .quartale th{text-align:center;background:var(--db-navy);color:#fff;padding:.25rem}table.raster .quartale th:first-child{background:var(--bg-soft)}table.raster thead .spalte-monat{min-width:110px;text-align:center;vertical-align:top}table.raster thead .kw{font-weight:400;font-size:.72rem;color:var(--text-muted);text-transform:none;letter-spacing:0}table.raster .themen{display:flex;flex-direction:column;gap:2px;margin-top:2px}table.raster .thema{font-size:.68rem;font-weight:600;color:#0c2a1e;border-radius:3px;padding:0 3px;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.raster .thema.marker{background:var(--db-pink);color:#fff}.spalte-wm{width:240px;min-width:240px;max-width:240px;position:sticky;left:0;background:var(--bg-soft);z-index:2;text-align:left}tbody .spalte-wm{font-weight:600;color:var(--db-navy);font-size:.88rem;text-transform:none;letter-spacing:0}.wm-name{display:block}.wm-gruppe{display:block;font-weight:400;font-size:.75rem;color:var(--text-muted)}tr.kanal-zeile th{background:#e6eef6;color:var(--db-navy);text-align:left;font-size:.85rem;letter-spacing:.05em;position:sticky;left:0}td.zelle{vertical-align:top;padding:3px;min-width:110px;background:#fff}td.zelle-voll{background:#fdf3f3}td.zelle-ueber{background:#fbe4e4}td.zelle-ohne{background:#f7f9fb}.zelle-fuss{display:flex;align-items:center;justify-content:space-between;margin-top:2px;min-height:20px}.frei{font-size:.72rem;color:var(--text-muted)}.frei-voll{color:var(--danger);font-weight:700}.zelle-plus{border:1px dashed var(--border);background:transparent;color:var(--text-muted);border-radius:4px;width:22px;height:20px;line-height:1;cursor:pointer;font-size:.9rem}.zelle-plus:hover{background:var(--bg-soft);color:var(--db-navy)}.chip{display:block;width:100%;text-align:left;margin:0 0 3px;background:var(--bg-soft);border:1px solid var(--border);border-left:5px solid #999;border-radius:4px;padding:2px 5px;font:inherit;font-size:.78rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.chip:hover{background:#e8f0fa}.chip-reservierung{border-style:dashed;font-style:italic;background:#fff}.chip-name{font-weight:600}.chip-marker{margin-left:4px;font-size:.68rem;font-weight:700;color:var(--db-navy);border:1px solid var(--db-navy);border-radius:3px;padding:0 3px;font-style:normal}.chip-detail{display:block;white-space:normal;font-size:.74rem;color:var(--text-muted)}.legende{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;margin-top:.9rem;font-size:.85rem;color:var(--text-muted)}.legende-eintrag{display:inline-flex;align-items:center;gap:.35rem}.punkt{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle}.punkt-voll{background:#fdf3f3;border:1px solid var(--danger);border-radius:3px;width:14px;height:14px}.modal-hintergrund{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a19288c;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;z-index:50;overflow-y:auto}.modal{background:#fff;border-radius:var(--radius);padding:1.1rem 1.4rem 1.4rem;width:100%;max-width:560px;box-shadow:0 12px 40px #00142859}.modal-breit{max-width:860px}.modal-kopf{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-kopf h2{margin:0}.modal-schliessen{border:none;background:transparent;font-size:1.6rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem}.modal-schliessen:hover{color:var(--db-navy)}.modal-aktionen{display:flex;gap:.6rem;margin-top:1.2rem;align-items:center}.modal select,.modal textarea{width:100%;padding:.5rem .65rem;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}.feld-zeile{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;align-items:start}.feld-zeile>div{min-width:0}.feld-hinweis{font-size:.82rem;color:var(--text-muted);margin:.4rem 0 0}.tabs{display:flex;flex-wrap:wrap;gap:.3rem;border-bottom:2px solid var(--border);margin-bottom:1.1rem}.tabs button{border:none;background:transparent;font:inherit;font-weight:600;color:var(--text-muted);padding:.5rem .9rem;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.tabs button[aria-selected=true]{color:var(--db-navy);border-bottom-color:var(--db-pink)}.tabs button:hover{color:var(--db-navy)}.abschnitt-kopf{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:space-between;margin-top:.5rem}table.matrix{min-width:900px;border:none}table.matrix input{width:56px;padding:.25rem .3rem;font:inherit;border:1px solid var(--border);border-radius:4px;text-align:center}table.matrix th,table.matrix td{text-align:center;padding:.3rem}table.matrix tbody th{text-align:left}.marker-leiste{display:flex;flex-wrap:wrap;gap:.4rem}.marker-monat{display:inline-flex;align-items:center;gap:.35rem;margin:0;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .6rem;font-weight:600;color:var(--db-navy);background:#fff;cursor:pointer}.marker-monat.an{background:var(--db-pink);border-color:var(--db-pink);color:#fff}.historie-wert{max-width:260px;overflow-wrap:anywhere;font-size:.82rem}input[type=color]{padding:0;width:56px;height:36px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--db-navy)}input[type=file]{font:inherit}.toolbar-schalter{cursor:pointer}td.zelle-buchbar{background:#eef7f0}.chip-frei{background:#eef7f0;border:1px solid #9fd3ab;border-left:5px solid #1B5E20;color:#14401c}.chip-frei:hover{background:#def0e2}.kanal-toggle{background:transparent;border:none;font:inherit;font-weight:700;color:var(--db-navy);cursor:pointer;padding:.1rem .2rem;display:inline-flex;align-items:center;gap:.4rem;letter-spacing:.05em}.kanal-anzahl{font-weight:400;color:var(--text-muted)}
