/* glampr-neu · Betriebs-Module (Personal, Eingangsrechnungen, Bank-Abgleich, Auswertungen, Anlagen). Präfix bm-, Farben aus theme.css (hell + dunkel). */
.bm svg,.bm-ov svg{width:18px;height:18px;flex:none}
.bm-row>svg{color:var(--text-subtle)}
.bm{max-width:1240px;margin:0 auto;padding:18px 20px 48px}
.bm-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.bm-head>div:first-child{flex:1 1 380px;min-width:0}
.bm-head h1{font-family:var(--font-head,Satoshi,Inter,sans-serif);font-size:1.6rem;margin:0 0 4px}
.bm-sub{color:var(--text-muted);max-width:760px;line-height:1.45}
.bm-sp{flex:1}
.bm-hacts{display:flex;gap:8px;flex-wrap:wrap}
.bm .btn svg,.bm-ov .btn svg{width:17px;height:17px}
.bm-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:6px 0 14px;overflow-x:auto;scrollbar-width:none}
.bm-tabs::-webkit-scrollbar{display:none}
.bm-tabs button{display:flex;align-items:center;gap:7px;padding:10px 12px;border:0;background:none;color:var(--text-muted);font:600 .92rem var(--font,Inter,sans-serif);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}
.bm-tabs button svg{width:18px;height:18px}
.bm-tabs button em{font-style:normal;font-size:.75rem;background:var(--danger,#B8442C);color:#fff;border-radius:999px;padding:1px 7px}
.bm-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}
.bm-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px;min-width:0}
.bm-card h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin:0 0 10px}
.bm-card h3 svg{width:18px;height:18px;color:var(--accent);flex:none}
.bm-card h3 .bm-sp{flex:1}
.bm-empty{color:var(--text-muted);text-align:center;padding:26px 16px;line-height:1.5}
.bm-p{color:var(--text-muted);font-size:.9rem;margin:0 0 10px;line-height:1.45}
.bm-skel{height:42px;border-radius:10px;background:var(--surface-2);margin:8px 0;animation:bmp 1.2s ease-in-out infinite}
@keyframes bmp{50%{opacity:.5}}
.bm-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.bm-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:900px){.bm-grid2,.bm-grid3{grid-template-columns:minmax(0,1fr)}}
/* Kennzahlen (alle anklickbar) */
.bm-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:12px}
.bm-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer;min-width:0}
.bm-kpi:hover,.bm-kpi:focus-visible{border-color:var(--accent);outline:none}
.bm-kpi b{font-size:1.38rem;font-family:var(--font-head,Satoshi,Inter,sans-serif);line-height:1.15;overflow-wrap:anywhere}
.bm-kl{color:var(--text-muted);font-size:.84rem}
.bm-ks{color:var(--text-subtle);font-size:.78rem}
.bm-ks .up{color:var(--success,#2F7A55)}.bm-ks .dn{color:var(--danger,#B8442C)}
.bm-kpi.rot{border-color:var(--danger,#B8442C)}.bm-kpi.rot b{color:var(--danger,#B8442C)}
.bm-kpi.gelb b{color:var(--warning,#9A6A0E)}
.bm-kpi.on{box-shadow:0 0 0 2px var(--accent-soft);border-color:var(--accent)}
/* Zeilen */
.bm-list{padding:4px}
.bm-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;border-bottom:1px solid var(--border);background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer;border-radius:10px;min-width:0}
.bm-row:last-child{border-bottom:0}
.bm-row:hover,.bm-row:focus-visible{background:var(--surface-2);outline:none}
.bm-row.still{cursor:default}.bm-row.still:hover{background:none}
.bm-rm{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.bm-rm b{font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.bm-ms{display:flex;flex-wrap:wrap;gap:3px 12px;color:var(--text-muted);font-size:.84rem}
.bm-m{display:inline-flex;align-items:center;gap:4px;min-width:0}
.bm-m svg{width:14px;height:14px;flex:none}
.bm-rr{flex:none;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.bm-betrag{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.bm-betrag.neg{color:var(--danger,#B8442C)}.bm-betrag.pos{color:var(--success,#2F7A55)}
.bm-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--text-subtle)}
.bm-dot.rot{background:var(--danger,#B8442C)}.bm-dot.gelb{background:var(--warning,#9A6A0E)}.bm-dot.gruen{background:var(--success,#2F7A55)}.bm-dot.blau{background:var(--info,#2563A8)}
.bm-pill{flex:none;display:inline-block;font-size:.76rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}
.bm-pill.gelb{background:var(--warning-bg,#FBF0DA);color:var(--warning,#9A6A0E)}.bm-pill.blau{background:var(--info-bg,#E3EEF9);color:var(--info,#2563A8)}.bm-pill.gruen{background:var(--success-bg,#E1F0E8);color:var(--success,#2F7A55)}.bm-pill.rot{background:var(--danger-bg,#FBE7E2);color:var(--danger,#B8442C)}
.bm-pill.bsp{background:transparent;border:1px dashed var(--border-strong);color:var(--text-subtle);font-weight:600}
.bm-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.bm-seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);max-width:100%;overflow-x:auto;scrollbar-width:none}
.bm-seg button{border:0;background:none;padding:8px 13px;font:600 .86rem var(--font,Inter,sans-serif);color:var(--text-muted);cursor:pointer;white-space:nowrap}
.bm-seg button.on{background:var(--accent);color:#fff}
[data-theme="dark"] .bm-seg button.on{color:#0E1513}
.bm-in{height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:0 10px;font:inherit;min-width:0}
.bm-in:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.bm-hint{display:flex;gap:8px;align-items:flex-start;color:var(--text-muted);font-size:.88rem;line-height:1.45;margin:8px 0}
.bm-hint svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--accent)}
.bm-warn{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:12px;background:var(--warning-bg,#FBF0DA);color:var(--text);margin:0 0 10px;line-height:1.45;font-size:.92rem}
.bm-warn.rot{background:var(--danger-bg,#FBE7E2)}
.bm-warn svg{width:18px;height:18px;flex:none;color:var(--warning,#9A6A0E);margin-top:1px}.bm-warn.rot svg{color:var(--danger,#B8442C)}
.bm-warn button{margin-left:auto}
/* Tabelle (Handy: wird zu Karten) */
.bm-tab{width:100%;border-collapse:collapse;font-size:.9rem}
.bm-tab th{text-align:left;font-weight:600;color:var(--text-muted);font-size:.8rem;padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}
.bm-tab td{padding:9px 8px;border-bottom:1px solid var(--border);vertical-align:top}
.bm-tab tr:last-child td{border-bottom:0}
.bm-tab .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bm-tab tr.klick{cursor:pointer}.bm-tab tr.klick:hover td{background:var(--surface-2)}
.bm-tab button.lnk,.bm-lnk{border:0;background:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;padding:0;text-align:inherit;text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:3px}
.bm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:1000px){
  .bm-tab.karten thead{display:none}
  .bm-tab.karten,.bm-tab.karten tbody,.bm-tab.karten tr,.bm-tab.karten td{display:block;width:100%}
  .bm-tab.karten tr{border:1px solid var(--border);border-radius:12px;margin-bottom:8px;padding:6px 4px}
  .bm-tab.karten td{border:0;padding:4px 8px;display:flex;justify-content:space-between;gap:10px;text-align:right}
  .bm-tab.karten td::before{content:attr(data-l);color:var(--text-muted);font-size:.8rem;text-align:left}
  .bm-tab.karten td.r{white-space:normal}
}
/* Balken */
.bm-bars{display:flex;align-items:flex-end;gap:6px;height:180px;padding:8px 2px 0;overflow-x:auto}
.bm-bcol{flex:1 0 34px;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;border:0;background:none;font:inherit;color:var(--text-muted);cursor:pointer;padding:0}
.bm-bcol .st{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}
.bm-bcol i{display:block;width:42%;border-radius:4px 4px 0 0;background:var(--accent);min-height:2px}
.bm-bcol i.vj{background:var(--border-strong)}
.bm-bcol span{font-size:.72rem;white-space:nowrap}
.bm-bcol:hover i:not(.vj),.bm-bcol:focus-visible i:not(.vj){filter:brightness(1.15)}
.bm-leg{display:flex;gap:14px;font-size:.8rem;color:var(--text-muted);margin-top:6px;flex-wrap:wrap}
.bm-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--accent);margin-right:5px;vertical-align:-1px}.bm-leg i.vj{background:var(--border-strong)}
.bm-hbar{display:flex;align-items:center;gap:10px;width:100%;padding:7px 4px;border:0;background:none;font:inherit;color:var(--text);cursor:pointer;border-radius:8px;text-align:left}
.bm-hbar:hover,.bm-hbar:focus-visible{background:var(--surface-2);outline:none}
.bm-hbar .n{flex:0 0 34%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.bm-hbar .t{flex:1;height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden;min-width:40px}
.bm-hbar .t i{display:block;height:100%;background:var(--accent);border-radius:999px}
.bm-hbar .w{flex:none;font-variant-numeric:tabular-nums;font-size:.86rem;min-width:76px;text-align:right}
/* Ebene mit fester Leiste */
body.bm-lock{overflow:hidden}
.bm-ov{position:fixed;inset:0;z-index:9100;background:var(--bg);display:flex;flex-direction:column}
.bm-ovbar{display:flex;align-items:center;gap:8px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none}
.bm-back{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 12px 0 6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:600 .92rem var(--font,Inter,sans-serif);cursor:pointer}
.bm-back svg{width:20px;height:20px}
.bm-ovt{font-size:1.02rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(60vw,640px)}
.bm-esc{font-size:.72rem;color:var(--text-subtle);border:1px solid var(--border);border-radius:6px;padding:2px 6px}
@media(max-width:640px){.bm-esc{display:none}.bm-ovt{max-width:calc(100vw - 150px)}}
.bm-ovin{flex:1;overflow:auto;padding:16px;padding-bottom:max(24px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.bm-ovin>*{max-width:1100px;margin-left:auto;margin-right:auto}
.bm-ov.schmal .bm-ovin>*{max-width:720px}
.bm-help ul{margin:6px 0 0;padding-left:20px;line-height:1.55;color:var(--text-muted)}.bm-help p{margin:0;line-height:1.55;color:var(--text-muted)}
.bm-erkl{display:flex;gap:12px;align-items:flex-start}.bm-erkl svg{width:22px;height:22px;flex:none;color:var(--accent)}.bm-erkl p{margin:4px 0 0;color:var(--text-muted);line-height:1.5}
/* Formulare */
.bm-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 14px}
@media(max-width:560px){.bm-form{grid-template-columns:minmax(0,1fr)}}
.bm-f{display:flex;flex-direction:column;gap:5px;min-width:0}.bm-f.breit{grid-column:1/-1}
.bm-f>span{font-size:.8rem;font-weight:600}
.bm-f input,.bm-f select,.bm-f textarea{height:42px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:0 11px;font:inherit;font-size:.95rem;min-width:0;width:100%}
.bm-f textarea{height:auto;padding:9px 11px;resize:vertical}
.bm-f input:focus,.bm-f select:focus,.bm-f textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.bm-f small{color:var(--text-subtle);font-size:.78rem;line-height:1.35}
.bm-chk{display:flex;gap:8px;align-items:center;font-size:.92rem}.bm-chk input{width:20px;height:20px}
.bm-facts{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.bm-ferr{grid-column:1/-1;color:var(--danger,#B8442C);font-size:.9rem;min-height:1px}
.bm-dl{display:grid;grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:7px 14px;margin:0;font-size:.92rem}
.bm-dl dt{color:var(--text-muted)}.bm-dl dd{margin:0;overflow-wrap:anywhere}
/* Stempeluhr */
.bm-uhr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px 16px}
.bm-uhr .gross{font-size:2.6rem;font-family:var(--font-head,Satoshi,Inter,sans-serif);font-variant-numeric:tabular-nums;line-height:1}
.bm-uhr .st{color:var(--text-muted)}
.bm-stk{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;width:100%;max-width:520px;margin-top:6px}
.bm-stk button{height:64px;border-radius:14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:700 1.02rem var(--font,Inter,sans-serif);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.bm-stk button svg{width:22px;height:22px}
.bm-stk button.go{background:var(--accent);border-color:var(--accent);color:#fff}
[data-theme="dark"] .bm-stk button.go{color:#0E1513}
.bm-stk button.ende{border-color:var(--danger,#B8442C);color:var(--danger,#B8442C)}
/* Dienstplan */
.bm-plan{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.bm-pg{display:grid;min-width:880px}
.bm-pg>div{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:6px;min-height:58px;min-width:0}
.bm-pg .h{min-height:auto;background:var(--surface-2);font-size:.8rem;font-weight:600;color:var(--text-muted);text-align:center;padding:8px 4px;position:sticky;top:0}
.bm-pg .h.heute{color:var(--accent)}
.bm-pg .h small{display:block;font-weight:500;color:var(--danger,#B8442C);font-size:.7rem}
.bm-pg .ma{position:sticky;left:0;background:var(--surface);z-index:1;font-size:.86rem;display:flex;flex-direction:column;justify-content:center;gap:2px}
.bm-pg .ma b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-pg .ma span{color:var(--text-subtle);font-size:.74rem}
.bm-pg .zelle{display:flex;flex-direction:column;gap:4px;cursor:pointer}
.bm-pg .zelle:hover{background:var(--surface-2)}
.bm-pg .zelle.drop{background:var(--accent-soft);outline:2px dashed var(--accent);outline-offset:-3px}
.bm-pg .zelle.ft{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--surface-2) 6px 8px)}
.bm-sch{display:block;width:100%;border:0;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text);border-radius:7px;padding:4px 6px;font:600 .78rem var(--font,Inter,sans-serif);text-align:left;cursor:grab;touch-action:none}
.bm-sch small{display:block;font-weight:500;color:var(--text-muted);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bm-sch.konf{border-left-color:var(--danger,#B8442C);background:var(--danger-bg,#FBE7E2)}
.bm-sch.zieh{opacity:.45}
.bm-abw{display:block;border-radius:7px;padding:3px 6px;font-size:.74rem;font-weight:600;background:var(--warning-bg,#FBF0DA);color:var(--warning,#9A6A0E)}
.bm-abw.krank{background:var(--danger-bg,#FBE7E2);color:var(--danger,#B8442C)}.bm-abw.beantragt{border:1px dashed currentColor;background:transparent}
.bm-ghost{position:fixed;pointer-events:none;z-index:9500;opacity:.9;box-shadow:0 8px 20px rgba(0,0,0,.2);width:120px}
.bm-mon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.bm-mon .t{min-height:84px;border:1px solid var(--border);border-radius:10px;padding:5px;background:var(--surface);display:flex;flex-direction:column;gap:3px;cursor:pointer;font:inherit;color:var(--text);text-align:left;min-width:0}
.bm-mon .t.aus{opacity:.45}.bm-mon .t.heute{border-color:var(--accent)}
.bm-mon .t b{font-size:.8rem}.bm-mon .t span{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bm-mon .wt{font-size:.74rem;color:var(--text-muted);text-align:center;font-weight:600}
@media(max-width:640px){.bm-mon .t{min-height:58px}.bm-mon .t span.mehr{display:none}}
/* Beleg */
.bm-beleg{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:900px){.bm-beleg{grid-template-columns:minmax(0,1fr)}}
.bm-vorschau{border:1px solid var(--border);border-radius:14px;background:var(--surface-2);min-height:420px;overflow:hidden;position:sticky;top:0}
.bm-vorschau iframe,.bm-vorschau img{display:block;width:100%;max-height:72vh;height:auto;border:0;object-fit:contain;background:#fff}
@media(max-width:900px){.bm-vorschau{position:static;min-height:0}.bm-vorschau img{max-height:none}}
.bm-pos{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:center;font-size:.88rem}
.bm-pos input,.bm-pos select{height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 8px;font:inherit;min-width:0;width:100%}
.bm-pos .k{color:var(--text-muted);font-size:.78rem}
.bm-drop{border:2px dashed var(--border-strong);border-radius:14px;padding:22px;text-align:center;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:10px}
.bm-drop.on{border-color:var(--accent);background:var(--accent-soft)}
.bm-drop svg{width:30px;height:30px;color:var(--accent)}
.bm-drop .btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.bm-prot{list-style:none;margin:0;padding:0;font-size:.86rem}
.bm-prot li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}.bm-prot li:last-child{border-bottom:0}
.bm-prot time{flex:none;color:var(--text-subtle);min-width:120px}.bm-prot code{font-size:.72rem;color:var(--text-subtle)}
.bm-sicher{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700}
.bm-sicher i{display:inline-block;width:46px;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden;position:relative}
.bm-sicher i b{position:absolute;left:0;top:0;bottom:0;background:var(--success,#2F7A55)}
.bm-sicher.m i b{background:var(--warning,#9A6A0E)}.bm-sicher.n i b{background:var(--danger,#B8442C)}
.bm-qr{width:150px;height:150px;background:#fff;border-radius:10px;padding:6px}
@media(max-width:640px){.bm{padding:14px 12px 90px}.bm-head h1{font-size:1.35rem}.bm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bm-kpi b{font-size:1.2rem}.bm-hacts .btn:not(.pri) span{display:none}.bm-hacts .btn:not(.pri){padding:0 10px}.bm-row{padding:10px 6px;gap:9px}.bm-rr .bm-pill{font-size:.7rem}}

/* Dienstplan am Handy: Tagesliste */
.bm-tagl{display:flex;flex-direction:column;gap:10px}
.bm-tagl .tg{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 12px}
.bm-tagl .tg.heute{border-color:var(--accent)}
.bm-tagl .tg h4{margin:0 0 6px;font-size:.92rem;display:flex;gap:8px;align-items:center}
.bm-tagl .tg h4 small{color:var(--danger,#B8442C);font-weight:600}
.bm-tagl .bm-sch{margin:4px 0;cursor:pointer}
.bm-tagl .bm-sch b{font-weight:700}

/* Native Bedienelemente (Auswahl, Datum, Uhrzeit) im passenden Farbschema – WebKit malt sie sonst hell */
.bm,.bm-ov{color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bm,:root:not([data-theme="light"]) .bm-ov{color-scheme:dark}}
:root[data-theme="dark"] .bm,:root[data-theme="dark"] .bm-ov{color-scheme:dark}
