/* Admin-Bereich Saddle Seb, baut auf style.css auf */
body.admin{background:var(--linen)}
.admin .nav .wrap{justify-content:space-between}
.who{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:rgba(232,236,242,.8)}
.who .btn{padding:.5rem .9rem;font-size:.72rem}

.login{min-height:70vh;display:grid;place-items:center;padding:var(--s4) 16px}
.login-card{width:100%;max-width:400px;display:grid;grid-template-columns:1fr;gap:var(--s2);background:var(--paper);border:1px solid var(--rule);padding:var(--s4)}
.login-card h1{font-size:2rem}

.app{padding-block:var(--s4) var(--s5)}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--s2)}
.tabs button{font:inherit;font-size:.9rem;letter-spacing:.06em;border:1px solid var(--rule);background:var(--field);color:var(--ink);padding:.7rem 1.1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem}
.tabs button[aria-selected="true"]{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.tabs i{font-style:normal;font-size:.75rem;min-width:1.4rem;height:1.4rem;display:inline-grid;place-items:center;border-radius:99px;background:#C0392B;color:#fff;padding:0 .35rem}
.tabs i:empty{display:none}
.status-line{min-height:1.3rem;margin-bottom:var(--s2)}

.day{background:var(--paper);border:1px solid var(--rule);margin-bottom:var(--s3)}
.day-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:var(--s2) var(--s3);border-bottom:1.5px dashed var(--leather)}
.day-head h2{font-size:1.4rem}
.day-head .meta{font-size:.82rem;color:var(--muted)}
.slot-row{display:grid;grid-template-columns:5.5rem 1fr auto;gap:var(--s2);align-items:start;padding:.9rem var(--s3);border-bottom:1px solid var(--rule)}
.slot-row:last-child{border-bottom:0}
.slot-row .time{font-family:var(--display);font-size:1.15rem;font-variant-numeric:tabular-nums}
.slot-row .who-b{display:grid;gap:.15rem;font-size:.95rem;min-width:0}
.slot-row .who-b .chip{justify-self:start;margin-bottom:.2rem}
.req-head .chip{margin-right:.6rem}
.slot-row .who-b small{color:var(--muted);overflow-wrap:anywhere}
.acts{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.acts button,.acts a{font:inherit;font-size:.78rem;letter-spacing:.06em;border:1px solid var(--rule);background:var(--field);color:var(--ink);padding:.45rem .7rem;cursor:pointer;text-decoration:none;white-space:nowrap}
.acts .ok{background:#2E7D4F;border-color:#2E7D4F;color:#fff}
.acts .no{color:#B23A2E;border-color:#E2B4AE}
.acts .wa{color:#1E7E4E;border-color:#A8D5BC}
@media (max-width:700px){.slot-row{grid-template-columns:4.2rem 1fr}.slot-row .acts{grid-column:1/-1;justify-content:flex-start}}

.chip{display:inline-block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .5rem;border:1px solid var(--rule);margin-right:.4rem;vertical-align:1px}
.chip.angefragt,.chip.neu{background:#FFF3D6;border-color:#E8C46A;color:#7A5A00}
.chip.bestaetigt,.chip.terminiert{background:#DDF2E5;border-color:#8CC9A3;color:#1E6B40}
.chip.blockiert,.chip.reserve{background:var(--taken);color:var(--muted)}
.chip.abgelehnt,.chip.storniert,.chip.abgesagt{background:#F7E1DE;border-color:#E2B4AE;color:#9A3328}
.chip.erledigt{background:var(--linen);color:var(--muted)}
.chip.frei{color:var(--muted)}

.edit{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);background:var(--linen);border:1px dashed var(--leather);padding:var(--s2)}
.edit .full{grid-column:1/-1}
.edit .row{display:flex;flex-wrap:wrap;gap:.5rem}
@media (max-width:600px){.edit{grid-template-columns:1fr}}

.filters{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:end;margin-bottom:var(--s3)}
.filters label{min-width:12rem}
.btn.ghost-dark{background:transparent;color:var(--leather);border-color:var(--leather)}

.req{background:var(--paper);border:1px solid var(--rule);padding:var(--s3);margin-bottom:var(--s2);display:grid;gap:var(--s2)}
.req-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;align-items:baseline}
.req-head b{font-family:var(--display);font-weight:400;font-size:1.3rem}
.req dl{display:grid;grid-template-columns:8rem 1fr;gap:.3rem 1rem;margin:0;font-size:.95rem}
.req dt{color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding-top:.15rem}
.req dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.req .edit-grid{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:var(--s2);align-items:end}
@media (max-width:800px){.req .edit-grid{grid-template-columns:1fr}.req dl{grid-template-columns:1fr}}

.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--rule)}
#hist-table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:760px}
#hist-table th,#hist-table td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--rule);vertical-align:top}
#hist-table th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--linen);position:sticky;top:0}
#hist-table td{font-variant-numeric:tabular-nums}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--hunter);color:var(--on-hunter);padding:.8rem 1.2rem;font-size:.9rem;z-index:30;max-width:calc(100% - 32px)}
.empty{color:var(--muted);padding:var(--s3);background:var(--paper);border:1px dashed var(--rule)}

.month-tabs{display:flex;gap:.4rem;overflow-x:auto;margin-bottom:var(--s3);padding-bottom:.3rem}
.month-tabs button{font:inherit;font-size:.85rem;white-space:nowrap;border:1px solid var(--rule);background:var(--field);color:var(--ink);padding:.55rem .9rem;cursor:pointer;display:flex;gap:.4rem;align-items:center}
.month-tabs button[aria-pressed="true"]{border-color:var(--leather);box-shadow:inset 0 0 0 1px var(--leather)}
.month-tabs i{font-style:normal;font-size:.72rem;min-width:1.3rem;height:1.3rem;display:inline-grid;place-items:center;border-radius:99px;background:#C0392B;color:#fff;padding:0 .3rem}

.plan{display:grid;gap:var(--s2);margin-bottom:var(--s3);justify-items:start}
.plan-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);background:var(--paper);border:1px dashed var(--leather);padding:var(--s3);width:100%}
.plan-form .row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem}
.day .plan-form{border-width:0 0 1px;border-style:dashed}
@media (max-width:700px){.plan-form{grid-template-columns:1fr}}

.loc-tag{font-family:var(--body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--leather);color:var(--leather);padding:.15rem .5rem;vertical-align:middle;margin-left:.5rem}
.plan-form{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:700px){.plan-form{grid-template-columns:1fr}}

/* Kunden und Termine */
.list-table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:680px}
.list-table th,.list-table td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--rule);vertical-align:top}
.list-table th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--linen)}
.list-table tr.click{cursor:pointer}
.list-table tr.click:hover td{background:var(--linen)}
.kform{margin-top:.2rem}
.k-top{margin-bottom:var(--s2)}
.k-sec{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin:var(--s4) 0 var(--s2)}
.k-sec h2{font-size:1.5rem}
.tcard .req-head .loc-tag{margin-left:0}
.t-items{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}
.t-items li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--rule);padding-bottom:.3rem}
.t-sum{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-top:1px solid var(--leather);padding-top:.6rem}
.t-sum b{font-family:var(--display);font-weight:400;font-size:1.5rem}
.t-sum span{font-size:.85rem;color:var(--muted)}
.tform .calc-list{list-style:none;padding:0;margin:0;display:grid}
.tform .calc-list li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.45rem 0;border-bottom:1px solid var(--rule)}
.tform .calc-list .cn small{display:block;font-size:.8rem;color:var(--muted)}
.web-list{gap:0;padding:0}
.w-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.8rem var(--s3);border-bottom:1px solid var(--rule)}
.w-row:last-child{border-bottom:0}
@media (max-width:760px){.w-row{grid-template-columns:1fr}}
.mini,.acts .ok-link{font:inherit;font-size:.78rem;letter-spacing:.06em;border:1px solid var(--leather);background:var(--field);color:var(--leather);padding:.45rem .7rem;cursor:pointer;text-decoration:none;white-space:nowrap;justify-self:start}
.acts .ok-link{background:#2E7D4F;border-color:#2E7D4F;color:#fff}
.lex-err{font-size:.85rem;color:#9A3328;background:#F7E1DE;border:1px solid #E2B4AE;padding:.5rem .7rem;overflow-wrap:anywhere}
.btn.danger{color:#B23A2E;border-color:#E2B4AE}
.rform{margin-top:.4rem}
.rform .note{margin:0}
.tform .calc-list li.grp{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--leather);border-bottom:1px solid var(--leather);padding-top:1rem}
.tform .calc-list li.p-add{gap:.5rem;border-bottom:0;padding-top:.7rem}
.tform .calc-list li.p-add input{flex:1;min-width:0}
.pform .check{display:flex;flex-direction:row;align-items:center;gap:.5rem;align-self:end}
.pform .check input{width:auto}
.p-cell{padding:0!important;background:var(--linen)}
.p-cell .pform{border:0}

/* Übersicht */
.dash-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:var(--s3)}
.dash-head h1{font-size:clamp(1.8rem,4vw,2.4rem)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s3)}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.tiles{grid-template-columns:1fr}}
.tile{font:inherit;text-align:left;cursor:pointer;background:var(--paper);border:1px solid var(--rule);color:var(--ink);padding:var(--s3);display:grid;gap:.25rem;position:relative}
.tile::after{content:"";position:absolute;inset:5px;border:1px dashed transparent;pointer-events:none}
.tile:hover::after{border-color:var(--leather)}
.tile b{font-family:var(--display);font-weight:400;font-size:2.1rem;line-height:1.1;font-variant-numeric:tabular-nums}
.tile span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--leather)}
.tile small{font-size:.85rem;color:var(--muted)}
.tile.warn{border-color:#E8C46A;background:#FFF8E6}
.tile.warn b{color:#7A5A00}
.dash-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s2);align-items:start}
@media (max-width:860px){.dash-grid{grid-template-columns:1fr}}
.up{list-style:none;padding:0;margin:0}
.up li{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--rule)}
.up li:last-child{border-bottom:0}
.up li.click{cursor:pointer}
.up li.click:hover b{color:var(--leather)}
.up .when{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem}
.up small{display:block;color:var(--muted);font-size:.82rem}
@media (max-width:520px){.up li{grid-template-columns:1fr;gap:.1rem}}
.quick{display:grid;gap:.6rem}
.quick .btn{justify-content:center}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tile.warn{background:rgba(232,196,106,.1);border-color:rgba(232,196,106,.55)}:root:not([data-theme="light"]) .tile.warn b{color:#E8C46A}}
:root[data-theme="dark"] .tile.warn{background:rgba(232,196,106,.1);border-color:rgba(232,196,106,.55)}
:root[data-theme="dark"] .tile.warn b{color:#E8C46A}

/* Rechnungen */
.r-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s2)}
@media (max-width:700px){.r-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}
.r-sum div{background:var(--paper);border:1px solid var(--rule);padding:.9rem 1rem;display:grid;gap:.15rem}
.r-sum b{font-family:var(--display);font-weight:400;font-size:1.5rem;font-variant-numeric:tabular-nums}
.r-sum span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.r-sum .warn{border-color:#E2B4AE}
.r-sum .warn b{color:#B23A2E}
#r-table .acts{justify-content:flex-start}
.pay-in{display:inline-flex;gap:.3rem;align-items:center}
.pay-in input{padding:.35rem .4rem;font-size:.8rem;width:auto}
.row-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.tform.direkt{border-color:#2E7D4F}
.t-title{font-family:var(--display);font-size:1.3rem;margin:0}
.sform{margin-top:.4rem}
.sform .note{margin:0}

/* Glocke */
.bell{position:relative}
#bell-btn{position:relative;background:transparent;border:1px solid rgba(232,236,242,.35);color:var(--on-hunter);width:2.4rem;height:2.4rem;display:grid;place-items:center;cursor:pointer}
#bell-btn i{position:absolute;top:-.45rem;right:-.45rem;font-style:normal;font-size:.7rem;min-width:1.2rem;height:1.2rem;display:grid;place-items:center;border-radius:99px;background:#C0392B;color:#fff;padding:0 .3rem}
#bell-btn i:empty{display:none}
.bell-pop{position:absolute;right:0;top:calc(100% + .5rem);width:min(360px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--rule);box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:40;display:grid}
.bp-head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--rule)}
.bp-head button,.bp-perm{font:inherit;font-size:.78rem;background:none;border:0;color:var(--leather);cursor:pointer;text-decoration:underline}
.bp-perm{padding:.8rem 1rem;text-align:left}
.bp-item{font:inherit;text-align:left;background:none;border:0;border-bottom:1px solid var(--rule);padding:.75rem 1rem;display:grid;gap:.15rem;cursor:pointer;color:var(--ink)}
.bp-item.new{background:rgba(47,93,143,.08);border-left:3px solid var(--leather)}
.bp-item span{font-size:.85rem;color:var(--muted)}
.bp-item small{font-size:.72rem;color:var(--muted)}
.bell-pop .note{padding:1rem}
/* Kommentare */
.cbox{display:grid;gap:.7rem;margin-top:.3rem}
.c-list{display:grid;gap:.5rem}
.c-item{background:var(--field);border:1px solid var(--rule);padding:.7rem .9rem;display:grid;gap:.3rem}
.c-item.task{border-left:3px solid #E8C46A}
.c-item.task.done{border-left-color:#8CC9A3;opacity:.75}
.c-item.flash{box-shadow:0 0 0 2px var(--leather)}
.c-head{display:flex;flex-wrap:wrap;gap:.6rem;align-items:baseline}
.c-head small{color:var(--muted);font-size:.78rem}
.c-done{margin-left:auto;font-size:.8rem}
.c-item p{margin:0;font-size:.95rem;overflow-wrap:anywhere}
.c-item .at{color:var(--leather);font-weight:600}
.c-acts{display:flex;gap:.8rem}
.c-acts button{font:inherit;font-size:.78rem;background:none;border:0;padding:0;color:var(--muted);cursor:pointer;text-decoration:underline}
.c-form{display:grid;gap:.5rem}
.c-form textarea,.c-item textarea{width:100%;font:inherit}
.c-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.c-row .btn{padding:.6rem 1rem;font-size:.75rem}
.c-team{display:flex;flex-wrap:wrap;gap:.3rem;margin-right:auto}
.at-btn{font:inherit;font-size:.78rem;border:1px solid var(--rule);background:var(--paper);color:var(--leather);padding:.25rem .5rem;cursor:pointer}
.c-due{display:flex;align-items:center;gap:.4rem;font-size:.8rem;letter-spacing:0;text-transform:none}
.c-due input{width:auto;padding:.35rem .4rem}
.c-toggle{font:inherit;font-size:.78rem;letter-spacing:.06em;border:1px solid var(--rule);background:var(--field);color:var(--leather);padding:.45rem .7rem;cursor:pointer}
.c-toggle.on{border-color:var(--leather)}
.p-com{padding:var(--s2);display:grid;gap:.4rem}
.acard .req-head b{font-size:1.15rem}
.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.dash-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.flash{animation:fl 1.6s ease}
@keyframes fl{0%,40%{box-shadow:0 0 0 3px var(--leather)}100%{box-shadow:none}}
.c-done{text-transform:none;letter-spacing:0;font-weight:400;display:flex;gap:.4rem;align-items:center}
.c-done input,.c-row .check input{width:auto}
.c-row .check{text-transform:none;letter-spacing:0;font-weight:400;display:flex;gap:.4rem;align-items:center;font-size:.85rem}
.tab-link{font:inherit;font-size:.9rem;letter-spacing:.06em;border:1px dashed var(--leather);background:transparent;color:var(--leather);padding:.7rem 1.1rem;text-decoration:none;display:flex;align-items:center}
.chips-k{display:flex;flex-wrap:wrap;gap:.4rem}
.note.late{color:#B23A2E;font-weight:600}
.pfcard .req-head .note{font-size:.88rem}
.pfcard p{margin:0}

/* Neues Layout: Seitenleiste */
.app{padding-block:0}
.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:var(--s4);max-width:1440px;margin:0 auto;padding:var(--s3) clamp(16px,3vw,32px) var(--s5)}
.side{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 104px);overflow:auto;display:grid;gap:var(--s2);background:var(--paper);border:1px solid var(--rule);padding:var(--s2)}
.side .tabs{display:grid;gap:2px;margin:0}
.side .tabs button{width:100%;justify-content:space-between;border:0;background:transparent;padding:.6rem .7rem;font-size:.92rem;letter-spacing:.02em;border-left:3px solid transparent}
.side .tabs button:hover{background:var(--linen)}
.side .tabs button[aria-selected="true"]{background:var(--linen);color:var(--ink);border-left-color:var(--leather);font-weight:500}
.side-h{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:.9rem .7rem .2rem}
.side .tab-link{border:0;padding:.6rem .7rem;font-size:.88rem;text-decoration:underline}
.main-col{min-width:0}
.side-toggle{display:none}
.g-search{position:relative}
.g-search input{width:100%;font:inherit;font-size:.92rem;padding:.65rem .7rem;border:1px solid var(--rule);background:var(--field);color:var(--ink)}
.g-res{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--paper);border:1px solid var(--rule);box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:45;max-height:60vh;overflow:auto;display:grid}
.g-res button{font:inherit;text-align:left;background:none;border:0;border-bottom:1px solid var(--rule);padding:.55rem .7rem;cursor:pointer;color:var(--ink);display:grid;gap:.1rem}
.g-res button:hover,.g-res button.act{background:var(--linen)}
.g-res small{font-size:.75rem;color:var(--muted)}
.g-res .g-cat{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--leather);padding:.5rem .7rem .2rem}
.g-res p{padding:.7rem;font-size:.85rem;color:var(--muted);margin:0}
@media (max-width:900px){
  .admin-layout{grid-template-columns:1fr;gap:var(--s2)}
  .side{display:none;position:static;max-height:none}
  .side.open{display:grid}
  .side-toggle{display:block;width:100%;font:inherit;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;padding:.75rem;border:1px solid var(--leather);background:var(--paper);color:var(--leather);cursor:pointer;margin-bottom:var(--s2)}
}
/* Kundenakte: Visitenkarte und Sprungleiste */
.kcard{background:var(--paper);border:1px solid var(--rule);padding:var(--s3);display:grid;gap:var(--s2)}
.kc-main{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2);align-items:flex-start}
.kc-name{font-size:clamp(1.7rem,3.4vw,2.3rem)}
.kc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem 1.5rem;margin:0}
.kc-facts dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kc-facts dd{margin:.15rem 0 0;overflow-wrap:anywhere}
.kc-facts .wide{grid-column:1/-1}
.kc-warn{font-size:.82rem;color:#9A3328}
.k-jump{position:sticky;top:76px;z-index:5;display:flex;gap:.4rem;overflow-x:auto;padding:.6rem 0;background:var(--linen);margin-top:var(--s2)}
.k-jump a{white-space:nowrap;font-size:.82rem;letter-spacing:.04em;text-decoration:none;color:var(--ink);border:1px solid var(--rule);background:var(--paper);padding:.45rem .75rem;display:flex;gap:.4rem;align-items:center}
.k-jump a:hover{border-color:var(--leather)}
.k-jump i{font-style:normal;font-size:.7rem;min-width:1.2rem;height:1.2rem;display:inline-grid;place-items:center;border-radius:99px;background:var(--leather);color:#fff;padding:0 .3rem}
.k-anchor{scroll-margin-top:140px}
.k-sec h2{display:flex;align-items:center;gap:.6rem}
.dash-h{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:var(--s2) 0 .6rem}
.tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}

/* Handy: untere Leiste, Seitenmenü als Schublade, Listen als Karten */
.mnav{display:none}
.side-back{display:none}
@media (max-width:900px){
  body.admin{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  body.no-scroll{overflow:hidden}
  .side{display:grid!important;position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);max-height:none;z-index:60;transform:translateX(-105%);transition:transform .22s ease;border:0;border-right:1px solid var(--rule);padding:calc(14px + env(safe-area-inset-top,0px)) 14px 90px;overflow:auto}
  .side.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.35)}
  .side-back{display:block;position:fixed;inset:0;background:rgba(11,18,32,.45);z-index:55}
  .side-back[hidden]{display:none}
  .side .tabs button{padding:.8rem .7rem;font-size:1rem}
  .mnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--hunter);border-top:1px solid rgba(232,236,242,.15);padding-bottom:env(safe-area-inset-bottom,0px)}
  .mnav[hidden]{display:none}
  .mnav button{font:inherit;font-size:.68rem;letter-spacing:.04em;background:none;border:0;color:rgba(232,236,242,.7);padding:.55rem .2rem .5rem;display:grid;justify-items:center;gap:.2rem;cursor:pointer;position:relative}
  .mnav svg{width:22px;height:22px;fill:currentColor}
  .mnav button.on{color:#fff}
  .mnav button.on::before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;background:var(--brass)}
  .mnav i{position:absolute;top:.25rem;right:22%;font-style:normal;font-size:.62rem;min-width:1.05rem;height:1.05rem;display:grid;place-items:center;border-radius:99px;background:#C0392B;color:#fff;padding:0 .25rem}
  .mnav i:empty{display:none}
  #who-mail{display:none}
  .admin .nav .brand small{display:none}
  .admin-layout{padding:var(--s2) 12px var(--s4)}
  .k-jump{top:64px}
  .kcard{padding:var(--s2)}
  .kc-main .acts{width:100%;justify-content:flex-start}
  .kc-main .acts a,.kc-main .acts button{flex:1 1 auto;text-align:center;padding:.65rem .6rem;font-size:.85rem}
  .acts button,.acts a{padding:.6rem .8rem}
  /* kein automatisches Zoomen am iPhone */
  .admin input,.admin select,.admin textarea{font-size:16px}
}
@media (max-width:700px){
  .table-wrap{overflow:visible;background:none;border:0}
  .list-table{min-width:0;border-collapse:separate}
  .list-table thead{display:none}
  .list-table tbody tr{display:block;background:var(--paper);border:1px solid var(--rule);margin-bottom:.6rem;padding:.75rem .9rem}
  .list-table td{display:block;border:0;padding:.12rem 0}
  .list-table td:first-child{font-size:1.02rem}
  .list-table td:empty{display:none}
  .list-table td.p-cell{padding:0}
  .list-table tr:has(> td.p-cell){padding:0;border:0;background:none}
  .r-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters{gap:.6rem}
  .filters label{min-width:0;flex:1 1 100%}
  .filters .btn{width:100%}
  .dash-head h1{font-size:1.6rem}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .tile{padding:.9rem}
  .tile b{font-size:1.6rem}
  .tile small{font-size:.78rem}
  .up li{grid-template-columns:1fr}
}

