
:root{
  --accent1:#1D71B8; --accent2:#E2001A;      /* frei wählbare Akzentfarben (System-Admin) */
  --dunkelblau:#1B2A41;                        /* Text / Marken-Navy (kippt im Dunkelmodus) */
  --brandbg:#1B2A41;                           /* dunkle Flächen: Kopfzeile, aktive Tabs */
  --bg:#EDF0F3; --surface:#FFFFFF; --surface-2:#F5F7F9; --muted:#6b7480; --line:#E1E4E8;
  --rot:var(--accent2); --blau:var(--accent1);
  --grau-hell:#E5E6E7; --grau-mittel:#B0B4B8; --weiss:#FFFFFF;
  --db-50:#E8EAEC; --db-100:#D1D4D9; --db-700:#131D2E;
  --blau-50:#E8F1F8; --blau-100:#D2E3F1; --blau-700:#144F81;
  --rot-50:#FCE6E8; --rot-100:#F9CCD1;
  --shadow-sm:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.10);
  --shadow:0 6px 16px rgba(16,24,40,.10),0 2px 5px rgba(16,24,40,.06);
  --shadow-lg:0 18px 40px rgba(16,24,40,.16),0 6px 12px rgba(16,24,40,.08);
  --radius:14px; --radius-sm:10px;
  --slot:24px; /* Höhe eines 30-Min-Blocks */
}
body.dark{
  --dunkelblau:#E8ECF1; --brandbg:#141A24;
  --bg:#0F141B; --surface:#1A212B; --surface-2:#222B37; --muted:#9AA6B2; --line:#2B3644;
  --grau-hell:#2B3644; --grau-mittel:#556173;
  --db-50:#232C38; --db-100:#2b3644; --blau-50:#16283A; --blau-100:#1C3550; --rot-50:#3A1720; --rot-100:#4A1D29;
  --shadow-sm:0 1px 2px rgba(0,0,0,.5); --shadow:0 8px 20px rgba(0,0,0,.5); --shadow-lg:0 20px 44px rgba(0,0,0,.6);
}
/* Soft Cards / Tiefe (Design A) */
.card,.nowbar,.inbox,.calls,.daycard,.material,.weekgrid,.startcard,.agenda-job{box-shadow:var(--shadow);}
.card,.nowbar,.inbox,.calls,.daycard,.material,.weekgrid,.startcard,.agenda-job,.modal{border-radius:var(--radius);}
.emp-card,.name-btn,.call-item,.material-item,.inbox-item,.tm-grid,.set-sec{box-shadow:var(--shadow-sm);}
.btn-primary,.btn-accent{box-shadow:var(--shadow-sm);}
button{transition:box-shadow .15s,transform .12s,background .15s,filter .15s;}
.btn-primary:hover,.btn-accent:hover{box-shadow:var(--shadow);transform:translateY(-1px);filter:brightness(1.04);}
.card:hover{box-shadow:var(--shadow-lg);}
.modal{box-shadow:var(--shadow-lg);}
header.app{box-shadow:var(--shadow);}
.name-btn:hover,.emp-card:hover{box-shadow:var(--shadow);transform:translateY(-1px);}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:hidden;}
body{font-family:'Poppins','Segoe UI',Arial,Calibri,sans-serif;color:var(--dunkelblau);background:var(--bg);font-size:14px;line-height:1.45;transition:background .2s,color .2s;}
h1,h2,h3{font-weight:700;margin:0 0 .4em;}
button{font-family:inherit;cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;}
.btn-primary{background:var(--blau);color:#fff;}
.btn-primary:hover{background:var(--blau-700);}
.btn-accent{background:var(--rot);color:#fff;}
.btn-ghost{background:transparent;color:var(--dunkelblau);border:1px solid var(--grau-mittel);}
.btn-ghost:hover{background:var(--db-50);}
input,select,textarea{font-family:inherit;font-size:13px;padding:8px;border:1px solid var(--grau-mittel);border-radius:6px;width:100%;color:var(--dunkelblau);background:var(--surface);}
label{font-size:12px;font-weight:600;display:block;margin:10px 0 4px;}
a{color:var(--blau);}

/* Kopfzeile */
header.app{background:var(--brandbg);color:#fff;padding:12px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:sticky;top:0;z-index:40;}
header.app .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);}
header.app .btn-ghost:hover{background:rgba(255,255,255,.14);}
.mobile-only-hint{display:none;background:var(--blau-50);border:1px solid var(--blau-100);color:var(--blau-700);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px;}
.mobile-only{display:none;}
.mobile-assign{display:none;margin-top:8px;padding-top:8px;border-top:1px dashed var(--grau-mittel);}
.mobile-assign .ma-title{font-size:11px;color:#6b7480;font-weight:600;margin-bottom:4px;}
.mobile-assign select,.mobile-assign input{font-size:13px;padding:7px;}
.mobile-assign .ma-go{margin-top:6px;width:100%;background:var(--blau);color:#fff;border:none;border-radius:6px;padding:9px;font-weight:600;}
@media(max-width:800px){.calendar{display:none;}.mobile-assign{display:block;}.mobile-only-hint{display:block;}.mobile-only{display:block;}}
.start-legend{margin-top:12px;font-size:12px;color:#6b7480;}
.seen-tag{display:inline-block;color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;margin-left:4px;vertical-align:middle;}
header.app .logo{display:flex;align-items:center;}
.logo-chip{background:#fff;border-radius:8px;padding:5px 10px;display:inline-flex;align-items:center;box-shadow:var(--shadow-sm);}
.logo-chip img{height:40px;display:block;}
.logo-chip .logo-fallback .wm{display:inline-flex;flex-direction:column;line-height:.88;font-style:italic;font-weight:800;font-family:'Arial Black',Arial,sans-serif;}
.logo-chip .logo-fallback .wm-top{color:#BE1E2D;font-size:23px;letter-spacing:-.5px;}
.logo-chip .logo-fallback .wm-bot{color:#1D71B8;font-size:14px;align-self:flex-end;}
.logo-sub{margin-left:12px;font-weight:400;font-style:italic;font-size:13px;letter-spacing:.3px;color:var(--grau-mittel);}
.set-sec{border:1px solid var(--grau-hell);border-radius:8px;margin-top:10px;overflow:hidden;}
.set-sec>summary{cursor:pointer;padding:11px 14px;font-weight:700;color:var(--dunkelblau);background:var(--db-050,#f4f7fb);list-style:none;user-select:none;}
.set-sec>summary::-webkit-details-marker{display:none;}
.set-sec>summary::before{content:"▸";display:inline-block;margin-right:8px;transition:transform .15s;}
.set-sec[open]>summary::before{transform:rotate(90deg);}
.set-sec .set-body{padding:12px 14px;}
.mpanel{display:none;}
.mpanel.active{display:block;}
.holiday-mark{position:absolute;left:2px;right:2px;top:0;background:repeating-linear-gradient(45deg,#fff6e0,#fff6e0 6px,#ffe9b8 6px,#ffe9b8 12px);color:#8a6d1a;font-size:10px;font-weight:700;text-align:center;padding:2px;border-radius:4px;z-index:1;pointer-events:none;}
.tm-grid{border:1px solid var(--grau-hell);border-radius:8px;overflow:hidden;}
.tm-head,.tm-body{display:grid;grid-template-columns:repeat(7,1fr);}
.tm-head{background:var(--brandbg);color:#fff;font-size:12px;font-weight:700;}
.tm-head>div{padding:6px;text-align:center;}
.tm-cell{min-height:86px;border-right:1px solid var(--grau-hell);border-top:1px solid var(--grau-hell);padding:3px;font-size:11px;cursor:pointer;overflow:hidden;}
.tm-cell.tm-out{background:#fafbfc;color:#9aa3ad;}
.tm-cell.tm-today{background:#eef5ff;}
.tm-daynum{font-weight:700;margin-bottom:2px;}
.tm-hol{color:#8a6d1a;font-size:9px;background:#ffe9b8;border-radius:3px;padding:0 3px;}
.tm-ev{background:var(--surface-2);color:var(--dunkelblau);border-left:3px solid var(--grau-mittel);border-radius:5px;padding:2px 6px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:600;box-shadow:var(--shadow-sm);}
.tm-ev b{font-weight:700;opacity:.85;margin-right:3px;}
@media(max-width:640px){.tm-cell{min-height:56px;}.tm-ev{font-size:9px;}}
.termin-mark{position:absolute;left:2px;right:2px;bottom:2px;color:#fff;font-size:10px;font-weight:700;text-align:center;padding:2px;border-radius:4px;z-index:2;opacity:.92;pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.sysswitch{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.14);border-radius:6px;padding:3px 8px;margin-right:8px;}
.sysswitch select{font-size:12px;padding:2px 4px;border-radius:4px;height:auto;width:auto;}
.ro-badge{background:#e6b800;color:#3a2d00;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;margin-left:5px;}
header.app nav{display:flex;gap:6px;flex-wrap:wrap;}
header.app nav button{background:transparent;color:#fff;font-weight:500;border:1px solid transparent;}
header.app nav button.active{background:rgba(255,255,255,.14);font-weight:700;}
header.app nav button:hover{background:rgba(255,255,255,.10);}
header.app nav button.nav-icon{padding:7px 9px;display:inline-flex;align-items:center;justify-content:center;position:relative;}
header.app nav button.nav-icon svg{display:block;}
.pf-count{position:absolute;top:-1px;right:-1px;background:var(--rot);color:#fff;font-size:9px;font-weight:700;min-width:15px;height:15px;line-height:15px;text-align:center;border-radius:8px;padding:0 3px;box-sizing:border-box;}
.sync-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;background:#0f8a6a;transition:background .2s;}
.sync-ok{background:#0f8a6a;} .sync-pending{background:#e6b800;} .sync-error{background:var(--rot);}
header.app .spacer{flex:1;}
.loginbox{display:flex;align-items:center;gap:8px;font-size:12px;}
body.nodelete .del-btn,body.nodelete #tDelete,body.nodelete #jDelete,body.nodelete #clearBtn{display:none!important;}
body.bookmode #mappen [data-mappe="service"]{display:none!important;}
/* Buchhaltung/nur-lesen darf im Terminplan nichts anlegen/ändern (Bug 8) */
body.noplan #spTermine .editonly,body.bookmode #spTermine .editonly{display:none!important;}
.notif-badge{display:inline-flex;align-items:center;gap:4px;background:var(--rot);color:#fff;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;}
.readonly-badge{background:var(--grau-mittel);color:#fff;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;}
.edit-badge{background:var(--rot);color:#fff;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;}

.wrap{max-width:none;margin:0 auto;padding:16px;}
.updated{font-size:11px;color:#6b7480;margin:2px 0 12px;}

/* "Wo ist wer" Leiste */
.nowbar{background:var(--surface);border:1px solid var(--grau-hell);border-radius:10px;padding:12px 14px;}
#nowwrap{margin-bottom:14px;}
#nowwrap>summary{cursor:pointer;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:#6b7480;padding:2px 0;user-select:none;}
#nowwrap[open]>summary{margin-bottom:8px;}
.nowbar .items{display:flex;gap:10px;flex-wrap:wrap;}
.nowcard{border-left:4px solid var(--blau);background:var(--db-50);border-radius:6px;padding:7px 11px;min-width:160px;}
.nowcard .t{font-weight:700;font-size:13px;}
.nowcard .s{font-size:12px;color:#4a5567;}

.layout{display:flex;gap:14px;align-items:flex-start;}
.calendar{flex:1;min-width:0;}
.sidepanel{width:290px;flex-shrink:0;}
@media(max-width:900px){.layout{flex-direction:column;}.sidepanel{width:100%;}}

/* Eingangskorb */
.inbox{background:var(--surface);border:1px solid var(--grau-hell);border-radius:10px;padding:14px;margin-bottom:14px;}
.inbox h3{display:flex;align-items:center;gap:8px;font-size:14px;}
.inbox .count{background:var(--rot);color:#fff;border-radius:20px;padding:1px 8px;font-size:11px;}
.inbox-item{border:1px solid var(--grau-hell);border-left:4px solid var(--rot);border-radius:6px;padding:8px 10px;margin-top:8px;cursor:grab;background:var(--rot-50);}
.inbox-item .c{font-weight:700;}
.inbox-item .p{font-size:12px;color:#4a5567;}
.inbox-empty{color:#6b7480;font-size:12px;padding:6px 0;}
.inbox-item .reco{margin-top:6px;padding-top:5px;border-top:1px dashed var(--grau-mittel);font-size:11px;color:var(--dunkelblau);line-height:1.35;}
.reco-hint{color:#6b7480;font-style:italic;}
.reco-btn{margin-top:5px;background:var(--blau);color:#fff;border:none;border-radius:5px;padding:4px 9px;font-size:11px;font-weight:600;cursor:pointer;}
.reco-btn:hover{background:var(--blau-700);}
.call-badge{background:#6b7480;color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;margin-left:4px;}
.calls{background:var(--surface);border:1px solid var(--grau-hell);border-radius:10px;padding:14px;margin-bottom:14px;}
.calls h3{display:flex;align-items:center;gap:8px;font-size:14px;}
.calls .count{background:#6b7480;color:#fff;border-radius:20px;padding:1px 8px;font-size:11px;}
.call-item{border:1px solid var(--grau-hell);border-left:4px solid #6b7480;border-radius:6px;padding:8px 10px;margin-top:8px;background:#f2f4f6;}
.call-item .ph{font-weight:700;margin:2px 0;}
.call-item a.tel{color:var(--dunkelblau);text-decoration:none;font-weight:600;}
.quickadd{margin-top:10px;border-top:1px dashed var(--grau-mittel);padding-top:10px;}

/* Kalender */
.weeknav{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.weeknav .lbl{font-weight:700;font-size:15px;}
.daycard{background:var(--surface);border:1px solid var(--grau-hell);border-radius:10px;margin-bottom:14px;overflow:hidden;}
.daycard.today{border:2px solid var(--blau);}
.day-head{background:var(--db-50);padding:8px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--grau-hell);}
.day-head .d{font-weight:700;}
.day-head .wd{color:#6b7480;font-size:12px;}
.day-head.weekend .wd{color:var(--rot);}
.day-head .today-pill{background:var(--blau);color:#fff;font-size:11px;padding:1px 8px;border-radius:20px;}
.grid{display:flex;overflow-x:auto;}
.timecol{width:52px;flex-shrink:0;border-right:1px solid var(--grau-hell);}
.timecol .th{height:30px;}
.timecol .tick{height:var(--slot);font-size:10px;color:#6b7480;text-align:right;padding-right:5px;border-top:1px solid var(--grau-hell);}
.techcol{flex:1;min-width:150px;border-right:1px solid var(--grau-hell);position:relative;}
.techcol .th{height:30px;padding:4px 6px;font-size:12px;font-weight:700;border-bottom:1px solid var(--grau-hell);display:flex;justify-content:space-between;align-items:center;gap:4px;background:var(--surface);position:sticky;top:0;}
.techcol .th .util{font-weight:500;color:#6b7480;font-size:10px;}
.slots{position:relative;background-image:repeating-linear-gradient(to bottom,var(--grau-hell) 0,var(--grau-hell) 1px,transparent 1px,transparent var(--slot));}
.slots.dragover{background-color:var(--blau-50);}
/* Volle-Stunde-Linie kräftiger */
.hourline{position:absolute;left:0;right:0;border-top:1px solid var(--grau-mittel);pointer-events:none;}

.block{position:absolute;left:3px;right:3px;border-radius:5px;padding:3px 6px;font-size:11px;overflow:hidden;cursor:grab;color:#fff;box-sizing:border-box;}
.block .bc{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.block .bs{font-size:10px;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.block.warn{outline:2px solid var(--rot);outline-offset:-2px;}
.block.missing{outline:2px dashed var(--rot);}
.block .stat{position:absolute;top:3px;right:4px;width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.7);}
.travel{position:absolute;left:3px;right:3px;background:repeating-linear-gradient(45deg,#c9ced3,#c9ced3 5px,#d9dde1 5px,#d9dde1 10px);color:#3a4657;border-radius:5px;font-size:10px;padding:2px 6px;display:flex;align-items:center;gap:4px;cursor:default;}
.absence{position:absolute;left:3px;right:3px;top:0;bottom:0;background:repeating-linear-gradient(45deg,#eceef0,#eceef0 8px,#e0e3e6 8px,#e0e3e6 16px);border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#6b7480;font-size:12px;}

/* Wochenansicht */
.techtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.ttab{background:var(--surface);border:1px solid var(--grau-mittel);color:var(--dunkelblau);border-left-width:4px;}
.ttab.active{background:var(--brandbg);color:#fff;border-color:var(--dunkelblau);}
.weekgrid{display:flex;background:var(--surface);border:1px solid var(--grau-hell);border-radius:10px;overflow:hidden;}
.wtime{width:52px;flex-shrink:0;border-right:1px solid var(--grau-hell);}
.wtime .tick{height:var(--slot);font-size:10px;color:#6b7480;text-align:right;padding-right:5px;border-top:1px solid var(--grau-hell);}
.wday{flex:1 1 0;min-width:0;border-right:1px solid var(--grau-hell);}
.wday:last-child{border-right:none;}
.wday-head{padding:6px 8px;border-bottom:1px solid var(--grau-hell);background:var(--db-50);}
.wday.today .wday-head{background:var(--blau-50);border-bottom:2px solid var(--blau);}
.wday-head .wd{font-weight:700;font-size:13px;}
.wday-head .dt{font-size:11px;color:#6b7480;}
.wday-head .util{font-size:10px;color:#6b7480;font-weight:500;}
.wday.weekend .wday-head .wd{color:var(--rot);}
.lanes{display:flex;}
.lane{flex:1 1 0;min-width:0;border-right:1px dashed var(--grau-hell);}
.lane:last-child{border-right:none;}
.lane-head{height:22px;font-size:10px;font-weight:700;padding:3px 5px;border-bottom:1px solid var(--grau-hell);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.we-toggle{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;margin:0;}
.we-toggle input{width:auto;}

/* Status-Farben */
.st-geplant{background:var(--blau);}
.st-unterwegs{background:#0f8a6a;}
.st-erledigt{background:var(--grau-mittel);}
.st-offen{background:var(--rot);}
.dot-geplant{background:var(--blau);}
.dot-unterwegs{background:#0f8a6a;}
.dot-erledigt{background:#7d858e;}
.dot-offen{background:var(--rot);}

/* Karten / Listen */
.card{background:var(--surface);border:1px solid var(--grau-hell);border-radius:10px;padding:16px;margin-bottom:14px;}
.tech-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;}
.tech-card{border:1px solid var(--grau-hell);border-radius:8px;padding:12px;border-top:5px solid var(--blau);}
.tech-card .n{font-weight:700;font-size:15px;}
.tech-card .pin{font-size:10px;font-weight:600;padding:1px 7px;border-radius:10px;background:var(--grau-hell);color:#6b7480;vertical-align:middle;}
.tech-card .pin.on{background:var(--blau-50);color:var(--blau-700);}
.tech-card .m{font-size:12px;color:#4a5567;margin-top:3px;}
.tech-card .actions{margin-top:10px;display:flex;gap:6px;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th,td{text-align:left;padding:8px;border-bottom:1px solid var(--grau-hell);vertical-align:top;}
th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#6b7480;}
.tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:20px;font-weight:600;color:#fff;}
.filterrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.filterrow input,.filterrow select{width:auto;min-width:150px;}

/* Modal */
.overlay{position:fixed;inset:0;background:rgba(27,42,65,.55);display:none;align-items:flex-start;justify-content:center;z-index:50;overflow:auto;padding:30px 12px;}
.overlay.open{display:flex;}
.modal{background:var(--surface);border-radius:12px;width:100%;max-width:560px;padding:22px;}
.modal h2{font-size:18px;}
.modal .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.modal .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap;}
.modal .actions .left{margin-right:auto;}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;}
.chip{background:var(--db-50);border:1px solid var(--grau-hell);border-radius:16px;padding:3px 10px;font-size:12px;cursor:pointer;}
.chip:hover{background:var(--blau-50);}
.matlist{list-style:none;margin:6px 0 0;padding:0;}
.matlist li{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;}
.matlist li button{background:none;color:var(--rot);padding:0 4px;font-size:14px;}
.hist{background:var(--blau-50);border-radius:6px;padding:8px 10px;font-size:12px;margin-top:6px;}
.hint{font-size:12px;color:#6b7480;}
.warnrow{background:var(--rot-50);border:1px solid var(--rot-100);color:#9E0012;padding:8px 12px;border-radius:8px;font-size:12px;margin-bottom:12px;}
.hidden{display:none!important;}

/* Startmenü */
.startscreen{position:fixed;inset:0;background:var(--grau-hell);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;}
.startcard{background:var(--surface);border:1px solid var(--grau-hell);border-radius:14px;padding:28px;max-width:420px;width:100%;text-align:center;}
.startcard .logo-chip{margin-bottom:6px;}
.startcard h2{color:var(--dunkelblau);font-size:22px;margin:8px 0 2px;}
.startcard select,.startcard input{font-size:15px;padding:11px;margin-top:8px;}
/* Persönliche Ansicht */
#personView{max-width:760px;margin:0 auto;}
/* W2B: Buchhaltungs-Startseite + kompakte Stempelleiste */
.bookhome{max-width:760px;margin:0 auto;}
.stamp-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:760px;margin:0 0 12px;padding:8px 12px;background:var(--surface-2);border-radius:8px;}
.stamp-inline .si-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;}
.stamp-inline .si-lbl{font-weight:600;color:var(--dunkelblau);font-size:13px;}
.stamp-inline .si-acc{font-size:12px;color:#6b7480;}
.agenda-day{margin-bottom:18px;}
.agenda-day h3{font-size:14px;color:var(--dunkelblau);border-bottom:2px solid var(--blau);padding-bottom:5px;margin-bottom:10px;}
.agenda-job{background:var(--surface);border:1px solid var(--grau-hell);border-left:5px solid var(--blau);border-radius:10px;padding:14px;margin-bottom:10px;}
.agenda-job .time{font-weight:700;font-size:16px;color:var(--dunkelblau);}
.agenda-job .cust{font-weight:700;font-size:16px;margin:2px 0;}
.agenda-job .row{font-size:14px;margin:4px 0;color:#333;}
.agenda-job .lbl{color:#6b7480;font-size:11px;text-transform:uppercase;letter-spacing:.3px;}
.agenda-job a.maps{display:inline-block;margin-top:4px;color:#fff;background:var(--blau);border-radius:6px;padding:7px 13px;text-decoration:none;font-size:13px;font-weight:600;}
.agenda-travel{font-size:12px;color:#6b7480;margin:2px 0 8px;}
.agenda-mats{margin:4px 0 0;padding-left:18px;}
.person-name{font-weight:700;color:#fff;}
.prio-badge{background:var(--rot);color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;margin-left:4px;vertical-align:middle;}
.inbox-item.prio{border-left-color:var(--rot);}
.block .prio-dot{position:absolute;top:2px;left:5px;color:#fff;font-weight:900;font-size:13px;line-height:1;}
@media(max-width:600px){
  .wrap{padding:10px;}
  header.app{padding:10px 12px;gap:10px;}
  .agenda-job .time,.agenda-job .cust{font-size:17px;}
}

/* Monochrome CI-Icons */
.ci-ic{color:var(--dunkelblau);vertical-align:middle;}
header.app .ci-ic,.name-btn .ci-ic{color:inherit;}

/* Mitarbeiter-Gruppen (nach Bereich) */
.emp-groups{display:flex;gap:10px;align-items:flex-start;overflow-x:auto;padding-bottom:4px;}
.emp-col{flex:1 1 0;min-width:132px;}
.emp-col-head{display:flex;align-items:center;gap:6px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.3px;padding:7px 4px;border-bottom:2px solid var(--grau-mittel);margin-bottom:8px;}
.emp-col-head .rdot{width:11px;height:11px;border-radius:50%;flex-shrink:0;}
.emp-col-head .cnt{margin-left:auto;font-weight:600;color:#6b7480;font-size:11px;}
.emp-card{position:relative;border:1px solid var(--grau-hell);border-left:4px solid var(--grau-mittel);border-radius:6px;padding:9px 10px;margin-bottom:8px;background:var(--surface);}
.emp-edit{position:absolute;top:7px;right:7px;background:none;border:none;cursor:pointer;color:#9aa3b0;padding:3px;line-height:0;border-radius:5px;width:auto;}
.emp-edit:hover{color:var(--blau);background:var(--blau-50);}
.emp-card .n{padding-right:26px;}
.emp-card.drag{cursor:grab;}
.emp-card.dragover{outline:2px dashed var(--blau);outline-offset:-2px;}
.emp-card .n{font-weight:700;font-size:13.5px;line-height:1.2;}
.emp-card .m{font-size:11.5px;color:#4a5567;margin-top:3px;word-break:break-word;}
.emp-card .tags{margin-top:5px;display:flex;flex-wrap:wrap;gap:3px;}
.emp-card .tg{font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:9px;background:var(--grau-hell);color:#6b7480;}
.emp-card .tg.admin{background:var(--rot-50);color:#9E0012;}
.emp-card .tg.pin{background:var(--blau-50);color:var(--blau-700);}
.emp-card .actions{margin-top:8px;}
.emp-card .actions button{padding:5px 10px;font-size:11px;width:100%;}

/* Startmenü: Namensliste */
.name-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;text-align:left;max-height:52vh;overflow:auto;}
.name-btn{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface);border:1px solid var(--grau-hell);border-left:5px solid var(--grau-mittel);border-radius:8px;padding:12px 13px;font-size:15px;font-weight:600;color:var(--dunkelblau);text-align:left;}
.name-btn:hover{background:var(--db-50);}
.name-btn.sel{border-color:var(--blau);box-shadow:0 0 0 2px var(--blau-50);}
.name-btn .nm{flex:1;}
.name-btn .ni{display:inline-flex;align-items:center;gap:7px;}
.name-btn .ni svg,.name-btn .ni .ci-ic{color:var(--dunkelblau);}
.start-legend .lg{display:inline-flex;align-items:center;gap:5px;margin:2px 12px 2px 0;color:#6b7480;}
.start-legend .lg .ci-ic{color:var(--dunkelblau);}
.collapse-toggle{background:var(--db-50);border:1px solid var(--grau-hell);color:var(--dunkelblau);width:100%;text-align:left;font-weight:600;font-size:13px;padding:9px 11px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.collapse-toggle:hover{background:var(--blau-50);}
.collapse-toggle .chev{font-size:11px;color:#6b7480;}
.collapse-body{margin-top:8px;}
.collapse-body.closed{display:none;}
.typebtns{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap;}
.typebtn{flex:1 1 30%;min-width:88px;background:var(--surface);border:1px solid var(--grau-mittel);color:var(--dunkelblau);border-radius:6px;padding:7px 6px;font-size:11.5px;font-weight:600;}
.typebtn.active{background:var(--brandbg);color:#fff;border-color:var(--dunkelblau);}
.material{background:var(--surface);border:1px solid var(--grau-hell);border-radius:10px;padding:14px;margin-bottom:14px;}
.material h3{display:flex;align-items:center;gap:8px;font-size:14px;}
.material .count{background:var(--blau);color:#fff;border-radius:20px;padding:1px 8px;font-size:11px;}
.material-item{border:1px solid var(--grau-hell);border-left:4px solid var(--blau);border-radius:6px;padding:8px 10px;margin-top:8px;background:var(--blau-50);}
.material-item .c{font-weight:700;}
.adminswitch{display:none;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#fff;cursor:pointer;user-select:none;}
.adminswitch input{display:none;}
.adminswitch .sw{position:relative;width:38px;height:20px;background:rgba(255,255,255,.35);border-radius:20px;transition:background .15s;flex-shrink:0;}
.adminswitch .sw::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s;}
.adminswitch input:checked + .sw{background:var(--blau);}
.adminswitch input:checked + .sw::after{transform:translateX(18px);}
@media(max-width:800px){.adminswitch{display:inline-flex;}header.app .edit-badge{display:none;}}
.rep-meta{background:var(--db-50);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:8px;}
.rep-meta b{color:var(--dunkelblau);}
.rep-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.rep-photos .ph{position:relative;width:74px;height:74px;border-radius:6px;overflow:hidden;border:1px solid var(--grau-hell);}
.rep-photos .ph img{width:100%;height:100%;object-fit:cover;}
.rep-photos .ph button{position:absolute;top:1px;right:1px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:4px;font-size:12px;padding:0 6px;line-height:1.5;}
.rep-sign{margin-top:12px;}
.mappen{display:flex;gap:3px;margin-bottom:12px;border-bottom:2px solid var(--grau-mittel);flex-wrap:wrap;}
.mappe{background:var(--grau-hell);border:1px solid var(--grau-mittel);border-bottom:none;border-radius:8px 8px 0 0;padding:8px 16px;font-weight:600;font-size:13px;color:#6b7480;}
.mappe.active{background:var(--brandbg);color:#fff;border-color:var(--dunkelblau);}
.ptabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.ptab{background:var(--surface);border:1px solid var(--grau-mittel);color:var(--dunkelblau);border-radius:6px;padding:6px 12px;font-weight:600;font-size:12.5px;}
.ptab.active{background:var(--brandbg);color:#fff;border-color:var(--dunkelblau);}
.sign-font{font-family:'Segoe Script','Brush Script MT',cursive;font-size:26px;color:var(--dunkelblau);padding:6px 2px;border-bottom:1px solid var(--grau-mittel);min-height:38px;}
.arch-tabs{display:flex;gap:6px;margin-bottom:12px;}
.arch-tabs button{background:var(--surface);border:1px solid var(--grau-mittel);color:var(--dunkelblau);}
.arch-tabs button.active{background:var(--brandbg);color:#fff;border-color:var(--dunkelblau);}
.ana-card{border:1px solid var(--grau-hell);border-radius:8px;margin-bottom:10px;overflow:hidden;}
.ana-head{width:100%;text-align:left;background:var(--db-50);border:none;color:var(--dunkelblau);font-weight:700;font-size:14px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;}
.ana-body{padding:8px 12px;}
.ana-body.closed{display:none;}
.ana-kpi{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--grau-hell);font-size:13px;}
.ana-kpi:last-child{border-bottom:none;}
.ana-open{display:flex;gap:10px;flex-wrap:wrap;}
.ana-open .ana-kpi{flex:1 1 120px;border:1px solid var(--grau-hell);border-radius:6px;padding:8px 10px;}
.rep-netto{background:var(--blau-50);border-radius:6px;padding:6px 10px;font-size:13px;margin-top:8px;}
.parts-row{display:flex;gap:6px;margin-top:6px;}
.parts-row input.part{flex:2;}
.parts-row input.qty{flex:1;min-width:70px;}
.parts-row input.artnr{flex:1;min-width:96px;}
.parts-row input.mnr,.parts-row input.mtyp{flex:1;}
.parts-row button{background:none;color:var(--rot);border:1px solid var(--grau-hell);border-radius:6px;padding:0 10px;}
.cust-confirm{margin-top:14px;border-top:1px solid var(--grau-hell);padding-top:12px;}
.sigpad-wrap{border:1px dashed var(--grau-mittel);border-radius:8px;background:var(--surface);touch-action:none;}
#repSig{width:100%;height:150px;display:block;touch-action:none;}
.rating{display:flex;gap:8px;margin-top:4px;}
.rating button{background:var(--surface);border:1px solid var(--grau-mittel);border-radius:8px;padding:6px;width:50px;height:46px;color:var(--dunkelblau);cursor:pointer;}
.rating button.sel{background:var(--brandbg);border-color:var(--dunkelblau);}
.rating button.sel svg{color:#fff;}
.arch-del{color:var(--rot);border:1px solid var(--grau-hell);background:var(--surface);border-radius:6px;padding:4px 8px;font-size:11px;}
.del-btn{background:var(--rot);color:#fff;border:none;border-radius:6px;padding:5px 8px;line-height:0;cursor:pointer;vertical-align:middle;}
.del-btn:hover{background:#b30015;}
.del-btn svg{display:block;}
.inst-check{margin-top:12px;border:1px solid var(--grau-hell);border-radius:8px;padding:8px 10px;}
.inst-check .ck-head{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:#6b7480;margin-bottom:4px;}
.ck-item{display:flex;align-items:center;gap:10px;padding:9px 4px;border-top:1px solid var(--grau-hell);cursor:pointer;font-size:13px;user-select:none;}
.ck-item:first-of-type{border-top:none;}
.ck-box{width:22px;height:22px;border:2px solid var(--grau-mittel);border-radius:5px;flex-shrink:0;position:relative;}
.ck-item.on .ck-box{background:var(--blau);border-color:var(--blau);}
.ck-item.on .ck-box::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
/* ===== MOBILE-FIXPAKET 10.07.2026 ===== */
#view-archiv .card, #spPersonal .card { overflow-x:auto; -webkit-overflow-scrolling:touch; }
#view-archiv table, #spPersonal table { min-width:640px; }
#instSig { width:100%; height:150px; display:block; touch-action:none; }
.arch-tabs, .weeknav, .rating, .loginbox { flex-wrap:wrap; }
.loginbox { min-width:0; }
.parts-row { flex-wrap:wrap; }
.parts-row input { min-width:0; }
.parts-row input.part, .parts-row input.mtyp { flex:2 1 140px; }
.parts-row input.qty { flex:1 1 64px; }
.parts-row input.artnr, .parts-row input.mnr { flex:1 1 96px; }
.startscreen { align-items:flex-start; overflow:auto; padding:20px 16px calc(20px + env(safe-area-inset-bottom)); }
.startcard { margin:auto; }
@media(max-width:480px){
  .modal .row2, .row2 { grid-template-columns:1fr; gap:6px; }
  .modal { padding:14px; }
  .overlay { padding:12px 8px calc(12px + env(safe-area-inset-bottom)); }
}
@media(max-width:600px){
  input, select, textarea { font-size:16px; min-height:44px; }
  button { min-height:40px; }
  header.app { position:static; }
  .logo-chip img { height:30px; }
  header.app nav button { padding:6px 9px; font-size:12px; }
  header.app nav button.nav-icon { min-height:40px; }
}
@media(max-width:640px){
  .tm-grid { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .tm-head, .tm-body { min-width:560px; }
  .tm-cell { min-height:72px; }
  .tm-ev { font-size:10px; }
}
/* ===== MOBILE SPESEN-/FORMULAR-FIX 11.07.2026 (kein seitliches Überlaufen) ===== */
.modal{overflow-x:hidden;}
.sp-brow input,.sp-brow select,.sp-brow textarea,.spb-pos-row input,.spb-pos-row select,.sp-frow input,.sp-frow select,.sp-day select{min-width:0;}
@media(max-width:560px){
  .row2{gap:6px;}
  .row2>div{min-width:0;}
  .row2 input,.row2 select,.row2 textarea{min-width:0;width:100%;box-sizing:border-box;}
  .modal input,.modal select,.modal textarea{max-width:100%;box-sizing:border-box;}
  .modal input[type="date"],.modal input[type="time"]{-webkit-appearance:none;appearance:none;min-width:0;width:100%;}
  .sp-brow>div{flex-wrap:wrap;}
  .sp-brow .spb-cat,.sp-brow .spb-bez,.sp-brow .spb-paid,.sp-brow .spb-comment{flex:1 1 100%!important;max-width:100%;}
  .spb-hotelwrap .row2,.spb-bewwrap .row2{grid-template-columns:1fr!important;}
  .spb-pos-row{gap:5px;}
  .spb-pos-row .spp-label{flex:1 1 100%!important;}
  .spb-pos-row .spp-amt{flex:3 1 0!important;}
  .spb-pos-row .spp-vat{flex:2 1 0!important;}
  .sp-day>div{align-items:flex-start;}
  .sp-day label,.sp-day .spd-rate{flex:1 1 100%!important;}
  .sp-day .spd-country,.sp-day .spd-lodging{width:100%;max-width:100%;}
  .sp-brow{max-width:100%;box-sizing:border-box;overflow:hidden;}
  .sp-brow label.hint{flex:1 1 46%!important;min-width:0;box-sizing:border-box;}
  .sp-brow label.hint input,.sp-brow label.hint select{width:100%;box-sizing:border-box;}
  .spb-date,.spb-bdate,.spb-cur,.spb-orig{width:100%!important;}
  .sp-frow .spf-date{flex:1 1 100%!important;}
  .sp-frow .spf-from,.sp-frow .spf-to,.sp-frow .spf-km{flex:1 1 40%!important;}
  #spMeals .sp-meal{gap:8px;}
  #spesenOverlay select,#spesenOverlay input,#spesenOverlay textarea,#srOverlay select,#srOverlay input,#kundeOverlay select,#kundeOverlay input,#jobOverlay select,#jobOverlay input{max-width:100%;}
  .kd-crow input,.kd-mrow input,.kct-leist,.kct-iv,.kct-start{flex:1 1 100%!important;min-width:0;}
  #toastWrap{bottom:16px;font-size:13px;}
}
/* ===== W11 Layout-Paket ===== */
:root{--sp-1:6px;--sp-2:10px;--sp-3:16px;--sp-4:24px;}
.fw-s{max-width:180px;} .fw-m{max-width:320px;} .fw-l{max-width:480px;}
/* Filter-/Aktionszeilen einheitlich: umbrechen, gleichmäßiger Abstand, Aktionen rechts */
.filterrow{flex-wrap:wrap;gap:8px;align-items:center;}
.filterrow .fr-right,.toolbar-right{margin-left:auto;}
/* Karten-Grid (Freigaben; nutzt Breitbild statt Endlos-Spalte) */
.fr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;}
/* Einstellungen/Export: Felder nicht endlos über die ganze Seite ziehen */
#view-settings .card input[type="text"],#view-settings .card input[type="email"],#view-settings .card input[type="number"],#view-settings .card input[type="date"],#view-settings .card input[type="time"]{max-width:420px;}
#view-settings .card select{max-width:340px;}
#view-settings .card textarea{max-width:640px;}
@media(max-width:560px){.fr-grid{grid-template-columns:1fr;} #view-settings .card input,#view-settings .card select,#view-settings .card textarea{max-width:100%;}}
/* Icon-Buttons (Bestätigen/Abbrechen/Abmelden): kompakter, quadratischer Zuschnitt */
.icobtn-ic{display:block;}
button:has(> .icobtn-ic){padding:7px 12px;line-height:0;}
button:has(> .icobtn-ic) .icobtn-ic{margin:0 auto;}
/* W3 Toast */
#toastWrap{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(14px);background:var(--dunkelblau,#0c2340);color:#fff;padding:11px 18px;border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.28);font-size:14px;font-weight:600;z-index:9999;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease;max-width:90vw;text-align:center;}
#toastWrap.show{opacity:1;transform:translateX(-50%) translateY(0);}
