:root{
  --petrol:#1d5c63;--petrol2:#2f7d84;--petrol-hell:#e3eef0;
  --orange:#ee8f45;--orange2:#f6b26b;--orange-hell:#fdf1e6;
  --ink:#1f2d33;--mute:#6b7c82;--bg:#f6f3ee;--card:#fff;--feld:#fbfaf7;--line:#e8e2d8;
  --gut:#3c9a6b;--gut-hell:#e4f2ea;--schlecht:#d4573b;--schlecht-hell:#fbe6e0;--minus:#5f7c8a;
  --schatten:0 8px 22px -12px rgba(30,60,70,.28);
  --rund:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.4;min-height:100vh;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:var(--petrol2)}
.versteckt{display:none!important}

/* ---------- Kopf mit Fjord ---------- */
.kopf{position:relative;color:#fff;min-height:200px}
.kopf .sonne{position:absolute;right:12%;bottom:95px;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle,#fff1d6 0 55%,#ffe3b3 56% 100%);box-shadow:0 0 40px 10px rgba(255,227,179,.45)}
.anmelde-seite .kopf .sonne{bottom:150px;right:22%}
@media(max-width:600px){.kopf .sonne{width:46px;height:46px;right:9%;bottom:auto;top:96px}}
.kopf svg.fjord{position:absolute;inset:0;width:100%;height:100%;display:block}
.kopf .innen{position:relative;max-width:1180px;margin:0 auto;padding:22px 20px 70px}
.kopf .zeile{display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{font-size:21px;font-weight:800;letter-spacing:.3px;color:#fff;text-decoration:none}
.menue{display:none;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.menue a{background:rgba(255,255,255,.2);border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600;color:#fff;text-decoration:none;backdrop-filter:blur(4px)}
.menue a.aktiv{background:#fff;color:var(--petrol)}
.kopf .gruss{font-size:13.5px;opacity:.92;margin-top:22px}
.kopf h1{font-size:28px;font-weight:750;margin-top:2px;line-height:1.15}
.kopf .monatswahl{display:flex;align-items:center;gap:6px;margin-top:18px;font-size:14px;font-weight:600}
.kopf .monatswahl button{color:#fff;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);font-size:18px;line-height:1}
.ansicht-hinweis{background:var(--orange);color:#fff;text-align:center;padding:8px 14px;font-size:13.5px;font-weight:600}
.ansicht-hinweis a{color:#fff;margin-left:10px}

/* ---------- Stempel ---------- */
.stempel{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.stempel .status{background:rgba(255,255,255,.2);backdrop-filter:blur(6px);border-radius:999px;padding:9px 16px;font-weight:600;font-size:14px}
.stempel .status i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#b8c4c6;margin-right:8px;vertical-align:1px}
.stempel .status.an i{background:#7fe0a8;box-shadow:0 0 0 4px rgba(127,224,168,.25)}
.stempel .status.pause i{background:var(--orange2)}
.knopf-gross{background:#fff;color:var(--petrol);border-radius:999px;padding:12px 24px;font-weight:700;font-size:15.5px;box-shadow:0 8px 20px -8px rgba(0,0,0,.35)}
.knopf-gross.orange{background:var(--orange);color:#fff}
.knopf-gross.leise{background:rgba(255,255,255,.22);color:#fff;box-shadow:none}
.plan-heute{margin-top:10px;font-size:13.5px;opacity:.95}

/* ---------- Inhalt ---------- */
main{max-width:1180px;margin:-34px auto 0;padding:0 16px 120px;position:relative}
.raster{display:grid;gap:16px}
@media(min-width:900px){.raster.zwei{grid-template-columns:1fr 1fr}.raster.drei{grid-template-columns:1.2fr 1fr 1fr}.breit{grid-column:1/-1}}
.karte{background:var(--card);border-radius:var(--rund);padding:18px 20px;box-shadow:var(--schatten)}
.karte h2{font-size:16px;font-weight:700;margin-bottom:4px}
.karte .unter{font-size:12.5px;color:var(--mute)}
.klein{font-size:12.5px;color:var(--mute);line-height:1.45}
.leer{color:var(--mute);text-align:center;padding:24px 0;font-size:14px}
.plus{color:#c9702b}.minus{color:var(--minus)}
.gut{color:var(--gut)}.schlecht{color:var(--schlecht)}
.trenner{height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18'%3E%3Cpath d='M0 9 C20 2 40 16 60 9 S100 2 120 9' fill='none' stroke='%23e2dbd0' stroke-width='1.5'/%3E%3C/svg%3E") repeat-x center/120px 18px;margin:8px 0}

/* Knöpfe & Felder */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(90deg,var(--petrol),var(--petrol2));color:#fff;border-radius:999px;padding:11px 20px;font-weight:600;font-size:14.5px}
.knopf.voll{display:flex;width:100%}
.knopf2{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13px;color:var(--petrol);background:#fff}
.knopf2.rot{color:var(--schlecht)}
.knopf2.klein{padding:5px 11px;font-size:12px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--petrol-hell);color:var(--petrol);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:600}
.feld{margin-bottom:14px}
.feld label{display:block;font-size:12.5px;color:var(--mute);font-weight:500;margin-bottom:6px}
.feld input,.feld select{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:11px 14px;background:var(--feld);font-size:15px;outline:none}
.feld input:focus,.feld select:focus{border-color:var(--petrol2);background:#fff}
.fehler{background:var(--schlecht-hell);color:var(--schlecht);border-radius:14px;padding:10px 14px;font-size:13.5px;margin-bottom:12px}
.erfolg{background:var(--gut-hell);color:var(--gut);border-radius:14px;padding:10px 14px;font-size:13.5px;margin-bottom:12px}
.tage-wahl{display:flex;gap:6px;flex-wrap:wrap}
.tage-wahl button{width:40px;height:40px;border-radius:50%;font-size:13px;font-weight:600;background:#efeae2;color:#9aa5a8}
.tage-wahl button.an{background:var(--petrol);color:#fff}

/* Kacheln */
.kacheln{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:700px){.kacheln{grid-template-columns:repeat(5,1fr)}}
.kachel{background:var(--card);border-radius:18px;padding:12px 14px;box-shadow:var(--schatten)}
.kachel b{display:block;font-size:20px;font-weight:750}
.kachel span{font-size:11.5px;color:var(--mute)}

/* Untere Leiste (Handy) */
.leiste{position:fixed;left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:26px;display:flex;justify-content:space-around;padding:8px 4px;box-shadow:0 10px 30px -10px rgba(30,60,70,.45);z-index:20;max-width:520px;margin:0 auto}
.leiste a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--mute);text-decoration:none;padding:4px 8px;border-radius:14px;min-width:54px}
.leiste a svg{width:22px;height:22px}
.leiste a.aktiv{color:var(--petrol);font-weight:700}
.leiste a.aktiv svg{color:var(--orange)}
@media(min-width:900px){.leiste{display:none}.menue{display:flex}main{padding-bottom:60px}}

/* Konto-Bogen */
.bogen{display:flex;flex-direction:column;align-items:center}
.bogen svg{width:100%;max-width:300px}
.bogen .wert{font-size:34px;font-weight:800;margin-top:-58px}
.bogen .wert-unter{font-size:12.5px;color:var(--mute);margin-bottom:6px}
.zahlenreihe{display:flex;justify-content:space-around;width:100%;margin-top:10px;text-align:center}
.zahlenreihe b{display:block;font-size:15px}
.zahlenreihe span{font-size:11.5px;color:var(--mute)}

/* Tageskarten */
.tagkarten{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:10px}
.tagkarte{background:#f7f4ef;border-radius:14px;padding:8px 4px;text-align:center;font-size:11.5px;cursor:pointer}
.tagkarte b{display:block;font-size:13px}
.tagkarte .balken{height:5px;border-radius:3px;background:#e6e0d6;margin:6px 4px 4px;overflow:hidden}
.tagkarte .balken i{display:block;height:100%;background:linear-gradient(90deg,var(--petrol2),var(--orange));border-radius:3px}
.tagkarte.heute{outline:2px solid var(--orange);background:#fff}
.tagkarte.frei{opacity:.5}

/* Woche */
.wochentag{background:var(--card);border-radius:22px;padding:14px 16px;box-shadow:var(--schatten);margin-bottom:12px}
.wochentag.heute{outline:2px solid var(--orange)}
.wt-kopf{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.wt-kopf .datum{font-weight:700;font-size:15px;min-width:70px}
.wt-kopf .rechts{margin-left:auto;text-align:right;font-size:13px}
.wt-kopf .rechts b{font-size:15px}
.dienstpille{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 12px;font-weight:600;font-size:13px;background:#f1ede6}
.dienstpille i{width:9px;height:9px;border-radius:50%;display:inline-block}
.dienstpille.leer{background:none;border:1.5px dashed #b9d3d6;color:var(--petrol2)}
.spur{position:relative;height:30px;margin:14px 0 4px;border-radius:10px;background:#f4f0ea}
.spur .plan{position:absolute;top:0;bottom:0;border-radius:10px;background:repeating-linear-gradient(135deg,#e5ddd1 0 6px,#efe9e0 6px 12px)}
.spur .ist{position:absolute;top:6px;bottom:6px;border-radius:8px;background:var(--petrol2)}
.spur .ist.laeuft{background:var(--orange)}
.spur .luecke{position:absolute;top:6px;bottom:6px;background:#fff;opacity:.85;border-radius:3px}
.spur-zeiten{display:flex;justify-content:space-between;font-size:12px;gap:8px}
.spur-zeiten .z b{font-size:13px;color:var(--ink)}
.pruefung{margin-top:8px;font-size:12.5px;border-radius:12px;padding:7px 11px;display:inline-block}
.pruefung.ok{background:var(--gut-hell);color:var(--gut)}
.pruefung.zu_kurz{background:var(--schlecht-hell);color:var(--schlecht)}
.pruefung.offen,.pruefung.pause{background:var(--orange-hell);color:#b8682d}
.achse{display:flex;justify-content:space-between;font-size:10.5px;color:#a6b0b2;padding:0 2px}

/* Monat */
.kalender{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.kalender .wd{text-align:center;color:var(--mute);font-weight:600;font-size:11.5px;padding-bottom:2px}
.kalender .t{min-height:54px;border-radius:13px;background:#f7f4ef;padding:5px 3px;text-align:center;font-weight:650;font-size:13px;cursor:pointer;border:0}
.kalender .t small{display:block;font-size:10.5px;font-weight:650;margin-top:2px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kalender .t.heute{outline:2px solid var(--orange);background:#fff}
.kalender .t.kein{background:transparent;color:#b9c1c3}
.kalender .t.urlaub{background:var(--petrol-hell);color:var(--petrol)}
.kalender .t.krank{background:#efe7f3;color:#7a5a8c}
.kalender .t.feiertag{background:#fbe9da;color:#b8682d}
@media(min-width:900px){.kalender .t{min-height:72px;font-size:14px}.kalender .t small{font-size:11.5px}}

/* Dienstplan-Liste */
.planzeile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line)}
.planzeile:last-child{border:0}
.planzeile .d{font-weight:600;min-width:74px}
.planzeile.we{opacity:.55}
.planzeile .ft{font-size:12px;color:#b8682d}
.planzeile button{text-align:right}

/* Blatt (Bottom-Sheet / Dialog) */
.schleier{position:fixed;inset:0;background:rgba(31,45,51,.35);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:ein .15s}
.blatt{background:#fff;width:100%;max-width:560px;max-height:88vh;overflow:auto;border-radius:28px 28px 0 0;padding:14px 20px calc(24px + env(safe-area-inset-bottom));animation:hoch .2s}
.blatt .griff{width:42px;height:5px;border-radius:3px;background:#ddd;margin:0 auto 12px}
.blatt h3{font-size:17px;font-weight:700}
@media(min-width:900px){.schleier{align-items:center}.blatt{border-radius:28px}}
@keyframes ein{from{opacity:0}}@keyframes hoch{from{transform:translateY(40px)}}
.optionen{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
.option{border:1.5px solid var(--line);border-radius:16px;padding:11px 12px;font-weight:650;font-size:14.5px;text-align:left;background:#fff}
.option small{display:block;color:var(--mute);font-weight:500;font-size:11.5px;margin-top:2px}
.option.gewaehlt{border-color:var(--orange);background:var(--orange-hell)}
.buchung{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line)}
.buchung input{width:84px;border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--feld)}
.buchung select{border:1.5px solid var(--line);border-radius:12px;padding:8px 8px;background:var(--feld);flex:1;min-width:0}
.marke{font-size:10.5px;border-radius:999px;padding:2px 7px;background:#eee;color:#777;white-space:nowrap}
.marke.admin{background:var(--orange-hell);color:#b8682d}

/* Admin */
.tabelle{width:100%;border-collapse:collapse;font-size:13.5px}
.tabelle th{text-align:left;font-size:11.5px;color:var(--mute);font-weight:600;padding:8px 6px;border-bottom:1px solid var(--line)}
.tabelle td{padding:10px 6px;border-bottom:1px dashed var(--line)}
.tabelle tr.zeile{cursor:pointer}
.tabelle tr.gewaehlt td{background:var(--orange-hell)}
.av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--petrol-hell);color:var(--petrol);font-weight:700;font-size:12px;margin-right:8px;vertical-align:middle}
.status-marke{display:inline-block;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;background:var(--gut-hell);color:var(--gut)}
.status-marke.aus{background:#eee;color:#888}.status-marke.ein{background:var(--orange-hell);color:#b8682d}
.kv{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:13.5px;border-bottom:1px dashed var(--line)}
.kv:last-child{border:0}
.qr{width:150px;height:150px;border-radius:14px;border:1px solid var(--line);padding:6px;background:#fff}
.link-feld{background:#f4f0ea;border-radius:12px;padding:9px 12px;font-size:12.5px;font-family:ui-monospace,Menlo,monospace;color:var(--petrol);word-break:break-all;margin:8px 0}
.tabelle-wrap{overflow-x:auto}
@media(max-width:700px){.nur-breit{display:none}}

/* Anmeldung */
.anmelde-seite{min-height:100vh;display:flex;flex-direction:column}
.anmelde-seite .kopf{min-height:300px}
.anmelde-seite .kopf .innen{text-align:center;padding-top:70px}
.anmelde-seite .titel{font-size:36px;font-weight:800;letter-spacing:.5px}
.anmelde-seite main{max-width:440px;width:100%}

.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;z-index:80;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
.raster>*{min-width:0}
.feld input,.feld select{min-width:0;max-width:100%}
input[type=date]{-webkit-appearance:none;appearance:none;min-height:46px}
main{overflow-x:clip}

/* ---------- Stundenzettel ---------- */
.zettel-seite{background:#e9e4dc;min-height:100vh;padding:20px 12px 40px}
.zettel-knoepfe{max-width:210mm;margin:0 auto 14px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.zettel{background:#fff;max-width:210mm;margin:0 auto;padding:14mm 12mm;box-shadow:0 10px 30px -12px rgba(30,60,70,.35);border-radius:6px;font-size:10.5px;color:#1f2d33}
.zkopf{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid var(--petrol);padding-bottom:10px;margin-bottom:10px;flex-wrap:wrap}
.zlogo{font-weight:800;color:var(--petrol);font-size:13px;letter-spacing:.3px}
.zkopf h1{font-size:19px;margin-top:2px}
.zdaten{min-width:230px}
.kv2{display:flex;justify-content:space-between;gap:14px;padding:2px 0;border-bottom:1px dotted #ddd}
.kv2 span{color:#6b7c82}
.ztab{width:100%;border-collapse:collapse}
.ztab th{text-align:left;font-size:9.5px;color:#6b7c82;font-weight:600;border-bottom:1.5px solid #cfc6b8;padding:4px 4px}
.ztab td{padding:3px 4px;border-bottom:1px solid #eee;white-space:nowrap}
.ztab td.bem{white-space:normal;color:#5b6b70;font-size:9.5px}
.ztab .r{text-align:right}.ztab .b{font-weight:700}.ztab .grau{color:#9aa5a8}
.ztab tr.we td{background:#faf8f5;color:#8a979a}
.ztab tr.ft td:first-child{color:#b8682d;font-weight:600}
.ztab tr.leer td{color:#b5bdbf}
.zsumme{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px;padding-top:8px;border-top:2px solid var(--petrol)}
.zhinweis{margin-top:8px;color:#b8682d}
.zunter{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:34px;color:#6b7c82;font-size:9.5px}
.zunter span{display:block;border-bottom:1px solid #1f2d33;height:26px;margin-bottom:4px}
.zfuss{margin-top:16px;color:#9aa5a8;font-size:8.5px;border-top:1px solid #eee;padding-top:6px}
@media(max-width:640px){.zettel{padding:16px 10px;overflow-x:auto}.zsumme{grid-template-columns:1fr}}
@media print{
  @page{size:A4;margin:10mm}
  body{background:#fff}
  .zettel-seite{background:#fff;padding:0}
  .zettel-knoepfe,.leiste,.toast{display:none!important}
  .zettel{box-shadow:none;border-radius:0;padding:0;max-width:none}
  .ztab tr{break-inside:avoid}
}

.rechtstext h2{font-size:15.5px;margin:18px 0 6px}
.rechtstext h2:first-child{margin-top:0}
.rechtstext p,.rechtstext li{font-size:14px;line-height:1.6;color:#33454b;margin-bottom:8px}
.rechtstext ul{padding-left:20px}

.anmelde-seite .kopf .sonne{top:30px;right:9%;bottom:auto;width:44px;height:44px}





.menue .menue-ab{background:transparent;border:1.5px solid rgba(255,255,255,.45);border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600;color:#fff}
.abmelden-mobil{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.2);backdrop-filter:blur(4px);color:#fff;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:600}
.abmelden-mobil svg{width:16px;height:16px}
@media(min-width:900px){.abmelden-mobil{display:none}}

/* ---------- Fehlerseiten (Odin / Loki) ---------- */
.fehler-seite{min-height:100vh;display:flex;flex-direction:column;position:relative;background:var(--bg)}
.fehler-seite .kopf{min-height:400px}
.fehler-seite .kopf .sonne{top:40px;bottom:auto;right:10%}
.fehler-seite .figur{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:min(440px,92vw);z-index:1}
.fehler-seite.loki .figur{width:min(330px,78vw)}
.figur-svg{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 20px rgba(10,30,36,.28))}
.figur-svg .irrlicht{animation:irrlicht 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes irrlicht{0%,100%{transform:translate(0,0);opacity:1}30%{transform:translate(-6px,-5px);opacity:.75}60%{transform:translate(5px,3px);opacity:.95}}
@media(prefers-reduced-motion:reduce){.figur-svg .irrlicht{animation:none}}
.fehler-text{text-align:center;padding:26px 22px 8px;max-width:560px;margin:0 auto}
.fehler-text h1{font-size:26px;line-height:1.2;font-weight:800;color:var(--ink);margin-bottom:10px}
.fehler-text p{font-size:16px;line-height:1.6;color:#4d5f65;margin-bottom:22px}
.fehler-knoepfe{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fehler-text .knopf-gross{text-decoration:none;display:inline-block}
.fehler-text .knopf-gross:not(.leise){background:linear-gradient(90deg,var(--petrol),var(--petrol2));color:#fff}
.fehler-text .knopf-gross.leise{background:#fff;color:var(--petrol);border:1.5px solid var(--line)}
.fehler-fuss{margin-top:auto;padding-bottom:16px}
@media(min-width:900px){
  .fehler-seite .kopf{min-height:max(600px,82vh)}
  .fehler-seite .figur{left:auto;right:max(4vw,calc(50% - 600px));transform:none;width:560px;bottom:26px}
  .fehler-seite.loki .figur{width:400px;right:max(8vw,calc(50% - 540px))}
  .fehler-text{position:absolute;top:150px;left:max(40px,calc(50% - 560px));text-align:left;max-width:470px;padding:0;margin:0;z-index:2}
  .fehler-text h1{font-size:40px;color:#fff;text-shadow:0 2px 18px rgba(10,30,36,.35)}
  .fehler-text p{font-size:18px;color:rgba(255,255,255,.94);text-shadow:0 1px 10px rgba(10,30,36,.35)}
  .fehler-knoepfe{justify-content:flex-start}
  .fehler-text .knopf-gross.leise{background:rgba(255,255,255,.2);color:#fff;border:0;backdrop-filter:blur(6px)}
  .fehler-text .knopf-gross:not(.leise){background:#fff;color:var(--petrol)}
}
.figur-svg .feuer{animation:flackern 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes flackern{0%,100%{transform:scale(1,1)}40%{transform:scale(.94,1.06)}70%{transform:scale(1.04,.96)}}
@media(prefers-reduced-motion:reduce){.figur-svg .feuer{animation:none}}

/* ---------- Figuren im Alltag ---------- */
.kopf-figur{width:230px;margin:8px 0 -10px auto}
.kopf-figur .figur-svg{filter:drop-shadow(0 8px 14px rgba(10,30,36,.3))}
@media(min-width:900px){.kopf{position:relative}.kopf-figur{position:absolute;right:max(20px,calc(50% - 560px));bottom:42px;width:300px;margin:0}}
.anmelde-seite.mit-odin .kopf{min-height:400px}
.anmelde-figur{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:min(320px,82vw);z-index:1}
.anmelde-figur .figur-svg{filter:drop-shadow(0 8px 14px rgba(10,30,36,.3))}
.anmelde-seite.mit-odin .kopf .innen{padding-top:40px}
@media(min-width:900px){.anmelde-seite.mit-odin .kopf{min-height:470px}.anmelde-figur{width:400px}}
.figur-blatt{max-width:360px;margin:0 auto 6px}
.leer-karte{text-align:center;margin-bottom:14px}
.leer-figur{width:200px;margin:0 auto 6px}
.leer-karte h2{margin-bottom:6px}

/* ---------- Revision ---------- */
.hinweis-schloss{background:var(--petrol-hell);color:var(--petrol);border-radius:16px;padding:10px 14px;font-size:13.5px;line-height:1.5;margin:8px 0}
.hinweis-offen{background:var(--orange-hell);color:#9a5a26;border-radius:16px;padding:10px 14px;font-size:13.5px;line-height:1.5;margin:8px 0}
.hinweis-notfall{background:var(--schlecht-hell);color:#b4452d;border-radius:16px;padding:10px 14px;font-size:13.5px;line-height:1.5;margin:8px 0 10px}
.marke.or{background:var(--orange-hell);color:#b8682d}
details.verlauf{background:#f7f4ef;border-radius:16px;padding:10px 14px;margin-top:12px}
details.verlauf summary{cursor:pointer;font-weight:700;font-size:14px}
.verlauf-zeile{font-size:12.5px;color:#4d5f65;padding:6px 0;border-bottom:1px dashed var(--line);line-height:1.5}
.verlauf-zeile:last-child{border:0}
.verlauf-zeile .wann{color:var(--mute);font-variant-numeric:tabular-nums}
.verlauf-zeile s{color:#a3adb0}
.verlauf-zeile.notfall{background:#fdf3f0;border-radius:8px;padding:6px 8px}
.plan-rechts{display:inline-flex;align-items:center;gap:6px}
.x-knopf{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);color:var(--schlecht);background:#fff;font-size:12px;display:inline-grid;place-items:center;flex:none}
.x-knopf:hover{background:var(--schlecht-hell)}
.versionen{background:#f7f4ef;border-radius:14px;padding:10px 14px;font-size:13px;margin-bottom:14px;line-height:1.7}
.protokoll-liste{margin-top:12px;max-height:520px;overflow:auto}
.prot{font-size:12.5px;padding:8px 0;border-bottom:1px dashed var(--line);position:relative;line-height:1.5}
.prot .nr{color:var(--mute);font-variant-numeric:tabular-nums}
.prot .hash{position:absolute;right:0;top:8px;font-family:ui-monospace,Menlo,monospace;font-size:10px;color:#b5bdbf}
.prot.notfall{background:#fdf3f0}
.zstatus{margin-top:4px;font-size:10px;color:#6b7c82}
.pruefung.zu_kurz::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px;background:radial-gradient(circle,#fff3d6 0 25%,#f6b26b 55%,transparent 75%);box-shadow:0 0 6px 2px rgba(246,178,107,.6)}
.sym{display:inline-block;border:1.5px solid currentColor;border-radius:5px;padding:0 4px;font-size:11px}

[hidden]{display:none!important}