/* Mitarbeiter: nur Neues anlegen, Bestehendes nicht ändern */
body.ro [data-act="edit"],body.ro [data-act="bdel"],body.ro [data-act="del"],body.ro [data-act="ok"],body.ro [data-act="no"],body.ro [data-act="cancel"],
body.ro [data-act="resfree"],body.ro [data-act="block"],body.ro [data-act="blockday"],body.ro [data-act="day-edit"],body.ro [data-act="day-del"],
body.ro [data-k-act="k-edit"],body.ro [data-k-act="del"],body.ro [data-k-act="t-edit"],body.ro [data-k-act="t-del"],body.ro [data-k-act="a-edit"],body.ro [data-k-act="a-del"],body.ro [data-k-act="t-storno"],
body.ro [data-r-act="pay"],body.ro [data-r-act="unpay"],body.ro [data-r-act="storno"],
body.ro [data-pf-act="edit"],body.ro [data-pf-act="del"],body.ro [data-sa-back],body.ro [data-sa-probe],body.ro [data-sa-del],body.ro [data-st-del],body.ro [data-li-del],
body.ro [data-del-a],body.ro [data-del-h],body.ro [data-c-act],body.ro .req form.edit-grid{display:none!important}
body.ro tr[data-sa-edit],body.ro tr[data-st-edit],body.ro tr[data-li-edit],body.ro tr[data-p-edit]{cursor:default}
@media (max-width:700px){.list-table td[data-l]::before{content:attr(data-l) ": ";font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}}
@media (max-width:700px){
  .filters label{flex:1 1 calc(50% - .3rem)}
  .filters label:has(input[type="search"]){flex-basis:100%}
  #r-csv,#csv{display:none}
  .r-sum{gap:.5rem}
  .r-sum div{padding:.6rem .7rem}
  .r-sum b{font-size:1.15rem}
  .r-sum span{font-size:.62rem}
  .status-line{font-size:.75rem;margin-bottom:.6rem}
}
b.low{color:#B23A2E}
.bew{list-style:none;padding:0;margin:0;display:grid;gap:.2rem;font-size:.88rem}
.bew li{display:grid;grid-template-columns:6.5rem 1fr auto;gap:.8rem;border-bottom:1px dashed var(--rule);padding:.25rem 0}
.bew .plus{color:#1E6B40}.bew .minus{color:#9A3328}
/* Unterschrift */
.sig-box{border:1px dashed var(--leather);background:var(--linen);padding:var(--s2);display:grid;gap:.7rem}
.sig-pos{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;font-size:.92rem}
.sig-pos li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--rule);padding-bottom:.2rem}
.sig-sum{margin:0;font-size:.95rem}
.sig-wrap{position:relative;background:#fff;border:1px solid var(--rule);height:200px}
.sig-pad{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}
.sig-wrap::after{content:"";position:absolute;left:8%;right:8%;bottom:42px;border-bottom:1px solid #C8CFDA;pointer-events:none}
.sig-hint{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:.78rem;color:#8a94a6;pointer-events:none}
.sig-wrap.used .sig-hint{display:none}
.sig-box .row{display:flex;flex-wrap:wrap;gap:.5rem}
.sig-done{display:grid;gap:.3rem;justify-items:start}
.sig-done img{background:#fff;border:1px solid var(--rule);max-width:320px;width:100%;height:auto}
.sig-done small{color:var(--muted);font-size:.8rem}
@media (max-width:700px){.sig-wrap{height:220px}}
.sig-pos li span,.t-items .note{white-space:nowrap}
.kal-box{margin-bottom:var(--s3);border-color:var(--leather)}
.kal-steps{margin:0;padding-left:1.2rem;display:grid;gap:.3rem}
.kal-box .row-btns .btn{flex:1 1 auto}
.warn-text{color:#9A6B00}
@media (max-width:900px){.toast{bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:60}}
.p-need{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;background:rgba(232,196,106,.12);border:1px solid rgba(232,196,106,.55);padding:.7rem .8rem;margin:.2rem 0 .6rem}
.p-need p{flex:1 1 100%;margin:0}
.p-need input{width:5.5rem}
.tform .calc-list li.p-add select{flex:1;min-width:0}
.pf-fotos{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 .2rem}
.pf-foto{width:84px;height:84px;padding:0;border:1px solid var(--rule,#C8CFDA);background:rgba(127,127,127,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;font:inherit;font-size:.78rem}
.pf-foto img{width:100%;height:100%;object-fit:cover;display:block}
.pf-add{border-style:dashed}
.pf-busy{cursor:default;opacity:.7}
.foto-box{position:fixed;inset:0;z-index:80;background:rgba(10,18,32,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:16px}
.foto-box img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;background:#fff}
.foto-box .btn{background:#fff}
