
  :root{
    --deep:#0b3550;
    --deep-2:#123a5c;
    --water:#1c6e8c;
    --water-light:#3f93af;
    --foam:#eef4f6;
    --paper:#ffffff;
    --ink:#122430;
    --ink-soft:#4c6473;
    --alert:#b3211f;
    --line:#d7e2e6;
  }

  *{box-sizing:border-box;}

  html,body{
    margin:0;
    height:100%;
    font-family:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;
    color:var(--ink);
    background:var(--foam);
  }

  @font-face{
    font-family:"IBM Plex Sans";
    src:local("IBM Plex Sans");
  }

  #app{
    display:flex;
    flex-direction:column;
    height:100vh;
  }

  header{
    background:var(--deep);
    color:var(--foam);
    padding:14px 22px;
    display:flex;
    align-items:baseline;
    gap:14px;
    flex-wrap:wrap;
    border-bottom:3px solid var(--water);
  }

  header h1{
    margin:0;
    font-size:1.15rem;
    font-weight:600;
    letter-spacing:0.01em;
  }

  header .sub{
    font-size:0.85rem;
    color:#b9d3de;
  }

  header .status{
    font-size:0.8rem;
    color:#b9d3de;
    display:flex;
    align-items:center;
    gap:8px;
  }
  header .status #datenstandText{
    color:#8fb3c2;
    font-size:0.72rem;
  }

  #mainNav{
    display:flex;
    gap:6px;
  }
  .nav-btn{
    background:transparent;
    border:1px solid rgba(255,255,255,0.35);
    color:#dcebf1;
    padding:5px 14px;
    border-radius:20px;
    font-size:0.82rem;
    font-family:inherit;
    cursor:pointer;
  }
  .nav-btn:hover{
    border-color:#fff;
    color:#fff;
  }
  .nav-btn.active{
    background:var(--water);
    border-color:var(--water);
    color:#fff;
    font-weight:600;
  }

  .view{
    display:none;
    flex:1;
    flex-direction:column;
    min-height:0;
  }
  .view.active{display:flex;}

  /* ---- Einsatzleitung ------------------------------------------------ */

  #einsatzBar{
    background:var(--deep-2);
    color:var(--foam);
    padding:10px 22px;
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    font-size:0.85rem;
  }
  #einsatzBar select{
    background:#fff;
    border:none;
    border-radius:6px;
    padding:6px 10px;
    font-family:inherit;
    font-size:0.85rem;
    color:var(--ink);
    min-width:220px;
  }
  #einsatzBar .action{
    background:var(--water);
    color:#fff;
    border:none;
    border-radius:6px;
    padding:6px 12px;
    font-size:0.82rem;
    font-family:inherit;
    cursor:pointer;
  }
  #einsatzBar .action:hover{background:var(--water-light);}
  #einsatzBar .action.secondary{
    background:transparent;
    border:1px solid rgba(255,255,255,0.4);
  }
  #einsatzBar .action.secondary:hover{border-color:#fff;}
  #einsatzBar .action.danger{background:var(--alert);}
  #einsatzBar .meta{
    color:#a9c6d3;
    font-size:0.78rem;
  }

  #leitungBody{
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:22px;
  }
  #leitungBody:has(#modProtokoll.active),
  #leitungBody:has(#modTauchen.active),
  #leitungBody:has(#modIuk.active){
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  #leitungBreadcrumb{
    display:none;
    align-items:center;
    gap:8px;
    margin-bottom:16px;
    font-size:0.9rem;
    color:var(--ink-soft);
  }
  #leitungBreadcrumb.show{display:flex; flex:0 0 auto;}
  #leitungBackBtn{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:6px;
    width:30px;
    height:30px;
    font-size:1rem;
    cursor:pointer;
    color:var(--ink);
  }
  #leitungBackBtn:hover{background:var(--foam);}

  #moduleGrid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
    gap:14px;
    max-width:900px;
  }
  .module-tile{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:20px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-align:center;
    cursor:pointer;
  }
  .module-tile:hover{background:var(--foam); border-color:var(--water-light);}
  .module-tile svg{color:var(--deep);}
  .module-tile .label{font-size:0.85rem; font-weight:600; color:var(--ink);}
  .module-tile.disabled{
    cursor:default;
    opacity:0.5;
  }
  .module-tile.disabled:hover{background:var(--paper); border-color:var(--line);}
  .module-tile .soon{
    font-size:0.68rem;
    color:var(--ink-soft);
    font-weight:400;
  }

  .leitung-module{
    display:none;
    max-width:900px;
  }
  .leitung-module.active{display:block;}
  #modProtokoll.active,
  #modTauchen.active,
  #modIuk.active,
  #modSan.active,
  #modSanprotokoll.active{
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:0;
    height:100%;
    overflow:hidden;
    max-width:none;
    width:100%;
  }
  .leitung-module h2{
    margin:0 0 4px;
    font-size:1.1rem;
    color:var(--deep);
  }
  .leitung-module .module-hint{
    font-size:0.82rem;
    color:var(--ink-soft);
    margin-bottom:16px;
  }

  #protokollForm{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:14px 16px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
  }
  #protokollForm input, #protokollForm select, #protokollForm textarea{
    border:1px solid var(--line);
    border-radius:6px;
    padding:8px 10px;
    font-family:inherit;
    font-size:0.85rem;
    color:var(--ink);
  }
  #protokollForm input[name="verfasser"]{width:160px;}
  #protokollForm select{width:150px;}
  #protokollForm textarea{
    flex:1 1 100%;
    min-height:56px;
    resize:vertical;
  }
  #protokollForm button{
    background:var(--water);
    color:#fff;
    border:none;
    border-radius:6px;
    padding:9px 16px;
    font-size:0.85rem;
    font-family:inherit;
    cursor:pointer;
  }
  #protokollForm button:hover{background:var(--water-light);}

  #protokollList{
    display:flex;
    flex-direction:column;
    gap:0;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--paper);
    overflow:hidden;
  }
  .protokoll-row{
    display:flex;
    gap:12px;
    padding:10px 14px;
    border-bottom:1px solid var(--line);
    font-size:0.85rem;
    align-items:baseline;
  }
  .protokoll-row:last-child{border-bottom:none;}
  .protokoll-row .zeit{
    color:var(--ink-soft);
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
    min-width:118px;
  }
  .protokoll-row .kategorie{
    font-size:0.68rem;
    font-weight:600;
    padding:2px 8px;
    border-radius:20px;
    background:var(--foam);
    color:var(--deep);
    white-space:nowrap;
    text-transform:uppercase;
    letter-spacing:0.02em;
  }
  .protokoll-row .kategorie.anordnung{background:#fde3cc; color:#8a4a10;}
  .protokoll-row .kategorie.ereignis{background:#fbeceb; color:var(--alert);}
  .protokoll-row .verfasser{
    font-weight:600;
    white-space:nowrap;
  }
  .protokoll-row .text{
    flex:1;
    color:var(--ink);
  }
  .leitung-empty{
    padding:16px;
    color:var(--ink-soft);
    font-size:0.85rem;
    text-align:center;
  }

  /* ---- Anmeldung ----------------------------------------------------- */

  .module-tile.locked .label{color:var(--ink-soft);}
  .module-tile .lock{
    font-size:0.68rem;
    color:var(--ink-soft);
    font-weight:400;
  }

  #loginModal .modal-card{width:340px;}
  #loginForm{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  #loginForm label{
    font-size:0.78rem;
    color:var(--ink-soft);
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  #loginForm input{
    border:1px solid var(--line);
    border-radius:6px;
    padding:9px 10px;
    font-family:inherit;
    font-size:0.88rem;
    color:var(--ink);
  }
  #loginForm button{
    background:var(--water);
    color:#fff;
    border:none;
    border-radius:6px;
    padding:10px 16px;
    font-size:0.88rem;
    font-family:inherit;
    cursor:pointer;
    margin-top:4px;
  }
  #loginForm button:hover{background:var(--water-light);}
  #loginForm button:disabled{background:var(--ink-soft); cursor:default;}
  #loginHint{
    font-size:0.78rem;
    color:var(--ink-soft);
    line-height:1.5;
    margin-bottom:12px;
  }
  #loginError{
    display:none;
    background:#fbeceb;
    color:var(--alert);
    border:1px solid #f0bcbb;
    border-radius:6px;
    padding:8px 10px;
    font-size:0.8rem;
  }
  #loginError.show{display:block;}

  #liveClock{
    margin-left:auto;
    text-align:right;
    line-height:1.15;
    color:#fff;
    min-width:72px;
  }
  #liveClock .lc-time{
    font-size:1.05rem;
    font-weight:700;
    font-variant-numeric:tabular-nums;
    letter-spacing:0.02em;
  }
  #liveClock .lc-date{
    font-size:0.68rem;
    color:#b9d3de;
    margin-top:1px;
  }
  #userBox{
    display:none;
    align-items:center;
    gap:10px;
    font-size:0.8rem;
    color:#cfe3eb;
  }
  #userBox.show{display:flex;}
  #userBox .user-name{font-weight:600; color:#fff;}
  #logoutBtn{
    background:transparent;
    border:1px solid rgba(255,255,255,0.4);
    color:#dcebf1;
    border-radius:6px;
    padding:5px 12px;
    font-size:0.78rem;
    font-family:inherit;
    cursor:pointer;
  }
  #logoutBtn:hover{border-color:#fff; color:#fff;}

  #leitungLoginPrompt{
    display:none;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:22px;
    max-width:520px;
    margin-bottom:20px;
  }
  #leitungLoginPrompt.show{display:block;}
  #leitungLoginPrompt h3{
    margin:0 0 6px;
    font-size:0.98rem;
    color:var(--deep);
  }
  #leitungLoginPrompt p{
    margin:0 0 14px;
    font-size:0.85rem;
    color:var(--ink-soft);
    line-height:1.55;
  }
  #leitungLoginPrompt button{
    background:var(--water);
    color:#fff;
    border:none;
    border-radius:6px;
    padding:9px 18px;
    font-size:0.85rem;
    font-family:inherit;
    cursor:pointer;
  }
  #leitungLoginPrompt button:hover{background:var(--water-light);}

  /* ---- Dialog "Neuer Einsatz" ---------------------------------------- */

  #einsatzModal .modal-card{
    width:min(880px, 94vw);
    max-height:92vh;
    display:flex;
    flex-direction:column;
  }
  #einsatzModal .modal-body{
    overflow-y:auto;
    padding:20px 24px 8px;
  }
  .modal-foot{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:12px;
    padding:14px 24px;
    border-top:1px solid var(--line);
    background:var(--foam);
    border-radius:0 0 12px 12px;
  }
  .modal-foot .ghost{
    background:transparent;
    border:none;
    color:var(--ink-soft);
    font-size:0.88rem;
    font-family:inherit;
    cursor:pointer;
    padding:10px 12px;
  }
  .modal-foot .ghost:hover{color:var(--ink);}
  .modal-foot .primary{
    background:var(--water);
    color:#fff;
    border:none;
    border-radius:8px;
    padding:11px 22px;
    font-size:0.9rem;
    font-weight:600;
    font-family:inherit;
    cursor:pointer;
  }
  .modal-foot .primary:hover{background:var(--water-light);}
  .modal-foot .primary:disabled{background:#a9bcc6; cursor:default;}

  .form-grid{
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    gap:14px;
  }
  .field{
    position:relative;
    display:flex;
    flex-direction:column;
  }
  .field.c2{grid-column:span 2;}
  .field.c3{grid-column:span 3;}
  .field.c4{grid-column:span 4;}
  .field.c5{grid-column:span 5;}
  .field.c6{grid-column:span 6;}
  .field.c8{grid-column:span 8;}
  .field.c9{grid-column:span 9;}
  .field.c12{grid-column:span 12;}
  .field > span.lbl{
    font-size:0.72rem;
    font-weight:600;
    letter-spacing:0.03em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:5px;
  }
  .field .req{color:var(--alert);}
  .field input, .field select, .field textarea{
    border:1px solid var(--line);
    border-radius:9px;
    padding:11px 12px;
    font-family:inherit;
    font-size:0.9rem;
    color:var(--ink);
    background:var(--paper);
    width:100%;
    transition:border-color .15s, box-shadow .15s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none;
    border-color:var(--water);
    box-shadow:0 0 0 3px rgba(28,110,140,0.13);
  }
  .field textarea{resize:vertical; min-height:62px;}
  .field .with-btn{display:flex; gap:8px;}
  .field .with-btn button{
    border:1px solid var(--line);
    background:var(--paper);
    border-radius:9px;
    padding:0 14px;
    cursor:pointer;
    font-size:1rem;
    color:var(--deep);
    white-space:nowrap;
  }
  .field .with-btn button:hover{background:var(--foam); border-color:var(--water-light);}

  .form-section{
    grid-column:span 12;
    font-size:0.82rem;
    font-weight:700;
    color:var(--deep);
    letter-spacing:0.02em;
    padding-top:6px;
    border-top:1px solid var(--line);
    margin-top:4px;
  }
  .form-section:first-child{border-top:none; margin-top:0; padding-top:0;}

  .switch-row{
    grid-column:span 12;
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--foam);
    border:1px solid var(--line);
    border-radius:10px;
    padding:11px 14px;
  }
  .switch-row .sw-text{font-size:0.87rem; color:var(--ink);}
  .switch-row .sw-sub{font-size:0.76rem; color:var(--ink-soft);}
  .switch{
    position:relative;
    width:44px;
    height:24px;
    flex:0 0 44px;
    display:inline-block;
  }
  .switch input{opacity:0; width:0; height:0; position:absolute;}
  .switch .slider{
    position:absolute;
    inset:0;
    background:#c3d2d9;
    border-radius:24px;
    cursor:pointer;
    transition:background .18s;
  }
  .switch .slider::before{
    content:"";
    position:absolute;
    height:18px; width:18px;
    left:3px; top:3px;
    background:#fff;
    border-radius:50%;
    transition:transform .18s;
    box-shadow:0 1px 3px rgba(0,0,0,0.25);
  }
  .switch input:checked + .slider{background:var(--water);}
  .switch input:checked + .slider::before{transform:translateX(20px);}

  .prio-select{display:flex; gap:6px;}
  .prio-opt{
    flex:1;
    border:1px solid var(--line);
    background:var(--paper);
    border-radius:9px;
    padding:9px 4px;
    font-size:0.78rem;
    font-family:inherit;
    cursor:pointer;
    color:var(--ink-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
  }
  .prio-opt .dot{width:9px; height:9px; border-radius:50%; background:#b9c7ce;}
  .prio-opt[data-prio="niedrig"] .dot{background:#3f9c6b;}
  .prio-opt[data-prio="mittel"] .dot{background:#e0a02a;}
  .prio-opt[data-prio="hoch"] .dot{background:var(--alert);}
  .prio-opt.active{
    border-color:var(--water);
    background:var(--foam);
    color:var(--ink);
    font-weight:600;
  }

  #einsatzFormError{
    grid-column:span 12;
    display:none;
    background:#fbeceb;
    color:var(--alert);
    border:1px solid #f0bcbb;
    border-radius:8px;
    padding:9px 12px;
    font-size:0.82rem;
  }
  #einsatzFormError.show{display:block;}

  /* ---- Einsatz-Ansicht ------------------------------------------------ */

  #einsatzHeadCard{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px 16px;
    margin-bottom:12px;
  }
  .eh-top{
    display:flex;
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap;
  }
  .eh-stichwort{
    background:var(--deep);
    color:#fff;
    border-radius:7px;
    padding:5px 11px;
    font-size:0.8rem;
    font-weight:700;
    letter-spacing:0.02em;
  }
  .eh-stichwort.prio-hoch{background:var(--alert);}
  .eh-stichwort.prio-mittel{background:#b9761a;}
  .eh-stichwort.prio-niedrig{background:#2f7d55;}
  .eh-title{
    font-size:1.05rem;
    font-weight:600;
    color:var(--ink);
    flex:1;
    min-width:200px;
    line-height:1.3;
  }
  .eh-timer{
    text-align:right;
    font-variant-numeric:tabular-nums;
  }
  .eh-timer .laufzeit{
    font-size:1.05rem;
    font-weight:600;
    color:var(--deep);
  }
  .eh-timer .seit{
    font-size:0.76rem;
    color:var(--ink-soft);
  }
  .eh-meta{
    display:flex;
    flex-wrap:wrap;
    gap:4px 18px;
    margin-top:6px;
    font-size:0.84rem;
    color:var(--ink-soft);
  }
  .eh-meta .item{display:flex; align-items:center; gap:7px;}
  .eh-meta .item strong{color:var(--ink); font-weight:600;}
  .eh-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
  }
  .eh-tag{
    background:var(--foam);
    border:1px solid var(--line);
    border-radius:20px;
    padding:4px 12px;
    font-size:0.76rem;
    color:var(--ink-soft);
  }
  .eh-tag strong{color:var(--ink); font-weight:600;}
  .eh-tag.warn{background:#fff4e2; border-color:#f0d6a8; color:#8a5a10;}
  .eh-infos{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid var(--line);
    font-size:0.85rem;
    color:var(--ink);
    line-height:1.6;
  }
  .eh-infos .lbl{
    font-size:0.7rem;
    text-transform:uppercase;
    letter-spacing:0.03em;
    color:var(--ink-soft);
    font-weight:600;
    display:block;
  }
  .eh-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
  }
  .eh-actions button{
    border:1px solid var(--line);
    background:var(--paper);
    border-radius:8px;
    padding:8px 14px;
    font-size:0.84rem;
    font-family:inherit;
    cursor:pointer;
    color:var(--ink);
    display:flex;
    align-items:center;
    gap:7px;
  }
  .eh-actions button:hover{background:var(--foam); border-color:var(--water-light);}
  .eh-actions button.danger{color:var(--alert); border-color:#eccbca;}
  .eh-actions button.danger:hover{background:#fbeceb;}
  .eh-beendet{
    display:inline-block;
    background:#e7edf0;
    color:var(--ink-soft);
    border-radius:20px;
    padding:4px 12px;
    font-size:0.76rem;
    font-weight:600;
  }

  .einsatz-section{
    margin-bottom:18px;
  }
  .einsatz-section > h3{
    margin:0 0 10px;
    font-size:0.95rem;
    color:var(--deep);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .einsatz-section > h3 .count{
    font-size:0.76rem;
    font-weight:500;
    color:var(--ink-soft);
  }

  #meldungForm{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:12px;
    padding:14px 16px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:14px;
  }
  #meldungForm select{
    border:1px solid var(--line);
    border-radius:9px;
    padding:9px 10px;
    font-family:inherit;
    font-size:0.86rem;
    color:var(--ink);
    width:160px;
  }
  #meldungForm textarea{
    flex:1 1 320px;
    border:1px solid var(--line);
    border-radius:9px;
    padding:10px 12px;
    font-family:inherit;
    font-size:0.88rem;
    min-height:44px;
    resize:vertical;
  }
  #meldungForm textarea:focus, #meldungForm select:focus{
    outline:none;
    border-color:var(--water);
    box-shadow:0 0 0 3px rgba(28,110,140,0.13);
  }
  #meldungForm button{
    background:var(--water);
    color:#fff;
    border:none;
    border-radius:9px;
    padding:10px 20px;
    font-size:0.88rem;
    font-weight:600;
    font-family:inherit;
    cursor:pointer;
  }
  #meldungForm button:hover{background:var(--water-light);}
  #meldungForm .meldung-row,
  #iukAuftragForm .meldung-row,
  #iukAuftragFormSide .meldung-row{
    flex:1 1 100%; display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  }
  #meldungForm select[name="empfaenger"],
  #iukAuftragForm select[name="abschnitt"],
  #iukAuftragFormSide select[name="abschnitt"]{width:min(260px,100%);}
  #meldungForm select[name="dringlichkeit"],
  #iukAuftragForm select[name="dringlichkeit"],
  #iukAuftragFormSide select[name="dringlichkeit"],
  #iukFunkForm select[name="dringlichkeit"]{width:150px;}
  .iuk-funk-form{
    background:#f4fafc; border:1px solid #cfe0e8; border-radius:12px;
    padding:12px; margin-bottom:12px;
  }
  .iuk-funk-form h4{margin:0 0 4px; font-size:0.88rem; color:var(--deep);}
  .iuk-funk-form .hint{margin:0 0 8px; font-size:0.76rem; color:var(--ink-soft);}
  .iuk-funk-form textarea{
    width:100%; min-height:72px; font-family:inherit; font-size:0.86rem;
    border:1px solid var(--line); border-radius:9px; padding:8px 10px; resize:vertical; margin-bottom:8px;
  }
  .iuk-funk-form .meldung-row{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:8px;}
  .iuk-funk-form button[type="submit"]{
    background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff; border:none;
    border-radius:9px; padding:9px 14px; font-family:inherit; font-weight:700; cursor:pointer;
  }
  .iuk-emp-head{
    display:flex; align-items:center; gap:8px; font-size:0.74rem; font-weight:700;
    color:var(--deep); margin:4px 0 6px;
  }
  .iuk-emp-head button{
    border:1px solid var(--line); background:#fff; border-radius:7px; padding:2px 8px;
    font-family:inherit; font-size:0.72rem; cursor:pointer; font-weight:600;
  }
  .iuk-emp-list{display:flex; flex-wrap:wrap; gap:6px;}
  .iuk-emp{
    display:inline-flex; align-items:center; gap:6px; background:#fff;
    border:1px solid #cfe0e8; border-radius:20px; padding:4px 10px;
    font-size:0.78rem; cursor:pointer; color:var(--ink);
  }
  .iuk-emp:has(input:checked){border-color:#1c6e8c; background:#e7f3f7; font-weight:600;}
  .iuk-emp input{accent-color:#1c6e8c;}
  .prio-pill{
    font-size:0.64rem; font-weight:800; letter-spacing:0.04em; text-transform:uppercase;
    padding:2px 8px; border-radius:20px; white-space:nowrap;
  }
  .prio-pill.normal{background:#e3f5ec; color:#0f5c3d;}
  .prio-pill.sofort{background:#fdf1dc; color:#8a5a00;}
  .prio-pill.blitz{background:#fbeceb; color:#8d1d1c;}
  .tl-item.sofort .tl-card{border-color:#e6c36a;}
  .tl-item.blitz .tl-card{border-color:#e3a3a2; box-shadow:0 0 0 1px rgba(179,33,31,0.12);}
  .tl-ack{
    display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:8px;
    font-size:0.76rem; color:var(--ink-soft);
  }
  .tl-ack button{
    border:1px solid var(--water); background:#eef7fa; color:var(--deep);
    border-radius:8px; padding:4px 10px; font-family:inherit; font-size:0.74rem;
    font-weight:700; cursor:pointer;
  }
  .tl-ack button:hover{background:#dceef4;}
  .tl-ack.done{color:#0f5c3d;}

  #msgToasts{
    position:sticky; top:0; z-index:45;
    display:flex; flex-direction:column; gap:8px;
    padding:0 22px; pointer-events:none;
  }
  #msgToasts:empty{display:none; padding:0;}
  .msg-toast{
    pointer-events:auto; margin-top:8px; border-radius:12px; padding:12px 14px;
    color:#fff; display:flex; gap:12px; align-items:flex-start;
    box-shadow:0 12px 28px -14px rgba(11,53,80,0.55);
    animation: msgPop .22s ease;
  }
  .msg-toast.normal{background:linear-gradient(180deg,#3f9c5f,#2f7d55);}
  .msg-toast.sofort{background:linear-gradient(180deg,#e0b43a,#b07600); color:#1a1200;}
  .msg-toast.blitz{background:linear-gradient(180deg,#cf3230,#8d1d1c);}
  .msg-toast .mt-body{flex:1; min-width:0;}
  .msg-toast .mt-kicker{font-size:0.68rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; opacity:0.9;}
  .msg-toast .mt-text{font-size:0.88rem; margin-top:3px; line-height:1.4;}
  .msg-toast button{
    border:none; background:rgba(255,255,255,0.18); color:inherit; border-radius:8px;
    padding:6px 10px; font-family:inherit; font-size:0.74rem; font-weight:700; cursor:pointer;
    white-space:nowrap;
  }
  .msg-toast .mt-x{background:transparent; font-size:1.1rem; padding:0 4px; opacity:0.8;}
  @keyframes msgPop{from{transform:translateY(-8px); opacity:0;} to{transform:none; opacity:1;}}
  #ackBanner{
    display:none; margin:8px 22px 0; border-radius:12px; padding:10px 14px;
    align-items:center; gap:12px; font-size:0.88rem; font-weight:600;
  }
  #ackBanner.show{display:flex;}
  #ackBanner.normal{background:#e3f5ec; border:1px solid #8fd4a8; color:#0f5c3d;}
  #ackBanner.sofort{background:#fdf1dc; border:1px solid #e6c36a; color:#8a5a00;}
  #ackBanner.blitz{background:#fbeceb; border:1px solid #e3a3a2; color:#8d1d1c;}
  #ackBanner button{
    margin-left:auto; border:none; border-radius:8px; padding:6px 12px; cursor:pointer;
    font-family:inherit; font-size:0.78rem; font-weight:700; background:#fff; color:inherit;
  }

  .iuk-wrap{
    display:flex; flex-direction:column; gap:12px; flex:1; min-height:0; overflow:hidden;
  }
  .iuk-head{
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px;
    padding:12px 16px; box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
    flex:0 0 auto;
  }
  .iuk-head h3{margin:0 0 4px; font-size:1.08rem; color:var(--deep);}
  .iuk-head-meta{
    font-size:0.84rem; color:var(--ink-soft); display:flex; flex-wrap:wrap; gap:8px 14px;
  }
  .iuk-head-meta strong{color:var(--ink);}
  .iuk-info-grid{
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 14px; margin-top:12px;
  }
  .iuk-info-item .lbl{
    display:block; font-size:0.66rem; font-weight:700; letter-spacing:0.04em;
    text-transform:uppercase; color:var(--ink-soft); margin-bottom:2px;
  }
  .iuk-info-item .val{font-size:0.84rem; color:var(--ink); white-space:pre-wrap; word-break:break-word;}
  .iuk-info-item.span2{grid-column:span 2;}
  .iuk-info-item.span4{grid-column:span 4;}
  .iuk-users{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
  #einsatzHeadCard .iuk-users{margin-top:8px;}
  .iuk-user{
    background:#eef6f9; border:1px solid #d3e4eb; border-radius:20px;
    padding:4px 10px; font-size:0.76rem; color:var(--deep); font-weight:600;
  }
  .iuk-user .iuk-role{font-weight:500; color:var(--ink-soft);}
  .iuk-el-box{
    border:1px dashed #9aaee0; background:#f5f7fd; border-radius:12px;
    padding:12px 14px; margin:0 0 14px;
  }
  .iuk-el-box h4{margin:0 0 4px; font-size:0.88rem; color:#3a4d8f;}
  .iuk-el-box .hint{margin:0 0 10px; font-size:0.76rem; color:var(--ink-soft);}
  @media (max-width: 900px){
    .iuk-info-grid{grid-template-columns:1fr 1fr;}
    .iuk-info-item.span2,.iuk-info-item.span4{grid-column:span 2;}
  }
  .iuk-cols{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; flex:1; min-height:0;
  }
  .iuk-col{
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px;
    display:flex; flex-direction:column; min-height:0; overflow:hidden;
    box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
  }
  .iuk-col h3{
    margin:0; padding:12px 14px; font-size:0.92rem; color:#fff;
  }
  .iuk-col.left h3{background:#3d5160;}
  .iuk-col.right h3{background:#3a4d8f;}
  .iuk-col .iuk-scroll{flex:1; min-height:0; overflow-y:auto; padding:12px 14px;}
  .iuk-card{
    border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin-bottom:8px; background:#f8fbfc;
  }
  .iuk-card.blitz{border-color:#e3a3a2; background:#fdf6f6;}
  .iuk-card.sofort{border-color:#e6c36a; background:#fffbf1;}
  .iuk-card .ic-meta{font-size:0.74rem; color:var(--ink-soft); display:flex; gap:8px; flex-wrap:wrap; margin-bottom:4px;}
  .iuk-card .ic-text{font-size:0.88rem; white-space:pre-wrap; line-height:1.45;}
  .iuk-card .ic-ab{font-size:0.76rem; font-weight:700; color:#3a4d8f; margin-top:4px;}
  .iuk-done-btn{
    margin-top:8px; border:none; border-radius:9px; padding:7px 12px; cursor:pointer;
    font-family:inherit; font-size:0.8rem; font-weight:700; color:#fff;
    background:linear-gradient(180deg,#2f93b1,#1c6e8c);
  }
  #iukAuftragForm, #iukAuftragFormSide{
    background:var(--paper); border:1px solid var(--line); border-radius:12px;
    padding:12px 14px; display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px;
  }
  .iuk-el-box #iukAuftragForm{
    background:transparent; border:none; padding:0; margin:0 0 8px;
  }
  #iukAuftragForm textarea, #iukAuftragFormSide textarea{
    flex:1 1 100%; min-height:64px; font-family:inherit; font-size:0.86rem;
    border:1px solid var(--line); border-radius:9px; padding:8px 10px; resize:vertical;
  }
  #iukAuftragForm button, #iukAuftragFormSide button{
    background:#3a4d8f; color:#fff; border:none; border-radius:9px; padding:9px 14px;
    font-family:inherit; font-weight:700; cursor:pointer; font-size:0.82rem;
  }
  @media (max-width: 1100px){
    .iuk-cols{grid-template-columns:1fr;}
  }

  .timeline{
    position:relative;
    padding-left:18px;
  }
  .timeline::before{
    content:"";
    position:absolute;
    left:5px; top:6px; bottom:6px;
    width:2px;
    background:var(--line);
  }
  .tl-item{
    position:relative;
    margin-bottom:12px;
  }
  .tl-item::before{
    content:"";
    position:absolute;
    left:-17px; top:14px;
    width:10px; height:10px;
    border-radius:50%;
    background:var(--water);
    border:2px solid var(--paper);
  }
  .tl-item.anordnung::before{background:#d08a1e;}
  .tl-item.ereignis::before{background:var(--alert);}
  .tl-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:11px 14px;
  }
  .tl-head{
    display:flex;
    align-items:baseline;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:4px;
  }
  .tl-head .zeit{
    font-size:0.78rem;
    color:var(--ink-soft);
    font-variant-numeric:tabular-nums;
  }
  .tl-head .kat{
    font-size:0.66rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.04em;
    padding:2px 8px;
    border-radius:20px;
    background:var(--foam);
    color:var(--deep);
  }
  .tl-head .kat.anordnung{background:#fdf0dc; color:#8a5a10;}
  .tl-head .kat.ereignis{background:#fbeceb; color:var(--alert);}
  .tl-head .wer{font-size:0.78rem; font-weight:600; color:var(--ink);}
  .tl-text{font-size:0.88rem; color:var(--ink); line-height:1.55; white-space:pre-wrap;}
  .tl-head .tl-actions{margin-left:auto;}
  .tl-reply-btn{
    border:1px solid var(--line); background:#fff; border-radius:8px;
    font-size:0.72rem; font-weight:600; font-family:inherit; color:var(--water);
    padding:3px 9px; cursor:pointer;
  }
  .tl-reply-btn:hover{background:var(--foam); border-color:var(--water-light);}
  .tl-replies{
    margin:8px 0 12px 16px; padding-left:12px; border-left:2px solid #c5d5de;
    display:flex; flex-direction:column; gap:8px;
  }
  .tl-replies .tl-item{margin-bottom:0;}
  .tl-replies .tl-item::before{left:-14px; width:8px; height:8px; top:16px;}
  .tl-card.reply{background:#f7fbfc;}
  .tl-bezug{
    font-size:0.74rem; color:var(--ink-soft); margin-bottom:4px;
  }
  #meldungBezugBar{
    display:none; align-items:center; gap:8px; flex:1 1 100%;
    background:#eef7fa; border:1px solid #c5dce6; border-radius:9px; padding:7px 10px;
    font-size:0.8rem; color:var(--ink);
  }
  #meldungBezugBar.show{display:flex;}
  #meldungBezugBar strong{color:var(--deep);}
  #meldungBezugClear{
    margin-left:auto; border:none; background:transparent; cursor:pointer;
    color:var(--ink-soft); font-size:1.1rem; line-height:1;
  }

  .dot{
    width:8px;height:8px;border-radius:50%;
    background:#5bbf7a;
    display:inline-block;
  }
  .dot.bad{background:var(--alert);}
  .dot.pending{background:#e3a13a;}

  #layout{
    flex:1;
    display:flex;
    min-height:0;
  }

  #sidebar{
    width:340px;
    min-width:340px;
    background:var(--paper);
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
    overflow-y:auto;
  }

  #search{
    padding:14px 16px 10px;
    border-bottom:1px solid var(--line);
  }

  #search input{
    width:100%;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:6px;
    font-size:0.9rem;
    font-family:inherit;
    color:var(--ink);
  }
  #search input:focus{
    outline:2px solid var(--water-light);
    outline-offset:1px;
  }

  #summary{
    padding:0 16px 12px;
    font-size:0.78rem;
    color:var(--ink-soft);
  }

  #sidebarFooter{
    position:sticky;
    bottom:0;
    background:var(--paper);
    border-top:1px solid var(--line);
    padding:8px 16px;
    text-align:center;
  }
  #impressumLink{
    background:none;
    border:none;
    color:var(--ink-soft);
    font-size:0.75rem;
    cursor:pointer;
    text-decoration:underline;
  }

  .group-card{
    padding:13px 16px;
    border-bottom:1px solid var(--line);
    cursor:pointer;
  }
  .group-card:hover{background:var(--foam);}
  .group-card.active{background:#e4eff2; border-left:3px solid var(--water);}

  .group-card .name{
    font-weight:600;
    font-size:0.92rem;
    margin-bottom:2px;
  }

  .group-card .place{
    font-size:0.8rem;
    color:var(--ink-soft);
    margin-bottom:6px;
  }

  .chips{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
  }

  .chip{
    font-size:0.72rem;
    padding:2px 8px;
    border-radius:20px;
    background:var(--water);
    color:#fff;
  }
  .chip.empty{
    background:transparent;
    border:1px dashed var(--line);
    color:var(--ink-soft);
  }

  #map{
    flex:1;
    background:#dce7ea;
  }

  .popup-title{
    font-weight:600;
    font-size:0.95rem;
    margin-bottom:2px;
    color:var(--deep);
  }
  .popup-addr{
    font-size:0.82rem;
    color:var(--ink-soft);
    margin-bottom:8px;
  }
  .popup-contact{
    font-size:0.82rem;
    margin-bottom:8px;
    padding:6px 8px;
    background:var(--foam);
    border-radius:5px;
  }
  .popup-contact.missing{
    color:var(--alert);
    background:#fbeceb;
  }
  .popup-boats{
    border-top:1px solid var(--line);
    padding-top:7px;
    margin-top:4px;
  }
  .boat-row{
    display:flex;
    justify-content:space-between;
    font-size:0.82rem;
    padding:5px 4px;
    border-radius:4px;
    cursor:pointer;
  }
  .boat-row.clickable:hover{
    background:var(--foam);
  }
  .boat-row .type{font-weight:600;}
  .boat-row .meta{color:var(--ink-soft);}

  .modal-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(11,53,80,0.35);
    align-items:center;
    justify-content:center;
    z-index:2000;
  }
  .modal-overlay.open{display:flex;}

  .modal-card{
    background:var(--paper);
    border-radius:10px;
    width:340px;
    max-width:90vw;
    box-shadow:0 12px 34px rgba(0,0,0,0.28);
    overflow:hidden;
  }
  .modal-head{
    background:var(--deep);
    color:#fff;
    padding:14px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .modal-head h2{
    margin:0;
    font-size:1rem;
    font-weight:600;
  }
  .modal-head button{
    background:none;
    border:none;
    color:#fff;
    font-size:1.2rem;
    cursor:pointer;
    line-height:1;
    padding:2px 6px;
  }
  .modal-body{
    padding:16px 18px;
  }
  .modal-row{
    display:flex;
    justify-content:space-between;
    padding:8px 0;
    border-bottom:1px solid var(--line);
    font-size:0.88rem;
  }
  .modal-row:last-child{border-bottom:none;}
  .modal-row .label{color:var(--ink-soft);}
  .modal-row .value{font-weight:600; text-align:right;}

  .leaflet-popup-content{margin:12px 14px; min-width:220px;}

  #banner{
    display:none;
    background:#fbeceb;
    color:var(--alert);
    border-bottom:1px solid #f0bcbb;
    padding:12px 22px;
    font-size:0.85rem;
    line-height:1.5;
  }
  #banner code{
    background:#fff;
    padding:1px 5px;
    border-radius:4px;
    border:1px solid #f0bcbb;
  }

  .marker-badge{
    background:var(--deep);
    color:#fff;
    border-radius:50%;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.8rem;
    font-weight:600;
    border:2px solid #fff;
    box-shadow:0 1px 4px rgba(0,0,0,0.35);
  }
  .marker-badge.empty{
    background:#8ba3ad;
  }
  .marker-badge.hit{
    background:var(--alert);
    box-shadow:0 0 0 4px rgba(179,33,31,0.25), 0 1px 4px rgba(0,0,0,0.35);
  }

  #radiusPanel, #finderPanel{
    border-bottom:1px solid var(--line);
  }
  #radiusPanel > details, #finderPanel > details{
    padding:0;
  }
  #radiusPanel > details > summary, #finderPanel > details > summary{
    list-style:none;
    cursor:pointer;
    padding:14px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#f6fafb;
  }
  #radiusPanel > details > summary::-webkit-details-marker,
  #finderPanel > details > summary::-webkit-details-marker{
    display:none;
  }
  #radiusPanel > details > summary::before,
  #finderPanel > details > summary::before{
    content:'▸';
    color:var(--water);
    font-size:0.75rem;
    margin-right:8px;
    transition:transform 0.15s;
  }
  #radiusPanel > details[open] > summary::before,
  #finderPanel > details[open] > summary::before{
    transform:rotate(90deg);
  }
  .summary-title{
    font-size:0.85rem;
    font-weight:700;
    color:var(--deep);
    text-transform:uppercase;
    letter-spacing:0.03em;
    flex:1;
  }
  .panel-content{
    padding:0 16px 14px;
    background:#f6fafb;
  }
  #finderPanel .panel-content{
    background:#fff;
  }
  #resetSearch{
    background:none;
    border:none;
    color:var(--water);
    font-size:0.78rem;
    cursor:pointer;
    text-decoration:underline;
    padding:0;
  }
  .panel-row{
    display:flex;
    gap:6px;
    margin-bottom:8px;
  }
  .panel-row input[type="text"]{
    flex:1;
    padding:7px 9px;
    border:1px solid var(--line);
    border-radius:6px;
    font-size:0.85rem;
    font-family:inherit;
  }
  .panel-row button.action{
    padding:7px 10px;
    border:1px solid var(--water);
    background:var(--water);
    color:#fff;
    border-radius:6px;
    font-size:0.8rem;
    cursor:pointer;
    white-space:nowrap;
  }
  .panel-row button.action.secondary{
    background:#fff;
    color:var(--water);
  }
  .panel-row button.action.active{
    background:var(--alert);
    border-color:var(--alert);
  }
  #radiusPanel .radius-row{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:0.82rem;
    color:var(--ink-soft);
    margin-bottom:10px;
  }
  #radiusPanel .radius-row input[type="range"]{
    flex:1;
  }
  #radiusPanel .radius-row .radius-val{
    font-weight:600;
    color:var(--ink);
    min-width:52px;
    text-align:right;
  }
  #typeFilters{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:6px;
  }
  .type-toggle{
    font-size:0.75rem;
    padding:4px 10px;
    border-radius:20px;
    border:1px solid var(--water);
    color:var(--water);
    background:#fff;
    cursor:pointer;
  }
  .type-toggle.selected{
    background:var(--water);
    color:#fff;
  }
  #panelStatus{
    font-size:0.78rem;
    color:var(--ink-soft);
  }
  #panelStatus.hint{
    color:var(--alert);
  }

  #modeToggle{
    display:flex;
    gap:0;
    margin-bottom:10px;
    border:1px solid var(--water);
    border-radius:6px;
    overflow:hidden;
    width:fit-content;
  }
  #modeToggle .mode-btn{
    border:none;
    background:#fff;
    color:var(--water);
    padding:5px 14px;
    font-size:0.76rem;
    font-weight:600;
    cursor:pointer;
  }
  #modeToggle .mode-btn.active{
    background:var(--water);
    color:#fff;
  }
  .mode-hint{
    font-size:0.72rem;
    color:var(--ink-soft);
    margin:-4px 0 10px;
    line-height:1.4;
  }

  .stats-bar{
    background:var(--deep-2);
    color:#dce9ee;
    padding:8px 22px;
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    font-size:0.8rem;
    border-bottom:1px solid rgba(255,255,255,0.12);
  }
  .stats-bar .stat{
    display:flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
  }
  .stats-bar .stat b{
    color:#fff;
    font-weight:700;
  }

  #finderCheckboxes{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin-bottom:10px;
  }
  #finderCheckboxes label{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:0.82rem;
    cursor:pointer;
    background:#f7fbfc;
    border:1px solid var(--line);
    border-radius:8px;
    padding:6px 8px;
  }
  #finderCheckboxes input{
    accent-color:var(--water);
    width:15px;
    height:15px;
  }
  #finderSearchBtn{
    width:100%;
    padding:8px 10px;
    border:none;
    background:var(--deep);
    color:#fff;
    border-radius:6px;
    font-size:0.85rem;
    font-weight:600;
    cursor:pointer;
  }
  #finderResults{
    margin-top:10px;
  }
  #finderResults .finder-empty{
    font-size:0.8rem;
    color:var(--ink-soft);
  }
  .finder-row{
    display:flex;
    justify-content:space-between;
    padding:6px 4px;
    font-size:0.85rem;
    border-bottom:1px solid var(--line);
    cursor:pointer;
  }
  .finder-row:hover{background:var(--foam);}
  .finder-row .km{
    font-weight:700;
    color:var(--alert);
  }

  .filter-group{
    margin-bottom:8px;
  }
  .filter-group-label{
    font-size:0.7rem;
    font-weight:700;
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.03em;
    margin-bottom:4px;
  }
  .filter-group-chips{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .need-row{
    display:flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:6px 8px 6px 10px;
  }
  .need-row.has-need{
    border-color:var(--water);
    background:#eef7fa;
  }
  .need-row.short{border-color:#d9a15b;}
  .need-row.covered{border-color:#3f9c6b;}
  .need-label{flex:1; font-size:0.8rem; font-weight:600; color:var(--ink); min-width:0;}
  .need-avail{font-size:0.68rem; color:var(--ink-soft); white-space:nowrap;}
  .need-step{
    display:flex; align-items:center; gap:4px; flex:0 0 auto;
  }
  .need-step button{
    width:26px; height:26px; border-radius:8px; border:1px solid var(--line);
    background:#fff; color:var(--deep); font-size:1rem; line-height:1; cursor:pointer;
    font-family:inherit;
  }
  .need-step button:hover{background:var(--foam); border-color:var(--water-light);}
  .need-val{
    min-width:18px; text-align:center; font-weight:700; font-size:0.85rem; color:var(--deep);
  }
  #demandCoverage{display:flex; flex-direction:column; gap:4px; margin:8px 0;}
  .demand-chip{
    font-size:0.74rem; border-radius:8px; padding:6px 8px;
    background:#fff; border:1px solid var(--line);
  }
  .demand-chip.ok{background:#e8f6ee; border-color:#b7ddc4; color:#1d6b3c;}
  .demand-chip.short{background:#fdf1dc; border-color:#efd09a; color:#7a4e00;}

  .karte-einsatz-banner{
    margin:10px 12px 0;
    padding:12px 14px;
    border-radius:14px;
    background:linear-gradient(120deg, #0b3550, #1c6e8c);
    color:#fff;
    box-shadow:0 10px 22px -14px rgba(11,53,80,0.8);
  }
  .karte-einsatz-banner[hidden]{display:none !important;}
  .karte-einsatz-banner .keb-kicker{
    font-size:0.64rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#b9d3de;
  }
  .karte-einsatz-banner .keb-title{font-size:0.95rem; font-weight:700; margin:3px 0 2px;}
  .karte-einsatz-banner .keb-meta{font-size:0.75rem; color:#d5e6ee; margin-bottom:8px;}
  .karte-einsatz-banner .keb-actions{display:flex; gap:6px; flex-wrap:wrap;}
  .karte-einsatz-banner button{
    border:1px solid rgba(255,255,255,0.35); background:rgba(255,255,255,0.12);
    color:#fff; border-radius:8px; padding:5px 10px; font-size:0.75rem;
    font-family:inherit; cursor:pointer; font-weight:600;
  }
  .karte-einsatz-banner button:hover{background:rgba(255,255,255,0.22);}

  #viewKarte #sidebar{
    width:360px; min-width:360px; background:#f4f8fa; border-right:1px solid #e4edf1;
  }
  #viewKarte #radiusPanel, #viewKarte #finderPanel{border:none; margin:10px 12px 0; border-radius:14px; overflow:visible; box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.18);}
  #viewKarte #radiusPanel > details > summary, #viewKarte #finderPanel > details > summary{
    background:#fff; padding:12px 14px;
  }
  #viewKarte #radiusPanel .panel-content, #viewKarte #finderPanel .panel-content{background:#fff; padding:0 14px 14px;}
  #viewKarte #search{
    position:sticky; top:0; z-index:6;
    padding:10px 12px 8px; border:none; background:#f4f8fa;
  }
  #bedarfDetails{
    margin:8px 0 10px; border:1px solid var(--line); border-radius:10px; padding:4px 10px 8px; background:#f7fbfc;
  }
  #bedarfDetails > summary.bedarf-summary{
    list-style:none; cursor:pointer; font-size:0.78rem; font-weight:700; color:var(--deep);
    padding:8px 4px; background:transparent; display:block; width:100%;
  }
  #bedarfDetails > summary.bedarf-summary::-webkit-details-marker{display:none;}
  #bedarfDetails > summary.bedarf-summary::before{content:'▸ '; color:var(--water);}
  #bedarfDetails[open] > summary.bedarf-summary::before{content:'▾ ';}
  #viewKarte #search input{border-radius:10px; border:1px solid #e4edf1; background:#fff; padding:10px 12px;}
  #viewKarte #summary{padding:0 16px 8px;}
  #viewKarte .group-card{margin:0 12px 8px; border:1px solid #e4edf1; border-radius:12px; background:#fff; border-bottom:1px solid #e4edf1;}
  #viewKarte .group-card.active{border-color:#1c6e8c; background:#e8f3f7;}
  #viewKarte #sidebarFooter{background:#f4f8fa; border-top:none;}
  #viewKarte #modeToggle{border-radius:10px;}

  .lage-tray{
    background:#fff; border:1px solid #e4edf1; border-radius:14px; padding:10px 12px;
    flex:0 0 auto; max-height:180px; overflow:auto;
  }
  .lage-tray-head{display:flex; justify-content:space-between; gap:8px; align-items:baseline; margin-bottom:8px;}
  .lage-tray-head strong{font-size:0.72rem; letter-spacing:0.05em; text-transform:uppercase; color:#1c6e8c;}
  .lage-tray-head span{font-size:0.72rem; color:var(--ink-soft);}
  .lage-chip{
    display:flex; align-items:center; gap:8px; width:100%; text-align:left;
    border:1px dashed #1c6e8c; background:#f4fafc; border-radius:10px;
    padding:7px 10px; margin-bottom:6px; cursor:grab; font-family:inherit;
  }
  .lage-chip:active{cursor:grabbing;}
  .lage-chip.on-map{border-style:solid; background:#e8f6ee; border-color:#3f9c6b;}
  .lage-chip .lc-name{font-size:0.8rem; font-weight:700; color:var(--ink);}
  .lage-chip .lc-funk{font-size:0.72rem; color:var(--water); font-weight:600;}
  .lage-chip .lc-state{margin-left:auto; font-size:0.68rem; color:var(--ink-soft);}
  .lage-empty{font-size:0.78rem; color:var(--ink-soft);}
  .einsatz-map-panel.lage-drop-hover, #einsatzSatMap.lage-drop-hover, #einsatzContextMap.lage-drop-hover{
    outline:3px dashed #1c6e8c; outline-offset:-4px;
  }
  .em-pin{
    background:#0b3550; color:#fff; border-radius:8px; padding:4px 8px 4px 6px;
    box-shadow:0 4px 10px rgba(11,53,80,0.35); border:2px solid #fff;
    min-width:90px; line-height:1.15;
  }
  .em-pin .em-pin-call{display:block; font-size:0.68rem; font-weight:800; color:#ffe600;}
  .em-pin .em-pin-name{display:block; font-size:0.7rem; font-weight:600;}
  .leaflet-popup .em-pop-actions{display:flex; gap:6px; margin-top:6px;}
  .leaflet-popup .em-pop-actions button{
    font-family:inherit; font-size:0.75rem; border-radius:7px; border:1px solid var(--line);
    background:#fff; padding:4px 8px; cursor:pointer;
  }

  .popup-section-title{
    font-size:0.75rem;
    font-weight:700;
    color:var(--deep);
    text-transform:uppercase;
    letter-spacing:0.02em;
    margin-bottom:4px;
  }
  .popup-empty{
    font-size:0.8rem;
    color:var(--ink-soft);
    font-style:italic;
    padding:2px 0 4px;
  }
  .detail-row{
    display:flex;
    justify-content:space-between;
    font-size:0.82rem;
    padding:2px 4px;
  }
  .detail-subrow{
    font-size:0.76rem;
    color:var(--ink-soft);
    padding:1px 4px 1px 14px;
  }

  .chip.dim{
    background:#c7d5da;
  }
  .group-card .distance{
    font-size:0.75rem;
    font-weight:600;
    color:var(--alert);
    margin-left:6px;
  }

  /* ---- Einsatz-Modul: Inhalt links, Karten + Funkschema rechts -------- */
  .einsatz-layout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,0.92fr);
    gap:18px;
    align-items:stretch;
    width:100%;
    flex:1;
    min-height:0;
    overflow:hidden;
  }
  .einsatz-main{
    min-width:0;
    overflow-y:auto;
    padding-right:4px;
  }
  .einsatz-layout #einsatzHeadCard{margin-bottom:12px;}
  .einsatz-side{
    min-width:0;
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    gap:12px;
    height:auto;
    min-height:0;
    padding-right:4px;
  }
  .einsatz-maps{
    flex:0 0 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .einsatz-map-panel{
    position:relative;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .einsatz-map-panel.sat,
  .einsatz-map-panel.street{flex:0 0 auto; min-height:280px; height:280px;}
  .einsatz-map-label{
    position:absolute;
    top:8px; left:8px;
    z-index:500;
    background:rgba(11,53,80,0.82);
    color:#fff;
    font-size:0.68rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    padding:4px 8px;
    border-radius:6px;
    pointer-events:none;
  }
  #einsatzSatMap, #einsatzContextMap{
    flex:1;
    min-height:320px;
    background:#dce7ea;
  }
  #einsatzMapEmpty{
    flex:1;
    display:none;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:20px;
    color:var(--ink-soft);
    font-size:0.85rem;
    line-height:1.5;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:12px;
  }
  .leaflet-tooltip.einsatz-addr-hint{
    background:#fff;
    color:var(--ink);
    border:1px solid var(--deep);
    border-radius:8px;
    box-shadow:0 2px 8px rgba(11,53,80,0.18);
    font-size:0.8rem;
    font-weight:600;
    padding:6px 10px;
    white-space:normal;
    max-width:240px;
  }
  .leaflet-tooltip.einsatz-addr-hint::before{border-top-color:var(--deep);}

  /* ---- Einsatzmittel & Kräfte ----------------------------------------- */
  .section-head-row{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 10px;
    flex-wrap:wrap;
  }
  .section-head-row h3{
    margin:0;
    font-size:0.95rem;
    color:var(--deep);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .section-head-row .count{font-size:0.76rem; font-weight:500; color:var(--ink-soft);}
  .add-btn{
    margin-left:auto;
    background:var(--water);
    color:#fff;
    border:none;
    border-radius:8px;
    padding:8px 14px;
    font-size:0.83rem;
    font-family:inherit;
    font-weight:600;
    cursor:pointer;
  }
  .add-btn:hover{background:var(--water-light);}

  .kraefte-banner{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:12px;
  }
  .kraefte-pill{
    background:var(--deep);
    color:#fff;
    border-radius:10px;
    padding:9px 16px;
    display:flex;
    align-items:baseline;
    gap:7px;
  }
  .kraefte-pill .num{font-size:1.35rem; font-weight:700; line-height:1;}
  .kraefte-pill .lbl{font-size:0.76rem; color:#bcd6e2;}
  .kraefte-pill.sub{background:var(--foam); color:var(--ink);}
  .kraefte-pill.sub .num{color:var(--deep);}
  .kraefte-pill.sub .lbl{color:var(--ink-soft);}

  .em-list{display:flex; flex-direction:column; gap:8px;}
  .em-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:11px 14px;
    display:flex;
    align-items:center;
    gap:14px;
    cursor:pointer;
  }
  .em-card:hover{background:var(--foam); border-color:var(--water-light);}
  .em-card .em-main{flex:1; min-width:0;}
  .em-card .em-name{font-weight:600; font-size:0.92rem; color:var(--ink);}
  .em-card .em-funk{font-size:0.8rem; color:var(--ink-soft);}
  .em-card .em-funk strong{color:var(--water); font-weight:600;}
  .em-staerke{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
  }
  .em-staerke .sk{
    background:var(--foam);
    border:1px solid var(--line);
    border-radius:20px;
    padding:3px 9px;
    font-size:0.74rem;
    color:var(--ink-soft);
    white-space:nowrap;
  }
  .em-staerke .sk strong{color:var(--ink);}
  .em-card .em-bem{font-size:0.78rem; color:var(--ink-soft); margin-top:2px;}

  /* ---- Funkschema ------------------------------------------------------ */
  .funk-table{
    width:100%;
    border-collapse:collapse;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
    font-size:0.85rem;
  }
  .funk-table th, .funk-table td{
    text-align:left;
    padding:9px 14px;
    border-bottom:1px solid var(--line);
  }
  .funk-table th{
    background:var(--deep-2);
    color:#dce9ee;
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-weight:600;
  }
  .funk-table tr:last-child td{border-bottom:none;}
  .funk-table td.funk-call{font-weight:600; color:var(--water);}
  .funk-gruppe-head{
    background:var(--foam);
    border:1px solid var(--line);
    border-radius:8px;
    padding:8px 14px;
    margin-bottom:10px;
    font-size:0.85rem;
    color:var(--ink);
  }
  .funk-gruppe-head strong{color:var(--deep);}
  .funk-org{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:22px;
    padding:8px 0 4px;
  }
  .funk-org-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
    width:100%;
  }
  .funk-org-row.el-row{justify-content:center;}
  .funk-box{
    background:#fff;
    border:2px solid #1a1a1a;
    min-width:160px;
    max-width:280px;
    flex:1 1 180px;
    display:flex;
    flex-direction:column;
  }
  .funk-box.el{
    flex:0 1 340px;
    max-width:380px;
  }
  .funk-box-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border-bottom:2px solid #1a1a1a;
    font-weight:700;
    font-size:0.92rem;
  }
  .funk-badge{
    background:#ffe600;
    color:#111;
    font-size:0.72rem;
    font-weight:800;
    letter-spacing:0.02em;
    padding:2px 6px;
    border:1px solid #111;
    flex:0 0 auto;
  }
  .funk-badge.diamond{
    clip-path:polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    padding:7px 8px;
    border:none;
    font-size:0.68rem;
  }
  .funk-box-body{
    min-height:64px;
    padding:8px 10px;
    font-size:0.78rem;
    color:var(--ink-soft);
  }
  .funk-box-body .unit{
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:3px 0;
    color:var(--ink);
    border-bottom:1px solid var(--line);
  }
  .funk-box-body .unit:last-child{border-bottom:none;}
  .funk-box-body .unit .call{font-weight:700; color:var(--water);}
  .funk-box-body .empty{font-style:italic;}
  .ab-inline-list{display:flex; flex-direction:column; gap:8px;}
  .ab-inline-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:10px 14px;
    display:flex;
    align-items:center;
    gap:12px;
    cursor:pointer;
  }
  .ab-inline-card:hover{background:var(--foam); border-color:var(--water-light);}
  .ab-inline-card .ab-main{flex:1; min-width:0;}
  .ab-inline-card .ab-name{font-weight:600; font-size:0.9rem;}
  .ab-inline-card .ab-meta{font-size:0.76rem; color:var(--ink-soft); margin-top:2px;}

  /* ---- Sichtungskategorien -------------------------------------------- */
  .sichtung-summary{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .sichtung-chip{
    display:flex;
    align-items:center;
    gap:8px;
    border-radius:10px;
    padding:8px 14px;
    background:var(--paper);
    border:1px solid var(--line);
    min-width:96px;
  }
  .sichtung-chip .dot-sk{
    width:14px; height:14px; border-radius:50%;
    flex:0 0 14px;
    border:1px solid rgba(0,0,0,0.15);
  }
  .sichtung-chip .sk-num{font-size:1.25rem; font-weight:700; line-height:1; color:var(--ink);}
  .sichtung-chip .sk-lbl{font-size:0.74rem; color:var(--ink-soft); line-height:1.15;}
  .sichtung-chip.zero{opacity:0.5;}

  /* ---- Patientenliste (MANV) ------------------------------------------ */
  .patient-list{display:flex; flex-direction:column; gap:8px;}
  .patient-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-left-width:5px;
    border-radius:10px;
    padding:11px 14px;
    display:flex;
    align-items:center;
    gap:14px;
    cursor:pointer;
  }
  .patient-card:hover{background:var(--foam);}
  .patient-card .p-main{flex:1; min-width:0;}
  .patient-card .p-name{font-weight:600; font-size:0.92rem;}
  .patient-card .p-sub{font-size:0.8rem; color:var(--ink-soft);}
  .patient-card .p-sk{
    font-size:0.72rem;
    font-weight:700;
    color:#fff;
    border-radius:20px;
    padding:3px 10px;
    white-space:nowrap;
  }
  .patient-card .p-arzt{
    font-size:0.68rem;
    color:var(--water);
    border:1px solid var(--water-light);
    border-radius:20px;
    padding:2px 8px;
    white-space:nowrap;
  }

  /* ---- Sichtungs-Auswahl im Patienten-Dialog -------------------------- */
  .sk-select{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
  }
  .sk-opt{
    border:2px solid var(--line);
    background:var(--paper);
    border-radius:10px;
    padding:10px 8px;
    font-family:inherit;
    font-size:0.8rem;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    color:var(--ink);
  }
  .sk-opt .dot-sk{width:16px; height:16px; border-radius:50%; border:1px solid rgba(0,0,0,0.15);}
  .sk-opt .sk-name{font-weight:700;}
  .sk-opt .sk-desc{font-size:0.68rem; color:var(--ink-soft); text-align:center; line-height:1.2;}
  .sk-opt.active{border-color:var(--ink); box-shadow:0 0 0 3px rgba(18,36,48,0.08);}

  .modal-card.wide{width:min(560px, 94vw);}
  .modal-card.wide .modal-body{max-height:78vh; overflow-y:auto;}

  /* ---- Kommunikationsplan --------------------------------------------- */
  #modKommunikation .komm-toolbar{
    display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px;
  }
  #modKommunikation .komm-hint{
    font-size:0.8rem; color:var(--ink-soft); flex:1; min-width:200px; line-height:1.5;
  }
  #kommTree{
    display:flex; flex-direction:column; gap:10px;
  }
  #kommRootDrop{
    border:2px dashed var(--line); border-radius:10px; padding:10px 14px;
    font-size:0.8rem; color:var(--ink-soft); text-align:center; background:var(--paper);
    transition:border-color .15s, background .15s;
  }
  #kommRootDrop.drop-hover{border-color:var(--water); background:var(--foam); color:var(--water);}

  .komm-node{ display:flex; flex-direction:column; gap:10px; }
  .komm-children{
    display:flex; flex-direction:column; gap:10px;
    margin-left:26px; padding-left:16px; border-left:2px solid var(--line);
  }
  .komm-card{
    background:var(--paper); border:1px solid var(--line); border-radius:12px;
    padding:12px 14px; display:flex; align-items:flex-start; gap:14px;
    transition:border-color .15s, box-shadow .15s, background .15s;
  }
  .komm-card.dragging{opacity:0.45;}
  .komm-card.drop-hover{border-color:var(--water); box-shadow:0 0 0 3px rgba(28,110,140,0.14); background:var(--foam);}
  .komm-drag{
    cursor:grab; color:var(--ink-soft); font-size:1.1rem; line-height:1; padding-top:3px;
    user-select:none; flex:0 0 auto;
  }
  .komm-drag:active{cursor:grabbing;}

  /* Führungsraute (taktisches Zeichen) */
  .fuehrungsraute{
    flex:0 0 auto; width:46px; height:46px; position:relative;
    display:flex; align-items:center; justify-content:center;
  }
  .fuehrungsraute .raute{
    position:absolute; inset:6px; background:#f7c600; border:2px solid #111;
    transform:rotate(45deg); border-radius:4px;
  }
  .fuehrungsraute .kuerzel{
    position:relative; font-size:0.62rem; font-weight:800; color:#111;
    letter-spacing:0.01em; text-align:center; line-height:1;
  }
  .fuehrungsraute.stufe-LST .raute{background:#c8d6dd;}

  .komm-body{flex:1; min-width:0;}
  .komm-name{font-size:0.98rem; font-weight:700; color:var(--ink); line-height:1.3;}
  .komm-stufe{font-size:0.72rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.03em;}
  .komm-funk{
    display:inline-flex; align-items:center; gap:6px; margin-top:6px;
    background:var(--foam); border:1px solid var(--line); border-radius:20px;
    padding:3px 11px; font-size:0.78rem; color:var(--ink);
  }
  .komm-funk strong{font-weight:700;}
  .komm-funk.leer{color:var(--ink-soft);}
  .komm-em{
    margin-top:10px; display:flex; flex-wrap:wrap; gap:6px;
  }
  .komm-em .em-chip{
    background:var(--deep); color:#fff; border-radius:7px; padding:3px 10px;
    font-size:0.74rem; display:inline-flex; align-items:center; gap:6px;
  }
  .komm-em .em-chip .call{color:#b9d3de; font-weight:600;}
  .komm-em-empty{margin-top:8px; font-size:0.74rem; color:var(--ink-soft);}
  .komm-actions{flex:0 0 auto; display:flex; gap:6px;}
  .komm-actions button{
    border:1px solid var(--line); background:var(--paper); border-radius:7px;
    width:30px; height:30px; cursor:pointer; color:var(--ink-soft); font-size:0.95rem;
    display:flex; align-items:center; justify-content:center;
  }
  .komm-actions button:hover{background:var(--foam); border-color:var(--water-light); color:var(--ink);}

  @media (max-width: 1100px){
    .einsatz-layout{grid-template-columns:1fr;}
    .einsatz-side{position:static; height:auto; min-height:0;}
    .einsatz-maps{flex:none; min-height:0;}
    .einsatz-map-panel.sat{flex:none; height:380px;}
    .einsatz-map-panel.street{flex:none; height:380px;}
    .einsatz-side #secFunk{flex:none; overflow:visible;}
    .einsatz-side #secFunk .section-body{overflow:visible;}
  }
  @media (max-width: 720px){
    #layout{flex-direction:column;}
    #sidebar{width:100%; min-width:0; max-height:38vh;}
    .sk-select{grid-template-columns:repeat(2, 1fr);}
  }

  /* ==================================================================== */
  /*  MODERN REDESIGN · Einsatzleitung                                     */
  /* ==================================================================== */
  #viewLeitung{
    --el-bg:#f4f8fa;
    --el-surface:#ffffff;
    --el-ring:rgba(28,110,140,0.14);
    --el-line:#e4edf1;
    --el-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
    --el-shadow-lg:0 4px 10px rgba(11,53,80,0.08), 0 24px 48px -20px rgba(11,53,80,0.34);
    --el-radius:16px;
    background:
      radial-gradient(1200px 420px at 85% -12%, rgba(63,147,175,0.12), transparent 60%),
      radial-gradient(900px 360px at -8% 0%, rgba(18,58,92,0.09), transparent 55%),
      var(--el-bg);
  }
  #viewLeitung #einsatzBar{
    background:linear-gradient(120deg, #0b3550 0%, #123a5c 55%, #1c6e8c 130%);
    padding:14px 24px;
    gap:12px;
    border-bottom:1px solid rgba(255,255,255,0.08);
    box-shadow:0 10px 30px -22px rgba(11,53,80,0.9);
  }
  #viewLeitung #einsatzBar > span:first-child{
    font-size:0.7rem; font-weight:700; letter-spacing:0.08em;
    text-transform:uppercase; color:#8fb8c9;
  }
  #viewLeitung #einsatzBar .archiv-toggle{
    display:inline-flex; align-items:center; gap:6px;
    font-size:0.76rem; color:#c5dce6; cursor:pointer; white-space:nowrap;
  }
  #viewLeitung #einsatzBar .archiv-toggle input{accent-color:#fff;}
  #viewLeitung #einsatzBar .action{
    background:linear-gradient(180deg, #2f93b1, #1c6e8c);
    border-radius:10px; padding:9px 15px; font-weight:600;
  }
  #viewLeitung #einsatzBar .action.secondary{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.35);}
  #viewLeitung #einsatzBar .action.danger{background:linear-gradient(180deg, #cf3230, #b3211f);}
  #viewLeitung #leitungBody{padding:18px 22px 16px;}
  #viewLeitung #modProtokoll,
  #viewLeitung #modTauchen,
  #viewLeitung #modIuk{max-width:none; width:100%;}
  #viewLeitung #leitungHero{max-width:1080px; margin:2px 0 22px;}
  #viewLeitung .hero-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:0.7rem; font-weight:700; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--water);
  }
  #viewLeitung .hero-eyebrow::before{
    content:""; width:22px; height:2px; border-radius:2px;
    background:linear-gradient(90deg, #1c6e8c, #3f93af);
  }
  #viewLeitung #leitungHero h2{margin:8px 0 6px; font-size:1.7rem; font-weight:700; color:var(--deep);}
  #viewLeitung #leitungHero p{margin:0; max-width:52ch; font-size:0.92rem; color:var(--ink-soft); line-height:1.5;}
  #viewLeitung #leitungDashLayout{
    display:grid;
    grid-template-columns:minmax(0, calc(5 * 232px + 4 * 16px)) minmax(240px, 260px);
    justify-content:space-between;
    gap:22px;
    align-items:start;
  }
  #viewLeitung #moduleGrid{
    width:100%;
    grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));
    gap:16px;
    max-width:calc(5 * 232px + 4 * 16px);
  }
  #viewLeitung #leitungKontakt{display:flex; flex-direction:column; gap:16px; position:sticky; top:8px;}
  @media (max-width: 900px){
    #viewLeitung #leitungDashLayout{grid-template-columns:1fr; justify-content:stretch;}
    #viewLeitung #leitungKontakt{width:100%; position:static;}
  }
  #viewLeitung .module-tile{
    position:relative; flex-direction:column; align-items:stretch; text-align:left;
    border-radius:18px; border:1px solid var(--el-line); padding:18px; gap:12px; min-height:168px;
    background:linear-gradient(180deg, #ffffff, #f8fbfc); box-shadow:var(--el-shadow);
  }
  #viewLeitung .module-tile:hover{transform:translateY(-4px); box-shadow:var(--el-shadow-lg); border-color:var(--el-ring);}
  #viewLeitung .module-tile .mt-head{display:flex; align-items:flex-start; justify-content:space-between; width:100%;}
  #viewLeitung .module-tile .mt-icon{
    display:inline-grid; place-items:center; width:46px; height:46px; border-radius:13px; color:#123a5c;
    background:linear-gradient(180deg, #eef6f9, #dcecf2);
  }
  #viewLeitung .module-tile .mt-icon svg{width:22px; height:22px;}
  #viewLeitung .module-tile .mt-status{font-size:0.64rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:4px 9px; border-radius:20px;}
  #viewLeitung .module-tile .mt-status.active{color:#0f5c3d; background:#e3f5ec;}
  #viewLeitung .module-tile .mt-status.soon{color:#8a5a00; background:#fdf1dc;}
  #viewLeitung .module-tile .mt-status.locked{color:#123a5c; background:#e8eff3;}
  #viewLeitung .module-tile .label{font-size:1rem; font-weight:700; color:var(--deep);}
  #viewLeitung .module-tile .mt-desc{font-size:0.82rem; color:var(--ink-soft); line-height:1.45;}
  #viewLeitung .module-tile .mt-go{
    margin-top:auto; align-self:flex-end; display:inline-grid; place-items:center;
    width:30px; height:30px; border-radius:9px; color:var(--water); background:#f1f7f9;
  }
  #viewLeitung .module-tile.disabled{opacity:0.72;}
  #viewLeitung .module-tile.disabled:hover{transform:none; box-shadow:var(--el-shadow);}
  #viewLeitung #einsatzHeadCard{
    border-radius:var(--el-radius); border:1px solid var(--el-line); box-shadow:var(--el-shadow);
    padding:12px 16px 12px 20px; position:relative; overflow:hidden;
  }
  #viewLeitung #einsatzHeadCard::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
    background:linear-gradient(180deg, #1c6e8c, #3f93af);
  }
  #viewLeitung .einsatz-section{
    background:var(--el-surface); border:1px solid var(--el-line); border-radius:var(--el-radius);
    box-shadow:var(--el-shadow); margin-bottom:16px;
  }
  #viewLeitung .einsatz-section.sec-banded{padding:0; overflow:hidden;}
  #viewLeitung .section-band{padding:11px 16px;}
  #viewLeitung .section-band .section-head-row{margin:0;}
  #viewLeitung .section-band h3,
  #viewLeitung .section-band .count{color:#fff !important;}
  #viewLeitung .section-body{padding:14px 16px 16px;}
  #viewLeitung .sec-abschnitte .section-band{background:#0b3550;}
  #viewLeitung .sec-kraefte .section-band{background:#1c6e8c;}
  #viewLeitung .sec-funk .section-band{background:#8a6a10;}
  #viewLeitung .sec-sichtung .section-band{background:#8d1d1c;}
  #viewLeitung .sec-protokoll .section-band{background:#3d5160;}
  #viewLeitung .sec-iuk .section-band{background:#3a4d8f;}
  #viewLeitung .section-band .add-btn{
    background:#fff !important; color:#0b3550 !important; box-shadow:none !important;
  }
  #viewLeitung .einsatz-side #secFunk{
    flex:0 0 auto; min-height:320px; margin:0; display:flex; flex-direction:column; overflow:visible;
  }
  #viewLeitung .einsatz-side #secFunk .section-body{overflow:visible; flex:none;}
  .einsatz-toolbar{
    display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 14px;
  }
  .print-funk-btn{
    background:#fff; border:1px solid #c9a227; color:#6d5400; font-weight:700;
    border-radius:10px; padding:9px 14px; cursor:pointer; font-family:inherit; font-size:0.85rem;
  }
  .print-funk-btn:hover{background:#fff8e8;}
  .toolbar-hint{font-size:0.78rem; color:var(--ink-soft);}
  .ab-tree-item{display:flex; flex-direction:column; gap:8px;}
  .ab-tree-level{display:flex; flex-direction:column; gap:8px;}
  .ab-tree-level[data-depth]:not([data-depth="0"]){
    margin-left:18px; padding-left:12px; border-left:3px solid #c5d5de;
  }
  .ab-inline-card.stufe-el{border-left:4px solid #0b3550;}
  .ab-inline-card.stufe-eal{border-left:4px solid #1c6e8c;}
  .ab-inline-card.stufe-ual{border-left:4px solid #3f93af;}
  .ab-inline-card.stufe-lst{border-left:4px solid #7d8b93;}
  .em-group-label{
    font-size:0.72rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
    color:#1c6e8c; margin:8px 0 2px;
  }
  .em-ab{
    display:inline-block; margin-top:4px; font-size:0.72rem; font-weight:700;
    background:#e7f2f6; color:#0b3550; border-radius:20px; padding:2px 8px;
  }
  .em-ab.frei{background:#f4f1e8; color:#6d5400; font-weight:600;}
  .vorlagen-grid{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
  .vorlage-chip{
    border:1px solid var(--line); background:#f7fbfc; border-radius:20px;
    padding:5px 10px; font-family:inherit; font-size:0.75rem; cursor:pointer; color:var(--ink);
  }
  .vorlage-chip.active, .vorlage-chip:hover{border-color:var(--water); background:#e7f3f7; color:var(--deep);}
  .parent-picker{display:flex; flex-direction:column; gap:8px;}
  .parent-drag-card{
    display:flex; align-items:center; gap:10px; border:2px dashed #1c6e8c; border-radius:12px;
    padding:10px 12px; background:#f4fafc; cursor:grab;
  }
  .parent-drag-card.dragging{opacity:0.45;}
  .parent-drag-card .sub{display:block; font-size:0.74rem; color:var(--ink-soft); font-weight:400;}
  .parent-tree{display:flex; flex-direction:column; gap:4px; max-height:240px; overflow:auto;}
  .pt-row{
    display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:8px;
    padding:7px 10px; background:#fff; cursor:pointer;
  }
  .pt-row:hover{border-color:var(--water-light); background:#f4fafc;}
  .pt-row.drop-hover{border-color:var(--water); box-shadow:0 0 0 3px rgba(28,110,140,0.15);}
  .pt-row.is-selected{border-color:#0b3550; background:#e8f1f5; font-weight:700;}
  .pt-row.is-disabled{opacity:0.45; cursor:not-allowed;}
  .pt-kuerzel{
    flex:0 0 auto; min-width:36px; text-align:center; font-size:0.68rem; font-weight:800;
    background:#ffe600; border:1px solid #111; border-radius:4px; padding:2px 4px;
  }
  .pt-note{margin-left:auto; font-size:0.7rem; color:var(--ink-soft); font-weight:400;}
  .pt-empty{font-size:0.8rem; color:var(--ink-soft); padding:6px 2px;}
  .field-hint{margin:0 0 6px; font-size:0.76rem; color:var(--ink-soft);}

  .tauch-wrap{
    display:grid;
    grid-template-columns:minmax(220px,280px) minmax(0,1fr);
    gap:16px;
    flex:1;
    min-height:0;
    overflow:hidden;
  }
  .tauch-list-pane{
    background:var(--el-surface,#fff);
    border:1px solid var(--el-line,#e4edf1);
    border-radius:16px;
    box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
    display:flex; flex-direction:column; min-height:0; overflow:hidden;
  }
  .tauch-list-head{
    padding:14px 14px 10px; border-bottom:1px solid var(--el-line,#e4edf1);
    display:flex; align-items:center; justify-content:space-between; gap:8px;
  }
  .tauch-list-head h3{margin:0; font-size:0.92rem; color:var(--deep);}
  .tauch-list{flex:1; overflow-y:auto; padding:10px;}
  .tauch-card{
    width:100%; text-align:left; font-family:inherit; cursor:pointer;
    background:#f7fbfc; border:1px solid var(--line); border-radius:12px;
    padding:10px 12px; margin-bottom:8px; color:var(--ink);
  }
  .tauch-card:hover{border-color:var(--water-light); background:#eef6f9;}
  .tauch-card.active{border-color:#0b3550; background:#e8f1f5; box-shadow:0 0 0 2px rgba(11,53,80,0.12);}
  .tauch-card .tc-title{font-weight:700; font-size:0.88rem; color:var(--deep);}
  .tauch-card .tc-meta{font-size:0.74rem; color:var(--ink-soft); margin-top:3px;}
  .tauch-card .tc-status{
    display:inline-block; margin-top:6px; font-size:0.66rem; font-weight:700;
    letter-spacing:0.04em; text-transform:uppercase; padding:2px 8px; border-radius:20px;
    background:#e3f5ec; color:#0f5c3d;
  }
  .tauch-card .tc-status.warn{background:#fdf1dc; color:#8a5a00;}
  .tauch-card .tc-status.alert{background:#fbeceb; color:#8d1d1c;}
  .tauch-form-pane{
    min-width:0; overflow-y:auto; padding-right:4px; display:flex; flex-direction:column; gap:14px;
  }
  .tauch-alert{
    display:none; background:#fbeceb; color:var(--alert); border:1px solid #f0bcbb;
    border-radius:12px; padding:10px 14px; font-size:0.84rem;
  }
  .tauch-alert.show{display:block;}
  .tauch-hint{
    display:none; background:#eef6f9; color:var(--deep); border:1px solid #cfe0e8;
    border-radius:12px; padding:10px 14px; font-size:0.82rem;
  }
  .tauch-hint.show{display:block;}
  .tauch-live{
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;
  }
  .tauch-timer{
    background:linear-gradient(180deg,#0b3550,#123a5c); color:#fff;
    border-radius:16px; padding:12px 14px; min-height:92px;
  }
  .tauch-timer .tt-label{font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:#8fb8c9; font-weight:700;}
  .tauch-timer .tt-name{font-size:0.82rem; margin-top:2px; color:#d5e6ee; min-height:1.1em;}
  .tauch-timer .tt-time{font-size:1.7rem; font-weight:700; font-variant-numeric:tabular-nums; margin-top:6px; letter-spacing:0.02em;}
  .tauch-timer .tt-sub{font-size:0.74rem; color:#b9d3de; margin-top:2px;}
  .tauch-timer.in-water{background:linear-gradient(180deg,#0f5c3d,#147a52);}
  .tauch-timer.warn{background:linear-gradient(180deg,#8a5a00,#b07600);}
  .tauch-timer.over{background:linear-gradient(180deg,#8d1d1c,#b3211f);}
  .tauch-section{
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px;
    box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
    padding:16px 18px;
  }
  .tauch-section h3{
    margin:0 0 12px; font-size:0.92rem; color:var(--deep);
  }
  .tauch-grid{
    display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px 12px;
  }
  .tauch-grid .field{display:flex; flex-direction:column; gap:4px;}
  .tauch-grid .field input,
  .tauch-grid .field select,
  .tauch-grid .field textarea{
    width:100%; font-family:inherit; font-size:0.88rem; color:var(--ink);
    border:1px solid var(--line); border-radius:10px; padding:8px 10px; background:#fff;
  }
  .tauch-grid .field textarea{min-height:88px; resize:vertical;}
  .tauch-actions-inline{display:flex; gap:8px; align-items:flex-end;}
  .tauch-actions-inline button{
    font-family:inherit; border:none; border-radius:10px; padding:9px 12px; cursor:pointer; font-size:0.82rem;
  }
  .tauch-diver-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
  .tauch-diver{
    border:1px solid var(--el-line,#e4edf1); border-radius:14px; padding:12px; background:#f8fbfc;
  }
  .tauch-diver h4{margin:0 0 10px; font-size:0.88rem; color:var(--deep);}
  .tauch-diver .field{display:flex; flex-direction:column; gap:4px; margin-bottom:8px;}
  .tauch-diver input, .tauch-diver select{
    width:100%; font-family:inherit; font-size:0.84rem; border:1px solid var(--line);
    border-radius:9px; padding:7px 9px; background:#fff;
  }
  .tauch-mode{display:flex; flex-direction:column; gap:6px; margin:8px 0;}
  .tauch-mode label{display:flex; align-items:center; gap:8px; font-size:0.82rem; cursor:pointer;}
  .tauch-computed{
    display:flex; justify-content:space-between; gap:8px; font-size:0.78rem;
    background:#fff; border:1px dashed #c9dbe3; border-radius:10px; padding:8px 10px; color:var(--ink-soft);
  }
  .tauch-computed strong{color:var(--deep);}
  .tauch-foot{
    display:flex; flex-wrap:wrap; gap:8px; align-items:center;
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px; padding:12px 14px;
    position:sticky; bottom:0;
  }
  .tauch-foot .spacer{flex:1;}
  .tauch-foot button{
    font-family:inherit; border-radius:10px; padding:9px 14px; cursor:pointer; font-size:0.84rem;
    border:1px solid var(--line); background:#fff; color:var(--ink);
  }
  .tauch-foot button.primary{background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff; border:none; font-weight:600;}
  .tauch-foot button.danger{color:var(--alert); border-color:#f0bcbb;}
  .tauch-wecker{
    display:flex; align-items:center; gap:8px; font-size:0.8rem; color:#6d5400;
    background:#fff8e8; border:1px solid #e6d19a; border-radius:10px; padding:8px 10px;
  }
  @media (max-width: 1100px){
    .tauch-wrap{grid-template-columns:1fr; overflow:auto;}
    .tauch-list-pane{max-height:220px;}
    .tauch-diver-grid, .tauch-live{grid-template-columns:1fr;}
  }
  .san-wrap{display:flex; flex-direction:column; gap:12px; flex:1; min-height:0;}
  .san-tabs{display:flex; flex-wrap:wrap; gap:6px;}
  .san-tabs button{
    font-family:inherit; border:1px solid var(--el-line,#e4edf1); background:#fff; color:var(--ink);
    border-radius:999px; padding:7px 14px; cursor:pointer; font-size:0.82rem; font-weight:600;
  }
  .san-tabs button.active{background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff; border-color:transparent;}
  .san-toolbar{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
  .san-toolbar .spacer{flex:1;}
  .san-toolbar button, .san-foot button{
    font-family:inherit; border-radius:10px; padding:8px 14px; cursor:pointer; font-size:0.84rem;
    border:1px solid var(--line); background:#fff; color:var(--ink);
  }
  .san-toolbar button.primary, .san-foot button.primary{
    background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff; border:none; font-weight:600;
  }
  .san-pane{display:none; flex-direction:column; gap:12px; min-height:0; overflow:auto;}
  .san-pane.active{display:flex;}
  .san-section{
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px;
    box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
    padding:16px 18px;
  }
  .san-section h3{margin:0 0 12px; font-size:0.92rem; color:var(--deep);}
  .san-grid{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px 12px;}
  .san-grid .field{display:flex; flex-direction:column; gap:4px;}
  .san-grid .field input, .san-grid .field select, .san-grid .field textarea{
    width:100%; font-family:inherit; font-size:0.88rem; color:var(--ink);
    border:1px solid var(--line); border-radius:10px; padding:8px 10px; background:#fff;
  }
  .san-grid .field textarea{min-height:72px; resize:vertical;}
  .san-checks{display:flex; flex-wrap:wrap; gap:8px 12px;}
  .san-check{
    display:inline-flex; align-items:center; gap:6px; font-size:0.82rem; color:var(--ink);
    background:#f4f8fa; border:1px solid var(--line); border-radius:999px; padding:5px 10px; cursor:pointer;
  }
  .san-check input{accent-color:#1c6e8c;}
  .san-sk{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
  .san-sk .sk{
    min-width:72px; border-radius:12px; padding:8px 10px; color:#fff; text-align:center;
    font-weight:700; font-size:0.78rem; -webkit-print-color-adjust:exact; print-color-adjust:exact;
  }
  .san-sk .sk span{display:block; font-size:1.15rem; font-variant-numeric:tabular-nums;}
  .san-sk .b{background:#5b6570;} .san-sk .i{background:#d92b2b;} .san-sk .ii{background:#c39212;}
  .san-sk .iii{background:#3f9c5f;} .san-sk .iv{background:#2f6fb0;} .san-sk .ex{background:#1c1c1c;}
  .san-sk .sum{background:#0b3550;} .san-sk .mw{background:#4a6270;} .san-sk .sofort{background:#8a3a3a;}
  .san-sums-bar{
    position:sticky; bottom:0; background:#fff; padding:10px 0 2px; margin-top:8px;
    border-top:1px solid var(--el-line,#e4edf1); z-index:2;
  }
  .san-tab-count{
    display:inline-flex; min-width:1.4em; height:1.4em; align-items:center; justify-content:center;
    margin-left:6px; padding:0 6px; border-radius:999px; font-size:0.72rem; font-weight:800;
    background:rgba(11,53,80,0.12); color:var(--deep); vertical-align:middle;
  }
  .san-tabs button.active .san-tab-count{background:rgba(255,255,255,0.22); color:#fff;}
  .san-table{width:100%; border-collapse:collapse; font-size:0.8rem;}
  .san-table th, .san-table td{border:1px solid var(--line); padding:4px; vertical-align:middle;}
  .san-table th{background:#eef5f8; color:var(--deep); font-size:0.72rem; text-align:left;}
  .san-table input, .san-table select{
    width:100%; border:none; background:transparent; font-family:inherit; font-size:0.8rem; padding:4px;
  }
  .san-table .del{color:var(--alert); border:none; background:transparent; cursor:pointer; font-weight:700;}
  .san-prot-wrap{
    display:grid; grid-template-columns:minmax(210px,260px) minmax(0,1fr); gap:16px;
    flex:1; min-height:0; overflow:hidden;
  }
  .san-prot-list{background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px; overflow:hidden; display:flex; flex-direction:column;}
  .san-prot-list .head{padding:14px; border-bottom:1px solid var(--el-line,#e4edf1); display:flex; justify-content:space-between; align-items:center;}
  .san-prot-list .head h3{margin:0; font-size:0.92rem; color:var(--deep);}
  .san-prot-list .list{flex:1; overflow:auto; padding:10px;}
  .san-prot-form{overflow:auto; display:flex; flex-direction:column; gap:12px; min-height:0;}
  .san-cols{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .san-band{font-size:0.68rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:#fff; background:#3d5160; margin:-16px -18px 12px; padding:8px 18px; border-radius:16px 16px 0 0;}
  .san-band.orange{background:#b07600;}
  .san-band.blue{background:#2f6fb0;}
  .san-band.green{background:#2f7d55;}
  .san-foot{display:flex; flex-wrap:wrap; gap:8px; align-items:center; position:sticky; bottom:0; background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px; padding:10px 14px;}
  .san-foot .spacer{flex:1;}
  .san-hint{font-size:0.78rem; color:var(--ink-soft); margin:0 0 8px;}
  @media (max-width: 1100px){
    .san-prot-wrap, .san-cols{grid-template-columns:1fr;}
    .san-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
  }
  #printRoot{display:none;}
  @media print{
    body.printing-sheet #app,
    body.printing-sheet .modal-overlay{display:none !important;}
    body.printing-sheet #printRoot{display:block !important; background:#fff; color:#111;}
    .print-doc{font-family:"Segoe UI", sans-serif; font-size:11pt; color:#111;}
    .print-doc h1{font-size:16pt; margin:0 0 2px; color:#0b3550;}
    .print-kicker{font-size:9pt; letter-spacing:0.08em; text-transform:uppercase; color:#1c6e8c; margin:0;}
    .print-doc h2{font-size:12pt; margin:16px 0 6px; border-bottom:1.5px solid #0b3550; color:#0b3550; page-break-after:avoid;}
    .print-meta, .print-table{width:100%; border-collapse:collapse;}
    .print-meta th{text-align:left; width:30%; color:#333; font-weight:600; padding:3px 8px 3px 0; vertical-align:top;}
    .print-meta td{padding:3px 0; vertical-align:top;}
    .print-table th, .print-table td{border:1px solid #ccc; padding:4px 6px; text-align:left; font-size:10pt;}
    .print-table th{background:#123a5c; color:#fff; -webkit-print-color-adjust:exact; print-color-adjust:exact;}
    .print-doc .funk-box, .print-doc tr, .print-box{break-inside:avoid;}
    .print-foot{margin-top:18px; font-size:8.5pt; color:#666;}
    .print-cols{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
    .print-box{border:1px solid #333; padding:8px 10px; margin:0 0 8px;}
    .print-box h3{margin:0 0 6px; font-size:10pt; background:#123a5c; color:#fff; padding:4px 8px; margin:-8px -10px 8px;}
    .print-checks{margin:0; padding:0 0 0 16px; font-size:9.5pt;}
    .print-sign{display:flex; gap:24px; flex-wrap:wrap; margin-top:16px;}
    .print-sign .sign-line{flex:1; min-width:180px; font-size:9.5pt;}
    .print-sign .line{margin-top:28px; border-bottom:1px solid #111;}
    .print-page{page-break-before:always; break-before:page;}
    .print-legal{max-width:720px; margin:0 auto; font-size:10.5pt; line-height:1.45;}
    .print-legal h1{text-align:center; font-size:14pt; margin:0 0 4px;}
    .print-legal .sub{text-align:center; font-style:italic; font-size:10pt; margin:0 0 22px;}
    .print-legal p{margin:0 0 12px;}
    .print-fill{border-bottom:1px solid #111; min-width:8em; display:inline-block; padding:0 6px; min-height:1.1em;}
    .print-legal .fill-row{margin:18px 0;}
    .print-legal .en{font-size:9.5pt; font-style:italic; color:#333; margin:12px 0 18px;}
  }

  a.nav-btn{
    text-decoration:none;
    display:inline-block;
    line-height:1.2;
  }

  /* ---- OrgL ---------------------------------------------------------- */
  #orglPage{display:flex; flex-direction:column; flex:1; min-height:0;}
  #orglBody{flex:1; min-height:0; overflow:auto; padding:18px 22px 24px;}
  #orglHero{max-width:1080px; margin:2px 0 22px;}
  #orglHero .hero-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:0.7rem; font-weight:700; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--water);
  }
  #orglHero .hero-eyebrow::before{
    content:""; width:22px; height:2px; border-radius:2px;
    background:linear-gradient(90deg, #1c6e8c, #3f93af);
  }
  #orglHero h2{margin:8px 0 6px; font-size:1.7rem; font-weight:700; color:var(--deep);}
  #orglHero p{margin:0; max-width:58ch; font-size:0.92rem; color:var(--ink-soft); line-height:1.5;}
  #orglGrid{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,0.85fr); gap:28px; max-width:none; align-items:start;}
  .orgl-group h3{margin:0 0 12px; font-size:1.05rem; color:var(--deep);}
  .orgl-tile-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:16px; max-width:calc(5 * 220px + 4 * 16px);}
  #orglPage .module-tile{
    position:relative; display:flex; flex-direction:column; align-items:stretch; text-align:left;
    border-radius:18px; border:1px solid var(--el-line,#e4edf1); padding:18px; gap:12px; min-height:168px;
    background:linear-gradient(180deg, #ffffff, #f8fbfc);
    box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
    cursor:pointer;
  }
  #orglPage .module-tile:hover{transform:translateY(-4px); border-color:#c5dbe4;}
  #orglPage .module-tile .mt-head{display:flex; align-items:flex-start; justify-content:space-between; width:100%;}
  #orglPage .module-tile .mt-icon{
    display:inline-grid; place-items:center; width:46px; height:46px; border-radius:13px; color:#123a5c;
    background:linear-gradient(180deg, #eef6f9, #dcecf2);
  }
  #orglPage .module-tile .mt-status{font-size:0.64rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:4px 9px; border-radius:20px;}
  #orglPage .module-tile .mt-status.active{color:#0f5c3d; background:#e3f5ec;}
  #orglPage .module-tile .mt-status.locked{color:#123a5c; background:#e8eff3;}
  #orglPage .module-tile .label{font-size:1rem; font-weight:700; color:var(--deep);}
  #orglPage .module-tile .mt-desc{font-size:0.82rem; color:var(--ink-soft); line-height:1.45;}
  #orglPage .module-tile .mt-go{
    margin-top:auto; align-self:flex-end; display:inline-grid; place-items:center;
    width:30px; height:30px; border-radius:9px; color:var(--water); background:#f1f7f9;
  }
  #orglBreadcrumb{display:none; align-items:center; gap:8px; margin-bottom:16px; font-size:0.9rem; color:var(--ink-soft);}
  #orglBreadcrumb.show{display:flex;}
  #orglBackBtn{
    background:var(--paper); border:1px solid var(--line); border-radius:6px;
    width:30px; height:30px; font-size:1rem; cursor:pointer; color:var(--ink);
  }
  #orglBackBtn:hover{background:var(--foam);}
  .orgl-foot button.danger, .orgl-toolbar button.danger{color:var(--alert);}
  .orgl-mod{display:none; max-width:none; width:100%;}
  .orgl-mod.active{display:block;}
  .orgl-section{
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px;
    box-shadow:0 1px 2px rgba(11,53,80,0.05), 0 8px 24px -12px rgba(11,53,80,0.22);
    padding:16px 18px; margin-bottom:12px;
  }
  .orgl-section h3{margin:0 0 12px; font-size:0.92rem; color:var(--deep);}
  .orgl-grid{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px 12px;}
  .orgl-grid .field{display:flex; flex-direction:column; gap:4px;}
  .orgl-grid .field input, .orgl-grid .field select, .orgl-grid .field textarea{
    width:100%; font-family:inherit; font-size:0.88rem; color:var(--ink);
    border:1px solid var(--line); border-radius:10px; padding:8px 10px; background:#fff;
  }
  .orgl-grid .field textarea{min-height:88px; resize:vertical;}
  .orgl-grid .lbl{font-size:0.72rem; font-weight:600; color:var(--ink-soft);}
  .orgl-kraefte{display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px;}
  .orgl-kraefte .field input{text-align:center;}
  .orgl-toolbar{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px;}
  .orgl-toolbar .spacer{flex:1;}
  .orgl-toolbar button, .orgl-foot button{
    font-family:inherit; border-radius:10px; padding:8px 14px; cursor:pointer; font-size:0.84rem;
    border:1px solid var(--line); background:#fff; color:var(--ink);
  }
  .orgl-toolbar button.primary, .orgl-foot button.primary{
    background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff; border:none; font-weight:600;
  }
  .orgl-foot{
    display:flex; flex-wrap:wrap; gap:8px; align-items:center; position:sticky; bottom:0;
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px; padding:10px 14px;
  }
  .orgl-foot .spacer{flex:1;}
  .orgl-list{display:flex; flex-direction:column; gap:6px; margin-bottom:12px;}
  .orgl-list button{
    display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
    text-align:left; font-family:inherit; border:1px solid var(--line); background:#fff; border-radius:10px;
    padding:10px 12px; cursor:pointer; width:100%;
  }
  .orgl-list button.active{border-color:var(--water); background:#eef6f9;}
  .orgl-list .row-main{min-width:0; flex:1;}
  .orgl-list .meta{display:block; font-size:0.75rem; color:var(--ink-soft); margin-top:2px;}
  .orgl-pill{
    flex-shrink:0; font-size:0.64rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase;
    padding:3px 8px; border-radius:20px; margin-top:2px;
  }
  .orgl-pill.entwurf{background:#e8eff3; color:#123a5c;}
  .orgl-pill.freigegeben{background:#e3f5ec; color:#0f5c3d;}
  .orgl-lock-note{
    background:#eef6f9; border:1px solid #c5dbe4; color:var(--deep); border-radius:12px;
    padding:10px 14px; font-size:0.86rem; margin:0 0 12px;
  }
  .orgl-sign-wrap{
    border:1px dashed #9bb7c4; border-radius:12px; background:#fbfdfd; overflow:hidden;
  }
  #orglSignPad{
    display:block; width:100%; height:168px; touch-action:none; cursor:crosshair;
    user-select:none; -webkit-user-select:none;
    background:repeating-linear-gradient(transparent, transparent 157px, #c5dbe4 157px, #c5dbe4 168px);
  }
  .orgl-sign-actions{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:8px;}
  .orgl-sign-actions button{
    font-family:inherit; font-size:0.78rem; border:1px solid var(--line); background:#fff;
    border-radius:8px; padding:6px 10px; cursor:pointer;
  }
  .orgl-print-sign{margin-top:18px; display:flex; align-items:flex-end; justify-content:space-between; gap:16px;}
  .orgl-print-sign img{height:64px; width:auto; max-width:280px; object-fit:contain;}
  .orgl-hint{font-size:0.78rem; color:var(--ink-soft); margin:0 0 10px;}
  .orgl-check{display:flex; align-items:flex-start; gap:8px; font-size:0.86rem; margin:8px 0;}
  .orgl-docs-tabs{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; align-items:center;}
  .orgl-tab{display:inline-flex; align-items:center; gap:2px;}
  .orgl-tab-del{
    font-family:inherit; border:1px solid var(--line); background:#fff; color:var(--alert);
    border-radius:999px; width:26px; height:26px; cursor:pointer; font-weight:700;
  }
  .orgl-sort-btn{
    background:none; border:none; padding:0; margin:0; font:inherit; font-weight:700;
    color:inherit; cursor:pointer;
  }
  .orgl-sort-btn.active{color:var(--water);}
  .orgl-docs-tabs button{
    font-family:inherit; border:1px solid var(--line); background:#fff; border-radius:999px;
    padding:6px 12px; cursor:pointer; font-size:0.82rem; font-weight:600;
  }
  .orgl-docs-tabs button.active{background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff; border-color:transparent;}
  .orgl-docs-grid{display:block;}
  .orgl-docs-table-wrap{overflow:auto;}
  .orgl-docs-table td{vertical-align:middle;}
  .orgl-docs-table select{font-family:inherit; font-size:0.78rem; max-width:180px; border:1px solid var(--line); border-radius:8px; padding:4px 6px; background:#fff;}
  .orgl-docs-table .thumb-cell{width:84px;}
  .orgl-thumb{
    width:72px; height:96px; object-fit:cover; object-position:top; display:block;
    background:#f4f8fa; border:1px solid var(--line); border-radius:6px;
  }
  canvas.orgl-thumb{height:auto; max-height:96px;}
  .orgl-thumb-fallback{
    display:grid; place-items:center; width:72px; height:96px; border-radius:6px;
    border:1px solid var(--line); background:#f4f8fa; color:var(--water);
    font-size:0.68rem; font-weight:700; letter-spacing:0.04em;
  }
  .orgl-doc{
    border:1px solid var(--el-line,#e4edf1); border-radius:14px; padding:14px; background:#fff;
    display:flex; flex-direction:column; gap:8px;
  }
  .orgl-doc h4{margin:0; font-size:0.9rem; color:var(--deep);}
  .orgl-doc .kind{font-size:0.68rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--water);}
  .orgl-doc a{color:var(--deep); font-weight:600; font-size:0.84rem;}
  .orgl-doc .doc-actions{display:flex; gap:6px; margin-top:auto;}
  .orgl-doc .doc-actions button{font-family:inherit; font-size:0.78rem; border:1px solid var(--line); background:#fff; border-radius:8px; padding:4px 8px; cursor:pointer;}
  .orgl-doc .doc-actions button.danger{color:var(--alert); border-color:#f0bcbb;}
  .orgl-denied{
    display:none; max-width:520px; background:var(--paper); border:1px solid var(--line);
    border-radius:10px; padding:22px; margin-bottom:20px;
  }
  #orglLoginPrompt{
    display:none; background:var(--paper); border:1px solid var(--line);
    border-radius:10px; padding:22px; max-width:520px; margin-bottom:20px;
  }
  #orglLoginPrompt.show, .orgl-denied.show{display:block;}
  #orglLoginPrompt h3, .orgl-denied h3{margin:0 0 6px; font-size:0.98rem; color:var(--deep);}
  #orglLoginPrompt p, .orgl-denied p{margin:0 0 14px; font-size:0.85rem; color:var(--ink-soft); line-height:1.55;}
  #orglLoginPrompt button{
    background:var(--water); color:#fff; border:none; border-radius:6px;
    padding:9px 18px; font-size:0.85rem; font-family:inherit; cursor:pointer;
  }
  #orglLoginPrompt button:hover{background:var(--water-light);}
  .orgl-form-head{
    display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center;
    justify-content:space-between; gap:12px;
    margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--el-line,#e4edf1);
  }
  .orgl-form-head img,
  .orgl-form-head .orgl-logo{
    height:52px; max-height:52px; width:auto; max-width:96px;
    object-fit:contain; flex:0 0 auto;
  }
  .orgl-form-head .titles{text-align:center; flex:1; min-width:0;}
  .orgl-form-head h3{margin:0; font-size:1.05rem; color:var(--deep);}
  .orgl-form-head p{margin:4px 0 0; font-size:0.78rem; color:var(--ink-soft);}
  .orgl-prot-layout{
    display:grid; grid-template-columns:minmax(0,1fr) minmax(260px, 28vw); gap:16px; align-items:start;
  }
  .orgl-prot-side{position:static; display:flex; flex-direction:column; gap:16px;}
  .orgl-prot-side .orgl-section{margin-bottom:0;}
  .orgl-prot-side .orgl-docs-grid{grid-template-columns:1fr;}
  .orgl-pat-list{display:flex; flex-direction:column; margin-top:8px;}
  .orgl-pat-row{
    display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:8px; align-items:start;
    padding:7px 0; border-bottom:1px solid var(--line); font-size:0.8rem;
  }
  .orgl-pat-dot{width:10px; height:10px; border-radius:50%; margin-top:4px;}
  .orgl-pat-row strong{display:block; color:var(--deep);}
  .orgl-pat-row .orgl-hint{margin:0;}
  .orgl-doc-bar{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 10px;}
  .orgl-doc-check{width:18px; height:18px; accent-color:var(--water); cursor:pointer;}
  .orgl-docs-table .check-cell, .orgl-docs-table .act-cell{width:1%; white-space:nowrap; text-align:center;}
  .orgl-doc-title{font-weight:600; color:var(--deep);}
  .orgl-act{
    display:inline-flex; align-items:center; justify-content:center; min-width:96px;
    border-radius:999px; padding:7px 14px; font-size:0.75rem; font-weight:700;
    font-family:inherit; text-decoration:none; cursor:pointer; border:1px solid transparent;
    white-space:nowrap; line-height:1.2;
  }
  .orgl-act-open{background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff;}
  .orgl-act-open:hover{filter:brightness(1.05);}
  .orgl-act-del{background:#fff; color:#b3211f; border-color:#e7b4b3;}
  .orgl-act-del:hover{background:#fdf2f2;}
  .orgl-act-rename{
    background:#fff; color:var(--deep); border-color:var(--line); min-width:0; margin-top:6px; padding:5px 10px;
  }
  .orgl-act.is-off, .orgl-act:disabled{opacity:0.45; pointer-events:none; cursor:default;}
  .orgl-flow{
    background:#fff; border:1px solid var(--el-line,#e4edf1); border-radius:16px;
    padding:14px 18px; margin-top:12px; font-size:0.86rem; color:var(--ink);
  }
  .orgl-flow h3{margin:0 0 8px; font-size:0.9rem; color:var(--deep);}
  .orgl-flow ol{margin:0; padding-left:18px; color:var(--ink-soft); line-height:1.55;}
  .orgl-flow li{margin:0 0 4px;}
  .orgl-leitung-banner{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px;
    background:#eef6f9; border:1px solid #c5dbe4; border-radius:12px; padding:12px 16px;
    margin-bottom:14px; color:var(--deep);
  }
  .orgl-leitung-banner[hidden]{display:none !important;}
  .orgl-leitung-banner strong{display:block; font-size:0.9rem;}
  .orgl-leitung-banner span{display:block; font-size:0.8rem; color:var(--ink-soft); margin-top:2px;}
  .orgl-leitung-banner button{
    font-family:inherit; background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff;
    border:none; border-radius:10px; padding:8px 14px; cursor:pointer; font-weight:600; font-size:0.84rem;
  }
  .orgl-eval-stats{display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px;}
  .orgl-eval-stat{
    background:#f8fbfc; border:1px solid var(--el-line,#e4edf1); border-radius:12px; padding:12px 14px;
  }
  .orgl-eval-stat .n{display:block; font-size:1.35rem; font-weight:700; color:var(--deep);}
  .orgl-eval-stat .l{display:block; font-size:0.72rem; color:var(--ink-soft); margin-top:2px;}
  .orgl-sk-sum{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
  .orgl-sk-chip{
    display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:4px 10px;
    font-size:0.75rem; font-weight:700; color:#fff;
  }
  .orgl-table{width:100%; border-collapse:collapse; font-size:0.8rem;}
  .orgl-table th, .orgl-table td{border:1px solid var(--line); padding:4px; vertical-align:middle;}
  .orgl-table th{background:#eef5f8; color:var(--deep); font-size:0.72rem; text-align:left;}
  .orgl-table input{width:100%; border:none; background:transparent; font-family:inherit; font-size:0.8rem; padding:4px;}
  .orgl-table .del{color:var(--alert); border:none; background:transparent; cursor:pointer; font-weight:700;}
  .orgl-print-head{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px;}
  .orgl-print-head img{height:72px; width:auto; object-fit:contain;}
  .orgl-print-head .titles{text-align:center; flex:1;}
  .orgl-print-head h1{margin:0; font-size:18pt; color:#0b3550;}
  .orgl-print-head p{margin:4px 0 0; font-size:10pt;}
  .orgl-drop{
    position:relative; min-height:96px; display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:4px; text-align:center;
    padding:16px; border:1.5px dashed #9ec3d1; border-radius:14px; background:#f7fbfc;
    color:var(--ink-soft); font-size:0.84rem;
  }
  .orgl-drop.over{border-color:var(--water); background:#e8f4f8;}
  .orgl-drop input[type="file"]{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer;}
  .orgl-drop-name{font-weight:600; color:var(--deep); word-break:break-word;}
  .orgl-file-row{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:8px 0; border-bottom:1px solid var(--line);
  }
  .orgl-pdf-frame{width:100%; height:72vh; border:1px solid var(--line); border-radius:12px; margin-top:12px; background:#fff;}
  .orgl-section > label.field{display:flex; flex-direction:column; gap:4px; margin:8px 0;}
  .orgl-section > label.field select{
    font-family:inherit; font-size:0.88rem; padding:8px; border:1px solid var(--line); border-radius:8px; background:#fff;
  }
  .orgl-ah-layout{display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,0.85fr); gap:16px; align-items:start;}
  .orgl-ah-kh{position:sticky; top:0; max-height:calc(100vh - 28px); overflow:auto;}
  .orgl-kh-card{border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin-top:10px; background:#fff;}
  .orgl-kh-card h4{margin:0 0 2px; font-size:0.92rem; color:var(--deep);}
  .orgl-kh-card .orgl-kh-meta{margin:0 0 8px; font-size:0.78rem; color:var(--ink-soft); line-height:1.4;}
  .orgl-kh-nums{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
  .orgl-kh-nums label, .orgl-kh-card label.field{display:flex; flex-direction:column; gap:3px; font-size:0.72rem; color:var(--ink-soft); margin-top:8px;}
  .orgl-kh-nums input, .orgl-kh-card input[type="text"], .orgl-kh-card input[type="time"]{
    font-family:inherit; font-size:0.86rem; padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:#fff; width:100%;
  }
  .orgl-irls-req .lbl{color:#c42323; font-weight:700;}
  .orgl-irls-req input{border-color:#d92b2b; background:#fff6f6;}
  .orgl-funk-abs, .orgl-funk-unit{display:grid; grid-template-columns:130px 1fr 1fr 1fr auto; gap:8px; margin-top:8px; align-items:center;}
  .orgl-funk-abs input, .orgl-funk-abs select, .orgl-funk-unit input, .orgl-funk-unit select{
    font-family:inherit; font-size:0.86rem; padding:7px 8px; border:1px solid var(--line); border-radius:8px; background:#fff; width:100%;
  }
  #orglFunkPanel{max-width:1080px; margin-top:22px;}
  .orgl-side-actions{display:flex; flex-wrap:wrap; gap:8px;}
  .orgl-side-actions .orgl-file-open{margin:0;}
  .orgl-kr-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; margin-top:14px;}
  .orgl-kr-miss{background:#fdecec; border-color:#e7b4b3;}
  .orgl-kr-ok{background:#e7f6ec; border-color:#b7dfc4;}
  .orgl-kr-card{border-radius:14px; padding:12px 14px; background:#f4f8fa; border:1px solid var(--line);}
  .orgl-kr-card .n{display:block; font-size:1.7rem; font-weight:700; color:var(--deep); line-height:1.1;}
  .orgl-kr-card .l{display:block; margin-top:4px; font-size:0.75rem; font-weight:700; color:var(--ink-soft);}
  .orgl-kr-card.sk1{background:#fdecec; border-color:#e7b4b3;}
  .orgl-kr-card.sk2{background:#fff6dc; border-color:#ead48a;}
  .orgl-kr-card.sk3{background:#e7f6ec; border-color:#b7dfc4;}
  .orgl-kr-card.sum{background:#0b3550; border-color:#0b3550;}
  .orgl-kr-card.sum .n, .orgl-kr-card.sum .l{color:#fff;}
  .orgl-kr-table td, .orgl-kr-table th{text-align:center;}
  .orgl-file-name{font-size:0.84rem; line-height:1.35; word-break:break-word;}
  .orgl-file-name .orgl-hint{display:block; margin:2px 0 0;}
  a.orgl-file-open, button.orgl-file-open{
    display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
    background:linear-gradient(180deg,#2f93b1,#1c6e8c); color:#fff; text-decoration:none;
    border:none; border-radius:999px; padding:7px 14px; font-size:0.78rem; font-weight:700;
    font-family:inherit; cursor:pointer; white-space:nowrap;
  }
  .orgl-scroll{overflow:auto; max-width:100%; -webkit-overflow-scrolling:touch;}
  form .orgl-scroll{margin-top:12px;}
  .orgl-ms-q{font-size:1.28rem; font-weight:700; color:var(--deep); margin:6px 0 4px; line-height:1.3;}
  .orgl-ms-ivena{margin:0 0 12px; padding:10px 12px; border-radius:12px; background:#fde8e8; color:#8d1c1c; font-weight:700;}
  .orgl-ms-letter{
    display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%;
    background:#0b3550; color:#fff; font-size:0.8rem; font-weight:800; margin-right:8px; vertical-align:middle;
  }
  .orgl-yn{display:flex; gap:10px; margin-top:16px;}
  .orgl-yn button{
    flex:1; min-height:52px; font-size:1.05rem; font-weight:700; border-radius:12px; border:none;
    cursor:pointer; font-family:inherit;
  }
  .orgl-yn .ja{background:#1f8a4c; color:#fff;}
  .orgl-yn .nein{background:#b3211f; color:#fff;}
  .orgl-ms-trail{display:flex; flex-direction:column; gap:3px; margin:0 0 12px;}
  .orgl-ms-trail div{font-size:0.8rem; color:var(--ink-soft);}
  .orgl-ms-banner{border-radius:14px; padding:16px 16px 14px; margin-bottom:12px;}
  .orgl-ms-banner .k{font-size:0.78rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase;}
  .orgl-ms-banner .t{font-size:1.35rem; font-weight:800; margin-top:2px;}
  .orgl-ms-banner.sk1{background:#d92b2b; color:#fff;}
  .orgl-ms-banner.sk2{background:#ffe600; color:#1a1a1a;}
  .orgl-ms-banner.sk3{background:#1f8a4c; color:#fff;}
  .orgl-ms-banner.tot{background:#1c1c1c; color:#fff;}
  .orgl-ms-dot{
    display:inline-grid; place-items:center; min-width:28px; height:28px; padding:0 6px;
    border-radius:6px; color:#fff; font-weight:800;
  }
  .orgl-ms-dot.sk1{background:#d92b2b;}
  .orgl-ms-dot.sk2{background:#ffe600; color:#1a1a1a;}
  .orgl-ms-dot.sk3{background:#1f8a4c;}
  .orgl-ms-dot.sk4{background:#2f6fb0;}
  .orgl-ms-dot.tot{background:#1c1c1c; min-width:28px;}
  .orgl-ms-kat td{font-size:0.82rem;}
  .orgl-side-gap{margin-top:18px;}
  .orgl-place{
    margin-top:14px; border:1px solid var(--el-line,#e4edf1); border-radius:12px; padding:12px;
  }
  .orgl-place-head{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:8px;}
  .orgl-place-head input{flex:1; min-width:160px;}
  .orgl-sk-total{
    display:inline-flex; align-items:center; border-radius:999px; padding:4px 10px;
    font-size:0.75rem; font-weight:700; background:#0b3550; color:#fff;
  }
  @media (max-width: 900px){
    .orgl-grid{grid-template-columns:1fr;}
    .orgl-grid .field{grid-column:1 / -1 !important;}
    .orgl-ah-layout{grid-template-columns:1fr;}
    .orgl-ah-kh{position:static; max-height:none;}
    .orgl-funk-abs, .orgl-funk-unit{grid-template-columns:1fr;}
    .orgl-prot-layout{grid-template-columns:1fr;}
    #orglBody{padding:12px;}
    .orgl-form-head img, .orgl-form-head .orgl-logo{height:40px; max-height:40px; max-width:72px;}
  }
  @media (min-width: 901px) and (max-width: 1100px){
    .orgl-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
  }
  /* Handy, etwa Samsung Galaxy S26. Laptop bleibt unverändert. */
  @media (max-width: 840px){
    body[data-page="orgl"]{overflow-x:hidden; -webkit-text-size-adjust:100%;}
    body[data-page="orgl"] #app{height:100dvh;}
    body[data-page="orgl"] header{
      padding:max(4px, env(safe-area-inset-top)) 8px 4px;
      gap:4px 8px;
      align-items:center;
      flex-wrap:wrap;
    }
    body[data-page="orgl"] header h1{font-size:0.95rem; flex:0 0 auto;}
    body[data-page="orgl"] header .sub,
    body[data-page="orgl"] header .status{display:none;}
    body[data-page="orgl"] #mainNav{order:0; flex:1 1 auto; display:flex; width:auto; gap:4px;}
    body[data-page="orgl"] #mainNav .nav-btn{text-align:center; padding:4px 7px; font-size:0.68rem; min-height:32px;}
    body[data-page="orgl"] #liveClock{order:0; margin-left:0; min-width:0;}
    body[data-page="orgl"] #liveClock .lc-time{font-size:0.85rem;}
    body[data-page="orgl"] #liveClock .lc-date{display:none;}
    body[data-page="orgl"] #userBox{order:0; flex:0 0 auto; min-width:0; font-size:0.72rem;}
    body[data-page="orgl"] #userBox > span{display:none;}
    body[data-page="orgl"] #logoutBtn{min-height:28px; padding:2px 8px; font-size:0.72rem;}
    #orglBody{padding:12px 12px max(20px, env(safe-area-inset-bottom));}
    #orglHero h2{font-size:1.35rem;}
    #orglGrid{grid-template-columns:1fr; gap:12px;}
    #orglPage .module-tile{min-height:0; padding:14px;}
    #orglBreadcrumb.show{
      position:static; margin:0 0 8px; padding:0; background:transparent;
    }
    #orglBackBtn{width:36px; height:36px; font-size:1.05rem;}
    .orgl-section{padding:14px 12px; border-radius:14px;}
    .orgl-form-head{gap:8px;}
    .orgl-form-head h3{font-size:0.98rem;}
    .orgl-grid .lbl, .orgl-section > label.field .lbl{font-size:0.8rem;}
    .orgl-grid .field input, .orgl-grid .field select, .orgl-grid .field textarea,
    .orgl-section > label.field select, .orgl-section > label.field input,
    .orgl-kh-nums input, .orgl-kh-card input, .orgl-funk-abs input, .orgl-funk-abs select,
    .orgl-funk-unit input, .orgl-funk-unit select, .orgl-place-head input,
    .orgl-tr-card input{
      font-size:16px; min-height:44px; padding:10px 12px;
    }
    .orgl-grid .field textarea{min-height:120px;}
    .orgl-toolbar button, .orgl-foot button, .orgl-sign-actions button, .orgl-docs-tabs button{
      min-height:44px; padding:10px 14px;
    }
    .orgl-foot{flex-direction:column; align-items:stretch;}
    .orgl-foot .spacer{display:none;}
    .orgl-toolbar button.primary{width:100%;}
    .orgl-foot{
      position:fixed; left:0; right:0; bottom:0; z-index:40;
      flex-direction:row; flex-wrap:wrap; align-items:center;
      gap:6px; margin:0; border-radius:0; border-left:none; border-right:none; border-bottom:none;
      padding:6px 8px max(6px, env(safe-area-inset-bottom));
      box-shadow:0 -6px 16px rgba(11,53,80,0.16);
    }
    .orgl-foot button{
      width:auto; flex:1 1 30%; min-height:36px; padding:6px 8px; font-size:0.78rem;
    }
    #orglPage:has(.orgl-mod.active) #orglBody{
      padding-bottom:calc(96px + env(safe-area-inset-bottom));
    }
    .orgl-side-actions{flex-direction:column;}
    .orgl-side-actions .orgl-file-open{width:100%; justify-content:center; min-height:44px;}
    .orgl-file-row{align-items:flex-start; flex-direction:column;}
    .orgl-scroll{margin-left:-4px; margin-right:-4px; padding-bottom:4px;}
    .orgl-scroll .orgl-table{min-width:680px; font-size:0.85rem;}
    .orgl-scroll .orgl-table th, .orgl-scroll .orgl-table td{padding:8px 6px;}
    .orgl-scroll .orgl-table input, .orgl-scroll .orgl-table select{font-size:16px; min-height:40px;}
    .orgl-docs-table-wrap{margin-left:-4px; margin-right:-4px;}
    .orgl-docs-table{min-width:640px;}
    .orgl-docs-table .act-cell, .orgl-docs-table .check-cell{white-space:normal;}
    .orgl-act{min-height:40px;}
    .orgl-kraefte{grid-template-columns:repeat(2,minmax(0,1fr));}
    .orgl-tr-board{grid-template-columns:1fr;}
    .orgl-tr-status button{min-height:44px;}
    .orgl-kr-grid{grid-template-columns:1fr 1fr;}
    .orgl-kr-card .n{font-size:1.45rem;}
    .orgl-kh-nums{grid-template-columns:repeat(3,minmax(0,1fr));}
    .orgl-funk-abs, .orgl-funk-unit{grid-template-columns:1fr;}
    body[data-page="orgl"] .funk-box{min-width:0; max-width:none; flex:1 1 100%;}
    body[data-page="orgl"] .funk-box.el{flex-basis:100%; max-width:none;}
    .orgl-pdf-frame{height:60vh;}
    .orgl-yn{flex-direction:column;}
    .orgl-yn button{min-height:52px;}
    body[data-page="orgl"] #loginModal .modal-card,
    body[data-page="orgl"] #orglPrintChoice .modal-card{
      width:min(420px, calc(100vw - 24px));
      margin:12px;
    }
    body[data-page="orgl"] .modal-body input,
    body[data-page="orgl"] .modal-body select{font-size:16px; min-height:44px;}
  }

  .orgl-tr-board{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px;}
  .orgl-tr-lane{background:var(--foam); border:1px solid var(--line); border-radius:14px; padding:10px; min-width:0;}
  .orgl-tr-lane h4{margin:0 0 8px; display:flex; justify-content:space-between; align-items:center; color:var(--deep); font-size:0.92rem;}
  .orgl-tr-lane h4 span{background:#fff; border-radius:999px; min-width:1.6em; text-align:center; padding:2px 8px; font-size:0.78rem;}
  .orgl-tr-card{background:#fff; border:1px solid var(--line); border-left:4px solid var(--water); border-radius:12px; padding:10px; margin:0 0 8px;}
  .orgl-tr-top{display:flex; flex-direction:column; gap:2px;}
  .orgl-tr-card label{display:block; margin-top:8px; font-size:0.75rem; color:var(--ink-soft);}
  .orgl-tr-card input{width:100%; margin-top:3px; font:inherit;}
  .orgl-tr-times{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
  .orgl-tr-sum{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
  .orgl-tr-sum span{background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px 10px; font-size:0.8rem;}
  .orgl-tr-status{display:flex; gap:4px; margin-top:8px;}
  .orgl-tr-status button{flex:1; font:inherit; font-size:0.72rem; padding:6px 4px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer;}
  .orgl-tr-status button.on{background:var(--deep); color:#fff; border-color:var(--deep);}

  .orgl-se-table, .orgl-se-status{border-collapse:separate; border-spacing:0; font-size:0.75rem;}
  .orgl-se-table{min-width:1960px;}
  .orgl-se-status{min-width:640px;}
  .orgl-se-table th, .orgl-se-table td, .orgl-se-status th, .orgl-se-status td{border-bottom:1px solid var(--line); padding:4px; text-align:center; vertical-align:middle;}
  .orgl-se-table thead th{background:#e7eef2; color:var(--deep); font-weight:700;}
  .orgl-se-table .se-team, .orgl-se-status .se-team{background:#d5e2ea;}
  .orgl-se-table .nr{position:sticky; left:0; z-index:1; background:#fff; font-weight:700; min-width:36px;}
  .orgl-se-table thead .nr{z-index:2; background:#e7eef2;}
  .orgl-se-table th.se-ski, .orgl-se-table td.se-ski, .orgl-se-status th.se-ski, .orgl-se-status td.se-ski{background:#f8d0d0;}
  .orgl-se-table th.se-skii, .orgl-se-table td.se-skii, .orgl-se-status th.se-skii, .orgl-se-status td.se-skii{background:#f8e7b8;}
  .orgl-se-table th.se-ex, .orgl-se-table td.se-ex, .orgl-se-status th.se-ex, .orgl-se-status td.se-ex{background:#1c1c1c; color:#fff;}
  .orgl-se-table th.se-t, .orgl-se-table td.se-t{background:#f3b4b4;}
  .orgl-se-table th.se-ta, .orgl-se-table td.se-ta{background:#f6d98a;}
  .orgl-se-table th.se-tb, .orgl-se-table td.se-tb{background:#fff3bf;}
  .orgl-se-table th.se-t2, .orgl-se-table td.se-t2, .orgl-se-status th.se-t2, .orgl-se-status td.se-t2{background:#d7efdf;}
  .orgl-se-table th.se-sk4, .orgl-se-table td.se-sk4, .orgl-se-status th.se-sk4, .orgl-se-status td.se-sk4{background:#d5e4f5;}
  .orgl-se-table td.se-team{background:#f4f8fa;}
  .orgl-se-table input[type=text], .orgl-se-table input[type=time], .orgl-se-status input{width:92px; min-height:32px; padding:4px 6px; font:inherit; border:1px solid var(--line); border-radius:8px; background:#fff;}
  .orgl-se-table td.se-wide input, .orgl-se-status td.se-wide input{width:140px;}
  .orgl-se-table input[type=checkbox]{width:18px; height:18px;}
  .orgl-se-table tfoot td{font-weight:700; background:#f7fbfc;}
  #orglSeSkizze{width:100%; margin-top:4px; font:inherit; border:1px solid var(--line); border-radius:10px; padding:8px 10px;}

  #modGewaesser.active{display:block; max-width:none; width:100%;}
  .gw-top{display:flex; flex-wrap:wrap; gap:12px 16px; align-items:flex-end; margin-bottom:14px;}
  .gw-top > div{flex:1 1 280px;}
  .gw-pick{min-width:220px;}
  .gw-pick select{width:100%; margin-top:4px; font:inherit; padding:8px 10px; border-radius:10px; border:1px solid var(--line);}
  .gw-strip{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; position:relative; margin:8px 0 16px;}
  .gw-card{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:2px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:12px 6px 10px; cursor:pointer; font:inherit; color:var(--ink); box-shadow:0 8px 18px rgba(11,53,80,0.06);}
  .gw-card.is-on{border-color:var(--water); box-shadow:0 0 0 3px rgba(28,110,140,0.22);}
  .gw-dot{width:14px; height:14px; border-radius:50%; background:var(--water); box-shadow:0 0 0 4px #e7f4f8; margin-bottom:6px;}
  .gw-card.is-on .gw-dot{background:var(--deep);}
  .gw-name{font-size:0.78rem; font-weight:600; color:var(--deep);}
  .gw-mini{font-size:1.15rem; font-weight:700; color:var(--ink); line-height:1.1;}
  .gw-mini small{font-size:0.68rem; font-weight:600; margin-left:2px;}
  .gw-km{font-size:0.68rem; color:var(--ink-soft);}
  .gw-hero{display:grid; grid-template-columns:minmax(240px,280px) minmax(0,1fr); gap:18px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px 18px 12px; box-shadow:0 10px 24px rgba(11,53,80,0.05);}
  .gw-gauge-wrap{text-align:center;}
  .gw-gauge{width:100%; height:auto; display:block;}
  .gw-cm{margin-top:-8px; font-size:3rem; font-weight:700; letter-spacing:-0.04em; color:var(--deep); line-height:1;}
  .gw-cm small{font-size:1rem; font-weight:600; margin-left:4px;}
  .gw-badges{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
  .gw-badge{display:inline-block; border-radius:999px; padding:5px 12px; font-size:0.82rem; font-weight:600;}
  .gw-badge.s0{background:#e7f4f8; color:#0b3550;}
  .gw-badge.low{background:#f3ead4; color:#6b5420;}
  .gw-badge.s1{background:#f8e7b8; color:#6b5420;}
  .gw-badge.s2{background:#f8d7b0; color:#7a3e10;}
  .gw-badge.s3{background:#f8d0d0; color:#7a1020;}
  .gw-badge.s4{background:#7a1020; color:#fff;}
  .gw-trend{font-size:0.85rem; font-weight:600; color:var(--deep);}
  .gw-flow{margin:10px 0 0; font-size:1.05rem; font-weight:600; color:var(--ink);}
  .gw-note{margin:8px 0; color:var(--ink);}
  .gw-hero h3{margin:12px 0 6px; font-size:0.95rem; color:var(--deep);}
  .gw-chart{width:100%; height:auto; display:block;}
  .gw-source a{color:var(--water);}
  @media (max-width: 840px){
    #modGewaesser .gw-hero{grid-template-columns:1fr;}
    #modGewaesser .gw-strip{display:flex; overflow-x:auto; padding-bottom:8px;}
    #modGewaesser .gw-card{min-width:112px; flex:0 0 112px;}
    #modGewaesser .gw-cm{font-size:2.6rem;}
    .orgl-tr-board{grid-template-columns:1fr;}
    .orgl-tr-card input{font-size:16px;}
    .orgl-se-table input[type=text], .orgl-se-table input[type=time], .orgl-se-table input[type=number], .orgl-se-status input{font-size:16px; min-height:40px;}
    .orgl-se-table input[type=checkbox]{width:22px; height:22px; min-height:22px;}
    #orglSeSkizze{font-size:16px;}
    body[data-page="orgl"] #orglModMaengel input,
    body[data-page="orgl"] #orglModMaengel textarea,
    body[data-page="orgl"] #orglModMaengel select,
    body[data-page="orgl"] #orglModDienst input,
    body[data-page="orgl"] #orglModDienst textarea,
    body[data-page="orgl"] #orglModDienst select{font-size:16px; min-height:44px;}
    body[data-page="orgl"] .dp-wish-row,
    body[data-page="orgl"] .dp-edit-row,
    body[data-page="orgl"] .dp-release{grid-template-columns:1fr;}
    body[data-page="orgl"] .dp-shift{font-size:.68rem; padding:5px 1px;}
    body[data-page="orgl"] .mg-bubble{width:min(180px, 48vw);}
  }

  .mg-rubrik, .mg-views{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px;}
  .mg-rubrik button, .mg-views button{
    font-family:inherit; border:1px solid var(--line); background:#fff; color:var(--ink);
    border-radius:999px; padding:8px 14px; cursor:pointer;
  }
  .mg-rubrik button.on, .mg-views button.on{background:var(--deep); color:#fff; border-color:var(--deep);}
  .mg-views button:disabled{opacity:.55; cursor:default;}
  .mg-stage{position:relative; width:min(760px, 100%); cursor:crosshair;}
  .mg-stage img{display:block; width:100%; height:auto; border-radius:16px; background:#fff;}
  .mg-missing{min-height:180px; display:grid; place-items:center; border:1px dashed var(--line); border-radius:16px; color:var(--ink-soft); background:#fff;}
  .mg-pin{position:absolute; z-index:3; width:44px; height:44px; transform:translate(-50%,-50%); display:block;}
  button.mg-pin{border:none; background:transparent; padding:0; cursor:pointer;}
  .mg-pin i{display:block; width:16px; height:16px; border-radius:50%; border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.35); margin:14px auto;}
  .mg-pin.on i{width:20px; height:20px; margin:12px auto;}
  .mg-pin[data-st="gemeldet"] i{background:#d92b2b;}
  .mg-pin[data-st="bearbeitung"] i{background:#e0a51e;}
  .mg-pin[data-st="werkstatt"] i{background:#2f6fb0;}
  .mg-pin[data-st="erledigt"] i{background:#3f9c5f;}
  .mg-pin[data-st="draft"] i{background:#0b3550;}
  .mg-call{position:absolute; z-index:4; pointer-events:none;}
  .mg-stem{position:absolute; top:0; left:0; width:18px; height:2px; background:#0b3550;}
  .mg-call.flip .mg-stem{left:auto; right:0;}
  .mg-bubble{
    position:absolute; top:0; left:18px; transform:translateY(-50%);
    width:min(220px, 46vw); background:#fff; color:var(--ink);
    border:1px solid var(--line); border-radius:14px; padding:8px 10px;
    box-shadow:0 8px 20px rgba(11,53,80,.16); pointer-events:auto; text-align:left;
  }
  .mg-call.flip .mg-bubble{left:auto; right:18px;}
  .mg-bubble strong{display:block; color:var(--deep); font-size:.82rem;}
  .mg-bubble p{margin:4px 0; font-size:.8rem; white-space:pre-wrap; max-height:96px; overflow:auto;}
  .mg-bubble small{color:var(--ink-soft); font-size:.72rem;}
  .mg-legend{display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; font-size:.78rem; color:var(--ink-soft);}
  .mg-legend i{display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:-1px;}
  .mg-legend i.gemeldet{background:#d92b2b;}
  .mg-legend i.bearbeitung{background:#e0a51e;}
  .mg-legend i.werkstatt{background:#2f6fb0;}
  .mg-legend i.erledigt{background:#3f9c5f;}
  .mg-form{max-width:640px; display:flex; flex-direction:column; gap:8px; margin-top:12px;}
  .mg-form[hidden], .mg-views[hidden], .mg-legend[hidden], .mg-side[hidden], #orglMgAussen[hidden], #orglDpLeitung[hidden], #orglDpPlan[hidden], #orglDpWunsch[hidden], #orglDpPublic[hidden]{display:none !important;}
  .mg-layout{position:relative; display:grid; grid-template-columns:minmax(0,760px) minmax(240px,1fr); gap:16px; align-items:start;}
  .mg-links{position:absolute; left:0; top:0; pointer-events:none; overflow:visible; z-index:2;}
  .mg-links line{stroke:#0b3550; stroke-width:2; fill:none;}
  .mg-links line.on{stroke:#1c6e8c; stroke-width:2.5;}
  .mg-side{display:flex; flex-direction:column; gap:8px;}
  .mg-side-card{
    display:block; width:100%; text-align:left; font-family:inherit; cursor:pointer;
    background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:14px; padding:10px 12px;
    box-shadow:0 8px 20px rgba(11,53,80,.08);
  }
  .mg-side-card.on{border-color:var(--water); box-shadow:0 0 0 2px rgba(28,110,140,.15);}
  .mg-side-card.draft{cursor:default; background:#f4f8fa;}
  .mg-side-card strong{display:block; color:var(--deep); font-size:.84rem;}
  .mg-side-card p{margin:4px 0; font-size:.84rem; white-space:pre-wrap;}
  .mg-side-card small{color:var(--ink-soft); font-size:.75rem;}
  .dp-month-note{display:flex; flex-direction:column; gap:4px; margin:12px 0 4px; max-width:640px;}
  .dp-month-note textarea{font-family:inherit; border:1px solid var(--line); border-radius:10px; padding:8px;}
  .dp-month-note textarea.locked{background:#f4f8fa;}
  .dp-wunsch-layout{display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,280px); gap:16px; align-items:start;}
  .dp-stats{position:sticky; top:8px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px;}
  .dp-stats h4{margin:12px 0 6px; color:var(--deep); font-size:.92rem;}
  .dp-stats h4:first-child{margin-top:0;}
  .dp-stat{display:flex; flex-wrap:wrap; gap:6px 8px; align-items:baseline; padding:6px 0; border-bottom:1px solid var(--line);}
  .dp-stat span{font-weight:600;}
  .dp-stat strong{margin-left:auto; color:var(--deep); font-size:1.05rem;}
  .dp-stat.zero strong{color:var(--ink-soft);}
  .dp-stat em{font-style:normal; font-size:.72rem; color:#8d1c1c;}
  .dp-note{background:#f4f8fa; border-radius:12px; padding:8px 10px; margin-bottom:8px;}
  .dp-note p{margin:4px 0 0; white-space:pre-wrap;}
  .mg-form textarea, .mg-form input, .mg-status select, .mg-status input{font-family:inherit;}
  #orglMgList{display:flex; flex-direction:column; gap:8px;}
  #orglMgList article{background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 14px; cursor:pointer;}
  #orglMgList article.on{border-color:var(--water); box-shadow:0 0 0 2px rgba(28,110,140,.15);}
  #orglMgList header{display:flex; justify-content:space-between; gap:8px; align-items:center; font-weight:700; color:var(--deep);}
  #orglMgList article > p{margin:6px 0; white-space:pre-wrap;}
  .mg-meta{color:var(--ink-soft); font-size:.82rem;}
  .mg-hist{margin:6px 0 0; padding-left:18px; color:var(--ink-soft); font-size:.8rem;}
  .mg-status{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; align-items:center;}
  .mg-badge{display:inline-block; border-radius:999px; padding:3px 8px; font-size:.75rem; font-weight:700;}
  .mg-badge.gemeldet{background:#fde8e8; color:#8d1c1c;}
  .mg-badge.bearbeitung{background:#f8e7b8; color:#6b5420;}
  .mg-badge.werkstatt{background:#e7f0f8; color:#1c4e7a;}
  .mg-badge.erledigt{background:#e5f4ea; color:#1d6b38;}
  .dp-nav{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px;}
  .dp-nav strong{font-size:1.2rem; color:var(--deep);}
  .dp-nav button{font-family:inherit; width:40px; height:40px; border-radius:12px; border:1px solid var(--line); background:#fff; cursor:pointer; color:var(--deep); font-size:1.1rem;}
  .dp-legend{display:flex; gap:14px; margin-bottom:8px; color:var(--ink-soft); font-size:.8rem;}
  .dp-legend i{display:inline-block; width:12px; height:12px; border-radius:4px; margin-right:6px; vertical-align:-1px;}
  .dp-legend i.pick{background:#1c6e8c;}
  .dp-legend i.lock{background:#0b3550;}
  .dp-cal{display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:6px;}
  .dp-wd{text-align:center; font-size:.75rem; font-weight:700; color:var(--ink-soft); padding:4px 0;}
  .dp-cell{background:#fff; border:1px solid var(--line); border-radius:12px; padding:6px; min-height:78px; display:flex; flex-direction:column; gap:4px;}
  .dp-cell.empty{background:transparent; border-color:transparent; min-height:0;}
  .dp-cell.we{background:#f4f8fa;}
  .dp-cell.today{box-shadow:inset 0 0 0 2px var(--water);}
  .dp-num{font-weight:700; color:var(--deep); font-size:.85rem;}
  .dp-shift{font-family:inherit; border:1px solid var(--line); background:#fff; border-radius:8px; padding:4px 2px; cursor:pointer; font-size:.72rem; color:var(--ink);}
  .dp-shift.pick{background:#1c6e8c; color:#fff; border-color:#1c6e8c;}
  .dp-shift.lock{background:#0b3550; color:#fff; border-color:#0b3550; cursor:default;}
  .dp-wish-row, .dp-edit-row{
    display:grid; grid-template-columns:120px minmax(0,1fr) minmax(0,1fr); gap:10px;
    background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px 12px; margin-bottom:8px;
  }
  .dp-wish-row.we, .dp-edit-row.we{background:#f4f8fa;}
  .dp-edit-day{font-weight:700; color:var(--deep);}
  .dp-wish-h{font-size:.75rem; font-weight:700; color:var(--ink-soft); margin:6px 0 4px;}
  .dp-chips{display:flex; flex-wrap:wrap; gap:6px;}
  .dp-name, .dp-wish-add{
    font-family:inherit; border:none; background:#e7f1f6; color:var(--deep);
    border-radius:999px; padding:4px 10px; font-size:.8rem; font-weight:600;
  }
  button.dp-name{cursor:pointer;}
  .dp-name.static{display:inline-block;}
  .dp-wish-add{background:#fff; border:1px dashed var(--water); cursor:pointer;}
  .dp-add{display:flex; gap:6px; margin-top:6px;}
  .dp-add input{flex:1; min-width:0; border:1px solid var(--line); border-radius:10px; padding:6px 8px; font-family:inherit;}
  .dp-add button{font-family:inherit; border-radius:10px; border:1px solid var(--line); background:#fff; cursor:pointer; padding:6px 10px;}
  .dp-none{color:var(--ink-soft);}
  .dp-release{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin-top:12px; padding-top:12px; border-top:2px solid var(--deep);}
  .dp-release .wide{grid-column:1 / -1;}
  .dp-release span{display:block; font-size:.72rem; color:var(--ink-soft); font-weight:700;}
  .dp-release strong{font-size:.95rem; color:var(--deep);}
  .dp-release input, .dp-release textarea{width:100%; font-family:inherit; border:1px solid var(--line); border-radius:10px; padding:8px; margin-top:4px; box-sizing:border-box;}
  .dp-table{width:100%; border-collapse:collapse; background:#fff;}
  .dp-table th{background:#0b3550; color:#fff; text-align:left; padding:6px 8px;}
  .dp-table td{padding:4px 8px; border-bottom:1px solid var(--line); vertical-align:top; word-break:break-word;}
  .dp-table tr.we td{background:#eef4f6;}
  .dp-pdf{width:277mm; background:#fff; color:#122430; box-sizing:border-box;}
  .dp-pdf .orgl-print-head img{height:48px;}
  .dp-pdf .orgl-print-head h1{font-size:22pt;}
  .dp-pdf-sub{margin:0 0 8px; text-align:center; color:#4c6473; font-size:10pt;}
  .dp-pdf-table{width:100%; border-collapse:collapse; font-size:10.5pt;}
  .dp-pdf-table th{background:#0b3550; color:#fff; text-align:left; padding:4px 6px;}
  .dp-pdf-table td{padding:3px 6px; border-bottom:1px solid #d7e2e6; vertical-align:top;}
  .dp-pdf-table tr.we td{background:#eef4f6;}
  .dp-pdf .dp-release{margin-top:8px;}
  .dp-pdf .dp-release strong{font-size:11pt;}

  @media (max-width: 840px){
    body[data-page="orgl"] .mg-layout,
    body[data-page="orgl"] .dp-wunsch-layout{grid-template-columns:1fr;}
    body[data-page="orgl"] .dp-stats{position:static;}
  }

  #leitungFooter{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    padding:10px 22px;
    background:#fff;
    border-top:1px solid var(--line);
    font-size:0.82rem;
  }
  #leitungFooter a{color:var(--water); font-weight:700; text-decoration:none;}
  #leitungFooter a:hover{text-decoration:underline;}
  .kontakt-card{width:440px; max-width:92vw;}
  .kontakt-hint{margin:0 0 12px; font-size:0.8rem; color:var(--ink-soft); line-height:1.45;}
  #kontaktForm label{display:block; font-size:0.82rem; font-weight:700; color:var(--deep); margin:0 0 10px;}
  #kontaktForm input, #kontaktForm select, #kontaktForm textarea{
    display:block; width:100%; margin-top:4px; padding:9px 10px;
    border:1px solid var(--line); border-radius:8px; font:400 0.92rem/1.4 inherit; color:var(--ink);
  }
  #kontaktForm textarea{resize:vertical; min-height:96px;}
  #kontaktForm input[readonly]{background:var(--foam);}
  #kontaktForm button[type=submit]{
    background:var(--water); color:#fff; border:none; border-radius:8px;
    padding:9px 14px; font-family:inherit; font-weight:700; cursor:pointer;
  }
  #kontaktForm button[type=submit]:hover{background:var(--water-light);}
  #kontaktAccessFields[hidden]{display:none !important;}
  @media print{
    #leitungFooter{display:none !important;}
    .orgl-print-head img{height:64px; -webkit-print-color-adjust:exact; print-color-adjust:exact;}
    .orgl-print-page, .print-sheet + .print-sheet, .html2pdf__page-break{
      page-break-before:always; break-before:page;
    }
    .orgl-print-sign img{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
    .orgl-foot{position:static; box-shadow:none;}
  }
