/* CleanPlan – Stylesheet (Farbwelt angelehnt an glanz-y.ch) */
:root {
    --navy: #0a1733;
    --navy-2: #132a55;
    --navy-3: #081226;
    --primaer: #1d4ed8;        /* blue-700 */
    --primaer-dunkel: #1e40af; /* blue-800 */
    --primaer-hell: #eff6ff;   /* blue-50 */
    --blau-100: #dbeafe;
    --blau-200: #bfdbfe;
    --blau: var(--primaer);
    --grau-50: #f8fafc;
    --grau-100: #f1f5f9;
    --grau-200: #e2e8f0;
    --grau-400: #94a3b8;
    --grau-500: #64748b;
    --grau-600: #475569;
    --grau-800: #0f172a;       /* slate-900 */
    --linie: #dfe7f2;
    --text: #0f172a;
    --text-hell: #7183a2;
    --rot: #dc2626;
    --gruen: #16a34a;
    --radius: 16px;
}

/* Produktive GlanzYDrive-Syncdaten innerhalb des bestehenden v.3-Fahrzeugdesigns. */
.fleet-sync-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff}
.fleet-sync-facts article{min-width:0;display:grid;gap:5px;padding:15px 17px;border-right:1px solid #e7edf5}
.fleet-sync-facts article:last-child{border-right:0}
.fleet-sync-facts small,.fleet-sync-facts span,.fleet-sync-facts a{color:#71819a;font-size:9px}
.fleet-sync-facts strong{color:#102044;font-size:20px}
.fleet-sync-facts a{color:#1765ed;font-weight:800;text-decoration:none}
.fleet-sync-detail{margin:15px;border:1px solid #dfe7f1;border-radius:8px;background:#fbfcfe;overflow:hidden}
.fleet-sync-detail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e7edf5;background:#fff}
.fleet-sync-detail>header small{color:#71819a;font-size:9px}.fleet-sync-detail>header h3{margin:3px 0 0;font-size:15px}.fleet-sync-detail>header a{font-size:10px;font-weight:800}
.fleet-sync-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e7edf5}
.fleet-sync-detail-grid>dl{margin:0;padding:5px 15px;border-right:1px solid #e7edf5}.fleet-sync-detail-grid>dl:last-child{border-right:0}
.fleet-sync-detail-grid dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e7edf5}.fleet-sync-detail-grid dl>div:last-child{border-bottom:0}
.fleet-sync-detail-grid dt,.fleet-sync-energy dt{color:#71819a;font-size:9px}.fleet-sync-detail-grid dd,.fleet-sync-energy dd{margin:0;color:#102044;font-size:10px;font-weight:800;text-align:right}
.fleet-sync-positions{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e7edf5}.fleet-sync-positions>div{display:grid;gap:4px;padding:12px 15px;border-right:1px solid #e7edf5}.fleet-sync-positions>div:last-child{border-right:0}.fleet-sync-positions span{color:#71819a;font-size:9px}.fleet-sync-positions strong{font-size:10px}.fleet-sync-positions small,.fleet-sync-detail dd small{display:block;margin-top:3px;color:#8290a4;font-size:8px;font-weight:500}
.fleet-sync-energy{padding:13px 15px;border-bottom:1px solid #e7edf5}.fleet-sync-energy h4{margin:0 0 9px;font-size:11px}.fleet-sync-energy p{margin:0;color:#a65800;font-size:10px}.fleet-sync-energy dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.fleet-sync-energy dl>div{display:grid;gap:4px}.fleet-sync-energy dd{text-align:left}
.fleet-sync-batches{display:flex;flex-wrap:wrap;gap:6px;padding:10px 15px}.fleet-sync-batches span{padding:5px 7px;border-radius:5px;background:#edf4ff;color:#536b91;font-size:9px}
.fleet-sync-table-wrap{overflow-x:auto}.fleet-sync-table{width:100%;border-collapse:collapse;white-space:nowrap}.fleet-sync-table th,.fleet-sync-table td{padding:11px 12px;border-bottom:1px solid #edf1f6;text-align:left;font-size:10px}.fleet-sync-table th{background:#f8fafc;color:#657897;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.fleet-sync-table td small{display:block;margin-top:3px;color:#71819a;font-size:8px}.fleet-sync-table td>strong{color:#102044;font-size:10px}
.fleet-sync-badge{display:inline-flex;width:max-content;padding:4px 6px;border-radius:999px;background:#eef2f7;color:#61718b;font-size:8px;font-weight:850;text-transform:uppercase}.fleet-sync-badge.synced,.fleet-sync-badge.quality-good{background:#e5f7ee;color:#078251}.fleet-sync-badge.quality-usable{background:#edf4ff;color:#1765ed}.fleet-sync-badge.quality-insufficient{background:#fff0dd;color:#a65800}
.fleet-sync-actions{display:flex;align-items:center;gap:8px}.fleet-sync-actions a{color:#1765ed;font-size:9px;font-weight:800;text-decoration:none}
.fleet-battery em{display:block;margin-top:3px;color:#71819a;font-size:9px;font-style:normal;font-weight:700}
.fleet-route-panel{border-bottom:1px solid #e7edf5;background:#fff}.fleet-route-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px}.fleet-route-panel>header small{color:#71819a;font-size:9px}.fleet-route-panel>header h4{margin:3px 0 0;color:#102044;font-size:13px}.fleet-route-panel>header dl{display:flex;gap:20px;margin:0}.fleet-route-panel>header dl>div{display:grid;gap:2px}.fleet-route-panel>header dt{color:#71819a;font-size:8px}.fleet-route-panel>header dd{margin:0;color:#102044;font-size:10px;font-weight:800}.fleet-route-map{height:360px;border-top:1px solid #e7edf5;background:#edf2f7;isolation:isolate}.fleet-map-loading{height:100%;display:grid;place-items:center;color:#71819a;font-size:10px}.fleet-route-empty{padding:18px 15px;border-bottom:1px solid #e7edf5;color:#71819a;font-size:10px}
@media(max-width:1000px){.fleet-sync-detail-grid{grid-template-columns:1fr}.fleet-sync-detail-grid>dl{border-right:0;border-bottom:1px solid #e7edf5}.fleet-sync-detail-grid>dl:last-child{border-bottom:0}}
@media(max-width:700px){.fleet-sync-facts{grid-template-columns:1fr}.fleet-sync-facts article{border-right:0;border-bottom:1px solid #e7edf5}.fleet-sync-facts article:last-child{border-bottom:0}.fleet-sync-detail{margin:10px}.fleet-sync-positions{grid-template-columns:1fr}.fleet-sync-positions>div{border-right:0;border-bottom:1px solid #e7edf5}.fleet-sync-positions>div:last-child{border-bottom:0}.fleet-sync-energy dl{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-route-panel>header{align-items:flex-start;flex-direction:column}.fleet-route-panel>header dl{width:100%;justify-content:space-between}.fleet-route-map{height:300px}}

/* Operative Module: Rapporte, Schäden, Material und Fahrzeuge */
.ops-page{display:flex;flex-direction:column;gap:16px}.ops-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ops-kpis article,.ops-card{background:#fff;border:1px solid #dfe7f3;border-radius:12px;box-shadow:0 8px 24px rgba(15,35,70,.045)}.ops-kpis article{padding:18px 20px;display:grid;gap:5px}.ops-kpis span,.ops-card-head p,.vehicle-detail span{color:#5b7098;font-size:13px}.ops-kpis strong{font-size:27px;color:#0b1f45}.ops-kpis small{color:#7183a3}.ops-kpis article.warn{border-color:#fed7aa;background:#fffaf4}.ops-kpis article.warn strong{color:#dc5a11}.ops-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.8fr);gap:16px;align-items:start}.ops-card{padding:18px}.ops-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.ops-card-head h2{font-size:18px;margin:0 0 4px;color:#0b1f45}.ops-card-head p{margin:0}.ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.material-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #e1e8f2;border-radius:9px;padding:13px}.material-item.niedrig{border-color:#fdba74;background:#fffaf5}.material-icon,.vehicle-icon,.issue-type,.report-status{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#eaf2ff;color:#1661f5}.material-main small,.material-main span{display:block;color:#7183a3;font-size:11px}.material-main h3{margin:3px 0;font-size:14px;color:#0b1f45}.material-stock{text-align:right}.material-stock strong{display:block;font-size:20px;color:#0b1f45}.material-stock span{font-size:11px;color:#7183a3}.material-stock em,.vehicle-meta em{display:block;color:#d35400;font-size:10px;font-style:normal;margin-top:3px}.material-actions{display:flex;gap:4px}.material-actions a,.material-actions button{display:grid;place-items:center;width:31px;height:31px;border:1px solid #dbe4f0;border-radius:7px;background:#fff;color:#38527e}.ops-timeline>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;padding:11px 0;border-bottom:1px solid #e8edf5;align-items:start}.ops-timeline p{margin:0}.ops-timeline strong,.ops-timeline small{display:block}.ops-timeline strong{font-size:13px;color:#10244a}.ops-timeline small,.ops-timeline time{font-size:11px;color:#7183a3}.ops-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;background:#2f6ff3}.ops-dot.ausgabe{background:#f59e0b}.ops-dot.eingang,.ops-dot.service{background:#12a46f}.ops-dot.schaden{background:#e43d3d}.ops-form-card{scroll-margin-top:20px}.ops-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ops-form label,.ops-dialog label,.issue-admin label{display:grid;gap:6px;color:#405983;font-size:12px;font-weight:700}.ops-form .span-2{grid-column:1/-1}.ops-form input,.ops-form select,.ops-form textarea,.ops-dialog input,.ops-dialog select,.ops-dialog textarea,.issue-admin select,.issue-admin textarea{width:100%;border:1px solid #d5e0ee;border-radius:8px;padding:10px 12px;background:#fff;color:#10244a}.ops-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.ops-empty{padding:35px;text-align:center;color:#7183a3}.ops-dialog{width:min(500px,calc(100% - 28px));border:0;border-radius:12px;padding:0;box-shadow:0 25px 70px rgba(5,20,50,.3)}.ops-dialog::backdrop{background:rgba(9,24,52,.52);backdrop-filter:blur(4px)}.ops-dialog form{padding:20px;display:grid;gap:13px}.ops-dialog-head{display:flex;justify-content:space-between;align-items:center}.ops-dialog-head h2{margin:3px 0}.ops-dialog-head button{border:0;background:transparent}.voll{width:100%;justify-content:center}
.vehicle-grid{display:grid;gap:9px}.vehicle-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid #e0e8f3;border-radius:9px;color:inherit;text-decoration:none}.vehicle-card.aktiv{border-color:#2f6ff3;background:#f4f8ff}.vehicle-card h3{margin:3px 0;font-size:15px}.vehicle-card small,.vehicle-card p{margin:0;color:#7183a3;font-size:12px}.vehicle-meta{text-align:right;display:grid;justify-items:end;gap:5px}.vehicle-meta strong{color:#10244a}.status-chip,.prio{display:inline-flex;width:max-content;padding:4px 8px;border-radius:5px;font-size:11px;font-weight:700;background:#eef2f8;color:#405983}.status-chip.verfuegbar,.status-chip.erledigt,.status-chip.abgeschlossen{background:#e1f7ec;color:#07804f}.status-chip.im_einsatz,.status-chip.in_bearbeitung,.status-chip.entwurf{background:#e5efff;color:#1460e8}.status-chip.ausser_betrieb,.status-chip.offen{background:#fff0e3;color:#ce5b0b}.vehicle-detail{display:grid;margin-bottom:16px}.vehicle-detail>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #e7edf5}.vehicle-detail strong{text-align:right;font-size:12px;color:#10244a}.vehicle-log{margin-top:15px;max-height:420px;overflow:auto}
.issue-list,.report-list{display:grid}.issue-item,.report-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 8px;border-bottom:1px solid #e7edf5;text-decoration:none;color:inherit}.issue-item.aktiv{background:#f5f8ff}.issue-type.schaden{background:#ffe9e9;color:#d62e2e}.issue-item small,.issue-item p,.report-row small,.report-row p{font-size:11px;color:#7183a3;margin:2px 0}.issue-item h3,.report-row h3{font-size:14px;margin:3px 0;color:#10244a}.issue-item>div:last-child{display:grid;justify-items:end;gap:5px}.prio.kritisch{background:#fee2e2;color:#b91c1c}.prio.hoch{background:#ffedd5;color:#c2410c}.prio.niedrig{background:#e8f1ff;color:#1d5fd1}.issue-description{padding:14px;background:#f6f8fc;border-radius:8px;color:#293f68;line-height:1.55;margin-bottom:12px}.issue-gallery,.report-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.issue-gallery img,.report-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.issue-admin{display:grid;gap:12px;margin-top:15px}.issue-admin textarea{min-height:100px}
.report-form{display:grid;gap:16px}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-material{display:grid;gap:6px}.report-material label{display:grid;grid-template-columns:minmax(0,1fr) 90px 42px;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #e8edf5}.report-material strong,.report-material small{display:block}.report-material strong{font-size:13px}.report-material small{font-size:11px;color:#7183a3}.report-material input{width:100%;padding:8px;border:1px solid #d5e0ee;border-radius:7px}.report-material em{font-style:normal;font-size:11px;color:#7183a3}.report-upload{display:grid;place-items:center;gap:5px;padding:25px;border:1px dashed #9db9e8;border-radius:9px;color:#1761e8;cursor:pointer}.report-upload span{font-size:11px;color:#7183a3}.report-upload input{position:absolute;opacity:0;pointer-events:none}.report-gallery figure{position:relative;margin:0}.report-gallery button{position:absolute;right:5px;top:5px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:7px;background:rgba(255,255,255,.9);color:#d62e2e}.signature-wrap{position:relative;border:1px solid #ccd9e9;border-radius:10px;overflow:hidden;background:#fff}.signature-wrap canvas{display:block;width:100%;height:180px;touch-action:none}.signature-wrap>span{position:absolute;left:14px;bottom:10px;color:#97a6bd;font-size:11px;pointer-events:none}.signature-wrap>button{position:absolute;right:10px;top:10px;border:1px solid #d6e0ec;border-radius:6px;background:#fff;padding:6px 10px;color:#405983}.existing-sign{display:flex;align-items:center;gap:15px;margin:0 0 12px;padding:10px;background:#f4f8ff;border-radius:8px}.existing-sign img{height:60px;max-width:250px;object-fit:contain}.report-submit{display:flex;justify-content:flex-end;gap:9px;position:sticky;bottom:12px;z-index:5;padding:10px;border-radius:10px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(15,35,70,.12);backdrop-filter:blur(10px)}.report-status.abgeschlossen{background:#e0f7eb;color:#058152}
@media(max-width:900px){.ops-layout,.report-columns{grid-template-columns:1fr}.ops-grid{grid-template-columns:1fr}.ops-card{padding:14px}.ops-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-kpis article{padding:13px}.ops-kpis strong{font-size:22px}.ops-layout>aside{order:-1}.issue-item,.report-row{grid-template-columns:40px minmax(0,1fr)}.issue-item>div:last-child,.report-row>.status-chip{grid-column:2;justify-items:start}.ops-form{grid-template-columns:1fr}.ops-form .span-2{grid-column:auto}.ops-form-actions{grid-column:auto}.material-item{grid-template-columns:38px minmax(0,1fr) auto}.material-actions{grid-column:2/-1;justify-content:flex-end}.report-submit{bottom:90px;display:grid;grid-template-columns:1fr 1fr}.report-submit .primaer{grid-column:1/-1;grid-row:1}.signature-wrap canvas{height:150px}}
@media(max-width:560px){.ops-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.ops-kpis article{min-width:145px;scroll-snap-align:start}.ops-card-head{align-items:flex-start}.vehicle-card{grid-template-columns:42px minmax(0,1fr)}.vehicle-meta{grid-column:2;justify-items:start;text-align:left}.issue-gallery,.report-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.report-material label{grid-template-columns:minmax(0,1fr) 70px 34px}}

/* Verbindliche Offertenbestätigung */
.offer-confirm-admin{border-color:#cdddf5}.offer-confirm-state{display:flex;align-items:center;gap:11px;padding:13px;border-radius:9px;background:#f3f7fd;color:#496184;margin-bottom:14px}.offer-confirm-state.angenommen{background:#eaf8f1;color:#087648}.offer-confirm-state.abgelehnt{background:#fff0f0;color:#b92323}.offer-confirm-state.geoeffnet{background:#edf4ff;color:#155bd7}.offer-confirm-state small,.offer-confirm-state strong,.offer-confirm-state span{display:block}.offer-confirm-state small,.offer-confirm-state span{font-size:11px}.offer-confirm-proof{display:grid;gap:9px}.offer-confirm-proof>div{display:flex;justify-content:space-between;gap:15px;padding-bottom:8px;border-bottom:1px solid #e6ecf4;font-size:12px}.offer-confirm-proof span{color:#6b7c9b}.offer-confirm-proof p{padding:10px;border-radius:7px;background:#f5f8fc;color:#52698e;font-size:11px}.offer-confirm-send{display:grid;gap:10px}.offer-confirm-send label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#405983}.offer-confirm-send input{width:100%;padding:10px;border:1px solid #d3dfed;border-radius:8px}.offer-confirm-send .btn{justify-content:center}.offer-confirm-revoke{text-align:center;margin-top:9px}.offer-confirm-revoke button{border:0;background:none;color:#9b3540;font-size:11px}.offer-confirm-log{margin-top:14px;border-top:1px solid #e6ecf4;padding-top:11px}.offer-confirm-log summary{cursor:pointer;color:#1c5fcf;font-size:12px;font-weight:700}.offer-confirm-log>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf1f6;font-size:11px;color:#607391}
.public-offer-body{margin:0;min-height:100vh;background:#f1f5fa;color:#0b1f45;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.public-offer-head{height:76px;background:#071a3a;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));color:#c9d8ee;font-size:13px}.public-offer-head img{width:160px;height:52px;object-fit:contain}.public-offer-page{width:min(1180px,calc(100% - 32px));margin:28px auto 50px}.public-offer-intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:18px}.public-offer-intro span{color:#1964e8;font-weight:700;font-size:13px}.public-offer-intro h1{font-size:31px;margin:6px 0;color:#0b1f45}.public-offer-intro p{margin:0;color:#637597}.public-offer-amount{text-align:right}.public-offer-amount small,.public-offer-amount span{display:block;color:#687a9a;font-size:12px}.public-offer-amount strong{display:block;font-size:28px;margin:4px 0}.public-offer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;align-items:start}.public-offer-card,.public-offer-result,.public-offer-invalid{background:#fff;border:1px solid #dbe4ef;border-radius:12px;padding:20px;box-shadow:0 10px 30px rgba(15,35,70,.05)}.public-offer-card h2{font-size:17px;margin:0 0 15px}.public-offer-pdf{height:620px;border:1px solid #dce5f0;border-radius:8px;overflow:hidden;background:#eef2f7}.public-offer-pdf iframe{width:100%;height:100%;border:0}.public-offer-download{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:#1462e8;font-weight:700;font-size:12px}.public-offer-positions{margin-top:15px;border-top:1px solid #e3eaf3}.public-offer-positions>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #e8edf4;font-size:13px}.public-offer-positions small{display:block;color:#7483a0;margin-top:3px}.public-offer-decision>p{color:#5e7194;font-size:13px;line-height:1.5}.public-offer-decision form{display:grid;gap:13px}.public-offer-decision label:not(.public-offer-check){display:grid;gap:6px;font-size:12px;font-weight:700;color:#405983}.public-offer-decision input,.public-offer-decision textarea{width:100%;box-sizing:border-box;border:1px solid #cfdaea;border-radius:8px;padding:11px;font:inherit}.public-offer-check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:13px;background:#f6f8fc;border-radius:8px;color:#3e5378;font-size:11px;line-height:1.55}.public-offer-check input{width:18px;height:18px;margin:1px 0}.public-offer-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.public-offer-actions button{border-radius:8px;padding:12px;border:1px solid #ccd8e8;font-weight:700}.public-offer-reject{background:#fff;color:#a8323f}.public-offer-accept{display:flex;align-items:center;justify-content:center;gap:6px;background:#1265f3;color:#fff;border-color:#1265f3!important}.public-offer-security{display:block;margin-top:14px;color:#7b8aa5;line-height:1.5}.public-offer-error{padding:10px;border-radius:7px;background:#fff0f0;color:#ad2431;font-size:12px}.public-offer-result,.public-offer-invalid{text-align:center;max-width:700px;margin:60px auto;padding:42px}.public-offer-result.angenommen{border-color:#b9e7cf;color:#096b43}.public-offer-result h2,.public-offer-invalid h1{font-size:22px;line-height:1.4}.public-offer-result p,.public-offer-invalid p{color:#5f7190}.public-offer-footer{text-align:center;padding:20px;color:#7788a5;font-size:12px}.public-offer-body input,.public-offer-body textarea,.public-offer-body button{font-size:16px}
@media(max-width:800px){.public-offer-head{height:66px;padding:0 16px}.public-offer-head img{width:130px}.public-offer-head span{font-size:11px}.public-offer-page{width:min(100% - 20px,1180px);margin-top:18px}.public-offer-intro{display:grid;gap:14px}.public-offer-intro h1{font-size:25px}.public-offer-amount{text-align:left;padding:13px;background:#fff;border:1px solid #dbe4ef;border-radius:9px}.public-offer-layout{grid-template-columns:1fr}.public-offer-decision{order:-1}.public-offer-pdf{height:500px}.public-offer-actions{grid-template-columns:1fr}.public-offer-accept{grid-row:1}.public-offer-result,.public-offer-invalid{margin:25px auto;padding:28px 18px}}
@media(max-width:480px){.public-offer-pdf{height:440px}.public-offer-card{padding:15px}.public-offer-head span{display:none}}

/* Sicherheitszentrale */
.security-page{display:grid;gap:16px}.security-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px;align-items:start}.security-checks{display:grid;gap:7px}.security-checks>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #e1e8f1;border-radius:9px}.security-checks>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:8px}.security-checks .ok>span{background:#e4f7ed;color:#07804d}.security-checks .warn>span{background:#fff0e2;color:#c85a0b}.security-checks strong,.security-checks small{display:block}.security-checks strong{font-size:13px}.security-checks small{font-size:11px;color:#7183a3;margin-top:2px}.security-checks b{font-size:11px;color:#0b8050}.security-checks .warn b{color:#c6540b}.security-copy{font-size:13px;line-height:1.55;color:#5b7095}.security-session-form{display:grid;gap:11px}.security-session-form label{display:grid;gap:6px;color:#405983;font-size:12px;font-weight:700}.security-session-form input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #d3deec;border-radius:8px}.security-session-form button{justify-content:center}.security-events{display:grid}.security-events>div{display:grid;grid-template-columns:36px minmax(0,1fr) 90px 110px;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid #e7edf5}.security-event-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#edf4ff;color:#1c62df}.security-events strong,.security-events small{display:block}.security-events strong{font-size:12px;text-transform:capitalize}.security-events small,.security-events time{font-size:11px;color:#7183a3}.security-events code{font-size:10px;color:#52698d;background:#f3f6fa;padding:4px 6px;border-radius:5px}
.security-fix{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(300px,.65fr);gap:15px;align-items:center;border-color:#f0d2ae;background:#fffdf9}.security-fix-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#fff0df;color:#bf5a0c}.security-fix h2{margin:0 0 5px;font-size:16px}.security-fix p{margin:0;color:#687b9c;font-size:12px}.security-fix form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px;align-items:end}.security-fix label{display:grid;gap:5px;color:#405983;font-size:11px;font-weight:750}.security-fix input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cfdaea;border-radius:8px}.security-fix button{justify-content:center;white-space:nowrap}
@media(max-width:850px){.security-layout{grid-template-columns:1fr}.security-events>div{grid-template-columns:34px minmax(0,1fr) auto}.security-events code{display:none}.security-events time{grid-column:2}}
@media(max-width:850px){.security-fix{grid-template-columns:auto minmax(0,1fr)}.security-fix form{grid-column:1/-1}}@media(max-width:520px){.security-fix form{grid-template-columns:1fr}.security-fix button{width:100%}}

/* Zwei-Faktor-Anmeldung */
.login-wrap-2fa{max-width:1050px}.twofa-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 12px;border-radius:10px;background:#eaf2ff;color:#1164ee}.twofa-code-input{font-variant-numeric:tabular-nums;letter-spacing:3px!important;font-weight:800}.twofa-page-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.twofa-page-head p{margin:4px 0 0;color:#7183a3}.twofa-status{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:8px;background:#fff0e4;color:#b7540b;font-size:12px;font-weight:800}.twofa-status.aktiv{background:#e3f7ed;color:#087d4c}.twofa-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.twofa-layout>.karte{margin-bottom:0}.twofa-intro{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(280px,.6fr);gap:18px;align-items:start}.twofa-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#eaf2ff;color:#1264eb;flex:none}.twofa-card-icon.gruen{background:#e3f7ed;color:#07804d}.twofa-intro h2,.twofa-layout h2,.twofa-recovery h2,.twofa-danger h2{font-size:17px;margin:0 0 7px}.twofa-intro p,.twofa-layout p,.twofa-recovery p,.twofa-copy{margin:0;color:#64789b;font-size:13px;line-height:1.55}.twofa-required{display:flex;align-items:center;gap:7px;margin-top:13px;padding:10px;border-radius:8px;background:#fff4e8;color:#a64d0b;font-size:12px;font-weight:700}.twofa-form{display:grid;gap:11px}.twofa-form label{display:grid;gap:6px;color:#405983;font-size:12px;font-weight:700}.twofa-form input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #cfdaea;border-radius:8px;font:inherit}.twofa-form button{justify-content:center}.twofa-step{display:flex;gap:11px}.twofa-step>b{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:#1264ed;color:#fff;flex:none}.twofa-qr{display:grid;place-items:center;width:244px;min-height:244px;margin:20px auto;padding:12px;border:1px solid #dce5f0;border-radius:10px;background:#fff}.twofa-manual{font-size:12px;color:#50688f}.twofa-manual code{display:block;overflow-wrap:anywhere;margin-top:8px;padding:9px;background:#f3f6fa;border-radius:7px}.twofa-recovery{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px}.twofa-code-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:15px;background:#f4f7fb;border-radius:9px}.twofa-code-grid code{padding:9px;text-align:center;border:1px solid #dce5f0;border-radius:7px;background:#fff;font-weight:800}.twofa-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}.twofa-active-card{display:flex;gap:14px;align-items:flex-start}.twofa-danger{margin-top:16px;border-color:#f2c6c6}.profil-security-card{display:flex;align-items:center;justify-content:space-between;gap:15px}.profil-security-card>div{display:flex;align-items:center;gap:13px}.profil-security-card h3{margin:0 0 4px!important}.profil-security-card p{margin:0;color:#6d7f9f;font-size:13px}
.twofa-add-device{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(300px,.7fr);gap:15px;align-items:start;margin-top:16px}.twofa-add-device h2{margin:2px 0 6px;font-size:17px}.twofa-add-device p{margin:0;color:#64789b;font-size:13px;line-height:1.5}.twofa-expiry{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:13px;color:#7183a1;font-size:11px}.twofa-device-finish{display:flex;flex-direction:column}.twofa-device-note{display:flex;align-items:center;gap:10px;margin-top:24px;padding:13px;border-radius:9px;background:#e7f7ef;color:#087b4b}.twofa-device-note span,.twofa-device-note strong,.twofa-device-note small{display:block}.twofa-device-note small{margin-top:3px;color:#4f7b68}.twofa-device-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:20px}.twofa-device-actions form{margin:0}
.twofa-device-confirm{margin-top:16px}.twofa-device-cancel{margin-top:8px}.twofa-device-cancel button{width:100%;justify-content:center}.twofa-devices{margin-top:16px}.twofa-devices-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.twofa-devices-head h2{margin:0 0 5px;font-size:17px}.twofa-devices-head p{margin:0;color:#6c7f9f;font-size:12px}.twofa-devices-head>span{padding:5px 8px;border-radius:6px;background:#e5f7ee;color:#087d4c;font-size:10px;font-weight:800}.twofa-device-list{display:grid}.twofa-device-list>article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 2px;border-bottom:1px solid #e7edf5}.twofa-device-list>article:last-child{border-bottom:0}.twofa-device-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:#1264eb}.twofa-device-list strong,.twofa-device-list small{display:block}.twofa-device-list strong{font-size:13px}.twofa-device-list small{margin-top:4px;color:#7183a1;font-size:10px}.twofa-device-list details{position:relative}.twofa-device-list summary{width:36px;height:36px;display:grid;place-items:center;list-style:none;border:1px solid #efd3d3;border-radius:8px;background:#fff6f6;color:#c73232;cursor:pointer}.twofa-device-list summary::-webkit-details-marker{display:none}.twofa-remove-form{position:absolute;z-index:10;top:42px;right:0;width:280px;display:grid;gap:9px;padding:13px;border:1px solid #dce5f0;border-radius:9px;background:#fff;box-shadow:0 16px 35px rgba(9,29,64,.16)}.twofa-remove-form label{display:grid;gap:5px;color:#405983;font-size:10px;font-weight:750}.twofa-remove-form input{width:100%;padding:9px;border:1px solid #cfdaea;border-radius:7px}.twofa-remove-form button{justify-content:center}
@media(max-width:800px){.twofa-layout,.twofa-intro{grid-template-columns:1fr}.twofa-page-head{align-items:flex-start}.twofa-code-grid{grid-template-columns:repeat(2,1fr)}.twofa-qr{width:220px;min-height:220px;padding:8px}.profil-security-card{align-items:flex-start;flex-direction:column}.profil-security-card .btn{width:100%;justify-content:center}}
@media(max-width:800px){.twofa-add-device{grid-template-columns:auto minmax(0,1fr)}.twofa-add-device form{grid-column:1/-1}.twofa-device-actions{margin-top:16px}.twofa-device-actions form,.twofa-device-actions button{flex:1}.twofa-device-list>article{grid-template-columns:40px minmax(0,1fr) auto}.twofa-remove-form{position:fixed;z-index:500;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));top:auto;width:auto}.twofa-device-list small{line-height:1.45}}

/* Automatische Datensicherung */
.backup-page{display:grid;gap:16px}.backup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.backup-kpis article{min-height:104px;padding:17px;background:#fff;border:1px solid #dce5f0;border-radius:8px}.backup-kpis span,.backup-kpis small{display:block;color:#697d9e;font-size:11px;font-weight:700}.backup-kpis strong{display:block;margin:9px 0 7px;color:#0c2148;font-size:20px}.backup-kpis small.ok{color:#07804d}.backup-kpis small.warn{color:#c35a0b}.backup-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.backup-side{display:grid;gap:16px}.backup-side>.ops-card{margin:0}.backup-list{display:grid}.backup-list>article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:13px 2px;border-bottom:1px solid #e7edf5}.backup-list>article:last-child{border-bottom:0}.backup-file-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#1264ec}.backup-list strong,.backup-list small{display:block}.backup-list strong{font-size:13px}.backup-list small{margin-top:3px;color:#7183a1;font-size:10px}.backup-encrypted{display:flex!important;align-items:center;gap:5px;padding:6px 8px;border-radius:6px;background:#e5f7ee;color:#087c4c!important;font-size:10px!important}.backup-actions{display:flex;gap:5px}.backup-actions form{margin:0}.backup-actions .btn{width:34px;height:34px;padding:0;display:grid;place-items:center}.backup-actions .backup-delete{color:#c83232;background:#fff4f4;border-color:#f0d2d2}.backup-url{display:grid;gap:6px;color:#405983;font-size:11px;font-weight:750}.backup-url input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cfdaea;border-radius:7px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.backup-copy,.backup-key{width:100%;justify-content:center;margin-top:9px}.backup-hint{display:block;margin-top:9px;color:#7686a1;line-height:1.45}.backup-restore code{font-size:10px;background:#f0f4f9;padding:2px 4px;border-radius:4px}
@media(max-width:1050px){.backup-kpis{grid-template-columns:1fr 1fr}.backup-layout{grid-template-columns:1fr}.backup-side{grid-template-columns:1fr 1fr}.backup-restore{grid-column:1/-1}}@media(max-width:700px){.backup-kpis{gap:9px}.backup-kpis article{min-height:94px;padding:13px}.backup-kpis strong{font-size:16px}.backup-side{grid-template-columns:1fr}.backup-restore{grid-column:auto}.backup-list>article{grid-template-columns:40px minmax(0,1fr) auto}.backup-encrypted{display:none!important}.backup-actions{grid-column:2/-1}.backup-actions .btn{width:38px;height:36px}}
.nas-connect{scroll-margin-top:20px}.nas-status{padding:6px 9px;border-radius:6px;background:#edf1f6;color:#60718d;font-size:10px;font-weight:850}.nas-status.aktiv{background:#e2f7ec;color:#087c4b}.nas-connect-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.nas-how ol{display:grid;gap:10px;margin:0;padding-left:24px;color:#40577d;font-size:12px;line-height:1.5}.nas-how li::marker{color:#1264eb;font-weight:900}.nas-state{padding:14px;border-radius:8px;background:#f5f8fc}.nas-state dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0;font-size:11px}.nas-state dt{color:#7183a1}.nas-state dd{margin:0;font-weight:800}.nas-buttons{display:flex;gap:7px;margin-top:14px}.nas-buttons form{margin:0}.nas-buttons button{justify-content:center}.nas-error{margin-top:12px;padding:9px;border-radius:6px;background:#fff0f0;color:#b42b35;font-size:10px}.nas-script-ready{display:grid;gap:12px}.nas-script-ready>div{display:flex;align-items:center;gap:10px;color:#087c4b}.nas-script-ready span,.nas-script-ready strong,.nas-script-ready small{display:block}.nas-script-ready small{margin-top:3px;color:#617692}.nas-script-ready textarea{width:100%;height:330px;padding:14px;border:1px solid #cdd9e8;border-radius:8px;background:#0a1733;color:#dce8fa;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.nas-script-ready button{justify-self:end}
@media(max-width:850px){.nas-connect-grid{grid-template-columns:1fr}.nas-script-ready textarea{height:390px}.nas-script-ready button{width:100%;justify-content:center}.nas-buttons{flex-direction:column}.nas-buttons form,.nas-buttons button{width:100%}}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background: linear-gradient(180deg, #f7f9fd 0%, #eef2f9 100%);
    background-attachment: fixed;
    color: var(--grau-800);
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--primaer); text-decoration: none; transition: color .15s ease; }
a:hover { text-decoration: underline; }

:focus-visible {
    outline: 2px solid var(--primaer);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ---------- Kopfleiste ---------- */
.topbar {
    background: linear-gradient(135deg, rgba(10, 23, 51, .97) 0%, rgba(19, 42, 85, .97) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff;
    box-shadow: 0 2px 16px rgba(8, 18, 38, .3);
    position: sticky;
    top: 0;
    z-index: 100;
}
.topbar-zeile1 {
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 16px 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.mainnav-zeile {
    max-width: 1280px;
    margin: 0 auto;
    padding: 2px 12px 10px;
}
.brand {
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    letter-spacing: .01em;
    display: flex;
    align-items: center;
}
.brand:hover { text-decoration: none; }
.brand-logo {
    height: 38px;
    display: block;
}
.mainnav {
    display: flex;
    gap: 2px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.mainnav::-webkit-scrollbar { display: none; }
.mainnav a { flex: 0 0 auto; }
.mainnav a, .userbox a {
    color: rgba(255,255,255,.75);
    padding: 7px 14px;
    border-radius: 99px;
    font-weight: 500;
    font-size: 14.5px;
    transition: background .15s ease, color .15s ease;
}
.mainnav a:hover, .userbox a:hover { background: rgba(255,255,255,.1); text-decoration: none; color: #fff; }
.mainnav a.aktiv {
    background: #fff;
    color: var(--navy);
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.userbox { display: flex; align-items: center; gap: 8px; }
.userbox .profil-link {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---------- Layout ---------- */
.inhalt {
    max-width: 1280px;
    margin: 24px auto;
    padding: 0 16px;
}
.fusszeile {
    text-align: center;
    color: var(--grau-400);
    font-size: 13px;
    padding: 24px 0 40px;
}
.seitenkopf {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.seitenkopf h1 { margin: 0; font-size: 26px; letter-spacing: -.02em; color: var(--navy); }

.karte {
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .05);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
    padding: 22px;
    margin-bottom: 20px;
}
.karte h3 {
    font-size: 16px;
    letter-spacing: -.01em;
    color: var(--navy);
}
.karten-reihe {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.kennzahl { text-align: center; padding: 18px 14px; }
.kennzahl .zahl {
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -.02em;
    background: linear-gradient(135deg, var(--navy) 20%, var(--primaer) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.kennzahl .label { color: var(--grau-400); font-size: 12.5px; font-weight: 600; margin-top: 2px; }

/* ---------- Flash ---------- */
.flash {
    padding: 12px 16px;
    border-radius: 12px;
    margin-bottom: 16px;
    font-weight: 500;
    border-left: 4px solid currentColor;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .06);
    animation: flash-rein .25s ease;
}
@keyframes flash-rein {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}
.flash-success { background: #dcfce7; color: #166534; }
.flash-error   { background: #fee2e2; color: #991b1b; }
.flash-warn    { background: #fef3c7; color: #92400e; }

.bx-notice {
    margin-top: 12px;
    padding: 11px 12px;
    border: 1px solid #f5d48a;
    background: #fff8e8;
    color: #805400;
    border-radius: 6px;
    line-height: 1.45;
}

/* ---------- Abwesenheits-Badges ---------- */
.abw-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(255,255,255,.15);
    color: #fff;
    border-radius: 99px;
    padding: 1px 8px;
    font-size: 10.5px;
    font-weight: 600;
    margin-top: 3px;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
}
.abw-badge.dunkel {
    background: #fef3c7;
    color: #92400e;
    font-size: 12px;
    padding: 3px 10px;
}
.mobil-abw {
    padding: 8px 10px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

/* ---------- Buttons ---------- */
.btn {
    display: inline-block;
    background: linear-gradient(180deg, #2563eb 0%, var(--primaer) 100%);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 9px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(29, 78, 216, .35), inset 0 1px 0 rgba(255, 255, 255, .15);
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.btn:hover {
    background: linear-gradient(180deg, #3b76f0 0%, #2356d8 100%);
    text-decoration: none;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(29, 78, 216, .35), inset 0 1px 0 rgba(255, 255, 255, .15);
}
.btn:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(29, 78, 216, .35); }
.btn-klein { padding: 5px 10px; font-size: 13px; }
.btn-grau { background: var(--grau-600); }
.btn-grau:hover { background: var(--grau-800); }
.btn-rot { background: var(--rot); }
.btn-rot:hover { background: #b91c1c; }
.btn-umriss {
    background: #fff;
    color: var(--primaer);
    border: 1px solid var(--blau-200);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}
.btn-umriss:hover {
    background: var(--primaer-hell);
    color: var(--primaer-dunkel);
    box-shadow: 0 3px 10px rgba(15, 23, 42, .08);
}
.btn-navy { background: var(--navy); }
.btn-navy:hover { background: var(--navy-2); }

/* ---------- Formulare ---------- */
label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 4px; color: var(--grau-600); }
input[type=text], input[type=password], input[type=email], input[type=tel],
input[type=date], input[type=time], input[type=number], select, textarea {
    width: 100%;
    padding: 9px 11px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}
input:hover, select:hover, textarea:hover { border-color: var(--grau-400); }
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--primaer);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, .14);
}
.formular-raster {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}
.feld { margin-bottom: 14px; }
.checkbox-liste {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.checkbox-liste label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    font-size: 14px;
    background: var(--primaer-hell);
    border: 1px solid var(--blau-200);
    border-radius: 99px;
    padding: 7px 14px;
    cursor: pointer;
    margin: 0;
    color: var(--grau-800);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.checkbox-liste label:hover {
    border-color: var(--primaer);
    box-shadow: 0 2px 8px rgba(29, 78, 216, .12);
}
.checkbox-liste label:has(input:checked) {
    background: var(--blau-100);
    border-color: var(--primaer);
}
.checkbox-liste input { accent-color: var(--primaer); }
.farbpunkt {
    display: inline-block;
    width: 11px; height: 11px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ---------- Tabellen ---------- */
.tabelle-wrap { overflow-x: auto; }
table.liste {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
table.liste th {
    text-align: left;
    padding: 10px 12px;
    background: transparent;
    border-bottom: 1px solid var(--grau-200);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--grau-400);
    font-weight: 700;
    white-space: nowrap;
}
table.liste td {
    padding: 12px;
    border-bottom: 1px solid var(--grau-100);
    vertical-align: top;
}
table.liste tr:last-child td { border-bottom: none; }
table.liste tr:hover td { background: rgba(239, 246, 255, .6); }
.rechts { text-align: right; }

/* ---------- Status-Badges ---------- */
.badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.badge-geplant  { background: var(--blau-100); color: var(--primaer-dunkel); }
.badge-erledigt { background: #dcfce7; color: #166534; }
.badge-abgesagt { background: #fee2e2; color: #991b1b; }
.badge-inaktiv  { background: var(--grau-200); color: var(--grau-600); }
.badge-offen    { background: #fef3c7; color: #92400e; }

/* ---------- Kalender: Navigation ---------- */
.kalender-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.kalender-nav .kw { font-weight: 800; font-size: 16px; color: var(--navy); }

/* ---------- Kalender: Wochenraster mit Zeitachse ---------- */
.wochenplan, .monatsplan {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: var(--radius);
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
    overflow: hidden;
}
.wochenplan-scroll { overflow-x: auto; }
.wp-raster {
    display: grid;
    grid-template-columns: 56px repeat(7, minmax(120px, 1fr));
    min-width: 920px;
}

/* Kopfzeile mit Tagen */
.wp-kopf {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
    color: #fff;
    padding: 10px 8px;
    text-align: center;
    font-size: 13px;
    border-left: 1px solid rgba(255,255,255,.08);
}
.wp-kopf:first-child { border-left: none; }
.wp-kopf .tag-name { font-weight: 700; display: block; }
.wp-kopf .tag-datum { color: rgba(255,255,255,.65); font-size: 12px; }
.wp-kopf a.tag-plus {
    color: rgba(255,255,255,.55);
    font-size: 15px;
    line-height: 1;
    margin-left: 6px;
}
.wp-kopf a.tag-plus:hover { color: #fff; text-decoration: none; }
.wp-kopf.heute { background: var(--primaer); }
.wp-kopf.heute .tag-datum { color: rgba(255,255,255,.85); }

/* Zeitspalte */
.wp-zeitspalte {
    position: relative;
    border-right: 1px solid var(--grau-100);
    background: var(--grau-50);
}
.wp-zeitlabel {
    position: absolute;
    right: 8px;
    transform: translateY(-50%);
    font-size: 11px;
    color: var(--grau-400);
    font-weight: 600;
}

/* Tagesspalten */
.wp-tag {
    position: relative;
    border-left: 1px solid var(--grau-100);
    background:
        repeating-linear-gradient(
            to bottom,
            transparent 0,
            transparent calc(var(--stunde-px) - 1px),
            var(--grau-100) calc(var(--stunde-px) - 1px),
            var(--grau-100) var(--stunde-px)
        );
}
.wp-tag.heute { background-color: var(--primaer-hell); }
.wp-tag.wochenende { background-color: var(--grau-50); }
.wp-tag.heute.wochenende { background-color: var(--primaer-hell); }

/* Termin-Blöcke */
.wp-termin {
    position: absolute;
    border-radius: 8px;
    padding: 4px 7px;
    font-size: 12px;
    line-height: 1.3;
    overflow: hidden;
    color: #fff;
    background: var(--primaer);
    border: 1px solid rgba(255,255,255,.35);
    box-shadow: 0 1px 4px rgba(15, 23, 42, .25);
    text-decoration: none;
}
.wp-termin:hover {
    text-decoration: none;
    filter: brightness(1.1);
    z-index: 30 !important;
    min-height: 44px;
}
.wp-termin .zeit { font-weight: 700; font-size: 11px; display: block; opacity: .9; }
.wp-termin .titel { font-weight: 700; display: block; }
.wp-termin .kunde { opacity: .85; font-size: 11px; display: block; }
.wp-termin.st-erledigt { opacity: .55; }
.wp-termin.st-erledigt .titel::after { content: " ✓"; }
.wp-termin.st-abgesagt { opacity: .45; text-decoration: line-through; }
.wp-termin .ma-punkte { display: flex; gap: 3px; margin-top: 2px; }
.wp-termin .farbpunkt { border: 1px solid rgba(255,255,255,.7); width: 9px; height: 9px; }

/* Jetzt-Linie (aktuelle Uhrzeit) */
.wp-jetzt {
    position: absolute;
    left: 0; right: 0;
    height: 2px;
    background: var(--rot);
    z-index: 20;
    pointer-events: none;
}
.wp-jetzt::before {
    content: "";
    position: absolute;
    left: -4px; top: -3px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--rot);
}

/* ---------- Kalender: Monatsansicht ---------- */
.monatsraster {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    min-width: 980px;
}
.m-kopf {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
    color: #fff;
    padding: 9px 10px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    border-left: 1px solid rgba(255,255,255,.08);
}
.m-kopf:first-child { border-left: none; }
.m-zelle {
    min-height: 118px;
    border-left: 1px solid var(--grau-100);
    border-top: 1px solid var(--grau-100);
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #fff;
}
.m-zelle.fremd { background: var(--grau-50); }
.m-zelle.fremd .m-tag { color: var(--grau-400); }
.m-zelle.heute { background: var(--primaer-hell); }
.m-zelle-kopf {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.m-tag {
    font-weight: 700;
    font-size: 13px;
    color: var(--grau-800);
    width: 24px; height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.m-tag:hover { background: var(--blau-100); text-decoration: none; }
.m-zelle.heute .m-tag { background: var(--primaer); color: #fff; }
.m-plus {
    color: var(--grau-400);
    font-size: 14px;
    line-height: 1;
}
.m-plus:hover { color: var(--primaer); text-decoration: none; }
.m-termin {
    display: block;
    color: #fff;
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 11.5px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.m-termin:hover { text-decoration: none; filter: brightness(1.12); }
.m-termin .m-zeit { opacity: .85; font-weight: 700; margin-right: 3px; }
.m-termin.st-erledigt { opacity: .55; }
.m-termin.st-abgesagt { opacity: .45; text-decoration: line-through; }
.m-mehr {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--primaer);
    padding-left: 2px;
}
.m-abw { display: flex; flex-wrap: wrap; gap: 3px; }
.m-abw .abw-badge { margin-top: 0; padding: 0 7px; font-size: 10px; }
.umschalter { display: inline-flex; gap: 4px; }

/* ---------- Einsatzplan: Referenz-Layout ---------- */
.ep-page {
    color: #071845;
    max-width: 1540px;
    margin: 0 auto;
}
.ep-topline {
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}
.ep-tabs {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 4px;
    background: #f5f8ff;
    border: 1px solid #dbe5f5;
    border-radius: 8px;
}
.ep-tabs a {
    min-width: 70px;
    text-align: center;
    padding: 8px 14px;
    border-radius: 6px;
    color: #071845;
    font-size: 13px;
    font-weight: 700;
}
.ep-tabs a:hover { text-decoration: none; background: #edf4ff; }
.ep-tabs a.aktiv {
    background: #1268f3;
    color: #fff;
    box-shadow: 0 8px 18px rgba(18,104,243,.28);
}
.ep-date-nav {
    justify-self: center;
    min-width: min(380px, 100%);
    height: 38px;
    display: grid;
    grid-template-columns: 48px 1fr 48px;
    align-items: center;
    border: 1px solid #dbe5f5;
    border-radius: 8px;
    background: #fff;
    color: #071845;
}
.ep-date-nav strong {
    text-align: center;
    font-size: 14px;
    font-weight: 800;
}
.ep-date-nav a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0b2d66;
    font-size: 18px;
}
.ep-date-nav a:hover { background: #f5f8ff; text-decoration: none; }
.ep-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}
.ep-filter {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    border: 1px solid #dbe5f5;
    border-radius: 8px;
    background: #fff;
    color: #071845;
    font-size: 13px;
    font-weight: 700;
}
.ep-filter:hover { text-decoration: none; background: #f5f8ff; }
.ep-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 286px;
    gap: 20px;
    align-items: start;
}
.ep-main { min-width: 0; }
.ep-board, .ep-card {
    background: #fff;
    border: 1px solid #e1e8f3;
    border-radius: 8px;
    box-shadow: 0 8px 26px rgba(7,24,69,.04);
}
.ep-board {
    overflow: hidden;
}
.ep-board-head {
    display: grid;
    grid-template-columns: 176px minmax(840px, 1fr);
    height: 58px;
    border-bottom: 1px solid #e9eef7;
}
.ep-ma-head {
    display: flex;
    align-items: end;
    padding: 0 16px 14px;
    border-right: 1px solid #e9eef7;
    font-size: 12px;
    font-weight: 800;
    color: #071845;
}
.ep-time-head {
    position: relative;
    min-width: 840px;
}
.ep-time-head span {
    position: absolute;
    bottom: 14px;
    transform: translateX(-50%);
    color: #071845;
    font-size: 13px;
    font-weight: 700;
}
.ep-row {
    display: grid;
    grid-template-columns: 176px minmax(840px, 1fr);
    min-height: 91px;
    border-bottom: 1px solid #e9eef7;
}
.ep-person {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border-right: 1px solid #e9eef7;
    min-width: 0;
}
.ep-person .avatar-kreis {
    width: 34px;
    height: 34px;
}
.ep-person-text {
    min-width: 0;
    flex: 1;
}
.ep-person-text strong {
    display: block;
    font-size: 12.5px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #071845;
}
.ep-person-text span {
    display: block;
    margin-top: 3px;
    color: #49618a;
    font-size: 11.5px;
}
.ep-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid transparent;
}
.ep-dot.aktiv { background: #16a66a; }
.ep-dot.frei { background: #f4a516; }
.ep-dot.abw { background: #fff; border-color: #7590be; }
.ep-lane {
    position: relative;
    min-width: 840px;
    background: #fff;
}
.ep-gridline {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #e9eef7;
}
.ep-event {
    position: absolute;
    top: 13px;
    bottom: 13px;
    min-width: 118px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 34px 10px 14px;
    border-radius: 5px;
    border: 1px solid color-mix(in srgb, var(--bf) 48%, #fff);
    background: color-mix(in srgb, var(--bf) 10%, #fff);
    color: #071845;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
    overflow: hidden;
}
.ep-event.ep-unterhalt { --ep-bg: #eef5ff; --ep-border: #9fc1ff; --ep-accent: #1268f3; }
.ep-event.ep-grund { --ep-bg: #edf9f2; --ep-border: #9bd9b8; --ep-accent: #1ca96c; }
.ep-event.ep-glas { --ep-bg: #eff6ff; --ep-border: #a9c8ff; --ep-accent: #5b95f5; }
.ep-event.ep-sonder { --ep-bg: #fff8e8; --ep-border: #f8cc76; --ep-accent: #f4a516; }
.ep-event.ep-zimmer { --ep-bg: #f7efff; --ep-border: #cc9cf4; --ep-accent: #a24be8; }
.ep-event.ep-unterhalt,
.ep-event.ep-grund,
.ep-event.ep-glas,
.ep-event.ep-sonder,
.ep-event.ep-zimmer {
    background: var(--ep-bg);
    border-color: var(--ep-border);
}
.ep-event.aktiv {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--ep-accent, #1268f3), 0 12px 24px rgba(7,24,69,.12);
    z-index: 8;
}
.ep-event i {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ep-accent, #1268f3);
    opacity: .95;
    display: inline-flex;
}
.ep-event:hover {
    text-decoration: none;
    filter: brightness(.985);
    z-index: 5;
}
.ep-event strong {
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ep-event span {
    color: #234066;
    margin-top: 4px;
    font-size: 12px;
}
.ep-event em {
    color: #071845;
    margin-top: 4px;
    font-size: 12px;
    font-style: normal;
}
.ep-event.st-erledigt { opacity: .62; }
.ep-event.st-abgesagt { opacity: .46; text-decoration: line-through; }
.ep-absence {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1px solid #dbe5f5;
    background:
        repeating-linear-gradient(-45deg, #f6f8fc, #f6f8fc 4px, #edf2f8 4px, #edf2f8 8px);
    color: #071845;
    font-weight: 800;
    font-size: 12.5px;
    z-index: 2;
}
.ep-empty {
    padding: 22px;
    color: #49618a;
}
.ep-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 26px;
    padding: 16px 20px;
    color: #071845;
    font-size: 12px;
}
.ep-legend span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}
.ep-color {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
.ep-color.ep-unterhalt { background: #1268f3; }
.ep-color.ep-grund { background: #1ca96c; }
.ep-color.ep-glas { background: #5b95f5; }
.ep-color.ep-sonder { background: #f4a516; }
.ep-color.ep-zimmer { background: #a24be8; }
.ep-color.ep-abw { background: #fff; border: 1px solid #7590be; }
.ep-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
    gap: 20px;
    margin-top: 20px;
}
.ep-card {
    padding: 18px;
}
.ep-card h3 {
    margin: 0 0 14px;
    font-size: 16px;
    color: #071845;
}
.ep-detail-box {
    border: 1px solid #e1e8f3;
    border-radius: 8px;
    padding: 18px;
    background: #fbfdff;
    transition: box-shadow .18s ease, border-color .18s ease;
}
.ep-detail-box.puls {
    border-color: #9fc1ff;
    box-shadow: 0 0 0 4px rgba(18,104,243,.1);
}
.ep-detail-box h4 {
    margin: 0;
    font-size: 16px;
    color: #071845;
}
.ep-detail-box p {
    margin: 4px 0 14px;
    color: #49618a;
    font-size: 13px;
}
.ep-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 24px;
    font-size: 12.5px;
    color: #49618a;
}
.ep-detail-grid span {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 7px;
}
.ep-detail-grid b {
    color: #071845;
    font-weight: 600;
}
.ep-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
}
.ep-note-box {
    min-height: 126px;
    border: 1px solid #dfe7f4;
    border-radius: 8px;
    padding: 16px;
    color: #071845;
    font-size: 13px;
    background: #fff;
}
.ep-notes small {
    display: block;
    margin-top: 16px;
    color: #7184a5;
    font-size: 11.5px;
}
.ep-side {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.ep-summary {
    padding: 18px 18px 10px;
}
.ep-stat {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    border-bottom: 1px solid #e9eef7;
    color: #071845;
}
.ep-stat:last-child { border-bottom: 0; }
.ep-stat i {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
}
.ep-stat i.blau { background: #e9f1ff; color: #1268f3; }
.ep-stat i.gelb { background: #fff4dc; color: #f4a516; }
.ep-stat i.gruen { background: #e5f8ee; color: #1ca96c; }
.ep-stat i.rot { background: #ffe8e8; color: #f04444; }
.ep-stat span {
    color: #234066;
    font-size: 13px;
}
.ep-stat strong {
    font-size: 14px;
    color: #071845;
}
.ep-side-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.ep-side-head h3 { margin: 0; }
.ep-side-head span {
    display: flex;
    gap: 14px;
}
.ep-side-head a {
    color: #0b2d66;
    font-size: 18px;
}
.ep-side-head b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    border-radius: 8px;
    background: #eef4ff;
    color: #1268f3;
    font-size: 13px;
}
.ep-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}
.ep-cal-head {
    margin: 18px 0 8px;
    color: #234066;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}
.ep-cal-grid a {
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #0b2d66;
    font-size: 12.5px;
    font-weight: 600;
}
.ep-cal-grid a:hover { background: #edf4ff; text-decoration: none; }
.ep-cal-grid a.fremd { color: #9fb0cc; }
.ep-cal-grid a.aktiv {
    background: #1268f3;
    color: #fff;
}
.ep-un-card {
    display: block;
    border: 1px solid #cfdcf2;
    border-radius: 7px;
    padding: 12px;
    margin-top: 10px;
    background: color-mix(in srgb, #1268f3 7%, #fff);
    color: #071845;
}
.ep-un-card:nth-of-type(2n) {
    background: color-mix(in srgb, #1ca96c 9%, #fff);
}
.ep-un-card:hover { text-decoration: none; filter: brightness(.985); }
.ep-un-card strong {
    display: block;
    font-size: 13px;
}
.ep-un-card span, .ep-un-card em {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #234066;
    font-style: normal;
}
.ep-all {
    display: block;
    margin-top: 12px;
    text-align: center;
    height: 34px;
    line-height: 34px;
    border: 1px solid #dbe5f5;
    border-radius: 7px;
    color: #1268f3;
    font-weight: 700;
    font-size: 13px;
}
.ep-all:hover { background: #f5f8ff; text-decoration: none; }
.ep-muted {
    margin: 0;
    color: #7184a5;
    font-size: 13px;
}

@media (max-width: 1420px) {
    .ep-layout { grid-template-columns: 1fr; }
    .ep-side { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .ep-topline { grid-template-columns: 1fr; }
    .ep-date-nav { justify-self: stretch; }
    .ep-actions { justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
    .ep-board { overflow-x: auto; }
    .ep-board-head, .ep-row { width: 1016px; }
    .ep-bottom, .ep-side { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .ep-tabs a { min-width: 0; flex: 1; }
    .ep-tabs { display: flex; }
    .ep-date-nav { min-width: 0; }
    .ep-card { padding: 14px; }
    .ep-detail-grid { grid-template-columns: 1fr; }
    .ep-detail-actions { justify-content: stretch; flex-direction: column; }
    .ep-detail-actions .btn { text-align: center; }
}

/* ---------- Kalender: mobile Listenansicht ---------- */
.mobil-liste { display: none; }
.mobil-tag {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: var(--radius);
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
    margin-bottom: 10px;
    overflow: hidden;
}
.mobil-tag-kopf {
    padding: 9px 14px;
    font-weight: 700;
    font-size: 13.5px;
    background: var(--grau-50);
    border-bottom: 1px solid var(--grau-100);
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--navy);
}
.mobil-tag.heute .mobil-tag-kopf {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
    color: #fff;
}
.mobil-tag.heute .mobil-tag-kopf a { color: #fff; }
.mobil-tag-inhalt { padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.mobil-tag-inhalt:empty { display: none; }
.termin-karte {
    display: block;
    border-left: 4px solid var(--primaer);
    background: var(--primaer-hell);
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 13px;
    color: var(--grau-800);
}
.termin-karte:hover { background: var(--blau-100); text-decoration: none; }
.termin-karte .zeit { font-weight: 700; color: var(--primaer-dunkel); }
.termin-karte .kunde { color: var(--grau-600); }
.termin-karte.st-erledigt { opacity: .55; border-left-color: var(--gruen); }
.termin-karte.st-abgesagt { opacity: .5; border-left-color: var(--rot); text-decoration: line-through; }
.termin-karte .ma-punkte { margin-top: 2px; display: flex; gap: 3px; }

@media (max-width: 820px) {
    .wochenplan { display: none; }
    .mobil-liste { display: block; }
    .karten-reihe { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .kennzahl { padding: 10px; }
    .kennzahl .zahl { font-size: 22px; }
    .kennzahl .label { font-size: 12px; }
}

/* ---------- Preisliste ---------- */
.preis-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}
.preis-karte {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    color: inherit;
    transition: box-shadow .12s ease, transform .12s ease;
}
.preis-karte:hover {
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .14);
    transform: translateY(-2px);
}
.preis-karte.inaktiv { opacity: .55; }
.kategorie-kachel {
    padding: 26px 20px;
    text-align: center;
    align-items: center;
    gap: 10px;
}
.kategorie-kachel .preis-name { font-size: 17px; }
.kategorie-kachel .preis-fuss { padding-top: 0; }
.kachel-zusatz {
    background: var(--primaer-hell);
    border: 1px dashed var(--blau-200);
}
.preis-fuss {
    margin-top: auto;
    padding-top: 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--primaer);
}
.leistungen-liste {
    margin: 0;
    padding: 0;
    list-style: none;
}
.leistungen-liste li {
    padding: 5px 0 5px 26px;
    position: relative;
}
.leistungen-liste li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: var(--gruen);
    font-weight: 700;
}
.preis-name {
    font-weight: 700;
    font-size: 16px;
    color: var(--navy);
}
.preis-betrag {
    font-weight: 800;
    font-size: 22px;
    color: var(--primaer);
    margin: 4px 0 6px;
}
.preis-beschreibung {
    color: var(--grau-600);
    font-size: 13.5px;
}

/* ---------- Preislisten Dashboard ---------- */
.pl-page {
    --pl-text: #071845;
    --pl-muted: #50658f;
    --pl-line: #e2e8f0;
    color: var(--pl-text);
}
.pl-topline {
    display: flex;
    justify-content: flex-end;
    margin: -4px 0 18px;
}
.pl-date-nav {
    width: min(420px, 100%);
    min-height: 44px;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
    display: grid;
    grid-template-columns: 24px 1fr 32px 32px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
}
.pl-date-nav strong { font-size: 14px; }
.pl-date-nav span {
    display: grid;
    place-items: center;
    color: var(--pl-text);
    font-size: 22px;
}
.pl-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}
.pl-kpi,
.pl-card {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.pl-kpi {
    position: relative;
    min-height: 108px;
    padding: 22px 86px 20px 22px;
}
.pl-kpi span {
    display: block;
    color: var(--grau-600);
    font-size: 13.5px;
    font-weight: 600;
}
.pl-kpi strong {
    display: block;
    margin: 7px 0 6px;
    color: var(--navy);
    font-size: 27px;
    line-height: 1.12;
    letter-spacing: -.025em;
}
.pl-kpi small {
    color: var(--grau-600);
    font-size: 12.5px;
    font-weight: 650;
}
.pl-kpi i {
    position: absolute;
    right: 22px;
    top: 25px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 28px;
    font-weight: 700;
}
.pl-kpi i.blau { background: #dbeafe; color: #1467f2; }
.pl-kpi i.gruen { background: #dcfce7; color: #16a66a; }
.pl-kpi i.orange { background: #ffedd5; color: #f28c18; }
.pl-kpi i.lila { background: #f3e8ff; color: #8b35e8; }
.pl-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}
.pl-card { padding: 22px; }
.pl-left { min-height: 592px; }
.pl-card-head,
.pl-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.pl-section-head.compact {
    align-items: center;
    margin-bottom: 12px;
}
.pl-card h3,
.pl-section-head h2 {
    margin: 0;
    color: var(--pl-text);
    font-size: 18px;
    line-height: 1.2;
}
.pl-section-head p {
    margin: 8px 0 0;
    color: var(--pl-muted);
    font-size: 13px;
    font-weight: 600;
}
.pl-icon-btn,
.pl-actions-top a {
    min-height: 38px;
    border: 1px solid var(--pl-line);
    border-radius: 10px;
    background: #fff;
    color: var(--pl-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 800;
}
.pl-icon-btn {
    width: 34px;
    min-height: 34px;
    padding: 0;
    font-size: 20px;
}
.pl-actions-top {
    display: flex;
    gap: 10px;
}
.pl-actions-top .pl-more {
    width: 42px;
    padding: 0;
    font-size: 18px;
}
.pl-cat-list {
    display: grid;
    gap: 11px;
}
.pl-cat {
    min-height: 52px;
    border: 1px solid var(--pl-line);
    border-radius: 8px;
    background: #fff;
    color: var(--pl-text);
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
}
.pl-cat:hover {
    text-decoration: none;
    border-color: #9ec5ff;
}
.pl-cat.aktiv {
    border-color: #8dbbff;
    background: #eef6ff;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .12);
}
.pl-cat strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13.5px;
}
.pl-cat em {
    min-width: 32px;
    height: 26px;
    border: 1px solid #cfe1ff;
    border-radius: 999px;
    color: #0b63f6;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
}
.pl-cat-icon {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    font-weight: 900;
}
.pl-cat-icon.blau { color: #0b63f6; }
.pl-cat-icon.gruen { color: #16a66a; }
.pl-cat-icon.orange { color: #f28c18; }
.pl-cat-icon.lila { color: #8b35e8; }
.pl-note {
    margin-top: 24px;
    min-height: 54px;
    border-radius: 8px;
    background: #eef6ff;
    color: #0b63f6;
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    font-size: 12.5px;
    font-weight: 650;
}
.pl-main {
    min-width: 0;
    display: grid;
    gap: 18px;
}
.pl-table-card {
    padding: 22px 22px 14px;
}
.pl-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--pl-line);
    border-radius: 8px;
}
.pl-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}
.pl-table th {
    height: 45px;
    padding: 0 14px;
    text-align: left;
    background: #fbfdff;
    border-bottom: 1px solid var(--pl-line);
    color: var(--pl-text);
    font-size: 12px;
    font-weight: 800;
}
.pl-table td {
    height: 46px;
    padding: 8px 14px;
    border-bottom: 1px solid var(--pl-line);
    color: var(--pl-text);
    font-size: 13px;
    font-weight: 620;
    white-space: nowrap;
}
.pl-table tr:last-child td { border-bottom: 0; }
.pl-table td strong { font-weight: 800; }
.pl-empty {
    color: var(--pl-muted) !important;
    text-align: center;
}
.pl-row-actions {
    width: 92px;
    text-align: right;
}
.pl-row-actions,
.pl-row-actions form {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
.pl-row-actions a,
.pl-row-actions button {
    width: 28px;
    height: 28px;
    border: 1px solid var(--pl-line);
    border-radius: 7px;
    background: #fff;
    color: var(--pl-text);
    display: grid;
    place-items: center;
    padding: 0;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}
.pl-row-actions button {
    color: #ef4444;
}
.pl-add-link {
    display: inline-flex;
    margin-top: 14px;
    color: #0b63f6;
    font-size: 12.5px;
    font-weight: 800;
}
.pl-extra .pl-add-link { margin-top: 0; }
.pl-tags {
    white-space: normal;
}
.pl-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin: 2px 4px 2px 0;
    padding: 0 9px;
    border-radius: 999px;
    background: #eef6ff;
    color: #0b63f6;
    font-size: 11.5px;
    font-weight: 800;
}
.pl-tags small {
    color: var(--pl-muted);
}
.pl-form-card {
    padding: 22px;
}
.pl-form {
    display: grid;
    gap: 14px;
}
.pl-checkline {
    display: flex;
    align-items: end;
    padding-bottom: 4px;
}
.pl-checkline label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--pl-text);
    font-weight: 700;
}
.pl-checkboxes {
    margin-top: 8px;
}
.pl-form-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
@media (max-width: 1450px) {
    .pl-layout {
        grid-template-columns: 280px minmax(0, 1fr);
    }
}

@media (max-width: 1050px) {
    .pl-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pl-layout { grid-template-columns: 1fr; }
    .pl-left { min-height: 0; }
}

@media (max-width: 640px) {
    .pl-topline { justify-content: stretch; }
    .pl-date-nav { width: 100%; }
    .pl-kpis { grid-template-columns: 1fr; }
    .pl-kpi { min-height: 98px; padding: 18px 78px 16px 18px; }
    .pl-kpi strong { font-size: 25px; }
    .pl-card,
    .pl-table-card { padding: 16px; }
    .pl-card-head,
    .pl-section-head {
        flex-direction: column;
        align-items: stretch;
    }
    .pl-actions-top { flex-wrap: wrap; }
    .pl-table { min-width: 720px; }
}

/* ---------- Einsatz-Fotos ---------- */
.foto-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}
.foto-karte {
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    overflow: hidden;
    background: var(--grau-50);
}
.foto-karte img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    display: block;
}
.foto-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 6px 8px;
}
input[type=file] {
    width: 100%;
    padding: 7px;
    border: 1px dashed var(--grau-200);
    border-radius: 10px;
    font-size: 13px;
    background: var(--grau-50);
}

/* ---------- Tagesplan / Einsätze ---------- */
.einsatz { padding: 14px 18px; }
.einsatz-kopf {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.einsatz-zeit {
    font-weight: 800;
    font-size: 17px;
    color: var(--primaer-dunkel);
    white-space: nowrap;
}
.einsatz-titel { font-size: 16px; color: var(--navy); }
.einsatz-raster {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    font-size: 14px;
}
.einsatz-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--grau-400);
    margin-bottom: 2px;
}
.nur-druck { display: none; }

/* ---------- Druckansicht ---------- */
@media print {
    body { background: #fff; font-size: 12.5px; }
    .topbar, .fusszeile, .kein-druck, .flash { display: none !important; }
    .inhalt { max-width: none; margin: 0; padding: 0; }
    .karte {
        box-shadow: none;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        padding: 10px 14px;
        margin-bottom: 8px;
        break-inside: avoid;
    }
    .nur-druck { display: block; }
    .druck-titel {
        font-size: 16px;
        margin-bottom: 12px;
        padding-bottom: 8px;
        border-bottom: 2px solid #0a1733;
    }
    .abw-badge.dunkel { border: 1px solid #d6c08a; }
}

/* ---------- Feinschliff ---------- */
::-webkit-scrollbar { height: 10px; width: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: var(--grau-200);
    border-radius: 99px;
    border: 2px solid transparent;
    background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background-color: var(--grau-400); background-clip: content-box; }
::selection { background: var(--blau-100); }

.wochenplan, .monatsplan, .preis-karte, .mobil-tag {
    border-radius: 18px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.wp-termin { transition: filter .12s ease, min-height .12s ease; }
.m-termin, .termin-karte, .abw-badge { transition: filter .12s ease, background .12s ease; }

/* Kennzahl-Karten: Akzentlinie oben + sanfter Hover-Lift */
.karte.kennzahl {
    position: relative;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
}
.karte.kennzahl::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primaer) 0%, #38bdf8 100%);
    opacity: .85;
}
.karte.kennzahl:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(15, 23, 42, .06), 0 18px 38px -16px rgba(15, 23, 42, .22);
}

/* Seiteninhalt sanft einblenden (nur Bewegung, kein opacity:0 –
   sonst bleibt Inhalt bei manchen Render-/Headless-Zuständen unsichtbar) */
.inhalt { animation: seite-rein .25s ease both; }
@keyframes seite-rein {
    from { transform: translateY(5px); }
    to { transform: none; }
}

/* ---------- Benachrichtigungen (Vercel-Stil: Popover + Bottom-Sheet) ---------- */
.glocke-wrap { position: relative; }
.glocke {
    background: var(--grau-100);
    border: 1px solid var(--grau-200);
    color: var(--grau-600);
    width: 40px; height: 40px;
    border-radius: 11px;
    cursor: pointer; position: relative;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.glocke:hover { background: #fff; color: var(--navy); box-shadow: 0 2px 8px rgba(15,23,42,.1); }
.glocke .ic { display: block; }
/* Grüner Ping-Punkt statt Zahl */
.glocke-ping { position: absolute; top: -2px; right: -2px; width: 10px; height: 10px; }
.glocke-ping .ping-welle, .glocke-ping .ping-kern {
    position: absolute; inset: 0; border-radius: 50%; background: #22c55e;
}
.glocke-ping .ping-welle { opacity: .75; animation: glocke-ping 1.5s cubic-bezier(0,0,.2,1) infinite; }
.glocke-ping .ping-kern { border: 2px solid #fff; }
@keyframes glocke-ping { 75%, 100% { transform: scale(2.2); opacity: 0; } }

.glocke-overlay { display: none; }

.glocke-panel {
    display: none;
    position: fixed; right: 24px; top: 66px;
    width: 360px; max-width: calc(100vw - 28px);
    max-height: 50vh;
    background: #fff;
    border-radius: 14px;
    border: 1px solid var(--grau-200);
    box-shadow: 0 20px 48px -12px rgba(15, 23, 42, .4);
    z-index: 320; overflow: hidden;
    flex-direction: column;
}
.glocke-wrap.offen { z-index: 310; }
.glocke-wrap.offen .glocke-panel { display: flex; animation: glocke-rein .16s ease; }
.glocke-leer[hidden] { display: none; }
@keyframes glocke-rein { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
.glocke-griff { display: none; }

/* Tab-Leiste */
.glocke-tabs {
    display: flex; align-items: center; justify-content: space-between;
    height: 46px; border-bottom: 1px solid var(--grau-100); padding: 0 6px; flex-shrink: 0;
}
.gt-liste { display: flex; height: 100%; }
.gt {
    position: relative; background: none; border: none; cursor: pointer;
    padding: 0 14px; height: 100%; font-size: 13.5px; font-weight: 500;
    color: var(--grau-400); transition: color .15s ease;
    display: inline-flex; align-items: center; gap: 6px;
}
.gt:hover { color: var(--navy); }
.gt.aktiv { color: var(--navy); font-weight: 600; }
.gt.aktiv::after {
    content: ""; position: absolute; bottom: 0; left: 10px; right: 10px;
    height: 2px; background: var(--navy); border-radius: 2px;
}
.gt-zahl {
    background: var(--primaer); color: #fff; font-size: 10px; font-weight: 700;
    border-radius: 99px; padding: 1px 6px; min-width: 16px; text-align: center;
}
.gt-settings {
    width: 32px; height: 32px; border-radius: 8px; margin-right: 2px;
    display: flex; align-items: center; justify-content: center; color: var(--grau-400);
}
.gt-settings:hover { background: var(--grau-100); color: var(--navy); text-decoration: none; }
.gt-settings .ic { display: block; }

/* Liste */
.glocke-body { flex: 1; overflow-y: auto; min-height: 0; }
.glocke-body[data-filter="ungelesen"] .gn[data-status="gelesen"] { display: none; }
.glocke-body[data-filter="gelesen"] .gn[data-status="ungelesen"] { display: none; }
.gn {
    display: flex; align-items: center; gap: 11px;
    padding: 12px 14px; border-bottom: 1px solid var(--grau-50);
    color: var(--grau-800); text-decoration: none; position: relative;
    transition: background .12s ease;
}
.gn:last-of-type { border-bottom: none; }
.gn:hover { background: var(--grau-50); text-decoration: none; }
.gn-icon { color: var(--grau-400); flex-shrink: 0; display: flex; }
.gn-icon .ic { display: block; }
.gn.ungelesen .gn-icon { color: var(--primaer); }
.gn-haupt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.gn-text { font-size: 13px; line-height: 1.35; color: var(--grau-800); }
.gn.ungelesen .gn-text { font-weight: 600; color: var(--navy); }
.gn-zeit { font-size: 11.5px; color: var(--grau-400); margin-top: 1px; }
.gn-punkt { width: 7px; height: 7px; border-radius: 50%; background: var(--primaer); flex-shrink: 0; }

.glocke-leer {
    padding: 36px 14px; color: var(--grau-400); font-size: 13.5px;
    display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center;
}
.glocke-leer-icon {
    width: 46px; height: 46px; border-radius: 50%; background: var(--grau-100);
    display: flex; align-items: center; justify-content: center; color: var(--grau-400);
}

.glocke-fuss { flex-shrink: 0; border-top: 1px solid var(--grau-100); }
.glocke-fuss a {
    display: block; text-align: center; padding: 11px; font-size: 13px;
    font-weight: 600; color: var(--grau-600);
}
.glocke-fuss a:hover { background: var(--grau-50); color: var(--navy); text-decoration: none; }

/* Benachrichtigungs-Seite */
.ben-zeile {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    color: var(--grau-800);
    font-size: 14px;
}
.ben-zeile:hover { background: var(--grau-50); text-decoration: none; }
.ben-zeile small { margin-left: auto; color: var(--grau-400); white-space: nowrap; }
.ben-punkt {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--grau-200);
    flex-shrink: 0;
}
.ben-zeile.ungelesen { font-weight: 600; }
.ben-zeile.ungelesen .ben-punkt { background: var(--primaer); }

/* Terminliste: Zeilen in Kategoriefarbe getönt */
table.liste tr.termin-zeile:hover td { background: rgba(15, 23, 42, .04); }

/* ---------- Stempeluhr ---------- */
.stempeluhr {
    border-left: 4px solid var(--primaer);
}
.timer-zeile {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.timer-anzeige {
    font-variant-numeric: tabular-nums;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: .02em;
    color: var(--navy);
    background: var(--primaer-hell);
    border-radius: 12px;
    padding: 6px 16px;
}
.timer-hinweis {
    margin: 10px 0 0;
    font-size: 13px;
    color: var(--grau-600);
}
.legende {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    margin-top: 12px;
    padding: 10px 14px;
    font-size: 13px;
    color: var(--grau-600);
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .05);
    border-radius: 14px;
}
.legende strong { color: var(--navy); font-size: 12.5px; }
.legende span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }

/* ---------- Zeiterfassung Referenzlayout ---------- */
.zt-page {
    --zt-text: #07194a;
    --zt-muted: #52658f;
    --zt-line: #dfe7f3;
    --zt-soft: #f7faff;
    color: var(--zt-text);
}
.zt-topbar {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(280px, 430px) minmax(320px, auto);
    gap: 14px;
    align-items: center;
    margin: 0 0 16px;
}
.zt-tabs,
.zt-range,
.zt-actions form select,
.zt-filter {
    border: 1px solid var(--zt-line);
    background: #fff;
    box-shadow: 0 6px 18px rgba(7, 25, 74, .035);
}
.zt-tabs {
    display: inline-flex;
    width: max-content;
    border-radius: 8px;
    overflow: hidden;
}
.zt-tabs a {
    min-width: 108px;
    padding: 12px 18px;
    color: var(--zt-text);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    border-right: 1px solid var(--zt-line);
}
.zt-tabs a:last-child { border-right: 0; }
.zt-tabs a.aktiv {
    color: #fff;
    background: linear-gradient(180deg, #2385ff 0%, #0b63f6 100%);
}
.zt-range {
    min-height: 44px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    font-size: 14px;
}
.zt-range a {
    color: var(--zt-text);
    font-size: 24px;
    line-height: 1;
    padding: 6px 10px;
}
.zt-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.zt-actions form { margin: 0; }
.zt-actions form select,
.zt-filter {
    min-height: 42px;
    border-radius: 8px;
    color: var(--zt-text);
    font-weight: 700;
    font-size: 13px;
}
.zt-actions form select {
    min-width: 170px;
    padding: 0 34px 0 14px;
}
.zt-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    padding: 0 16px;
}
.zt-mobile-timer { display: none; }
.zt-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 20px;
    align-items: start;
}
.zt-main,
.zt-side {
    min-width: 0;
}
.zt-side {
    display: grid;
    gap: 16px;
}
.zt-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}
.zt-kpi,
.zt-card {
    background: #fff;
    border: 1px solid var(--zt-line);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(7, 25, 74, .035);
}
.zt-kpi {
    position: relative;
    min-height: 106px;
    padding: 22px 76px 18px 22px;
}
.zt-kpi span,
.zt-kpi small,
.zt-table th,
.zt-table small,
.zt-muted,
.zt-card h3 small,
.zt-start p,
.zt-hints p {
    color: var(--zt-muted);
}
.zt-kpi span,
.zt-kpi small {
    display: block;
    font-size: 13px;
    font-weight: 600;
}
.zt-kpi strong {
    display: block;
    margin: 8px 0 4px;
    color: var(--zt-text);
    font-size: 23px;
    line-height: 1;
}
.zt-kpi i {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-style: normal;
}
.zt-kpi i.blau { color: #0b63f6; background: #dbeafe; }
.zt-kpi i.gruen { color: #12a464; background: #dcfce7; }
.zt-kpi i.gelb { color: #f59e0b; background: #fef3c7; }
.zt-kpi i.lila { color: #9333ea; background: #f3e8ff; }
.zt-kpi i.tuerkis { color: #0891b2; background: #cffafe; }
.zt-card {
    padding: 18px;
}
.zt-card h3,
.zt-card-head h3 {
    margin: 0 0 14px;
    color: var(--zt-text);
    font-size: 17px;
    line-height: 1.25;
}
.zt-table-card {
    padding: 0;
    overflow: hidden;
}
.zt-card-head {
    padding: 18px 20px 0;
}
.zt-table-wrap {
    overflow-x: auto;
}
.zt-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
}
.zt-table th {
    height: 44px;
    padding: 0 16px;
    text-align: left;
    font-size: 12px;
    font-weight: 800;
    background: #fbfdff;
    border-bottom: 1px solid var(--zt-line);
}
.zt-table td {
    height: 64px;
    padding: 9px 16px;
    color: var(--zt-text);
    font-size: 13px;
    font-weight: 600;
    border-bottom: 1px solid var(--zt-line);
    vertical-align: middle;
    white-space: nowrap;
}
.zt-table tr:last-child td { border-bottom: 0; }
.zt-table td > strong,
.zt-table td small {
    display: block;
}
.zt-table td small {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 600;
}
.zt-person,
.zt-top-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.zt-person span {
    display: grid;
    min-width: 0;
}
.zt-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    min-height: 26px;
    border-radius: 5px;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 800;
}
.zt-status.ok {
    color: #07915c;
    background: #dff6eb;
}
.zt-status.laufend {
    color: #0b63f6;
    background: #dbeafe;
}
.zt-row-actions a {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 28px;
    border: 1px solid var(--zt-line);
    border-radius: 6px;
    color: var(--zt-text);
    font-weight: 900;
    letter-spacing: 1px;
}
.zt-row-actions { display: flex; align-items: center; gap: 6px; }
.zt-row-actions form { margin: 0; }
.zt-delete-entry {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 28px;
    padding: 0;
    color: var(--rot);
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--rot) 30%, transparent);
    border-radius: 6px;
    cursor: pointer;
}
.zt-delete-entry:hover { color: #fff; background: var(--rot); border-color: var(--rot); }
.zt-empty {
    text-align: center;
    color: var(--zt-muted) !important;
}
.zt-more {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 46px;
    color: #0b63f6;
    font-size: 13px;
    font-weight: 800;
    border-top: 1px solid var(--zt-line);
}
.zt-bottom {
    display: grid;
    grid-template-columns: minmax(300px, 1.15fr) minmax(320px, 1fr) minmax(230px, .65fr);
    gap: 16px;
    margin-top: 16px;
}
.zt-day-list {
    display: grid;
    gap: 8px;
}
.zt-day-item,
.zt-day-total {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    min-height: 52px;
    padding: 10px 14px;
    border: 1px solid var(--zt-line);
    border-radius: 7px;
    background: #fff;
    color: var(--zt-text);
}
.zt-day-item strong,
.zt-day-total strong {
    min-width: 0;
}
.zt-day-item small {
    display: block;
    margin-top: 3px;
    color: var(--zt-muted);
    font-size: 12px;
}
.zt-day-item b,
.zt-day-total b {
    color: #059669;
}
.zt-day-total {
    grid-template-columns: minmax(0, 1fr) auto;
    background: #fbfdff;
    font-weight: 800;
}
.zt-form {
    display: grid;
    gap: 12px;
}
.zt-form label {
    display: grid;
    gap: 6px;
    color: var(--zt-muted);
    font-size: 12px;
    font-weight: 700;
}
.zt-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.zt-form .btn {
    width: 100%;
}
.zt-export {
    display: flex;
    flex-direction: column;
}
.zt-export a,
.zt-hints p {
    min-height: 40px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--zt-line);
    border-radius: 7px;
    color: var(--zt-text);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
}
.zt-export a:last-child {
    justify-content: center;
    margin: 6px 0 0;
    border: 0;
    color: #0b63f6;
}
.zt-start p {
    margin: -4px 0 16px;
    font-size: 13px;
}
.zt-start .btn {
    width: 100%;
    min-height: 44px;
}
.zt-live-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.zt-live-head h3 {
    margin: 0;
}
.zt-live-head span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: #dcfce7;
    color: #047857;
    font-size: 12px;
    font-weight: 900;
}
.zt-live-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 0;
    border-top: 1px solid var(--zt-line);
}
.zt-live-row:first-of-type {
    border-top: 0;
}
.zt-live-text,
.zt-live-time {
    min-width: 0;
}
.zt-live-text strong,
.zt-live-text small,
.zt-live-time b,
.zt-live-time small {
    display: block;
}
.zt-live-text strong {
    color: var(--zt-text);
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.zt-live-text small {
    margin-top: 3px;
    color: var(--zt-muted);
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.zt-live-time {
    text-align: right;
}
.zt-live-time b {
    color: #0b63f6;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
}
.zt-live-time small {
    margin-top: 3px;
    color: var(--zt-muted);
    font-size: 11px;
}
.zt-donut {
    width: 150px;
    height: 150px;
    margin: 10px auto 18px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: conic-gradient(#2563eb 0 var(--a), #10b981 var(--a) var(--b), #fbbf24 var(--b) var(--c), #8b5cf6 var(--c) 100%);
}
.zt-donut::before {
    content: "";
    grid-area: 1 / 1;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fff;
}
.zt-donut span {
    grid-area: 1 / 1;
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    text-align: center;
}
.zt-donut strong {
    font-size: 18px;
}
.zt-donut small {
    color: var(--zt-muted);
    font-size: 11px;
}
.zt-chart-list {
    display: grid;
    gap: 11px;
}
.zt-chart-list div {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    color: var(--zt-text);
    font-size: 13px;
}
.zt-chart-list i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #2563eb;
}
.zt-chart-list div:nth-child(2) i { background: #10b981; }
.zt-chart-list div:nth-child(3) i { background: #fbbf24; }
.zt-chart-list div:nth-child(4) i { background: #8b5cf6; }
.zt-chart-list b {
    color: var(--zt-muted);
    font-weight: 700;
}
.zt-top-row {
    min-height: 40px;
    border-bottom: 1px solid var(--zt-line);
    font-size: 13px;
}
.zt-top-row:last-child { border-bottom: 0; }
.zt-top-row strong {
    flex: 1;
}
.zt-top-row span {
    color: var(--zt-text);
    font-weight: 800;
}
.zt-hints p {
    margin: 0 0 10px;
    color: var(--zt-muted);
    background: #fbfdff;
}

@media (max-width: 1420px) {
    .zt-topbar { grid-template-columns: 1fr; }
    .zt-range { max-width: 430px; }
    .zt-actions { justify-content: flex-start; }
    .zt-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .zt-bottom { grid-template-columns: 1fr 1fr; }
    .zt-export { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
    .zt-layout { grid-template-columns: 1fr; }
    .zt-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zt-start { display: none; }
    .zt-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .zt-page { margin: -4px -2px 0; }
    .zt-topbar {
        gap: 10px;
        margin-bottom: 12px;
    }
    .zt-tabs {
        width: 100%;
        overflow-x: auto;
    }
    .zt-tabs a {
        flex: 1 0 118px;
        min-width: 0;
        padding: 11px 10px;
    }
    .zt-range {
        max-width: none;
        width: 100%;
        font-size: 13px;
    }
    .zt-actions {
        overflow-x: auto;
        padding-bottom: 2px;
    }
    .zt-actions form select,
    .zt-filter {
        min-width: 144px;
    }
    .zt-mobile-timer {
        display: flex;
        justify-content: center;
        margin: 10px 0 16px;
    }
    .zt-timer-circle {
        width: 152px;
        height: 152px;
        border: 0;
        border-radius: 50%;
        color: #fff;
        background: radial-gradient(circle at 35% 28%, #ff7a7a 0, #ef4444 42%, #b91c1c 100%);
        box-shadow: 0 16px 34px rgba(239, 68, 68, .32);
        display: grid;
        place-items: center;
        align-content: center;
        gap: 5px;
        cursor: pointer;
    }
    .zt-timer-circle span {
        display: block;
        font-size: 27px;
        font-weight: 900;
        font-variant-numeric: tabular-nums;
        line-height: 1;
    }
    .zt-timer-circle small {
        color: rgba(255,255,255,.88);
        font-size: 13px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .05em;
    }
    .zt-timer-circle.laeuft {
        background: radial-gradient(circle at 35% 28%, #fb7185 0, #dc2626 48%, #991b1b 100%);
    }
    .zt-kpis,
    .zt-bottom,
    .zt-side {
        grid-template-columns: 1fr;
    }
    .zt-kpi {
        min-height: 92px;
        padding: 18px 76px 16px 18px;
    }
    .zt-card { padding: 16px; }
    .zt-table-card { padding: 0; }
    .zt-table { min-width: 980px; }
    .zt-form-grid { grid-template-columns: 1fr 1fr; }
    .zt-day-item {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

/* ---------- Bexio Integration ---------- */
.bx-page { display:grid; gap:16px; color:#0d2147; }.bx-status { display:flex; align-items:center; gap:14px; padding:18px 20px; border:1px solid #fde1a9; border-radius:16px; background:#fff9e9; box-shadow:var(--schatten-karte); }.bx-status.ok { border-color:#bce7cf; background:#effaf4; }.bx-status>span { width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#d88a00; }.bx-status.ok>span{color:#07945a}.bx-status strong{font-size:16px}.bx-status p{margin:4px 0 0;color:#657899;font-size:13px}
.bx-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;align-items:start}.bx-card{padding:22px;background:#fff;border:var(--karte-border);border-radius:var(--karte-radius);box-shadow:var(--schatten-karte)}.bx-card h2{margin:0 0 6px;font-size:18px}.bx-card>p{margin:0 0 18px;color:#6e809f;font-size:13px}.bx-form{display:grid;gap:13px}.bx-form label{margin:0}.bx-form input{margin-top:6px}.bx-form button{justify-self:start}.bx-connect{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;border-radius:11px;background:#54b948;color:#fff;font-weight:850}.bx-actions{display:flex;gap:10px;align-items:center;margin-top:16px}.bx-actions form button{min-height:42px;border:0;background:transparent;color:#c83232;font-weight:800;cursor:pointer}.bx-card dl{display:grid;grid-template-columns:1fr auto;gap:12px;margin:18px 0}.bx-card dt{color:#6e809f;font-size:12px}.bx-card dd{margin:0;font-size:12px;font-weight:850}.bx-card h3{margin:22px 0 7px;font-size:14px}.bx-card code{display:block;padding:12px;border-radius:10px;background:#f3f6fa;color:#27456f;font-size:11px;overflow-wrap:anywhere}.bx-error{padding:11px;border-radius:9px;background:#fff0f0;color:#b92b2b;font-size:12px}
.bx-card .tabelle-scroll table{width:100%;border-collapse:collapse}.bx-card .tabelle-scroll th,.bx-card .tabelle-scroll td{padding:11px 10px;border-bottom:1px solid #e7edf5;text-align:left;font-size:12px}.bx-card .tabelle-scroll th{color:#647797;font-size:10px;text-transform:uppercase}.ofd-sync-state{margin:0 0 12px;color:#657899;font-size:12px}.ofd-sync-state strong{color:#183766}
@media(max-width:700px){.bx-layout{grid-template-columns:1fr}.bx-card{padding:16px;border-radius:14px}.bx-actions{align-items:stretch;flex-direction:column}.bx-actions .btn,.bx-actions form,.bx-actions button{width:100%}.bx-form button{width:100%}.bx-status{padding:14px;border-radius:14px}}

/* Routenplanung */
.route-page{display:grid;gap:16px;color:#0c2148}.route-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px}.route-toolbar form{display:flex;align-items:end;gap:12px}.route-toolbar label{display:grid;gap:6px;margin:0;color:#607397;font-size:11px;font-weight:800}.route-toolbar select,.route-toolbar input{min-width:190px;height:42px;margin:0}.route-date-nav{display:flex;align-items:center;gap:6px}.route-date-nav a{height:40px;min-width:40px;display:grid;place-items:center;padding:0 13px;border:1px solid #d8e2ef;border-radius:8px;background:#fff;color:#17345f;font-size:12px;font-weight:800}.route-summary{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(110px,.7fr)) auto;align-items:center;background:#fff;border:var(--karte-border);border-radius:var(--karte-radius);box-shadow:var(--schatten-karte);overflow:hidden}.route-summary>div{min-height:84px;display:flex;flex-direction:column;justify-content:center;padding:14px 18px;border-right:1px solid #e5ebf3}.route-summary span{color:#7183a0;font-size:10px;font-weight:750}.route-summary strong{margin-top:5px;font-size:18px}.route-summary strong.warnung{color:#d97706}.route-summary .route-person{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}.route-summary .route-person strong{font-size:14px}.route-google-all{margin:0 16px;white-space:nowrap}.route-list,.route-empty{background:#fff;border:var(--karte-border);border-radius:var(--karte-radius);box-shadow:var(--schatten-karte)}.route-list>header{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e5ebf3}.route-list h2,.route-empty h2{margin:0;font-size:17px}.route-list header p,.route-empty p{margin:4px 0 0;color:#7183a0;font-size:12px}.route-stop{display:grid;grid-template-columns:38px 110px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:126px;padding:16px 20px;border-bottom:1px solid #e8edf4}.route-stop:last-of-type{border-bottom:0}.route-stop.erledigt{background:#fbfcfd}.route-stop.erledigt .route-stop-main{opacity:.68}.route-stop-index{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f1ff;color:#1263ef;font-weight:900}.route-stop.erledigt .route-stop-index{background:#e2f6eb;color:#12804d}.route-stop-time{display:grid;gap:3px}.route-stop-time strong{font-size:18px}.route-stop-time span,.route-stop-time small{color:#6b7e9e;font-size:11px}.route-stop-main{min-width:0}.route-stop-main h3{margin:5px 0 3px;font-size:14px}.route-stop-main>strong{font-size:12px}.route-stop-main p{display:flex;align-items:center;gap:5px;margin:7px 0 0;color:#627697;font-size:12px;overflow-wrap:anywhere}.route-status{display:inline-flex;padding:3px 7px;border-radius:5px;background:#e8f1ff;color:#1263ef;font-size:9px!important;font-weight:850}.route-stop.erledigt .route-status{background:#e3f6eb;color:#13804e}.route-stop-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:210px}.route-stop-actions a{min-height:35px;display:flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #d7e2f0;border-radius:7px;background:#fff;color:#145de4;font-size:10px;font-weight:800}.route-stop-actions a:last-child{grid-column:1/-1}.route-gap{height:30px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:16px;padding:0 20px;color:#7485a0;font-size:10px}.route-gap span{justify-self:center;width:2px;height:30px;background:#dce5f0}.route-gap.konflikt{color:#c2410c;background:#fff7ed}.route-gap.konflikt span{background:#fb923c}.route-stop.hat-konflikt{box-shadow:inset 3px 0 #fb923c}.route-empty{padding:58px 20px;text-align:center;color:#678}.route-empty .ic{margin-bottom:12px;color:#4e83d8}.route-next{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:8px;background:#0c2b55;color:#fff;box-shadow:0 12px 28px rgba(12,43,85,.2)}.route-next div{display:grid;gap:3px}.route-next span{color:#b9c9df;font-size:10px}.route-next strong{font-size:14px}.route-next>a{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border-radius:7px;background:#1670f8;color:#fff;font-size:12px;font-weight:850}
@media(max-width:1050px){.route-summary{grid-template-columns:1fr 1fr 1fr 1fr}.route-summary .route-person{grid-column:1/-1;border-bottom:1px solid #e5ebf3}.route-summary .route-google-all{grid-column:1/-1;margin:12px}.route-stop{grid-template-columns:34px 90px minmax(0,1fr)}.route-stop-actions{grid-column:2/-1;display:flex;min-width:0}.route-stop-actions a:last-child{grid-column:auto}}
@media(max-width:700px){.route-page{gap:12px;padding-bottom:86px}.route-toolbar{align-items:stretch;flex-direction:column}.route-toolbar form{display:grid;grid-template-columns:1fr 1fr}.route-toolbar label,.route-toolbar select,.route-toolbar input{width:100%;min-width:0}.route-date-nav{justify-content:space-between}.route-date-nav a:nth-child(2){flex:1}.route-summary{grid-template-columns:1fr 1fr}.route-summary .route-person{grid-column:1/-1}.route-summary>div{min-height:68px;padding:11px 13px}.route-summary>div:nth-child(3){border-right:0}.route-summary strong{font-size:15px}.route-list>header{padding:15px}.route-stop{grid-template-columns:32px minmax(0,1fr);gap:10px;min-height:0;padding:15px}.route-stop-index{width:30px;height:30px}.route-stop-time{grid-column:2;display:flex;align-items:baseline;gap:7px}.route-stop-time strong{font-size:16px}.route-stop-main{grid-column:2}.route-stop-actions{grid-column:2;display:grid;grid-template-columns:1fr 1fr;width:100%}.route-stop-actions a:last-child{grid-column:1/-1}.route-gap{grid-template-columns:32px 1fr;padding:0 15px}.route-next{position:fixed;z-index:70;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));padding:12px}.route-next div{min-width:0}.route-next strong{max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-next>a{padding:0 12px;font-size:11px}.route-google-all{width:auto!important}}

/* ---------- Mitarbeiter Referenzlayout ---------- */
.ma-page {
    --ma-text: #071845;
    --ma-muted: #50658f;
    --ma-line: #dfe7f3;
    color: var(--ma-text);
}
.ma-topline {
    display: flex;
    justify-content: flex-end;
    margin: -4px 0 18px;
}
.ma-date-nav {
    width: min(420px, 100%);
    min-height: 44px;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    background: #fff;
    display: grid;
    grid-template-columns: 26px 1fr 34px 34px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.ma-date-nav strong {
    font-size: 14px;
}
.ma-date-nav a {
    color: var(--ma-text);
    font-size: 22px;
    text-align: center;
}
.ma-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.ma-kpi,
.ma-card {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.ma-kpi {
    position: relative;
    min-height: 108px;
    padding: 20px 82px 20px 22px;
}
.ma-kpi span {
    display: block;
    color: var(--grau-600);
    font-size: 13.5px;
    font-weight: 600;
}
.ma-kpi small {
    display: block;
    color: var(--grau-400);
    font-size: 12.5px;
    font-weight: 650;
}
.ma-kpi strong {
    display: block;
    margin: 6px 0;
    font-size: 32px;
    line-height: 1.15;
    color: var(--navy);
    letter-spacing: -.03em;
}
.ma-kpi i {
    position: absolute;
    right: 22px;
    top: 20px;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
}
.ma-kpi i.lila { background: #f3e8ff; color: #8b35e8; }
.ma-kpi i.gruen { background: #dcfce7; color: #16a66a; }
.ma-kpi i.orange { background: #fff1df; color: #f28c18; }
.ma-kpi i.blau { background: #e9f1ff; color: #1268f3; }
.ma-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 20px;
    align-items: start;
}
.ma-main,
.ma-side {
    min-width: 0;
}
.ma-side {
    display: grid;
    gap: 14px;
}
.ma-card {
    padding: 22px;
}
.ma-card h3 {
    margin: 0;
    font-size: 17px;
    color: var(--ma-text);
}
.ma-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}
.ma-card-head.compact {
    margin-bottom: 14px;
}
.ma-card-head a {
    color: #0b63f6;
    font-size: 12px;
    font-weight: 800;
}
.ma-table-card {
    padding: 22px 22px 0;
}
.ma-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 1;
}
.ma-tools select,
.ma-search,
.ma-icon-btn,
.ma-pagination select {
    height: 40px;
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    background: #fff;
    color: var(--ma-text);
    font-weight: 700;
    font-size: 13px;
}
.ma-tools select {
    min-width: 150px;
    padding: 0 12px;
}
.ma-search {
    width: min(320px, 100%);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
}
.ma-search input {
    border: 0;
    box-shadow: none;
    height: 38px;
    padding: 0;
    min-width: 0;
}
.ma-search input:focus {
    outline: 0;
    box-shadow: none;
}
.ma-icon-btn {
    width: 40px;
    display: grid;
    place-items: center;
    cursor: pointer;
}
.ma-table-wrap {
    overflow-x: auto;
    margin: 0 -22px;
}
.ma-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}
.ma-table th {
    height: 46px;
    padding: 0 20px;
    text-align: left;
    color: var(--ma-text);
    background: #fbfdff;
    border-top: 1px solid var(--ma-line);
    border-bottom: 1px solid var(--ma-line);
    font-size: 12px;
    font-weight: 800;
}
.ma-table td {
    height: 62px;
    padding: 8px 20px;
    border-bottom: 1px solid var(--ma-line);
    color: var(--ma-text);
    font-size: 13px;
    font-weight: 650;
    white-space: nowrap;
}
.ma-table tr.aktiv td,
.ma-table tbody tr:hover td {
    background: #f7fbff;
}
.ma-person {
    display: flex;
    align-items: center;
    gap: 11px;
    color: var(--ma-text);
}
.ma-person:hover {
    text-decoration: none;
}
.ma-person span {
    display: grid;
    min-width: 0;
}
.ma-person strong {
    font-size: 13px;
}
.ma-person small {
    color: var(--ma-muted);
    font-size: 12px;
}
.ma-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 800;
}
.ma-pill.team.unterhalt { background: #dbeafe; color: #0757d5; }
.ma-pill.team.glas { background: #e0f2fe; color: #0369a1; }
.ma-pill.team.grund { background: #dcfce7; color: #15803d; }
.ma-pill.team.sonder { background: #fff2d9; color: #d97706; }
.ma-pill.job.vollzeit { background: #dcfce7; color: #15803d; }
.ma-pill.job.teilzeit { background: #ffedd5; color: #ea580c; }
.ma-pill.job.aushilfe { background: #f3e8ff; color: #7e22ce; }
.ma-pill.status.aktiv { background: #dff6eb; color: #07915c; }
.ma-pill.status.inaktiv { background: #eef2f7; color: #475569; }
.ma-row-actions {
    display: flex;
    gap: 8px;
}
.ma-row-actions a {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    color: var(--ma-text);
    font-weight: 900;
}
.ma-empty {
    text-align: center;
    color: var(--ma-muted) !important;
}
.ma-pagination {
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 14px;
    align-items: center;
    color: var(--ma-muted);
    font-size: 13px;
}
.ma-pagination div {
    display: flex;
    gap: 8px;
}
.ma-pagination a {
    width: 30px;
    height: 30px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: var(--ma-text);
    font-weight: 800;
}
.ma-pagination a.aktiv {
    background: #0b63f6;
    color: #fff;
}
.ma-bottom {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.ma-muted {
    margin: 0;
    color: var(--ma-muted);
    font-size: 13px;
}
.ma-mini-list {
    display: grid;
    gap: 10px;
}
.ma-mini-list div {
    display: grid;
    grid-template-columns: 22px 1fr auto;
    align-items: center;
    gap: 9px;
    font-size: 13px;
}
.ma-mini-list strong {
    display: grid;
    min-width: 0;
}
.ma-mini-list strong small {
    color: var(--ma-muted);
    font-size: 11px;
    font-weight: 600;
}
.ma-mini-list .ma-availability {
    min-width: 96px;
    text-align: center;
    border-radius: 5px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 800;
}
.ma-mini-list .ma-availability.ok { background: #dcfce7; color: #15803d; }
.ma-mini-list .ma-availability.warn { background: #fee2e2; color: #dc2626; }
.ma-detail-head {
    display: flex;
    gap: 14px;
    align-items: center;
    margin: 18px 0;
}
.ma-detail-head > div {
    display: grid;
    gap: 4px;
}
.ma-detail-head strong {
    font-size: 17px;
}
.ma-detail-head small {
    color: var(--ma-muted);
    font-size: 13px;
}
.ma-contact {
    display: grid;
    gap: 10px;
}
.ma-contact p {
    margin: 0;
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 9px;
    align-items: center;
    color: var(--ma-text);
    font-size: 13px;
}
.ma-card hr {
    border: 0;
    border-top: 1px solid var(--ma-line);
    margin: 18px 0;
}
.ma-card h4 {
    margin: 0 0 12px;
    font-size: 14px;
    color: var(--ma-text);
}
.ma-detail dl {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 10px 16px;
    margin: 0;
    font-size: 13px;
}
.ma-detail dt {
    color: var(--ma-muted);
}
.ma-detail dd {
    margin: 0;
    font-weight: 700;
}
.ma-checks {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 9px;
    color: var(--ma-text);
    font-size: 13px;
}
.ma-checks li::before {
    content: "✓";
    color: #16a66a;
    font-weight: 900;
    margin-right: 8px;
}
.ma-vacation div {
    min-height: 58px;
    display: flex;
    gap: 12px;
    align-items: center;
    border-radius: 12px;
    background: #f4f8ff;
    padding: 10px;
}
.ma-vacation i {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #dbeafe;
    color: #0b63f6;
    font-style: normal;
}
.ma-vacation strong {
    display: grid;
    font-size: 13px;
}
.ma-vacation small {
    margin-top: 3px;
    color: var(--ma-muted);
}
.ma-actions {
    display: grid;
    gap: 10px;
}
.ma-actions a,
.ma-actions button {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    background: #fff;
    color: var(--ma-text);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}
.ma-actions button {
    color: #dc2626;
}

@media (max-width: 1380px) {
    .ma-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ma-layout { grid-template-columns: 1fr; }
    .ma-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .ma-kpis,
    .ma-bottom,
    .ma-side {
        grid-template-columns: 1fr;
    }
    .ma-card-head {
        align-items: stretch;
        flex-direction: column;
    }
    .ma-tools {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .ma-search {
        width: 100%;
    }
    .ma-pagination {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .ma-date-nav {
        width: 100%;
    }
    .ma-kpi {
        min-height: 96px;
        padding: 18px 74px 16px 18px;
    }
    .ma-table-card,
    .ma-card {
        padding: 14px;
    }
    .ma-table-wrap {
        margin: 0 -14px;
    }
.ma-table {
    min-width: 900px;
    }
}

/* ---------- Ferien & Absenzen Referenzlayout ---------- */
.fa-page {
    --fa-text: #071845;
    --fa-muted: #50658f;
    --fa-line: #e2e8f0;
    color: var(--fa-text);
}
.fa-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}
.fa-kpi,
.fa-card {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.fa-kpi {
    position: relative;
    min-height: 108px;
    padding: 22px 86px 20px 22px;
}
.fa-kpi span {
    display: block;
    color: var(--grau-600);
    font-size: 13.5px;
    font-weight: 600;
}
.fa-kpi strong {
    display: block;
    margin: 8px 0 6px;
    color: var(--navy);
    font-size: 30px;
    line-height: 1.1;
    letter-spacing: -.03em;
}
.fa-kpi small {
    color: var(--grau-600);
    font-size: 12.5px;
    font-weight: 650;
}
.fa-kpi i {
    position: absolute;
    right: 22px;
    top: 24px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-style: normal;
}
.fa-kpi i.orange { background: #fff1df; color: #f59e0b; }
.fa-kpi i.gruen { background: #dcfce7; color: #16a66a; }
.fa-kpi i.lila { background: #f3e8ff; color: #8b35e8; }
.fa-kpi i.blau { background: #dbeafe; color: #0b63f6; }
.fa-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 20px;
    align-items: start;
}
.fa-main {
    min-width: 0;
    display: grid;
    gap: 18px;
}
.fa-side {
    display: grid;
    gap: 18px;
}
.fa-card {
    padding: 22px;
}
.fa-card h3 {
    margin: 0;
    color: var(--fa-text);
    font-size: 18px;
    line-height: 1.2;
}
.fa-card h3 small {
    color: var(--fa-muted);
    font-size: 12px;
    font-weight: 600;
}
.fa-card-head,
.fa-side-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}
.fa-side-head a {
    color: #0b63f6;
    font-size: 12px;
    font-weight: 800;
}
.fa-tabs {
    display: inline-flex;
    border: 1px solid var(--fa-line);
    border-radius: 8px;
    overflow: hidden;
    background: #f8fbff;
}
.fa-tabs span {
    min-width: 62px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--fa-text);
    font-size: 12px;
    font-weight: 800;
    border-right: 1px solid var(--fa-line);
}
.fa-tabs span:last-child { border-right: 0; }
.fa-tabs .aktiv {
    background: #0b63f6;
    color: #fff;
}
.fa-month-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 34px;
    margin: 0 0 18px;
}
.fa-month-nav a {
    color: var(--fa-text);
    font-size: 24px;
    font-weight: 600;
}
.fa-month-nav strong {
    font-size: 18px;
}
.fa-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 8px;
}
.fa-weekdays span {
    text-align: center;
    color: var(--fa-text);
    font-size: 12px;
    font-weight: 800;
}
.fa-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border: 1px solid var(--fa-line);
    border-radius: 8px;
    overflow: hidden;
}
.fa-day {
    position: relative;
    min-height: 86px;
    border-right: 1px solid var(--fa-line);
    border-bottom: 1px solid var(--fa-line);
    background: #fff;
    padding: 12px 8px 8px;
}
.fa-day:nth-child(7n) { border-right: 0; }
.fa-day:nth-last-child(-n+7) { border-bottom: 0; }
.fa-day.muted .fa-day-num { color: #b6c2d6; }
.fa-day.today .fa-day-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0b63f6;
    color: #fff;
    display: grid;
    place-items: center;
}
.fa-day-num {
    display: block;
    color: var(--fa-text);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
}
.fa-event {
    min-height: 28px;
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 4px 7px;
    margin-top: 4px;
    overflow: hidden;
}
.fa-event strong,
.fa-event small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1.2;
}
.fa-event strong { font-weight: 800; }
.fa-event small { font-weight: 600; }
.fa-event.ferien { background: #e8f7ef; border-color: #b8e3c9; color: #075e3a; }
.fa-event.krankheit { background: #f1e7ff; border-color: #d6b6ff; color: #5b21b6; }
.fa-event.weiterbildung { background: #e8f1ff; border-color: #bfdbfe; color: #1d4ed8; }
.fa-event.arzttermin { background: #f3e8ff; border-color: #d8b4fe; color: #7e22ce; }
.fa-event.unbezahlt { background: #fff4df; border-color: #fed7aa; color: #b45309; }
.fa-event.feiertag { background: #fee2e2; border-color: #fecaca; color: #b91c1c; }
.fa-event.sonstiges { background: #eef2f7; border-color: #dbe3ef; color: #475569; }
.fa-table-card {
    padding: 22px 22px 14px;
}
.fa-table-card h3 {
    margin-bottom: 18px;
}
.fa-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--fa-line);
    border-radius: 8px;
}
.fa-table {
    width: 100%;
    min-width: 840px;
    border-collapse: collapse;
}
.fa-table th {
    height: 43px;
    padding: 0 14px;
    text-align: left;
    background: #fbfdff;
    border-bottom: 1px solid var(--fa-line);
    color: var(--fa-text);
    font-size: 12px;
    font-weight: 800;
}
.fa-table td {
    height: 48px;
    padding: 8px 14px;
    border-bottom: 1px solid var(--fa-line);
    color: var(--fa-text);
    font-size: 13px;
    font-weight: 650;
    white-space: nowrap;
}
.fa-table tr:last-child td { border-bottom: 0; }
.fa-person {
    display: flex;
    align-items: center;
    gap: 9px;
}
.fa-actions {
    display: flex;
    gap: 8px;
}
.fa-actions form {
    margin: 0;
}
.fa-actions button,
.fa-actions a {
    width: 28px;
    height: 28px;
    border: 1px solid var(--fa-line);
    border-radius: 7px;
    background: #fff;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--fa-text);
    font-weight: 900;
    cursor: pointer;
}
.fa-actions .ok { color: #16a66a; }
.fa-actions .no { color: #ef4444; }
.fa-status {
    min-width: 78px;
    min-height: 22px;
    border-radius: 5px;
    display: inline-grid;
    place-items: center;
    padding: 0 8px;
    font-size: 10.5px;
    font-weight: 800;
}
.fa-status.offen { background: #fff1df; color: #f59e0b; }
.fa-status.ok { background: #dcfce7; color: #07915c; }
.fa-status.nein { background: #fee2e2; color: #dc2626; }
.fa-table-link,
.fa-wide-link {
    display: flex;
    justify-content: center;
    margin-top: 14px;
    color: #0b63f6;
    font-size: 12.5px;
    font-weight: 800;
}
.fa-wide-link {
    min-height: 36px;
    border: 1px solid var(--fa-line);
    border-radius: 7px;
    align-items: center;
}
.fa-empty {
    text-align: center;
    color: var(--fa-muted) !important;
}
.fa-summary {
    display: grid;
    gap: 15px;
}
.fa-summary p {
    margin: 0;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    font-weight: 650;
}
.fa-summary p span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--fa-text);
}
.fa-summary i,
.fa-legend i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: inline-block;
}
.fa-summary hr {
    border: 0;
    border-top: 1px solid var(--fa-line);
    width: 100%;
    margin: 3px 0 0;
}
.fa-summary i.ferien,
.fa-legend i.ferien { background: #25a56a; }
.fa-summary i.krankheit,
.fa-legend i.krankheit { background: #8b5cf6; }
.fa-summary i.weiterbildung,
.fa-legend i.weiterbildung { background: #60a5fa; }
.fa-summary i.arzttermin,
.fa-legend i.arzttermin { background: #7c3aed; }
.fa-summary i.unbezahlt,
.fa-legend i.unbezahlt { background: #f59e0b; }
.fa-legend i.feiertag { background: #ef4444; }
.fa-next {
    display: grid;
    gap: 14px;
}
.fa-next > div {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}
.fa-next strong,
.fa-next small {
    display: block;
    color: var(--fa-text);
}
.fa-next small {
    color: var(--fa-muted);
    font-size: 12px;
    line-height: 1.35;
}
.fa-credit {
    display: grid;
    gap: 11px;
}
.fa-credit > div {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) .8fr .8fr .8fr;
    gap: 10px;
    font-size: 12.5px;
    font-weight: 650;
}
.fa-credit > div:first-child {
    color: var(--fa-muted);
    font-size: 11.5px;
}
.fa-credit strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fa-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;
    padding: 0 22px;
    color: var(--fa-text);
    font-size: 12.5px;
    font-weight: 650;
}
.fa-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.fa-manage {
    margin-top: 18px;
    padding: 0;
    overflow: hidden;
}
.fa-manage-head {
    padding: 20px 22px;
    border-bottom: 1px solid var(--fa-line);
}
.fa-manage-head h3 {
    margin: 0;
}
.fa-manage-head p {
    margin: 6px 0 0;
    color: var(--fa-muted);
    font-size: 13px;
    font-weight: 600;
}
.fa-panel {
    border-bottom: 1px solid var(--fa-line);
    background: #fff;
}
.fa-panel:last-child {
    border-bottom: 0;
}
.fa-panel summary {
    min-height: 58px;
    position: relative;
    display: block;
    padding: 12px 64px 12px 22px;
    cursor: pointer;
    list-style: none;
}
.fa-panel summary::-webkit-details-marker { display: none; }
.fa-panel summary::after {
    content: "+";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: 1px solid var(--fa-line);
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: #0b63f6;
    font-weight: 900;
}
.fa-panel[open] summary::after {
    content: "−";
}
.fa-panel summary span {
    display: block;
    color: var(--fa-text);
    font-size: 14px;
    font-weight: 850;
}
.fa-panel summary small {
    display: block;
    margin-top: 3px;
    color: var(--fa-muted);
    font-size: 12px;
    font-weight: 600;
}
.fa-panel form,
.fa-panel .fa-table-wrap,
.fa-panel-tools {
    margin: 0 22px 22px;
}
.fa-panel .fa-table-wrap {
    margin-top: 0;
}
.fa-panel-tools {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}
.fa-panel[open] summary {
    background: #fbfdff;
}

@media (max-width: 1350px) {
    .fa-layout { grid-template-columns: 1fr; }
    .fa-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
    .fa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fa-side { grid-template-columns: 1fr; }
    .fa-card-head { align-items: flex-start; flex-direction: column; }
    .fa-calendar { min-width: 820px; }
    .fa-calendar-card { overflow-x: auto; }
    .fa-weekdays { min-width: 820px; }
}

@media (max-width: 620px) {
    .fa-kpis { grid-template-columns: 1fr; }
    .fa-kpi { min-height: 98px; padding: 18px 78px 16px 18px; }
    .fa-card,
    .fa-table-card { padding: 16px; }
    .fa-tabs span { min-width: 58px; }
    .fa-legend { padding: 0; gap: 12px; }
    .fa-table { min-width: 760px; }
}

/* ---------- Drag & Drop im Kalender ---------- */
.wp-termin[draggable=true], .m-termin[draggable=true] { cursor: grab; }
.wp-termin[draggable=true]:active, .m-termin[draggable=true]:active { cursor: grabbing; }
.wp-termin.wird-gezogen { opacity: .5; }
.wp-tag.drop-ziel {
    background-color: var(--blau-100) !important;
    box-shadow: inset 0 0 0 2px var(--primaer);
}
.m-zelle.drop-ziel {
    background: var(--blau-100) !important;
    box-shadow: inset 0 0 0 2px var(--primaer);
    border-radius: 8px;
}

/* Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* ---------- Login ---------- */
body.login-seite {
    background: #eef2f8;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    overflow: auto;
    position: relative;
}
.login-wrap {
    width: 100%;
    max-width: 1040px;
    min-height: 620px;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .18);
    border: 1px solid rgba(15, 23, 42, .06);
}
.login-marke {
    position: relative;
    min-height: 100%;
    padding: 42px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background:
        linear-gradient(150deg, rgba(8, 18, 38, .38), rgba(8, 18, 38, .78)),
        url("https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=1200&q=80");
    background-size: cover;
    background-position: center;
}
.login-logo-bild {
    width: min(260px, 82%);
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    filter: none;
    margin-bottom: 28px;
}
.login-logo-bild img {
    width: 100%;
    display: block;
}
.login-claim {
    max-width: 500px;
}
.login-claim span {
    display: inline-flex;
    margin-bottom: 14px;
    padding: 6px 10px;
    border-radius: 99px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.login-claim h1 {
    margin: 0;
    color: #fff;
    font-size: 46px;
    line-height: 1.02;
    letter-spacing: 0;
    max-width: 520px;
}
.login-claim p {
    margin: 18px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    max-width: 460px;
}
.login-status {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.login-status div {
    min-width: 0;
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.login-status strong {
    display: block;
    font-size: 18px;
    line-height: 1.1;
}
.login-status span {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: rgba(255,255,255,.7);
}
.login-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 54px;
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.login-panel-kopf {
    margin-bottom: 26px;
}
.login-panel h2 {
    margin: 0 0 4px;
    color: var(--navy);
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: 0;
}
.login-panel p {
    margin: 0;
    color: var(--grau-600);
}
.login-text {
    margin: -12px 0 22px;
    color: var(--grau-600);
    font-size: 14px;
}
.login-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.login-feld label {
    color: var(--grau-600);
    margin-bottom: 7px;
}
.login-input {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    border: 1px solid var(--grau-200);
    border-radius: 14px;
    padding: 0 14px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.login-input .ic {
    color: var(--grau-400);
    flex-shrink: 0;
}
.login-input:focus-within {
    border-color: var(--primaer);
    box-shadow: 0 0 0 4px rgba(29,78,216,.12);
    background: #fff;
}
.login-input input {
    border: 0;
    box-shadow: none;
    padding: 0;
    min-width: 0;
    height: 50px;
    background: transparent;
}
.login-input input:hover,
.login-input input:focus {
    border: 0;
    box-shadow: none;
    outline: none;
}
.login-input input::placeholder {
    color: var(--grau-400);
}
.login-knopf {
    width: 100%;
    min-height: 52px;
    margin-top: 4px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 700;
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
    box-shadow: 0 12px 24px rgba(29, 78, 216, .24);
    transition: transform .12s ease, box-shadow .12s ease;
}
.login-knopf:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(29, 78, 216, .32);
    background: linear-gradient(135deg, #172554 0%, #2563eb 100%);
}
.login-reset {
    display: inline-flex;
    align-self: center;
    margin-top: 18px;
    color: var(--grau-600);
    font-size: 13px;
    font-weight: 600;
}
.login-reset:hover {
    color: var(--primaer);
}
.login-panel .flash {
    margin-bottom: 18px;
}

@media (max-width: 860px) {
    body.login-seite {
        padding: 16px;
        align-items: stretch;
    }
    .login-wrap {
        min-height: auto;
        grid-template-columns: 1fr;
        border-radius: 22px;
    }
    .login-marke {
        min-height: 300px;
        padding: 26px;
        gap: 28px;
    }
    .login-logo-bild {
        width: min(235px, 76%);
    }
    .login-claim h1 {
        font-size: 32px;
        max-width: 360px;
    }
    .login-claim p {
        font-size: 14px;
    }
    .login-status {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .login-status div {
        padding: 11px;
    }
    .login-panel {
        padding: 28px 22px 30px;
    }
    .login-panel h2 {
        font-size: 28px;
    }
}

@media (max-width: 520px) {
    body.login-seite {
        padding: 0;
        background: #fff;
    }
    .login-wrap {
        min-height: 100vh;
        border-radius: 0;
        border: 0;
        box-shadow: none;
    }
    .login-marke {
        min-height: 255px;
        padding: 20px;
    }
    .login-logo-bild {
        width: min(220px, 78%);
        border-radius: 13px;
        margin-bottom: 24px;
    }
    .login-claim span {
        display: none;
    }
    .login-claim h1 {
        font-size: 28px;
    }
    .login-claim p {
        display: none;
    }
    .login-status {
        display: none;
    }
    .login-panel {
        justify-content: flex-start;
        padding: 28px 18px 32px;
    }
    .login-input {
        min-height: 50px;
    }
    .login-input input {
        height: 48px;
    }
}

/* ====================================================================
   DESIGN-VARIANTE 2: Seitenleiste links + Dashboard
   ==================================================================== */
body.layout-seite { background: #eef2f8; }
.app-rahmen { display: flex; min-height: 100vh; }

/* ---------- Seitenleiste (dunkles Theme) ---------- */
.seitenleiste {
    width: 248px;
    flex-shrink: 0;
    background: linear-gradient(180deg, var(--navy) 0%, var(--navy-3) 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    padding: 18px 14px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}
.s-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 4px 8px 22px;
}
.s-logo:hover { text-decoration: none; }
.s-marke-monogramm {
    width: 42px; height: 42px; border-radius: 8px; display: grid; place-items: center;
    color: #fff; background: var(--primaer); font-size: 22px; font-weight: 800;
    box-shadow: 0 8px 22px rgba(0,0,0,.18);
}
.brand-switch-cards { display:grid; grid-template-columns:repeat(2,minmax(0,260px)); gap:10px; margin-bottom:18px; }
.brand-switch-cards form { margin:0; }
.brand-switch-card { width:100%; min-height:68px; display:grid; grid-template-columns:42px minmax(0,1fr) 22px; align-items:center; gap:11px; padding:11px 12px; border:1px solid var(--linie); border-radius:8px; background:#fff; color:var(--text); text-align:left; cursor:pointer; box-shadow:0 5px 16px rgba(24,49,88,.035); }
.brand-switch-card:hover { border-color:#adc8f5; background:#f9fbff; }
.brand-switch-card.aktiv { border-color:var(--primaer); box-shadow:inset 0 0 0 1px var(--primaer),0 7px 20px rgba(29,78,216,.08); }
.brand-switch-logo { width:42px; height:42px; display:grid; place-items:center; overflow:hidden; border-radius:7px; background:#f0f5fc; }
.brand-switch-logo img { width:100%; height:100%; padding:5px; object-fit:contain; box-sizing:border-box; }
.brand-switch-logo > span { width:100%; height:100%; display:grid; place-items:center; color:#fff; font-size:18px; font-weight:850; }
.brand-switch-copy { display:flex; min-width:0; flex-direction:column; }
.brand-switch-copy strong { overflow:hidden; color:#102044; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.brand-switch-copy small { margin-top:3px; color:var(--text-hell); font-size:10px; }
.brand-switch-state { display:grid; place-items:center; color:#8aa0c2; }
.brand-switch-card.aktiv .brand-switch-state { color:var(--primaer); }
.brand-preview { display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--linie); border-radius:8px; background:var(--primaer-hell); }
.brand-preview img { width:132px; max-height:58px; object-fit:contain; object-position:left center; }
.brand-preview .brand-mark { width:48px; height:48px; display:grid; place-items:center; border-radius:8px; background:var(--primaer); color:#fff; font-size:22px; font-weight:800; }
.brand-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:18px; }
.brand-form-section { min-width:0; border:1px solid var(--linie); border-radius:8px; padding:20px; background:#fff; }
.brand-form-section h2 { margin:0 0 16px; font-size:17px; }
.brand-form-section > label,
.brand-form-section .formular-zeile > label,
.brand-color-row > label {
    display:grid;
    min-width:0;
    grid-template-columns:minmax(0,1fr);
    gap:7px;
    margin:0 0 14px;
    color:#40577d;
    font-size:12px;
    font-weight:750;
    line-height:1.25;
}
.brand-form-section .formular-zeile {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:12px;
}
.brand-form-section input:not([type]),
.brand-form-section input[type=text],
.brand-form-section input[type=email],
.brand-form-section input[type=tel] {
    width:100%;
    min-width:0;
    min-height:42px;
    box-sizing:border-box;
    padding:9px 11px;
    border:1px solid var(--linie);
    border-radius:7px;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-weight:500;
}
.brand-form-section input:focus {
    border-color:var(--primaer);
    outline:0;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--primaer) 12%,transparent);
}
.brand-form-section input[type=file] {
    width:100%;
    min-width:0;
    min-height:44px;
    box-sizing:border-box;
    padding:7px 9px;
    border:1px dashed #c8d7ec;
    border-radius:7px;
    background:#f8fbff;
    color:#526889;
    font-weight:500;
}
.brand-color-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.brand-color-row > label { margin-bottom:0; }
.brand-color-row input[type=color] { width:100%; min-width:0; height:44px; box-sizing:border-box; padding:4px; border:1px solid var(--linie); border-radius:7px; background:#fff; }
.brand-form-section .checkbox-label { display:flex; align-items:center; gap:9px; margin:4px 0 14px; color:var(--text); cursor:pointer; }
.brand-form-section .checkbox-label input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--primaer); }
.brand-form-section .hilfe { margin:8px 0 0; line-height:1.55; }
.brand-team-section { grid-column:1 / -1; }
.brand-team-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.brand-team-item { display:flex; align-items:center; gap:11px; min-height:54px; padding:10px 12px; border:1px solid var(--linie); border-radius:7px; cursor:pointer; }
.brand-team-item:hover { border-color:#b9cdf8; background:#f8fbff; }
.brand-team-item input { width:18px; height:18px; flex:0 0 auto; }
.brand-team-item span { display:flex; min-width:0; flex-direction:column; }
.brand-team-item strong { font-size:13px; }
.brand-team-item small { margin-top:2px; color:var(--text-hell); font-size:11px; }
.brand-team-item.inaktiv { opacity:.58; }
@media (max-width: 760px) { .brand-switch-cards { grid-template-columns:1fr 1fr; gap:7px; } .brand-switch-card { min-height:60px; grid-template-columns:34px minmax(0,1fr) 18px; gap:8px; padding:9px; } .brand-switch-logo { width:34px; height:34px; } .brand-switch-copy strong { font-size:12px; } .brand-switch-copy small { font-size:9px; } .brand-form-grid { grid-template-columns:1fr; } .brand-color-row { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 520px) { .brand-form-section { padding:16px; } .brand-form-section .formular-zeile { grid-template-columns:1fr; gap:0; } }
@media (max-width: 760px) { .brand-team-list { grid-template-columns:1fr; } }
.s-logo-bild {
    width: min(168px, 100%);
    height: auto;
    display: block;
    object-fit: contain;
}
.s-logo-icon { width: 34px; height: 34px; border-radius: 9px; display: block; box-shadow: 0 0 0 1px rgba(255,255,255,.1); }
.s-logo-text { display: flex; flex-direction: column; line-height: 1.1; font-weight: 800; font-size: 18px; color: #fff; letter-spacing: -.01em; }
.s-logo-text small { font-weight: 500; font-size: 11px; color: rgba(255,255,255,.5); letter-spacing: 0; }
.s-nav { display: flex; flex-direction: column; gap: 4px; }
.s-nav-label,
.s-nav-gruppe summary {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 12px 5px;
    color: rgba(255,255,255,.4);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.s-nav-gruppe {
    border-top: 1px solid rgba(255,255,255,.07);
    padding-top: 3px;
}
.s-nav-gruppe summary {
    cursor: pointer;
    list-style: none;
    border-radius: 7px;
    transition: color .14s ease, background .14s ease;
}
.s-nav-gruppe summary::-webkit-details-marker { display: none; }
.s-nav-gruppe summary:hover { color: rgba(255,255,255,.82); background: rgba(255,255,255,.04); }
.s-nav-gruppe summary .ic { transition: transform .18s ease; }
.s-nav-gruppe[open] summary { color: rgba(255,255,255,.66); }
.s-nav-gruppe.hat-aktiv > summary { color: #b9d2ff; }
.s-nav-gruppe[open] summary .ic { transform: rotate(180deg); }
.s-nav-links { display: flex; flex-direction: column; gap: 2px; padding-bottom: 3px; }
.s-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    border-radius: 8px;
    color: rgba(255,255,255,.72);
    font-size: 13.5px;
    font-weight: 500;
    transition: background .14s ease, color .14s ease;
}
.s-nav a:hover { background: rgba(255,255,255,.08); color: #fff; text-decoration: none; }
.s-nav a.aktiv { background: var(--primaer); color: #fff; font-weight: 600; box-shadow: 0 6px 16px -4px rgba(29,78,216,.6); }
.s-icon { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.s-icon .ic { display: block; }

.mobile-metrics-toggle { display: none; }

.s-benutzer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding: 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    color: #fff;
}
.s-benutzer:hover { background: rgba(255,255,255,.12); text-decoration: none; }
.avatar-kreis {
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700; color: #fff;
    flex-shrink: 0;
    overflow: hidden;
    line-height: 1;
    aspect-ratio: 1 / 1;
}
.avatar-kreis img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block;
    object-fit: cover;
    border-radius: inherit;
}
.avatar-kreis.gross { width: 72px !important; height: 72px !important; font-size: 22px; }
.avatar-kreis.klein { width: 30px !important; height: 30px !important; font-size: 11px; }
.avatar-kreis.mini { width: 24px !important; height: 24px !important; font-size: 10px; }
.avatar-kreis.mikro { width: 18px !important; height: 18px !important; font-size: 8px; display: inline-flex; vertical-align: middle; margin-right: 4px; }
.mobil-avatar img,
.avatar-bild img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block;
    object-fit: cover;
    border-radius: inherit;
}
.profilbild-feld {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}
.profilbild-eingabe {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.profilbild-eingabe small { color: var(--grau-400); font-size: 12px; }
.checkbox-zeile {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: var(--grau-600);
}
.mini-ma {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.ma-zelle { white-space: nowrap; }
.ma-zelle .avatar-kreis { margin-right: 7px; vertical-align: middle; }
.mini-ma { margin-right: 8px; white-space: nowrap; }
.s-benutzer-text { display: flex; flex-direction: column; line-height: 1.25; overflow: hidden; }
.s-benutzer-text strong { font-size: 13.5px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.s-benutzer-text small { font-size: 11.5px; color: rgba(255,255,255,.5); }

.schnellzugriff { margin-top: 20px; }
.schnellzugriff-titel {
    font-size: 11px; text-transform: uppercase; letter-spacing: .08em;
    color: rgba(255,255,255,.4); font-weight: 700; padding: 0 12px 8px;
}
.schnellzugriff a {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px;
    border-radius: 9px;
    color: rgba(255,255,255,.7);
    font-size: 13.5px;
}
.schnellzugriff a .ic { color: #60a5fa; flex-shrink: 0; }
.schnellzugriff a:hover { background: rgba(255,255,255,.08); color: #fff; text-decoration: none; }
.s-logout {
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: rgba(255,255,255,.72);
    font-size: 13.5px;
    font-weight: 650;
}
.s-version{margin:8px 12px 0;padding:9px 10px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.42)}.s-version strong{font-size:10px;letter-spacing:.03em}.s-version small{font-size:9px}
.s-logout .ic {
    color: #fca5a5;
    flex-shrink: 0;
}
.s-logout:hover {
    background: rgba(239,68,68,.14);
    color: #fff;
    text-decoration: none;
}

/* ---------- Hauptbereich ---------- */
.hauptbereich { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.haupt-kopf {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 32px;
    background: transparent;
    position: sticky; top: 0; z-index: 90;
    background: #eef2f8;
}
.tablet-sidebar-toggle{display:none;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid var(--grau-200);border-radius:8px;background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(15,23,42,.08);cursor:pointer}
.tablet-sidebar-toggle:hover{background:var(--grau-100)}
.hk-titel { min-width: 0; }
.hk-titel h1 { margin: 0; font-size: 24px; font-weight: 800; color: var(--navy); letter-spacing: -.02em; }
.hk-titel .dash-gruss h1 { margin: 0 0 3px; font-size: 26px; font-weight: 800; color: var(--navy); letter-spacing: -.02em; }
.hk-titel .dash-gruss p { margin: 0; color: var(--grau-400); font-size: 14.5px; }
.hk-aktionen { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.haupt-kopf .glocke { background: #fff; color: var(--grau-800); box-shadow: 0 1px 3px rgba(15,23,42,.08); }
.haupt-kopf .glocke:hover { background: var(--grau-100); }
.hk-sync-form,
.mobil-sync-form {
    margin: 0;
}
.hk-sync,
.hk-push,
.mobil-sync,
.mobil-push {
    border: 1px solid var(--grau-200);
    background: #fff;
    color: var(--navy);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(15,23,42,.08);
}
.hk-sync,
.hk-push {
    min-height: 38px;
    border-radius: 10px;
    padding: 0 13px;
}
.mobil-sync,
.mobil-push {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}
.hk-push.aktiv,
.mobil-push.aktiv {
    background: #dcfce7;
    border-color: #bbf7d0;
    color: #047857;
}
.hk-sync:hover,
.hk-push:hover,
.mobil-sync:hover,
.mobil-push:hover {
    background: var(--grau-100);
}
.hk-link { color: var(--grau-600); font-weight: 600; padding: 6px 10px; border-radius: 8px; }
.hk-profil { display: inline-flex; align-items: center; gap: 7px; }
.hk-link:hover { background: #fff; text-decoration: none; }
.hk-aktionen .dash-cta { padding: 11px 18px; }
/* Inhalt direkt unter dem Kopf, gleiche horizontale Polsterung */
body.layout-seite .inhalt { max-width: none; margin: 0; width: auto; padding: 4px 32px 40px; }

/* ---------- Dashboard ---------- */
.dash-kopf {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 14px; flex-wrap: wrap; margin-bottom: 22px;
}
.dash-gruss h1 { margin: 0 0 4px; font-size: 26px; font-weight: 800; color: var(--navy); letter-spacing: -.02em; }
.dash-gruss p { margin: 0; color: var(--grau-400); font-size: 14.5px; }
.dash-cta { padding: 11px 18px; font-size: 14.5px; align-self: center; }

.kpi-reihe {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}
.kpi {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    padding: 20px 22px;
    box-shadow: var(--schatten-karte);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.kpi-text { min-width: 0; }
.kpi-label { color: var(--grau-600); font-size: 13.5px; font-weight: 600; }
.kpi-zahl { font-size: 32px; font-weight: 800; color: var(--navy); letter-spacing: -.03em; line-height: 1.15; margin-top: 6px; }
.kpi-zusatz { font-size: 12.5px; color: var(--grau-400); margin-top: 6px; }
.kpi-zusatz b { color: var(--rot); }
.kpi-icon {
    width: 46px; height: 46px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 21px;
    flex-shrink: 0;
}
.kpi-icon .ic { display: block; }
.kpi-icon.blau { background: #dbeafe; color: #2563eb; }
.kpi-icon.gruen { background: #dcfce7; color: #16a34a; }
.kpi-icon.lila { background: #ede9fe; color: #7c3aed; }
.kpi-icon.gelb { background: #fef3c7; color: #d97706; }
.kpi-icon.rot { background: #fee2e2; color: #dc2626; }
.kpi-icon.tuerkis { background: #ccfbf1; color: #0d9488; }

.dash-spalten {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}
.dash-spalten.dash-spalten-einfach { grid-template-columns: minmax(0, 1fr); }
.dash-spalten > .karte { margin-bottom: 0; }
.dash-rechts { display: flex; flex-direction: column; gap: 18px; }
.dash-rechts .karte { margin-bottom: 0; }

.dash-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.dash-widgets.dash-widgets-einfach { grid-template-columns: minmax(0, 1fr); }
.widget-kopf {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
}
.widget-kopf h3 { margin: 0; font-size: 16px; }
.widget-kopf a { font-size: 13px; font-weight: 600; white-space: nowrap; }

/* Tag/Woche/Monat-Umschalter im Einsatzplan */
.plan-tabs { display: inline-flex; background: var(--grau-100); border-radius: 9px; padding: 2px; }
.plan-tabs a {
    padding: 5px 14px; border-radius: 7px; font-size: 13px; font-weight: 600;
    color: var(--grau-600);
}
.plan-tabs a:hover { text-decoration: none; color: var(--navy); }
.plan-tabs a.aktiv { background: var(--primaer); color: #fff; box-shadow: 0 1px 3px rgba(29,78,216,.4); }

/* Ressourcen-Einsatzplan (eine Zeile pro Mitarbeiter) */
.res-plan { overflow-x: auto; }
.res-inner { min-width: 1240px; }
.res-zeitkopf { position: relative; height: 22px; margin-left: 184px; border-bottom: 1px solid var(--grau-100); }
.res-zeitkopf span { position: absolute; font-size: 11px; color: var(--grau-400); transform: translateX(-50%); top: 4px; }
.res-zeile { display: flex; align-items: stretch; }
.res-ma {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 8px 9px 0; width: 184px; flex-shrink: 0;
    border-bottom: 1px solid var(--grau-50);
}
.res-ma .avatar-kreis { width: 34px; height: 34px; font-size: 12px; }
.res-ma-info { flex: 1; min-width: 0; }
.res-ma-name { font-size: 13px; font-weight: 600; color: var(--grau-800); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.res-ma-rolle { font-size: 11px; color: var(--grau-400); }
.res-status { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.res-spur {
    position: relative; flex: 1; min-height: 56px;
    border-bottom: 1px solid var(--grau-50);
    border-left: 1px solid var(--grau-100);
    background-image: repeating-linear-gradient(to right, transparent, transparent calc(100%/17 - 1px), var(--grau-50) calc(100%/17 - 1px), var(--grau-50) calc(100%/17));
}
.res-block {
    position: absolute; top: 7px; bottom: 7px;
    border-radius: 8px; padding: 5px 9px;
    font-size: 11px; line-height: 1.3; overflow: hidden;
    background: color-mix(in srgb, var(--bf) 14%, #fff);
    border-left: 3px solid var(--bf);
    color: var(--grau-800);
}
.res-block:hover { text-decoration: none; filter: brightness(.97); z-index: 5; }
.res-block b { font-weight: 700; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.res-block-leistung { display: block; color: var(--grau-600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.res-block-zeit { display: block; color: var(--grau-400); font-size: 10.5px; }
.res-abw {
    left: 0; right: 0; background: repeating-linear-gradient(45deg, #f1f5f9, #f1f5f9 8px, #e2e8f0 8px, #e2e8f0 16px);
    border-left: none; color: var(--grau-600); display: flex; align-items: center; justify-content: center;
}
.res-abw b { color: var(--grau-600); }

/* Listen-Widgets */
.dash-liste { display: flex; flex-direction: column; }
.dash-liste-zeile {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 0; border-bottom: 1px solid var(--grau-50); font-size: 13.5px;
    color: var(--grau-800);
}
.dash-liste-zeile:last-child { border-bottom: none; }
.dash-liste-zeile:hover { text-decoration: none; }
a.dash-liste-zeile:hover .haupt strong { color: var(--primaer); }
.dash-liste-zeile .haupt { flex: 1; min-width: 0; }
.dash-liste-zeile .haupt strong { display: block; font-weight: 600; color: var(--grau-800); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-liste-zeile .haupt small { color: var(--grau-400); font-size: 12px; }
.dash-liste-zeile .rechts { color: var(--grau-400); font-size: 12.5px; white-space: nowrap; }
.avatar-kreis.klein { width: 30px; height: 30px; font-size: 11px; }
.dash-vollbtn { margin-top: 14px; width: 100%; text-align: center; }

/* Tabellen-Widget (Offene Aufträge) */
.dash-tab td, .dash-tab th { padding: 8px 8px; font-size: 13px; }
.dash-tab th { font-size: 10.5px; }
.dash-tab tr:hover td { background: var(--grau-50); }

/* Lohn-Widget */
/* ---------- Lohn & Abrechnung Referenzlayout ---------- */
.la-page {
    --la-text: #071845;
    --la-muted: #50658f;
    --la-line: #e2e8f0;
    color: var(--la-text);
}
.la-head-form { margin: 0; }
.la-topline {
    display: flex;
    justify-content: flex-end;
    margin: -4px 0 18px;
}
.la-month-nav {
    width: min(360px, 100%);
    min-height: 44px;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
    display: grid;
    grid-template-columns: 24px 1fr 32px 32px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
}
.la-month-nav strong { font-size: 14px; }
.la-month-nav a {
    display: grid;
    place-items: center;
    color: var(--la-text);
    font-size: 22px;
}
.la-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}
.la-kpi,
.la-card {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.la-kpi {
    position: relative;
    min-height: 104px;
    padding: 20px 18px 18px 82px;
}
.la-kpi i {
    position: absolute;
    left: 20px;
    top: 22px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-style: normal;
}
.la-kpi i.orange { background: #fff1df; color: #f59e0b; }
.la-kpi i.gruen { background: #dcfce7; color: #16a66a; }
.la-kpi i.blau { background: #dbeafe; color: #0b63f6; }
.la-kpi span {
    display: block;
    color: var(--grau-600);
    font-size: 12.5px;
    font-weight: 700;
}
.la-kpi strong {
    display: block;
    margin: 7px 0 6px;
    color: var(--navy);
    font-size: 23px;
    line-height: 1.1;
    letter-spacing: -.025em;
}
.la-kpi small {
    color: var(--la-text);
    font-size: 12px;
    font-weight: 650;
}
.la-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
    align-items: start;
}
.la-main {
    min-width: 0;
    display: grid;
    gap: 18px;
}
.la-side {
    display: grid;
    gap: 18px;
}
.la-card { padding: 22px; }
.la-card h3 {
    margin: 0;
    color: var(--la-text);
    font-size: 17px;
}
.la-card h3 small {
    color: var(--la-muted);
    font-size: 12px;
    font-weight: 600;
}
.la-table-card {
    padding: 18px 18px 0;
}
.la-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}
.la-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.la-tabs a {
    min-height: 36px;
    border: 1px solid var(--la-line);
    border-radius: 8px;
    background: #fff;
    color: var(--la-text);
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    font-size: 12.5px;
    font-weight: 800;
}
.la-tabs a:hover { text-decoration: none; background: #f7faff; }
.la-tabs .aktiv {
    background: #0b63f6;
    border-color: #0b63f6;
    color: #fff;
}
.la-filter {
    display: flex;
    align-items: center;
    gap: 10px;
}
.la-filter select,
.la-filter button,
.la-pagination select {
    height: 38px;
    border: 1px solid var(--la-line);
    border-radius: 8px;
    background: #fff;
    color: var(--la-text);
    padding: 0 12px;
    font-weight: 750;
}
.la-filter button {
    width: 38px;
    padding: 0;
    display: grid;
    place-items: center;
}
.la-table-wrap {
    overflow-x: auto;
    margin: 0 -18px;
}
.la-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
}
.la-table th {
    height: 56px;
    padding: 0 18px;
    text-align: left;
    background: #fbfdff;
    border-top: 1px solid var(--la-line);
    border-bottom: 1px solid var(--la-line);
    color: var(--la-text);
    font-size: 12px;
    font-weight: 850;
}
.la-table th small {
    color: var(--la-muted);
    font-size: 10.5px;
}
.la-table td {
    height: 58px;
    padding: 8px 18px;
    border-bottom: 1px solid var(--la-line);
    color: var(--la-text);
    font-size: 13px;
    font-weight: 650;
    white-space: nowrap;
}
.la-person {
    display: flex;
    align-items: center;
    gap: 10px;
}
.la-person span {
    display: grid;
}
.la-person small {
    color: var(--la-muted);
    font-size: 11.5px;
}
.la-status {
    min-width: 58px;
    min-height: 24px;
    border-radius: 5px;
    display: inline-grid;
    place-items: center;
    padding: 0 8px;
    font-size: 11px;
    font-weight: 850;
}
.la-status.ready,
.la-status.ok { background: #dff6eb; color: #07915c; }
.la-status.warn { background: #fff1df; color: #d97706; }
.la-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}
.la-actions form { margin: 0; }
.la-actions a,
.la-actions button {
    width: 30px;
    height: 30px;
    border: 1px solid var(--la-line);
    border-radius: 7px;
    background: #fff;
    color: var(--la-text);
    display: grid;
    place-items: center;
    padding: 0;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}
.la-actions button { color: #16a66a; }
.la-pagination {
    min-height: 62px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    color: var(--la-muted);
    font-size: 12.5px;
    font-weight: 650;
}
.la-pagination div {
    display: flex;
    gap: 8px;
}
.la-pagination a {
    width: 30px;
    height: 30px;
    border: 1px solid var(--la-line);
    border-radius: 7px;
    display: grid;
    place-items: center;
    color: var(--la-text);
}
.la-pagination a.aktiv {
    background: #0b63f6;
    border-color: #0b63f6;
    color: #fff;
}
.la-pagination a.muted { color: #a8b5cb; }
.la-side-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.la-side-head a,
.la-link {
    color: #0b63f6;
    font-size: 12px;
    font-weight: 850;
}
.la-bottom {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.la-mini-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 14px;
}
.la-mini-table th,
.la-mini-table td {
    height: 32px;
    text-align: left;
    border-bottom: 1px solid var(--la-line);
    color: var(--la-text);
    font-size: 12px;
    font-weight: 650;
}
.la-mini-table th {
    color: var(--la-muted);
    font-weight: 850;
}
.la-mini-table tr:last-child td { border-bottom: 0; }
.la-link {
    display: flex;
    justify-content: center;
    margin-top: 14px;
}
.la-status-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}
.la-status-list p {
    margin: 0;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    font-weight: 700;
}
.la-status-list i {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #64748b;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 10px;
    font-weight: 900;
}
.la-status-list .done i {
    background: #25a56a;
    color: #fff;
}
.la-status-list .current i {
    background: #0b63f6;
    color: #fff;
}
.la-status-list strong {
    color: #07915c;
    font-size: 11px;
}
.la-status-list p:not(.done):not(.current) strong { color: var(--la-muted); }
.la-pay {
    width: 100%;
    height: 38px;
    border: 0;
    border-radius: 8px;
    background: #0b63f6;
    color: #fff;
    font-weight: 850;
    margin: 18px 0 10px;
}
.la-preview {
    min-height: 36px;
    border: 1px solid var(--la-line);
    border-radius: 8px;
    color: #0b63f6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 850;
}
.la-next-pay {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
}
.la-next-pay .ic { color: #0b63f6; }
.la-next-pay strong { font-size: 13px; }
.la-next-pay em {
    border-radius: 5px;
    background: #e8f1ff;
    color: #0b63f6;
    padding: 5px 8px;
    font-style: normal;
    font-size: 11px;
    font-weight: 850;
}
.la-donut {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    margin: 18px auto 16px;
    background: conic-gradient(#0b63f6 0 78%, #22c55e 78% 89%, #8b5cf6 89% 96%, #f59e0b 96% 100%);
    display: grid;
    place-items: center;
}
.la-donut > div {
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: #fff;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 8px;
}
.la-donut strong {
    font-size: 12px;
}
.la-donut small {
    color: var(--la-muted);
    font-size: 10px;
}
.la-cost-legend,
.la-docs,
.la-runs {
    display: grid;
    gap: 11px;
}
.la-cost-legend p,
.la-docs p,
.la-runs p {
    margin: 0;
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    color: var(--la-text);
    font-size: 12px;
    font-weight: 650;
}
.la-cost-legend i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}
.la-cost-legend i.blau { background: #0b63f6; }
.la-cost-legend i.gruen { background: #22c55e; }
.la-cost-legend i.lila { background: #8b5cf6; }
.la-cost-legend i.gelb { background: #f59e0b; }
.la-docs p {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    min-height: 30px;
}
.la-docs .ic { color: #ef4444; }
.la-docs em,
.la-runs em {
    border-radius: 5px;
    background: #dff6eb;
    color: #07915c;
    padding: 4px 8px;
    font-style: normal;
    font-size: 10.5px;
    font-weight: 850;
}
.la-runs p {
    grid-template-columns: minmax(0, 1fr) auto auto;
}
.la-panel-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px 220px;
    gap: 16px;
    padding-bottom: 18px;
}
.la-run-card {
    min-height: 92px;
    border: 1px solid var(--la-line);
    border-radius: 12px;
    background: #f8fbff;
    padding: 16px;
    display: grid;
    gap: 5px;
}
.la-run-card strong {
    color: #0b63f6;
    font-size: 22px;
}
.la-run-card span,
.la-run-card small {
    color: var(--la-muted);
    font-size: 12.5px;
    font-weight: 700;
}
.la-inline-form { margin: 0; align-self: end; }
.la-edit-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 18px;
    padding-bottom: 18px;
}
.la-edit-form {
    display: grid;
    gap: 12px;
    align-content: start;
    border: 1px solid var(--la-line);
    border-radius: 12px;
    background: #f8fbff;
    padding: 16px;
}
.la-edit-form label {
    color: var(--la-text);
    font-size: 12px;
}
.la-edit-form input,
.la-edit-form select {
    margin-top: 5px;
}
.la-form-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--la-text);
    font-size: 13px;
    font-weight: 850;
}
.la-form-title a,
.la-form-actions a {
    color: #0b63f6;
    font-size: 12px;
    font-weight: 850;
}
.la-wage-editor {
    border-top: 1px solid var(--la-line);
    margin: 0 -18px;
    padding: 18px;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 18px;
    background: #fbfdff;
}
.la-wage-editor h3 {
    margin: 0 0 5px;
    color: var(--la-text);
}
.la-wage-editor p {
    margin: 0;
    color: var(--la-muted);
    font-size: 12.5px;
    font-weight: 700;
}
.la-wage-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
}
.la-form-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}
.la-form-actions .la-pay {
    margin: 0;
}
.la-wide {
    margin-top: 0;
}
.la-wide td small {
    display: block;
    color: var(--la-muted);
    margin-top: 2px;
}
.la-wide form { margin: 0; }
.la-row-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.la-icon-edit,
.la-icon-danger {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: #fff;
    display: grid;
    place-items: center;
    cursor: pointer;
}
.la-icon-edit {
    border: 1px solid #bfdbfe;
    color: #0b63f6;
}
.la-icon-edit:hover {
    text-decoration: none;
    background: #eff6ff;
}
.la-icon-danger {
    border: 1px solid #fecaca;
    color: #ef4444;
}
.la-doc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-bottom: 18px;
}
.la-doc-grid a,
.la-docs a {
    min-height: 48px;
    border: 1px solid var(--la-line);
    border-radius: 10px;
    background: #fff;
    color: var(--la-text);
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    font-size: 12.5px;
    font-weight: 750;
}
.la-doc-grid a:hover,
.la-docs a:hover {
    text-decoration: none;
    border-color: #bfdbfe;
    background: #f8fbff;
}
.la-doc-grid em,
.la-docs a em {
    border-radius: 5px;
    background: #dff6eb;
    color: #07915c;
    padding: 4px 8px;
    font-style: normal;
    font-size: 10.5px;
    font-weight: 850;
}
.la-preview-card {
    scroll-margin-top: 24px;
}
.la-payslip {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}
.la-payslip > div {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--la-line);
}
.la-payslip > div span {
    grid-column: 2;
    color: var(--la-muted);
    font-size: 12px;
}
.la-payslip p {
    margin: 0;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--la-line);
    font-size: 13px;
    font-weight: 700;
}
.la-payslip p.total {
    border-bottom: 0;
    color: #0b63f6;
    font-size: 17px;
}

@media (max-width: 1450px) {
    .la-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .la-layout { grid-template-columns: 1fr; }
    .la-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
    .la-kpis,
    .la-bottom,
    .la-side { grid-template-columns: 1fr; }
    .la-layout,
    .la-main,
    .la-table-card,
    .la-tools,
    .la-filter,
    .la-pagination {
        min-width: 0;
    }
    .la-tools {
        align-items: stretch;
        flex-direction: column;
    }
    .la-filter { flex-wrap: wrap; }
    .la-filter select { flex: 1 1 180px; min-width: 0; }
    .la-pagination { grid-template-columns: 1fr; }
    .la-pagination span { min-width: 0; }
    .la-pagination div { flex-wrap: wrap; }
    .la-panel-grid,
    .la-edit-layout,
    .la-doc-grid,
    .la-wage-editor,
    .la-wage-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .la-topline { justify-content: stretch; }
    .la-month-nav { width: 100%; }
    .la-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .la-tabs a {
        justify-content: center;
        padding: 0 10px;
    }
    .la-filter {
        display: grid;
        grid-template-columns: 1fr 1fr 38px;
    }
    .la-filter select {
        width: 100%;
        min-width: 0;
    }
    .la-kpi {
        min-height: 98px;
        padding: 18px 18px 16px 76px;
    }
    .la-card,
    .la-table-card { padding: 16px; }
    .la-table-wrap { margin: 0 -16px; }
    .la-table { min-width: 980px; }
}

/* Team-Widget */
.team-stat { display: flex; gap: 10px; text-align: center; }
.team-stat > div { flex: 1; background: var(--grau-50); border-radius: 12px; padding: 14px 8px; }
.team-stat strong { display: block; font-size: 24px; font-weight: 800; color: var(--navy); }
.team-stat span { font-size: 11.5px; color: var(--grau-400); }

@media (max-width: 1050px) {
    .dash-spalten { grid-template-columns: 1fr; }
    .dash-rechts { flex-direction: row; flex-wrap: wrap; }
    .dash-rechts .karte { flex: 1; min-width: 280px; }
}
@media (max-width: 760px) {
    .seitenleiste {
        position: static; width: 100%; height: auto; flex-direction: column;
    }
    .app-rahmen { flex-direction: column; }
    .s-nav { flex-direction: row; flex-wrap: wrap; }
    .s-nav a { flex: 0 0 auto; }
    .schnellzugriff { display: none; }
    .dash-kopf { flex-direction: column; }
}

/* ---------- Offerten-Pipeline ---------- */
.of-page { --of-line:#dce5f1; --of-text:#0d2147; display:grid; gap:18px; }
.of-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.of-kpi { position:relative; min-height:112px; padding:20px 68px 18px 20px; background:#fff; border:1px solid var(--of-line); border-radius:8px; box-shadow:0 8px 24px rgba(31,52,86,.045); }
.of-kpi span,.of-kpi small { display:block; color:#52698f; font-size:12px; font-weight:700; }
.of-kpi strong { display:block; margin:8px 0 5px; color:var(--of-text); font-size:22px; line-height:1; }
.of-kpi svg { position:absolute; top:22px; right:20px; width:42px; height:42px; padding:10px; border-radius:50%; background:#eaf2ff; color:#1265f3; }
.of-kpi.orange svg { color:#e88708; background:#fff2dc; }.of-kpi.gruen svg { color:#09945b; background:#e3f7ed; }.of-kpi.grau svg { color:#7248df; background:#f0e9ff; }
.of-filter { display:flex; gap:10px; align-items:center; padding:14px; background:#fff; border:1px solid var(--of-line); border-radius:8px; }
.of-filter select { width:170px; min-height:42px; }.of-search { position:relative; flex:1; margin:0; }.of-search svg { position:absolute; left:14px; top:13px; color:#607393; }.of-search input { padding-left:42px; min-height:42px; margin:0; }.of-reset { color:#0b63f6; font-size:13px; font-weight:750; }
.of-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:16px; align-items:start; }
.of-list-card,.of-detail { background:#fff; border:1px solid var(--of-line); border-radius:8px; box-shadow:0 8px 24px rgba(31,52,86,.045); overflow:hidden; }
.of-tabs { display:flex; gap:24px; padding:0 18px; border-bottom:1px solid var(--of-line); overflow-x:auto; }
.of-tabs a { min-height:54px; display:flex; align-items:center; gap:7px; color:#405477; font-size:13px; font-weight:800; white-space:nowrap; border-bottom:3px solid transparent; }
.of-tabs a.aktiv { color:#0b63f6; border-color:#0b63f6; }.of-tabs span { padding:2px 7px; border-radius:10px; background:#eef3fa; font-size:11px; }
.of-table-wrap { overflow-x:auto; }.of-table { width:100%; border-collapse:collapse; color:var(--of-text); }
.of-table th { padding:13px 12px; background:#f9fbfe; color:#587098; font-size:10px; text-align:left; text-transform:uppercase; letter-spacing:.04em; }
.of-table td { padding:13px 12px; border-top:1px solid #e8eef6; font-size:12px; vertical-align:middle; }.of-table tr.aktiv { background:#f4f8ff; }
.of-table td>strong,.of-table td>small { display:block; }.of-table td>small { margin-top:3px; color:#7083a2; }
.of-title { min-width:190px; display:flex; align-items:center; gap:10px; }.of-title>span { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:8px; background:#e7efff; color:#1265f3; font-weight:900; }.of-title strong,.of-title small { display:block; }.of-title small { margin-top:3px; color:#7083a2; font-size:11px; }
.of-source { padding:5px 8px; border-radius:5px; background:#f2f5fa; color:#405477; font-weight:750; white-space:nowrap; }
.of-status { display:inline-flex; padding:5px 8px; border-radius:5px; font-size:11px; font-weight:850; white-space:nowrap; }.of-status.lead{background:#e6f0ff;color:#075de5}.of-status.entwurf{background:#edf1f7;color:#566783}.of-status.gesendet{background:#e5efff;color:#075de5}.of-status.nachfassen{background:#fff0d6;color:#bf6900}.of-status.angenommen{background:#ddf5e8;color:#087b49}.of-status.abgelehnt{background:#ffe8e8;color:#c83232}
.of-due { color:#c83232; font-weight:850; }.of-edit { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--of-line); border-radius:7px; color:#405477; }
.of-detail { padding:20px; }.of-detail-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }.of-detail-head>a { display:flex; gap:6px; align-items:center; color:#0b63f6; font-size:12px; font-weight:800; }.of-detail h2 { margin:22px 0 5px; font-size:21px; }.of-detail-customer { margin:0; color:#627494; }.of-amount { margin:22px 0; padding:15px; border-radius:7px; background:#f3f7fd; color:#0b63f6; font-size:24px; font-weight:900; }
.of-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:13px 8px; margin:0; font-size:12px; }.of-detail dt { color:#7183a1; }.of-detail dd { margin:0; text-align:right; font-weight:800; }.of-contact,.of-note { margin-top:20px; padding-top:18px; border-top:1px solid var(--of-line); }.of-contact a { display:flex; align-items:center; gap:8px; margin:9px 0; color:#26436f; font-size:12px; overflow-wrap:anywhere; }.of-note p { color:#53698e; font-size:12px; line-height:1.55; }
.of-status-form { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; margin-top:20px; padding-top:18px; border-top:1px solid var(--of-line); }.of-status-form label { margin:0; }.of-status-form select { margin-top:6px; }
.of-delete-form { margin-top:10px; }.of-delete-form button { width:100%; min-height:38px; display:flex; align-items:center; justify-content:center; gap:7px; border:0; background:transparent; color:#c83232; font-size:12px; font-weight:800; cursor:pointer; }
.of-empty { min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#7183a1; text-align:center; }.of-empty strong { color:var(--of-text); font-size:15px; }.of-empty a { margin-top:7px; color:#0b63f6; font-weight:800; }
.of-modal { position:fixed; z-index:10000; inset:0; display:flex; align-items:flex-start; justify-content:center; padding:20px; overflow-y:auto; overscroll-behavior:contain; }.of-modal-bg { position:fixed; inset:0; background:rgba(9,24,51,.64); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.of-modal-card { position:relative; width:min(780px,100%); max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); margin:auto 0; overflow:auto; background:#fff; border-radius:8px; box-shadow:0 28px 80px rgba(5,18,43,.28); }
.of-modal-card header,.of-modal-card footer { position:sticky; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:#fff; border-bottom:1px solid var(--of-line); }.of-modal-card header { top:0; }.of-modal-card header h2 { margin:0; font-size:22px; }.of-modal-card header p { margin:5px 0 0; color:#687c9e; font-size:13px; }.of-modal-card header>a { font-size:28px; color:#59708f; }.of-modal-card footer { bottom:0; justify-content:flex-end; border-top:1px solid var(--of-line); border-bottom:0; box-shadow:0 -8px 18px rgba(31,52,86,.05); }
.of-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:22px 24px; }.of-form-grid label { margin:0; color:#405477; font-size:12px; font-weight:800; }.of-form-grid input,.of-form-grid select,.of-form-grid textarea { margin-top:6px; }.of-form-grid .breit { grid-column:1/-1; }
.of-form-grid input,.of-form-grid select,.of-form-grid textarea { width:100%; min-width:0; box-sizing:border-box; }
.of-form-section { display:flex; align-items:baseline; gap:10px; margin-top:4px; padding:12px 0 2px; border-top:1px solid var(--of-line); }
.of-form-section:first-of-type { margin-top:0; border-top:0; padding-top:0; }
.of-form-section strong { color:var(--of-text); font-size:14px; }.of-form-section span { color:#7b8ca8; font-size:11px; }
.of-hidden { display:none !important; }
.of-open-detail { min-height:42px; display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; border:1px solid #b9d0f5; border-radius:7px; color:#0b63f6; font-size:12px; font-weight:850; }
.ofd-page { --ofd-line:#dce5f1; color:#0d2147; }.ofd-back a { display:inline-flex; align-items:center; gap:5px; color:#0b63f6; font-size:13px; font-weight:800; }.ofd-title { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:14px 0 20px; }.ofd-title h1 { margin:9px 0 4px; font-size:27px; }.ofd-title p { margin:0; color:#647797; }
.ofd-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:16px; background:#fff; border:1px solid var(--ofd-line); border-radius:8px; }.ofd-kpis>div { min-height:86px; display:flex; flex-direction:column; justify-content:center; padding:16px 20px; border-right:1px solid var(--ofd-line); }.ofd-kpis>div:last-child { border:0; }.ofd-kpis span { margin-bottom:7px; color:#6b7f9f; font-size:11px; font-weight:750; }.ofd-kpis strong { font-size:15px; }
.ofd-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:16px; align-items:start; }.ofd-main,.ofd-side { display:grid; gap:16px; }.ofd-card { padding:20px; background:#fff; border:1px solid var(--ofd-line); border-radius:8px; box-shadow:0 8px 24px rgba(31,52,86,.045); }.ofd-card h2 { margin:0; font-size:16px; }.ofd-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:19px; }.ofd-card-head p { margin:5px 0 0; color:#7183a1; font-size:12px; }.ofd-count { min-width:27px; height:25px; display:grid; place-items:center; border-radius:6px; background:#eaf2ff; color:#0b63f6; font-size:11px; font-weight:900; }
.ofd-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; }.ofd-contact-grid>div { display:flex; flex-direction:column; gap:6px; }.ofd-contact-grid .breit { grid-column:1/-1; }.ofd-contact-grid span,.ofd-note span { color:#7183a1; font-size:11px; font-weight:750; }.ofd-contact-grid strong,.ofd-contact-grid a { font-size:13px; }.ofd-contact-grid a { color:#0b63f6; font-weight:750; }
.ofd-data { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0; border:1px solid var(--ofd-line); border-radius:7px; overflow:hidden; }.ofd-data dt,.ofd-data dd { min-height:46px; display:flex; align-items:center; margin:0; padding:10px 13px; border-bottom:1px solid #e8eef6; font-size:12px; }.ofd-data dt { color:#6a7d9d; background:#f8fafd; }.ofd-data dd { justify-content:flex-end; font-weight:800; }.ofd-data dt:nth-last-of-type(1),.ofd-data dd:last-child { border-bottom:0; }.ofd-note { margin-top:18px; padding:15px; border-radius:7px; background:#f7f9fc; }.ofd-note p { margin:7px 0 0; color:#405477; font-size:13px; line-height:1.55; }
.ofd-upload { display:grid; gap:10px; }.ofd-upload>label { min-height:115px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; margin:0; border:1px dashed #9fbae5; border-radius:7px; background:#f8fbff; color:#0b63f6; cursor:pointer; }.ofd-upload label span { color:#7a8ca8; font-size:11px; font-weight:600; }.ofd-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.ofd-upload .btn { width:100%; }
.ofd-files { display:grid; gap:8px; margin-top:15px; }.ofd-file { display:flex; align-items:center; gap:8px; padding:9px; border:1px solid var(--ofd-line); border-radius:7px; }.ofd-file-open { min-width:0; display:flex; align-items:center; gap:9px; flex:1; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; }.ofd-file-open>span:last-child { min-width:0; }.ofd-file strong,.ofd-file small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ofd-file strong { color:#16305b; font-size:12px; }.ofd-file small { margin-top:3px; color:#7183a1; font-size:10px; }.ofd-pdf { width:36px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:6px; background:#ffe5e5; color:#d62f2f; font-size:10px; font-weight:900; }.ofd-file form button { width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:6px; background:#fff1f1; color:#c83232; cursor:pointer; }.ofd-no-files { display:flex; align-items:center; justify-content:center; gap:8px; padding:18px; color:#7a8ca8; font-size:12px; }.ofd-customer-link { display:flex; align-items:center; justify-content:space-between; margin-top:15px; padding-top:15px; border-top:1px solid var(--ofd-line); color:#0b63f6; font-size:12px; font-weight:800; }
.ofd-pdf-modal[hidden] { display:none !important; }.ofd-pdf-modal { position:fixed; z-index:12000; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; }.ofd-pdf-backdrop { position:fixed; inset:0; border:0; background:rgba(8,20,43,.72); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); cursor:default; }.ofd-pdf-window { position:relative; width:min(980px,100%); height:min(820px,calc(100vh - 48px)); height:min(820px,calc(100dvh - 48px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:#eef2f7; box-shadow:0 30px 90px rgba(3,12,30,.42); }.ofd-pdf-window header { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 16px; background:#fff; border-bottom:1px solid #dce5f1; }.ofd-pdf-window header>div { min-width:0; display:flex; align-items:center; gap:11px; }.ofd-pdf-window header strong { overflow:hidden; color:#0d2147; text-overflow:ellipsis; white-space:nowrap; }.ofd-pdf-window header>button { width:40px; height:40px; flex:0 0 auto; border:0; border-radius:10px; background:#eef3f9; color:#263d64; font-size:27px; cursor:pointer; }.ofd-pdf-view { min-height:0; flex:1; padding:12px; }.ofd-pdf-view iframe { width:100%; height:100%; display:block; border:0; border-radius:10px; background:#fff; }.ofd-pdf-offen { overflow:hidden; }
.ofd-position-desc{display:block;margin-top:5px;color:#6c7f9f;font-size:11px;font-weight:500;line-height:1.45}.ofd-comments{display:grid}.ofd-comments article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid #e7edf5}.ofd-comments article:last-child{border-bottom:0}.ofd-comment-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#edf3ff;color:#1763df}.ofd-comment-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ofd-comment-meta strong{font-size:12px}.ofd-comment-meta span{padding:3px 6px;border-radius:5px;background:#f0f3f8;color:#647695;font-size:9px;font-weight:800;text-transform:uppercase}.ofd-comment-meta time{margin-left:auto;color:#7b8ca7;font-size:10px}.ofd-comments p{margin:6px 0 0;color:#405579;font-size:12px;line-height:1.5}.ku-remarks{max-width:210px;white-space:normal!important;line-height:1.45}
@media (max-width:1050px) { .ofd-kpis { grid-template-columns:1fr 1fr; }.ofd-kpis>div:nth-child(2) { border-right:0; }.ofd-kpis>div:nth-child(-n+2) { border-bottom:1px solid var(--ofd-line); }.ofd-layout { grid-template-columns:1fr; }.ofd-side { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) { .ofd-title { align-items:flex-start; }.ofd-title h1 { font-size:22px; }.ofd-title .btn { width:42px; overflow:hidden; gap:20px; white-space:nowrap; }.ofd-kpis { grid-template-columns:1fr 1fr; }.ofd-kpis>div { min-height:76px; padding:12px; }.ofd-kpis strong { font-size:13px; overflow-wrap:anywhere; }.ofd-layout,.ofd-side { grid-template-columns:1fr; }.ofd-card { padding:16px; }.ofd-contact-grid { grid-template-columns:1fr; gap:15px; }.ofd-contact-grid .breit { grid-column:auto; }.ofd-pdf-modal { padding:0; }.ofd-pdf-window { width:100%; height:100vh; height:100dvh; border:0; border-radius:0; }.ofd-pdf-window header { padding-top:max(10px,env(safe-area-inset-top)); }.ofd-pdf-view { padding:0; }.ofd-pdf-view iframe { border-radius:0; } }
@media (max-width:1050px) { .of-kpis { grid-template-columns:1fr 1fr; }.of-layout { grid-template-columns:1fr; }.of-detail { display:none; } }
@media (max-width:700px) {
    .of-page { gap:12px; }.of-kpis { grid-template-columns:1fr 1fr; gap:9px; }.of-kpi { min-height:106px; padding:15px; }.of-kpi svg { display:none; }.of-kpi strong { font-size:18px; }.of-filter { display:grid; grid-template-columns:1fr 1fr; }.of-search { grid-column:1/-1; }.of-filter select { width:100%; }.of-filter .btn { width:100%; }
    .of-tabs { gap:18px; }.of-table thead { display:none; }.of-table,.of-table tbody { display:block; }.of-table tr { position:relative; display:grid; grid-template-columns:1fr auto; gap:9px 12px; padding:16px; border-top:1px solid var(--of-line); }.of-table td { display:block; padding:0; border:0; }.of-table td:nth-child(1) { grid-column:1/-1; }.of-table td:nth-child(2) { grid-column:1; }.of-table td:nth-child(3) { grid-column:2; grid-row:2; }.of-table td:nth-child(4)::before { content:'Betrag'; display:block; color:#7183a1; font-size:10px; }.of-table td:nth-child(5)::before { content:'Nachfassen'; display:block; color:#7183a1; font-size:10px; }.of-table td:nth-child(6) { align-self:end; }.of-table td:nth-child(7) { position:absolute; top:15px; right:15px; }.of-title { padding-right:40px; }.of-empty { min-height:230px; }
    .of-modal { padding:0; align-items:flex-end; }.of-modal-card { max-height:94vh; max-height:94dvh; margin:auto 0 0; border-radius:8px 8px 0 0; }.of-form-grid { grid-template-columns:1fr; padding:18px; }.of-form-grid .breit { grid-column:auto; }.of-form-section { display:block; }.of-form-section span { display:block; margin-top:3px; }.of-modal-card header,.of-modal-card footer { padding:17px 18px; }.of-modal-card footer .btn { flex:1; }
}

/* ====================================================================
   MOBILE (iPhone) – eigenes Layout für die Seitenleisten-Variante
   ==================================================================== */
.nur-mobil { display: none; }
.mobil-topbar, .drawer-overlay, .mobil-tabbar { display: none; }

@media (max-width: 700px) {
    .nur-desktop { display: none !important; }
    .nur-mobil { display: block; }

    /* --- Mobiler Kopf --- */
    .mobil-topbar {
        display: flex;
        align-items: center;
        gap: 12px;
        background: #fff;
        padding: calc(10px + env(safe-area-inset-top)) 16px 10px;
        border-bottom: 1px solid var(--grau-100);
        position: sticky; top: 0; z-index: 250;
    }
    .mobil-hamburger {
        background: none; border: none; padding: 6px; cursor: pointer;
        display: flex; flex-direction: column; gap: 4px; flex-shrink: 0;
    }
    .mobil-hamburger span { width: 22px; height: 2.5px; border-radius: 2px; background: var(--navy); display: block; }
    .mobil-gruss { flex: 1; min-width: 0; line-height: 1.25; }
    .mobil-gruss strong { display: block; font-size: 17px; color: var(--navy); font-weight: 800; letter-spacing: -.01em;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mobil-gruss small { color: var(--grau-400); font-size: 12.5px; }
    /* Glocke im mobilen Kopf + Bottom-Sheet */
    .mobil-topbar .glocke-wrap { flex-shrink: 0; }
    .mobil-topbar .glocke { width: 40px; height: 40px; border-radius: 50%; }
    .glocke-overlay {
        display: none; position: fixed; inset: 0; background: rgba(8,18,38,.5); z-index: 295;
    }
    .glocke-wrap.offen .glocke-overlay { display: block; }
    .glocke-wrap .glocke-panel {
        position: fixed; left: 0; right: 0; bottom: 0; top: auto;
        width: 100%; max-width: none; max-height: 72vh; height: 72dvh;
        border-radius: 18px 18px 0 0; border: none;
        transform: translateY(100%); transition: transform .28s cubic-bezier(.4,0,.2,1);
        display: flex; z-index: 300;
    }
    .glocke-wrap.offen .glocke-panel { transform: none; animation: none; }
    .glocke-griff {
        display: block; width: 40px; height: 4px; border-radius: 99px;
        background: var(--grau-200); margin: 8px auto 2px; flex-shrink: 0;
    }
    .glocke-tabs { height: 50px; }
    .gt { font-size: 15px; padding: 0 16px; }
    .gn { padding: 14px 16px; }
    .gn-text { font-size: 14px; }
    body.glocke-sheet-offen { overflow: hidden; }
    .mobil-avatar {
        flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; color: #fff;
        display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px;
        text-decoration: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--grau-100);
        overflow: hidden;
    }
    .mobil-avatar .avatar-kreis { width: 100%; height: 100%; }

    /* --- Seitenleiste wird Off-Canvas-Drawer --- */
    .app-rahmen { display: block; }
    .seitenleiste {
        position: fixed; top: 0; left: 0; height: 100%; width: 270px;
        transform: translateX(-100%); transition: transform .25s ease; z-index: 300;
        padding-top: calc(16px + env(safe-area-inset-top));
    }
    body.drawer-offen .seitenleiste { transform: none; }
    .seitenleiste .s-nav { flex-direction: column; }
    .seitenleiste .s-nav a { flex: none; }
    .seitenleiste .schnellzugriff { display: block; }
    .drawer-overlay { position: fixed; inset: 0; background: rgba(8,18,38,.5); z-index: 290; }
    body.drawer-offen .drawer-overlay { display: block; }
    .haupt-kopf { display: none; }
    .hauptbereich { display: block; }
    body.layout-seite .inhalt {
        max-width: none; margin: 0; width: auto;
        padding: 16px 14px calc(78px + env(safe-area-inset-bottom));
    }

    /* --- Schwebendes Dock (untere Navigation) --- */
    .mobil-tabbar {
        display: flex; justify-content: center;
        position: fixed; left: 0; right: 0; z-index: 200;
        bottom: calc(14px + env(safe-area-inset-bottom));
        pointer-events: none;
    }
    .dock {
        pointer-events: auto;
        display: flex; align-items: flex-end; gap: 6px;
        padding: 9px 12px; border-radius: 26px;
        background: rgba(255, 255, 255, .72);
        backdrop-filter: blur(22px) saturate(1.4);
        -webkit-backdrop-filter: blur(22px) saturate(1.4);
        border: 1px solid rgba(255, 255, 255, .8);
        box-shadow: 0 12px 34px -8px rgba(15, 23, 42, .35), 0 2px 8px rgba(15, 23, 42, .12);
        animation: dock-bob 8s ease-in-out infinite;
    }
    @keyframes dock-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
    .dock-item {
        position: relative; background: none; border: none; cursor: pointer;
        display: flex; flex-direction: column; align-items: center; gap: 4px;
        padding: 0; text-decoration: none;
    }
    .dock-btn {
        width: 46px; height: 46px; border-radius: 16px;
        display: flex; align-items: center; justify-content: center;
        color: var(--grau-600);
        transition: transform .26s cubic-bezier(.34, 1.56, .64, 1),
                    background .2s ease, box-shadow .2s ease, color .2s ease;
    }
    .dock-item:hover .dock-btn,
    .dock-item:active .dock-btn,
    .dock-item:focus-visible .dock-btn {
        transform: scale(1.18) rotate(-5deg);
        background: var(--primaer-hell);
        color: var(--primaer);
        box-shadow: 0 0 0 1px rgba(29, 78, 216, .4), 0 10px 22px -6px rgba(29, 78, 216, .45);
    }
    .dock-item.aktiv .dock-btn { color: var(--primaer); }
    .dock-dot {
        width: 6px; height: 6px; border-radius: 50%;
        background: var(--primaer); opacity: 0; transition: opacity .2s ease;
    }
    .dock-item.aktiv .dock-dot { opacity: 1; }
    @media (prefers-reduced-motion: reduce) { .dock { animation: none; } }

    /* --- Greeting im Inhalt ausblenden (steht jetzt im Kopf) --- */
    .dash-kopf { display: none; }

    /* --- KPI: 3 Spalten, Icon oben rechts (Label nutzt volle Breite) --- */
    .kpi-reihe { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 16px; }
    .kpi {
        display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start;
        gap: 7px; padding: 11px 10px; border-radius: 14px;
    }
    .kpi-text { min-width: 0; }
    .kpi-icon { width: 30px; height: 30px; font-size: 15px; border-radius: 9px; }
    .kpi-label { font-size: 10.5px; line-height: 1.25; overflow-wrap: anywhere; hyphens: auto; }
    .kpi-zahl { font-size: 21px; margin-top: 4px; }
    .kpi-zusatz { font-size: 9.5px; margin-top: 3px; }

    /* --- Karten kompakter --- */
    .dash-spalten { gap: 16px; }
    .karte { padding: 16px; border-radius: 16px; }
    .widget-kopf h3 { font-size: 15px; }

    /* --- Einsatzplan als Liste --- */
    .einsatz-mobil { display: flex; flex-direction: column; gap: 10px; }
    .em-zeile {
        display: flex; align-items: stretch; gap: 10px;
        border: 1px solid var(--grau-100); border-left: 4px solid var(--bf);
        border-radius: 12px; padding: 11px 12px; text-decoration: none; color: var(--grau-800);
        background: #fff;
    }
    .em-zeile:hover { text-decoration: none; }
    .em-zeit { flex-shrink: 0; width: 58px; }
    .em-zeit strong { display: block; font-size: 15px; font-weight: 800; color: var(--navy); }
    .em-zeit small { color: var(--grau-400); font-size: 12px; }
    .em-haupt { flex: 1; min-width: 0; }
    .em-titel { font-weight: 700; font-size: 14.5px; color: var(--navy); }
    .em-leistung { font-size: 12.5px; color: var(--grau-600); }
    .em-adr { font-size: 12px; color: var(--grau-400); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .em-team { display: flex; align-items: center; gap: 5px; margin-top: 6px; font-size: 12px; color: var(--grau-600); }
    .em-rechts { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 6px; flex-shrink: 0; }
    .em-pfeil { color: var(--grau-400); font-size: 20px; line-height: 1; }
    .em-mehr { display: block; text-align: left; font-weight: 600; font-size: 13.5px; padding-top: 4px; }

    /* --- Schnellzugriff-Kacheln (4 Spalten) --- */
    .schnell-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
    .schnell-titel { grid-column: 1 / -1; font-size: 16px; font-weight: 700; color: var(--navy); margin: 4px 0 2px; }
    .schnell-kachel {
        background: #fff; border: 1px solid var(--grau-100); border-radius: 14px;
        padding: 14px 4px; display: flex; flex-direction: column; align-items: center; gap: 7px;
        text-decoration: none; box-shadow: var(--schatten-karte);
    }
    .schnell-kachel:hover { text-decoration: none; }
    .schnell-icon { font-size: 22px; line-height: 1; }
    .schnell-label { font-size: 10.5px; font-weight: 600; color: var(--grau-800); text-align: center; line-height: 1.2; }

    /* --- Rechte Spalte stapeln --- */
    .dash-rechts { flex-direction: column; }
    .dash-rechts .karte { min-width: 0; }
    .dash-widgets { grid-template-columns: 1fr; gap: 16px; }

    /* --- Klassisches Layout auf dem Handy: Inhalt bekommt Luft --- */
}

/* Mobile-Feinschliff: Überlauf vermeiden */
@media (max-width: 700px) {
    .widget-kopf { flex-wrap: wrap; row-gap: 8px; }
    .widget-kopf h3 { flex: 1 1 100%; }
    .plan-tabs { width: 100%; }
    .plan-tabs a { flex: 1; text-align: center; }
    .dash-spalten > .karte, .dash-rechts .karte, .dash-widgets .karte { min-width: 0; }
    body.layout-seite .inhalt { overflow-x: hidden; }
    .res-plan.nur-desktop { display: none !important; }
}

/* Icon+Text-Ausrichtung in Kopfleisten-Links */
.hk-link, .profil-link { display: inline-flex; align-items: center; gap: 6px; }
.hk-link .ic, .profil-link .ic { display: block; }
.glocke .ic { display: block; }
.s-nav a .ic, .schnellzugriff a .ic { display: block; }

/* Glocke-Trigger im klassischen (dunklen) Topbar */
.topbar .glocke {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.18);
    color: #fff;
}
.topbar .glocke:hover { background: rgba(255,255,255,.22); color: #fff; box-shadow: none; }
.topbar .glocke-panel { color: var(--grau-800); }


/* ---------- Einsatzplan Host-Variante: übernommen aus glanz-y host ---------- */
/* ---------- Einsatzplan Final: Safari-stabiles Layout ---------- */
.ep-seitenkopf { margin-bottom: 18px; }
.ep-seitenkopf h1 { margin: 0 0 3px; font-size: 24px; font-weight: 800; color: var(--navy); letter-spacing: 0; }
.ep-seitenkopf p { margin: 0; color: var(--grau-400); font-size: 14.5px; }
body.layout-seite .ep-seitenkopf { display: none; }
.ep-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
.ep-layout.ep-voll { grid-template-columns: 1fr; }
.ep-haupt { min-width: 0; }
.ep-karte { padding: 18px; }
.ep-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.ep-umschalter { display: inline-flex; background: var(--grau-100); border-radius: 10px; padding: 3px; gap: 2px; }
.ep-umschalter a { padding: 6px 16px; border-radius: 8px; font-weight: 600; font-size: 13.5px; color: var(--grau-600); }
.ep-umschalter a:hover { color: var(--navy); text-decoration: none; }
.ep-umschalter a.aktiv { background: var(--primaer); color: #fff; box-shadow: 0 1px 2px rgba(29,78,216,.3); }
.ep-datumnav { display: inline-flex; align-items: center; gap: 10px; }
.ep-pfeil { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9px; border: 1px solid var(--grau-200); color: var(--grau-600); background: #fff; }
.ep-pfeil:hover { background: var(--grau-100); color: var(--navy); text-decoration: none; }
.ep-pfeil .ic { display: block; }
.ep-datum { font-weight: 700; color: var(--navy); font-size: 15px; min-width: 196px; text-align: center; }
.ep-werkzeuge { display: inline-flex; align-items: center; gap: 8px; }
.ep-heute, .ep-chip, .ep-icon-btn { border: 1px solid var(--grau-200); border-radius: 9px; color: var(--grau-600); background: #fff; font-weight: 600; font-size: 13px; }
.ep-heute { padding: 7px 14px; }
.ep-chip { display: inline-flex; align-items: center; gap: 4px; padding: 7px 12px; }
.ep-chip .ic { color: var(--grau-400); }
.ep-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; }
.ep-heute:hover, .ep-chip:hover, .ep-icon-btn:hover { background: var(--grau-100); color: var(--navy); text-decoration: none; }

.ep-timeline { border: 1px solid var(--grau-200); border-radius: 14px; overflow-x: auto; background: #fff; }
.ep-grid-kopf { display: grid; grid-template-columns: 210px 1fr; border-bottom: 1px solid var(--grau-200); background: var(--grau-50); min-width: 700px; }
.ep-kopf-ma { padding: 13px 16px; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--grau-400); border-right: 1px solid var(--grau-200); }
.ep-kopf-zeit { position: relative; height: 46px; }
.ep-stunde { position: absolute; top: 50%; font-size: 12px; font-weight: 600; color: var(--grau-400); white-space: nowrap; }
.ep-grid-body { min-width: 700px; }
.ep-leer { padding: 40px; text-align: center; color: var(--grau-400); }
.ep-zeile { display: grid; grid-template-columns: 210px 1fr; min-height: 86px; border-bottom: 1px solid var(--grau-100); }
.ep-zeile:last-child { border-bottom: 0; }
.ep-ma { display: flex; align-items: center; gap: 11px; padding: 12px 16px; border-right: 1px solid var(--grau-200); min-width: 0; }
.ep-ma-text { min-width: 0; display: flex; flex-direction: column; flex: 1; }
.ep-ma-text strong { font-size: 14px; color: var(--navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ep-ma-text small { font-size: 12px; color: var(--grau-400); }
.ep-status { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.ep-status.aktiv { background: var(--gruen); }
.ep-status.leer { background: #fbbf24; }
.ep-status.frei { background: var(--grau-200); }
.ep-unzu-zeile { background: #fbfcff; }
.ep-unzu-icon { width: 34px; height: 34px; border-radius: 9px; background: var(--primaer-hell); color: var(--primaer); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ep-unzu-icon .ic { display: block; }
.ep-track { position: relative; min-height: 86px; }
.ep-line { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--grau-100); }
.ep-bar { position: absolute; top: 10px; bottom: 10px; box-sizing: border-box; min-width: 118px; border-radius: 10px; padding: 8px 28px 7px 10px; overflow: hidden; color: var(--navy); background: #eff6ff; border: 1px solid var(--blau-200); border-left: 4px solid var(--c); box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.ep-bar:hover { text-decoration: none; box-shadow: 0 5px 14px rgba(15,23,42,.12); z-index: 5; }
.ep-bar.gewaehlt { box-shadow: 0 0 0 2px var(--c); }
.ep-bar-icon { position: absolute; top: 6px; right: 7px; color: var(--c); opacity: .7; }
.ep-bar-icon .ic { display: block; }
.ep-bar-titel { display: block; font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 14px; }
.ep-bar-sub { display: block; font-size: 11.5px; color: var(--grau-600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ep-bar-zeit { display: block; font-size: 11px; color: var(--grau-400); }
.ep-bar.st-erledigt { opacity: .6; }
.ep-bar.st-abgesagt { opacity: .45; text-decoration: line-through; }
.ep-abwesend { position: absolute; top: 10px; bottom: 10px; left: 0; right: 0; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: var(--grau-400); border: 1px solid var(--grau-200); background: repeating-linear-gradient(-45deg, #f8fafc, #f8fafc 6px, #eef2f7 6px, #eef2f7 12px); }
.ep-legende { display: flex; flex-wrap: wrap; gap: 16px 20px; padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--grau-100); font-size: 13px; color: var(--grau-600); }
.ep-legende span { display: inline-flex; align-items: center; gap: 7px; }
.ep-punkt { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.ep-punkt-leer { border: 1.5px solid var(--grau-200); background: #fff; }

.ep-woche { border: 1px solid var(--grau-200); border-radius: 14px; overflow-x: auto; background: #fff; }
.ep-w-kopf, .ep-w-zeile { display: grid; grid-template-columns: 170px repeat(7, minmax(82px, 1fr)); min-width: 744px; }
.ep-w-kopf { border-bottom: 1px solid var(--grau-200); background: var(--grau-50); }
.ep-w-eck { padding: 12px 14px; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--grau-400); border-right: 1px solid var(--grau-200); display: flex; align-items: center; }
.ep-w-tagkopf { padding: 9px 8px; border-right: 1px solid var(--grau-200); display: flex; flex-direction: column; gap: 2px; align-items: center; justify-content: center; }
.ep-w-tagkopf:last-child { border-right: 0; }
.ep-w-wt { font-size: 12px; font-weight: 700; color: var(--grau-600); }
.ep-w-datum { font-size: 11.5px; color: var(--grau-400); }
.ep-w-num { font-weight: 700; color: var(--grau-600); }
.ep-w-tagkopf.heute .ep-w-wt, .ep-w-tagkopf.heute .ep-w-datum { color: var(--primaer); }
.ep-w-tagkopf.heute .ep-w-num { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; border-radius: 50%; background: var(--primaer); color: #fff; }
.ep-w-zeile { border-bottom: 1px solid var(--grau-100); min-height: 92px; }
.ep-w-zeile:last-child { border-bottom: 0; }
.ep-w-zeile .ep-ma { border-right: 1px solid var(--grau-200); padding: 11px 12px; gap: 9px; }
.ep-w-zelle { border-right: 1px solid var(--grau-100); padding: 7px; display: flex; flex-direction: column; gap: 6px; }
.ep-w-zelle:last-child { border-right: 0; }
.ep-w-zelle.we { background: #fafbfc; }
.ep-w-zelle.heute { background: #f7fbff; }
.ep-w-leer { color: var(--grau-200); text-align: center; margin: auto; font-size: 15px; }
.ep-w-abw-mini { margin: auto; font-size: 11px; font-weight: 600; color: var(--grau-400); border: 1px solid var(--grau-200); border-radius: 7px; padding: 4px 8px; }
.ep-w-abwesend { margin: 10px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: var(--grau-400); border: 1px solid var(--grau-200); background: repeating-linear-gradient(-45deg, #f8fafc, #f8fafc 6px, #eef2f7 6px, #eef2f7 12px); }
.ep-w-chip { display: block; position: relative; border-radius: 9px; padding: 6px 8px; overflow: hidden; color: var(--navy); background: #eff6ff; border: 1px solid var(--blau-200); border-left: 3px solid var(--c); }
.ep-w-chip:hover { text-decoration: none; box-shadow: 0 4px 10px rgba(15,23,42,.1); }
.ep-w-chip.gewaehlt { box-shadow: 0 0 0 2px var(--c); }
.ep-w-chip.st-abgesagt { opacity: .6; }
.ep-w-chip-icon { position: absolute; top: 5px; right: 6px; color: var(--c); opacity: .7; }
.ep-w-chip-icon .ic { display: block; }
.ep-w-chip-titel { display: block; font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 14px; }
.ep-w-chip-zeit { display: block; font-size: 11px; color: var(--grau-400); white-space: nowrap; }

.ep-m-titel { font-size: 17px; font-weight: 800; color: var(--navy); margin: 0 0 12px; }
.ep-monat { overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.ep-m-kopf,
.ep-m-gitter { grid-template-columns: repeat(7, minmax(0, 1fr)); min-width: 840px; }
.ep-m-kopf { display: grid; border: 1px solid var(--grau-200); border-bottom: 0; border-radius: 12px 12px 0 0; background: var(--grau-50); }
.ep-m-kopf span { padding: 10px 8px; border-right: 1px solid var(--grau-100); font-size: 12px; font-weight: 700; color: var(--grau-400); text-align: center; }
.ep-m-kopf span:last-child { border-right: 0; }
.ep-m-gitter { display: grid; border: 1px solid var(--grau-200); border-radius: 0 0 12px 12px; overflow: hidden; background: #fff; }
.ep-m-zelle { min-width: 0; min-height: 116px; overflow: hidden; border-right: 1px solid var(--grau-100); border-bottom: 1px solid var(--grau-100); padding: 8px; display: flex; flex-direction: column; gap: 5px; }
.ep-m-zelle:nth-child(7n) { border-right: 0; }
.ep-m-zelle:nth-last-child(-n+7) { border-bottom: 0; }
.ep-m-zelle.fremd { background: var(--grau-50); }
.ep-m-num { font-size: 13px; font-weight: 600; color: var(--grau-600); align-self: flex-start; min-width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; }
.ep-m-zelle.fremd .ep-m-num { color: var(--grau-400); }
.ep-m-zelle.heute .ep-m-num { background: var(--primaer); color: #fff; border-radius: 50%; }
.ep-m-chip { display: block; width: 100%; min-width: 0; box-sizing: border-box; border-radius: 7px; padding: 5px 7px; overflow: hidden; color: var(--navy); background: #eff6ff; border-left: 3px solid var(--c); }
.ep-m-chip:hover { text-decoration: none; filter: brightness(.97); }
.ep-m-chip-titel { display: block; font-size: 11.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ep-m-chip-zeit { display: block; font-size: 10.5px; color: var(--grau-400); }
.ep-m-mehr { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; color: var(--primaer); font-weight: 600; padding-left: 2px; }
.ep-m-mehr:hover { text-decoration: underline; }

.ep-seite { display: flex; flex-direction: column; gap: 18px; }
.ep-uebersicht h3, .ep-unzu h3, .ep-detail h3, .ep-notiz h3, .ep-minikal h3, .ep-topk h3, .ep-statkarte h3, .ep-hinweise h3, .ep-abw-karte h3 { margin: 0 0 14px; }
.ep-stat { display: flex; align-items: center; gap: 12px; padding: 9px 0; }
.ep-stat + .ep-stat { border-top: 1px solid var(--grau-100); }
.ep-stat-ic { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ep-stat-ic.blau { background: var(--primaer-hell); color: var(--primaer); }
.ep-stat-ic.gelb { background: #fef9c3; color: #ca8a04; }
.ep-stat-ic.gruen { background: #dcfce7; color: var(--gruen); }
.ep-stat-ic.rot { background: #fee2e2; color: var(--rot); }
.ep-stat-label { flex: 1; font-size: 13.5px; color: var(--grau-600); }
.ep-stat-wert { font-weight: 800; font-size: 16px; color: var(--navy); }
.ep-ueb-link { display: block; text-align: center; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--grau-100); color: var(--primaer); font-weight: 600; font-size: 13.5px; }
.ep-ueb-link:hover { text-decoration: none; color: var(--primaer-dunkel); }
.ep-mk-kopf, .ep-unzu-kopf { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.ep-mk-kopf strong { font-size: 14.5px; color: var(--navy); }
.ep-mk-gitter { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.ep-mk-wt { text-align: center; font-size: 11px; font-weight: 700; color: var(--grau-400); padding-bottom: 4px; }
.ep-mk-tag { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 8px; font-size: 12.5px; color: var(--grau-600); }
.ep-mk-tag:hover { background: var(--grau-100); text-decoration: none; }
.ep-mk-tag.leer { pointer-events: none; }
.ep-mk-tag.heute { color: var(--primaer); font-weight: 800; }
.ep-mk-tag.gewaehlt { background: var(--primaer); color: #fff; font-weight: 700; }
.ep-mk-tag.woche:not(.gewaehlt) { background: var(--primaer-hell); color: var(--primaer-dunkel); font-weight: 600; }
.ep-unzu-zahl { background: var(--primaer-hell); color: var(--primaer); font-size: 12px; font-weight: 700; padding: 1px 8px; border-radius: 99px; }
.ep-unzu-karte { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border: 1px solid var(--grau-200); border-radius: 11px; margin-bottom: 8px; }
.ep-unzu-karte:hover { background: var(--grau-50); text-decoration: none; border-color: var(--blau-200); }
.ep-unzu-punkt { width: 9px; height: 9px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.ep-unzu-text { display: flex; flex-direction: column; min-width: 0; }
.ep-unzu-text strong { font-size: 13.5px; color: var(--navy); }
.ep-unzu-text small { font-size: 12px; color: var(--grau-400); }
.ep-unzu-leer, .ep-detail-leer, .ep-notiz-leer { color: var(--grau-400); font-size: 13.5px; }
.ep-unzu-alle { display: block; text-align: center; padding: 9px; border-radius: 9px; background: var(--grau-50); color: var(--primaer); font-weight: 600; font-size: 13.5px; margin-top: 4px; }
.ep-unzu-alle:hover { background: var(--grau-100); text-decoration: none; }
.ep-unten { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.ep-unten-3 { grid-template-columns: 1.2fr 1fr 1fr; }
.ep-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ep-kachel { border: 1px solid var(--grau-200); border-radius: 12px; padding: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.ep-kachel-zahl { font-size: 24px; font-weight: 800; color: var(--navy); line-height: 1.1; }
.ep-kachel-label { font-size: 12.5px; color: var(--grau-400); margin-top: 3px; }
.ep-kachel-ic { width: 34px; height: 34px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ep-kachel-ic.blau { background: var(--primaer-hell); color: var(--primaer); }
.ep-kachel-ic.gruen { background: #dcfce7; color: var(--gruen); }
.ep-kachel-ic.gelb { background: #fef9c3; color: #ca8a04; }
.ep-kachel-ic.rot { background: #fee2e2; color: var(--rot); }
.ep-detail-kopf, .ep-hinweis, .ep-abw-zeile { display: flex; gap: 10px; align-items: flex-start; }
.ep-detail-punkt { width: 12px; height: 12px; border-radius: 50%; margin-top: 4px; flex-shrink: 0; }
.ep-detail-titel { font-size: 16px; font-weight: 700; color: var(--navy); }
.ep-detail-sub { font-size: 13px; color: var(--grau-400); }
.ep-detail-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.ep-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ep-info-label { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 700; color: var(--grau-400); text-transform: uppercase; letter-spacing: .03em; }
.ep-info-wert { font-size: 13.5px; color: var(--navy); }
.ep-detail-aktionen { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--grau-100); }
.ep-erledigt-badge { display: inline-flex; align-items: center; gap: 6px; color: var(--gruen); font-weight: 600; font-size: 13.5px; }
.ep-notiz-box { min-height: 120px; border: 1px solid var(--grau-200); border-radius: 12px; padding: 14px; background: var(--grau-50); font-size: 13.5px; color: var(--grau-800); line-height: 1.6; }
.ep-notiz-meta { margin: 10px 0 0; font-size: 12px; color: var(--grau-400); }
.ep-hinweis { padding: 11px 0; }
.ep-hinweis + .ep-hinweis, .ep-abw-zeile + .ep-abw-zeile { border-top: 1px solid var(--grau-100); }
.ep-hinweis-ic { flex-shrink: 0; margin-top: 1px; }
.ep-hinweis-ic.info { color: var(--primaer); }
.ep-hinweis-ic.warn { color: #ca8a04; }
.ep-hinweis-text { font-size: 13px; color: var(--grau-800); line-height: 1.5; }
.ep-abw-text { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.ep-abw-text strong { font-size: 13.5px; color: var(--navy); }
.ep-abw-text small { font-size: 12px; color: var(--grau-400); }
.ep-abw-badge { margin-left: auto; align-self: center; font-size: 11px; font-weight: 600; padding: 2px 10px; border-radius: 99px; flex-shrink: 0; }
.ep-abw-badge.ferien { background: var(--primaer-hell); color: var(--primaer); }
.ep-abw-badge.krankheit { background: #fee2e2; color: var(--rot); }
.ep-abw-badge.sonstiges { background: var(--grau-100); color: var(--grau-600); }

@media (max-width: 980px) {
    .ep-layout { grid-template-columns: 1fr; }
    .ep-seite { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ep-unten-3 { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    body.layout-seite .ep-seitenkopf { display: block; }
    .ep-karte { padding: 14px; }
    .ep-toolbar { gap: 10px; }
    .ep-datum { min-width: 0; font-size: 14px; }
    .ep-werkzeuge { width: 100%; justify-content: flex-start; overflow-x: auto; }
    .ep-unten, .ep-seite, .ep-detail-raster { grid-template-columns: 1fr; }
    .ep-stat-grid { grid-template-columns: 1fr; }
    .ep-detail-aktionen { flex-direction: column; align-items: stretch; }
    .ep-detail-aktionen .btn { text-align: center; }
}

.ep-grid-kopf,
.ep-grid-body {
    min-width: 840px;
}

@media (max-width: 1500px) {
    .ep-layout {
        grid-template-columns: 1fr;
    }
    .ep-seite {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ====================================================================
   Einheitliche mobile Arbeitsoberfläche
   ==================================================================== */
@media (max-width: 700px) {
    body.layout-seite {
        background: #f3f6fa;
    }
    .mobil-topbar {
        min-height: 64px;
        gap: 9px;
        padding: calc(8px + env(safe-area-inset-top)) 12px 8px;
        box-shadow: 0 2px 12px rgba(15,23,42,.05);
    }
    .mobil-gruss strong {
        font-size: 16px;
        letter-spacing: 0;
    }
    .mobil-gruss small {
        display: block;
        margin-top: 2px;
        font-size: 10.5px;
    }
    .mobil-topbar .glocke,
    .mobil-push,
    .mobil-sync,
    .mobil-avatar {
        width: 36px;
        height: 36px;
        min-width: 36px;
    }
    .mobil-avatar {
        display: none;
    }
    body.layout-seite .inhalt {
        padding: 12px 12px calc(76px + env(safe-area-inset-bottom));
    }
.fusszeile {
        display: none;
    }

    /* Stabile Navigation mit sichtbaren Beschriftungen. */
    .mobil-tabbar {
        bottom: 0;
        padding-bottom: env(safe-area-inset-bottom);
        background: rgba(255,255,255,.96);
        border-top: 1px solid #dfe7f2;
        box-shadow: 0 -5px 18px rgba(15,23,42,.07);
    }
    .dock {
        width: 100%;
        max-width: 560px;
        display: grid;
        grid-template-columns: repeat(5, minmax(0,1fr));
        gap: 0;
        padding: 5px 6px 4px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        animation: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .dock-item {
        min-width: 0;
        align-items: center;
        gap: 1px;
    }
    .dock-btn {
        width: 36px;
        height: 34px;
        border-radius: 10px;
    }
    .dock-btn .ic {
        width: 21px;
        height: 21px;
    }
    .dock-label {
        display: block;
        max-width: 100%;
        overflow: hidden;
        color: #6d7d97;
        font-size: 9px;
        font-weight: 750;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .dock-item.aktiv .dock-btn {
        background: #eaf2ff;
        color: #0b63f6;
    }
    .dock-item.aktiv .dock-label {
        color: #0b63f6;
    }
    .dock-item:hover .dock-btn,
    .dock-item:active .dock-btn,
    .dock-item:focus-visible .dock-btn {
        transform: none;
        box-shadow: none;
    }
    .dock-dot {
        display: none;
    }

    /* Kennzahlen kompakt statt als lange vertikale Wand. */
    .kpi-reihe,
    .zt-kpis,
    .ma-kpis,
    .ku-kpis,
    .au-kpis,
    .pl-kpis,
    .fa-kpis,
    .la-kpis,
    .of-kpis {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 10px;
        margin-bottom: 12px;
    }
    .mobile-metrics-toggle {
        width: 100%;
        min-height: 44px;
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 0 0 10px;
        padding: 0 13px;
        border: 1px solid #dbe4f0;
        border-radius: 8px;
        background: #fff;
        color: #405983;
        box-shadow: 0 3px 10px rgba(15, 35, 68, .04);
        font-size: 12px;
        font-weight: 800;
        text-align: left;
    }
    .mobile-metrics-toggle[hidden] { display: none !important; }
    .mobile-metrics-toggle span { flex: 1; }
    .mobile-metrics-toggle > .ic:last-child { transition: transform .18s ease; }
    .mobile-metrics-toggle.offen > .ic:last-child { transform: rotate(180deg); }
    .mobile-metrics-toggle + [hidden] { display: none !important; }
    .kpi,
    .zt-kpi,
    .ma-kpi,
    .ku-kpi,
    .au-kpi,
    .pl-kpi,
    .fa-kpi,
    .la-kpi,
    .of-kpi {
        min-height: 94px;
        padding: 14px;
        border-radius: 14px;
    }
    .zt-kpi i,
    .ma-kpi i,
    .ku-kpi i,
    .au-kpi i,
    .pl-kpi i,
    .fa-kpi i,
    .la-kpi i,
    .of-kpi svg {
        display: none;
    }
    .zt-kpi strong,
    .ma-kpi strong,
    .ku-kpi strong,
    .au-kpi strong,
    .pl-kpi strong,
    .fa-kpi strong,
    .la-kpi strong,
    .of-kpi strong {
        margin: 6px 0 4px;
        font-size: 22px;
        letter-spacing: 0;
    }
    .zt-kpi span,.zt-kpi small,
    .ma-kpi span,.ma-kpi small,
    .ku-kpi span,.ku-kpi small,
    .au-kpi span,.au-kpi small,
    .pl-kpi span,.pl-kpi small,
    .fa-kpi span,.fa-kpi small,
    .la-kpi span,.la-kpi small,
    .of-kpi span,.of-kpi small {
        font-size: 10.5px;
        line-height: 1.25;
    }

    /* Filter und Tabs bleiben erreichbar, ohne den Inhalt zu verdrängen. */
    .zt-tabs,
    .ma-tabs,
    .ku-tabs,
    .au-tabs,
    .pl-tabs,
    .fa-tabs,
    .la-tabs,
    .of-tabs,
    .ad-detail-tabs {
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .zt-tabs::-webkit-scrollbar,
    .ma-tabs::-webkit-scrollbar,
    .ku-tabs::-webkit-scrollbar,
    .au-tabs::-webkit-scrollbar,
    .pl-tabs::-webkit-scrollbar,
    .fa-tabs::-webkit-scrollbar,
    .la-tabs::-webkit-scrollbar,
    .of-tabs::-webkit-scrollbar {
        display: none;
    }
    .ku-tabs,
    .au-tabs,
    .of-tabs {
        min-height: 52px;
        gap: 18px;
        padding: 0 4px;
    }
    .ku-tabs a,
    .au-tabs a,
    .of-tabs a {
        min-height: 43px;
        flex: 0 0 auto;
        font-size: 12px;
    }
    .of-filter,
    .ku-head-form,
    .au-head-form {
        gap: 8px;
    }

    /* Einheitliche mobile Karten und sicherer Textumbruch. */
    .karte,
    .zt-card,.ma-card,.ku-card,.au-card,.pl-card,.fa-card,.la-card,
    .of-list-card,.of-detail,.ofd-card {
        border-radius: 14px;
    }
    .karte h1,.karte h2,.karte h3,
    .zt-card h2,.ma-card h2,.ku-card h2,.au-card h2,
    .pl-card h2,.fa-card h2,.la-card h2,.ofd-card h2 {
        letter-spacing: 0;
    }
    table {
        font-size: 12px;
    }
    th,td {
        overflow-wrap: anywhere;
    }
    input,select,textarea,button {
        max-width: 100%;
    }
    .formular-raster,
    .form-grid,
    .ae-two {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .seitenkopf {
        align-items: flex-start;
        gap: 10px;
    }
    .seitenkopf h1 {
        font-size: 22px;
    }

    /* Kundenliste als lesbare Datensätze statt breite Desktop-Tabelle. */
    .ku-table-wrap,
    .ma-table-wrap,
    .zt-table-wrap,
    .la-table-wrap {
        margin: 0;
        overflow: visible;
    }
    .ku-table,
    .ku-table tbody,
    .ma-table,
    .ma-table tbody,
    .zt-table,
    .zt-table tbody,
    .la-table,
    .la-table tbody {
        display: block;
        min-width: 0;
        width: 100%;
    }
    .ku-table thead,
    .ma-table thead,
    .zt-table thead,
    .la-table thead {
        display: none;
    }
    .ku-table tr,
    .ma-table tr,
    .zt-table tr,
    .la-table tr {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: 9px 12px;
        margin: 0 0 10px;
        padding: 14px;
        border: 1px solid #e2e9f3;
        border-radius: 12px;
        background: #fff;
    }
    .ku-table td,
    .ma-table td,
    .zt-table td,
    .la-table td {
        display: block;
        min-width: 0;
        padding: 0;
        border: 0;
        font-size: 12px;
    }
    .ku-table td:first-child,
    .ma-table td:first-child,
    .zt-table td:first-child,
    .la-table td:first-child {
        grid-column: 1 / -1;
        padding: 0 38px 9px 0;
        border-bottom: 1px solid #edf1f6;
    }
    .ku-table td:nth-child(4),
    .ku-table td:nth-child(6),
    .ma-table td:nth-child(2),
    .ma-table td:nth-child(5),
    .zt-table td:nth-child(4),
    .zt-table td:nth-child(5),
    .zt-table td:nth-child(6),
    .zt-table td:nth-child(7),
    .la-table td:nth-child(2),
    .la-table td:nth-child(5) {
        display: none;
    }
    .ku-table td:nth-child(2)::before,
    .ku-table td:nth-child(3)::before,
    .ma-table td:nth-child(3)::before,
    .ma-table td:nth-child(4)::before,
    .zt-table td:nth-child(2)::before,
    .zt-table td:nth-child(3)::before,
    .zt-table td:nth-child(8)::before,
    .la-table td:nth-child(3)::before,
    .la-table td:nth-child(4)::before,
    .la-table td:nth-child(6)::before {
        display: block;
        margin-bottom: 3px;
        color: #7a8ba6;
        font-size: 9px;
        font-weight: 850;
        text-transform: uppercase;
    }
    .ku-table td:nth-child(2)::before { content: "Kontakt"; }
    .ku-table td:nth-child(3)::before { content: "Ort"; }
    .ma-table td:nth-child(3)::before { content: "Team"; }
    .ma-table td:nth-child(4)::before { content: "Anstellung"; }
    .zt-table td:nth-child(2)::before { content: "Datum"; }
    .zt-table td:nth-child(3)::before { content: "Auftrag"; }
    .zt-table td:nth-child(8)::before { content: "Dauer"; }
    .la-table td:nth-child(3)::before { content: "Soll / Ist"; }
    .la-table td:nth-child(4)::before { content: "Brutto"; }
    .la-table td:nth-child(6)::before { content: "Netto"; }
    .ku-table td:last-child,
    .ma-table td:last-child,
    .zt-table td:last-child,
    .la-table td:last-child {
        position: absolute;
        top: 13px;
        right: 12px;
        display: flex;
        gap: 5px;
    }
    .ku-customer,
    .ma-person,
    .zt-person,
    .la-person {
        min-width: 0;
    }
    .ku-customer strong,
    .ma-person strong,
    .zt-person strong,
    .la-person strong {
        overflow-wrap: anywhere;
    }
    .ku-pagination,
    .ma-pagination,
    .la-pagination {
        grid-template-columns: 1fr;
        gap: 10px;
        justify-items: start;
        padding: 12px 0 2px;
    }
    .ku-detail,
    .ma-side {
        display: none;
    }

    /* Filterleisten werden zu gut bedienbaren Zwei-Spalten-Flächen. */
    .ma-card-head,
    .zt-card-head,
    .la-tools {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }
    .ma-tools,
    .la-filter {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .ma-search {
        grid-column: 1 / -1;
        width: 100%;
    }
    .ma-tools select,
    .la-filter select {
        width: 100%;
        min-width: 0;
    }
    .ma-icon-btn,
    .la-filter button {
        display: none;
    }
    .ma-table-card,
    .ku-table-card,
    .zt-table-card,
    .la-table-card {
        padding: 14px;
    }
    .ma-bottom,
    .zt-bottom,
    .la-panel-grid {
        grid-template-columns: minmax(0,1fr);
        gap: 12px;
    }

    /* Seitenspezifische Suche und Hauptaktionen bleiben mobil sichtbar. */
    .haupt-kopf {
        display: block;
        min-height: 0;
        padding: 8px 12px 0;
        border: 0;
        background: #f3f6fa;
    }
    .haupt-kopf .hk-titel {
        display: none;
    }
    .haupt-kopf .hk-aktionen {
        width: 100%;
        display: flex;
        align-items: stretch;
        gap: 8px;
        overflow-x: auto;
        padding: 0 0 4px;
        scrollbar-width: none;
    }
    .haupt-kopf .hk-aktionen::-webkit-scrollbar {
        display: none;
    }
    .haupt-kopf .hk-aktionen > .hk-push,
    .haupt-kopf .hk-aktionen > .hk-sync-form,
    .haupt-kopf .hk-aktionen > .glocke-wrap,
    .haupt-kopf .hk-aktionen > .hk-profil,
    .haupt-kopf .hk-aktionen > a[href="logout.php"] {
        display: none !important;
    }
    .haupt-kopf .dash-cta {
        min-height: 42px;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        padding: 0 14px;
        border-radius: 11px;
        white-space: nowrap;
    }
    .ku-head-search,
    .au-head-search {
        width: 100%;
        min-width: 190px;
        height: 42px;
        flex: 1 1 210px;
    }
    .ku-filter-head,
    .au-filter-head,
    .au-head-form select {
        min-height: 42px;
        flex: 0 0 auto;
        border-radius: 11px;
    }
    .ku-head-search + .ku-filter-head {
        min-width: 82px;
    }
    .au-head-form {
        min-width: min(100%, 420px);
        display: flex;
        flex: 1 0 100%;
    }
    .of-filter {
        margin-top: 0;
    }
    .la-table td.la-person {
        display: flex;
        align-items: center;
    }

    /* Detailseiten und Formulare: eine Spalte, volle Touch-Ziele. */
    body.drawer-offen {
        overflow: hidden;
    }
    .seitenleiste {
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-bottom: calc(18px + env(safe-area-inset-bottom));
    }
    .seitenleiste .s-logo {
        flex: 0 0 auto;
    }
    .seitenleiste .s-logout {
        position: static;
        margin-top: 14px;
        flex: 0 0 auto;
    }
    .ku-layout,
    .ma-layout,
    .zt-layout,
    .pl-layout,
    .fa-layout,
    .la-layout,
    .of-layout,
    .ofd-layout,
    .ad-layout,
    .ae-bottom {
        grid-template-columns: minmax(0,1fr) !important;
        gap: 12px;
    }
    .zt-side,
    .pl-side,
    .fa-side,
    .la-side,
    .ofd-side {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        gap: 12px;
    }
    .formular-raster > div,
    .zt-form-grid > label,
    .la-edit-form > label,
    .pl-form > label {
        min-width: 0;
    }
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea {
        min-height: 44px;
        font-size: 16px;
    }
    textarea {
        min-height: 104px;
    }
    .btn,
    .formular-aktionen button,
    .form-aktionen button,
    .ae-top button,
    .of-modal-card footer button,
    .la-form-actions button {
        min-height: 42px;
    }
    .ae-top {
        gap: 12px;
        margin-bottom: 14px;
    }
    .ae-top h1 {
        margin-top: 8px;
        font-size: 22px;
    }
    .ae-top > div:last-child {
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: 8px;
    }
    .ae-top > div:last-child a,
    .ae-top > div:last-child button {
        width: 100%;
        min-height: 44px;
        padding: 0 12px;
    }
    .ae-card,
    .ae-check-form,
    .ad-card,
    .ofd-card {
        padding: 14px;
        border-radius: 14px;
    }
    .ad-top-actions {
        gap: 8px;
    }
    .ad-brief {
        overflow: hidden;
    }
    .ad-brief-item {
        min-width: 0;
    }
    .ad-brief-item strong,
    .ad-brief-item p {
        overflow-wrap: anywhere;
    }
    .of-modal-card header,
    .of-modal-card footer {
        padding-left: 14px;
        padding-right: 14px;
    }
    .of-form-grid {
        gap: 12px;
        padding: 14px;
    }
    .ofd-title {
        gap: 10px;
    }
    .ofd-kpis {
        gap: 0;
    }
    .ofd-kpis > div {
        min-width: 0;
    }
    .ofd-kpis strong {
        overflow-wrap: anywhere;
    }
    .fa-form-grid,
    .la-edit-form,
    .pl-form,
    .zt-form-grid {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .fa-table-wrap,
    .pl-table-wrap,
    .la-wide {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
.login-version{text-align:center;margin-top:14px;color:#91a0b7;font-size:10px;font-weight:700;letter-spacing:.04em}
.nav-new{margin-left:auto;padding:2px 5px;border-radius:4px;background:#dff7e9;color:#0a8750;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.maintenance-admin-banner{display:flex;align-items:center;gap:9px;margin:10px 22px 0;padding:9px 12px;border:1px solid #ffd18a;background:#fff8e8;border-radius:7px;color:#935300;font-size:12px}.maintenance-admin-banner span{flex:1}.maintenance-admin-banner a{font-weight:800;color:#a45b00}
.release-overlay{position:fixed;z-index:12000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(5,18,43,.58);backdrop-filter:blur(5px)}.release-modal{width:min(470px,100%);max-height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dce5f1;border-radius:8px;padding:24px;box-shadow:0 28px 80px rgba(3,14,35,.32)}.release-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#eaf2ff;color:#1261e8;margin-bottom:14px}.release-modal>small{flex:0 0 auto;color:#1261e8;font-weight:800;text-transform:uppercase;font-size:10px}.release-modal h2{flex:0 0 auto;font-size:22px;margin:5px 0 17px}.release-features{display:grid;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}.release-features article{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px;border:1px solid #e3eaf3;border-radius:7px}.release-features article>span{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;background:#f1f6ff;color:#1261e8}.release-features strong,.release-features p{display:block}.release-features strong{font-size:13px}.release-features p{margin:3px 0 0;color:#71819d;font-size:11px;line-height:1.45}.release-modal>button{width:100%;height:42px;min-height:42px;flex:0 0 auto;margin-top:16px;border:0;border-radius:7px;background:#1267f4;color:#fff;font-weight:800}
.maintenance-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f0f4fa}.maintenance-page main{width:min(500px,100%);text-align:center;background:#fff;border:1px solid #dce5f1;border-radius:8px;padding:34px;box-shadow:0 20px 55px rgba(20,43,83,.1)}.maintenance-page img{display:block;width:180px;height:auto;margin:0 auto 25px}.maintenance-page main>span{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 16px;border-radius:8px;background:#fff4df;color:#d97800}.maintenance-page h1{font-size:25px;margin:0 0 10px}.maintenance-page p{color:#657795;line-height:1.6}.maintenance-page small{display:block;color:#96a3b6;margin-top:18px}.maintenance-page a{display:inline-block;margin-top:20px;color:#1261e8;font-weight:800}
.system-page{max-width:1480px;margin:0 auto;padding:22px}.system-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.system-status{position:relative;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;min-height:105px;padding:15px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;overflow:hidden}.system-status>span{width:40px;height:40px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1261e8}.system-status small,.system-status strong,.system-status p{display:block}.system-status small{color:#7283a0;font-size:10px}.system-status strong{margin-top:3px;font-size:15px}.system-status p{margin:4px 0 0;color:#8795aa;font-size:9px}.system-status>i{position:absolute;right:0;top:0;bottom:0;width:3px;background:#f1a21b}.system-status.ok>i{background:#19a568}.system-status.error>i{background:#e24343}.system-status.ok>span{background:#e7f7ef;color:#15915a}.system-status.error>span{background:#ffeded;color:#dc3434}.system-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.system-layout main,.system-layout aside{display:grid;gap:14px}.system-action-list>div{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:13px 16px;border-top:1px solid #e8edf4}.system-action-list>div>span{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#eef4ff;color:#1261e8}.system-action-list strong,.system-action-list small{display:block}.system-action-list strong{font-size:13px}.system-action-list small{color:#7889a5;margin-top:3px}.system-action-list form{margin:0}.system-action-list .btn{white-space:nowrap}
.error-center .ops-card-head h2 span{display:inline-block;padding:2px 7px;margin-left:5px;border-radius:5px;background:#ffeded;color:#d93636;font-size:11px;vertical-align:2px}.error-tabs{display:flex;gap:4px;padding:10px 14px;border-top:1px solid #e8edf4;border-bottom:1px solid #e8edf4}.error-tabs a{padding:7px 10px;border-radius:6px;color:#657796;font-weight:700;font-size:11px}.error-tabs a.aktiv{background:#eaf2ff;color:#1261e8}.error-item{display:grid;grid-template-columns:36px 1fr 105px;gap:10px;align-items:start;padding:13px 15px;border-bottom:1px solid #e8edf4}.error-item>span{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#fff2dd;color:#ca7000}.error-item.kritisch>span,.error-item.fehler>span{background:#ffeded;color:#d93636}.error-title{display:flex;align-items:center;gap:8px;min-width:0}.error-title b{padding:3px 6px;border-radius:4px;background:#eef3f9;color:#506583;font-size:9px;text-transform:uppercase}.error-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-item small{display:block;color:#8290a7;font-size:10px;margin-top:5px}.error-item select{height:34px;padding:5px;font-size:11px}.error-item details{margin-top:7px}.error-item summary{cursor:pointer;color:#1261e8;font-size:10px}.error-item pre{max-height:180px;overflow:auto;padding:8px;background:#0d1c39;color:#d9e4f5;border-radius:6px;font-size:9px;white-space:pre-wrap}.system-empty{text-align:center;padding:42px 20px;color:#7687a2}.system-empty h3{margin:8px 0 4px;color:#122344}.system-empty p{margin:0}
.maintenance-card{padding:17px}.maintenance-card.aktiv{border-color:#f5bc66;background:#fffaf1}.maintenance-state{display:flex;align-items:center;gap:10px}.maintenance-state>span{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1261e8}.maintenance-card.aktiv .maintenance-state>span{background:#fff0d6;color:#c86c00}.maintenance-state small,.maintenance-state strong{display:block}.maintenance-state small{color:#7486a3}.maintenance-state strong{font-size:17px;margin-top:2px}.maintenance-card>p{color:#6e7f9b;font-size:11px;line-height:1.5}.maintenance-card form>label:first-of-type{display:block;color:#536887;font-size:11px;font-weight:700}.maintenance-card textarea{min-height:90px;margin-top:6px}.maintenance-toggle{display:flex!important;align-items:center;gap:8px;margin:12px 0;color:#203454!important;cursor:pointer}.maintenance-toggle input{position:absolute;opacity:0}.maintenance-toggle span{width:36px;height:20px;border-radius:12px;background:#cdd6e3;position:relative}.maintenance-toggle span:after{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.maintenance-toggle input:checked+span{background:#e79a20}.maintenance-toggle input:checked+span:after{transform:translateX(16px)}.maintenance-card .btn{width:100%}.system-version-card{padding:18px;background:#0d1c39;color:#fff}.system-version-card small,.system-version-card strong,.system-version-card p,.system-version-card span{display:block}.system-version-card small{color:#9cafcd}.system-version-card strong{font-size:27px;margin:5px 0}.system-version-card p{color:#d5deed}.system-version-card span{color:#8599b9;font-size:10px}
@media(max-width:1100px){.system-overview{grid-template-columns:repeat(2,1fr)}.system-layout{grid-template-columns:1fr}.system-layout aside{grid-template-columns:1fr 1fr}.maintenance-card{grid-row:span 2}}
@media(max-width:650px){.maintenance-admin-banner{margin:8px 12px 0}.release-modal{padding:18px}.system-page{padding:12px}.system-overview{grid-template-columns:1fr 1fr}.system-status{grid-template-columns:32px 1fr;min-height:94px;padding:11px}.system-status>span{width:32px;height:32px}.system-layout aside{grid-template-columns:1fr}.system-action-list>div{grid-template-columns:34px 1fr}.system-action-list>div form,.system-action-list>div>a{grid-column:2}.system-action-list .btn{width:100%}.error-item{grid-template-columns:32px 1fr}.error-item>form{grid-column:2}.error-item select{width:100%}.error-title{display:block}.error-title strong{display:block;margin-top:5px;white-space:normal}.error-tabs{overflow:auto}.nav-new{font-size:7px}}

/* Systemstatus: lange API-Meldungen dürfen das Raster nicht verbreitern. */
.system-layout{grid-template-columns:minmax(0,1fr) minmax(280px,330px)}
.system-layout>main,.system-layout>aside,.system-layout main>*,.system-layout aside>*,.error-item>div{min-width:0}
.system-action-list>div{grid-template-columns:38px minmax(0,1fr) auto}
.error-title{align-items:flex-start}
.error-title b{flex:0 0 auto}
.error-title strong{min-width:0;max-width:100%;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.error-item details{max-width:100%}
.error-item pre{max-width:100%;overflow-wrap:anywhere}

/* Interne Kalkulationsnotizen */
.calc-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.calc-result-actions button.calc-save{background:#0d1c39}
.calc-drafts{margin-top:16px;overflow:hidden}
.calc-drafts .calc-card-head small{color:#7688a5}
.calc-draft-list{display:grid}
.calc-draft{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:stretch;border-top:1px solid #e7edf5}
.calc-draft:first-child{border-top:0}
.calc-draft-load{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;min-width:0;padding:13px 16px;border:0;background:#fff;text-align:left}
.calc-draft-load:hover{background:#f7faff}
.calc-draft-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1261e8}
.calc-draft-load strong,.calc-draft-load small{display:block}
.calc-draft-load strong{color:#102044;font-size:12px}
.calc-draft-load small{margin-top:3px;color:#7486a3;font-size:10px}
.calc-draft-load time{color:#8493a9;font-size:10px;white-space:nowrap}
.calc-draft>form{display:grid;place-items:center}
.calc-draft>form button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffd4d4;border-radius:7px;background:#fff;color:#d93636}
.calc-draft-empty{text-align:center;padding:28px;color:#7a8ca8}
.calc-draft-empty p{margin:7px 0 0}
.calc-save-modal[hidden]{display:none}
.calc-save-modal{position:fixed;z-index:2147483000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(5,18,43,.58);backdrop-filter:blur(5px)}
.calc-save-dialog{width:min(540px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #dce5f1;border-radius:8px;box-shadow:0 28px 80px rgba(3,14,35,.32)}
.calc-save-dialog header,.calc-save-dialog footer{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}
.calc-save-dialog header{border-bottom:1px solid #e7edf5}
.calc-save-dialog header>div{display:flex;align-items:center;gap:10px}
.calc-save-dialog header>div>span{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1261e8}
.calc-save-dialog h2{margin:0;font-size:16px}
.calc-save-dialog header p{margin:3px 0 0;color:#7b8ca6;font-size:10px}
.calc-save-dialog header>button{width:34px;height:34px;border:0;background:transparent;color:#647693;font-size:25px}
.calc-save-fields{display:grid;gap:12px;padding:18px}
.calc-save-fields label{display:grid;gap:6px;color:#4c6183;font-size:11px;font-weight:800}
.calc-save-fields input{height:42px}
.calc-save-dialog footer{justify-content:flex-end;gap:8px;border-top:1px solid #e7edf5}
.calc-save-dialog footer .btn{min-width:125px}
.modal-open{overflow:hidden}
@media(max-width:1100px){.system-layout{grid-template-columns:1fr}}
@media(max-width:600px){.calc-result-actions{grid-template-columns:1fr}.calc-draft-load{grid-template-columns:36px minmax(0,1fr)}.calc-draft-load time{grid-column:2}.calc-save-dialog footer .btn{min-width:0;flex:1}}
.ae-offer-source{grid-column:1/-1;flex:1 0 100%;align-self:flex-start;display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #bfe8d2;border-radius:8px;background:#eefaf4;color:#137347}
.ae-offer-source span,.ae-offer-source strong,.ae-offer-source small{display:block}.ae-offer-source small{margin-top:3px;color:#527b69}

/* Tageskalender: präzises 06–23-Uhr-Raster und ruhigere Mitarbeiterzeilen */
.ep-timeline {
    position: relative;
    border-color: var(--grau-200);
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
}
.ep-grid-kopf,
.ep-zeile {
    width: max(100%, 1240px);
    min-width: 1240px;
    grid-template-columns: 184px minmax(1056px, 1fr);
}
.ep-grid-body {
    width: max(100%, 1240px);
    min-width: 1240px;
}
.ep-kopf-zeit,
.ep-track {
    width: auto;
    min-width: 1056px;
}
.ep-grid-kopf {
    min-height: 42px;
    background: #fff;
}
.ep-kopf-ma {
    position: sticky;
    left: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    padding: 0 14px;
    background: #fff;
    border-right-color: var(--grau-100);
    box-shadow: none;
}
.ep-kopf-zeit {
    height: 42px;
}
.ep-stunde {
    color: #607493;
    font-size: 11px;
    font-weight: 750;
}
.ep-zeile {
    min-height: 62px;
    background: #fff;
}
.ep-zeile:nth-child(even) {
    background: #fff;
}
.ep-zeile:hover {
    background: #fafcff;
}
.ep-zeile .ep-ma {
    position: sticky;
    left: 0;
    z-index: 4;
    min-height: 62px;
    padding: 9px 12px;
    background: inherit;
    border-right-color: var(--grau-100);
    box-shadow: none;
}
.ep-zeile .ep-ma .avatar-kreis {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
}
.ep-ma-text strong {
    font-size: 13px;
}
.ep-ma-text small {
    margin-top: 2px;
    font-size: 10.5px;
}
.ep-track {
    min-height: 62px;
    background-image: repeating-linear-gradient(
        to right,
        transparent,
        transparent calc(100% / 17 - 1px),
        #e9eef6 calc(100% / 17 - 1px),
        #e9eef6 calc(100% / 17)
    );
}
.ep-track .ep-line {
    display: none;
}
.ep-bar {
    top: 7px;
    bottom: 7px;
    min-width: 28px;
    padding: 5px 23px 5px 9px;
    border-radius: 8px;
    border-top: 1px solid color-mix(in srgb, var(--c) 35%, #fff);
    border-right: 1px solid color-mix(in srgb, var(--c) 35%, #fff);
    border-bottom: 1px solid color-mix(in srgb, var(--c) 35%, #fff);
    background: color-mix(in srgb, var(--c) 11%, #fff);
    box-shadow: 0 1px 2px rgba(28,48,78,.05);
}
.ep-bar:hover {
    z-index: 8;
    box-shadow: 0 7px 18px rgba(20,42,75,.16);
}
.ep-bar-titel {
    font-size: 11.5px;
}
.ep-bar-sub,
.ep-bar-zeit {
    font-size: 10px;
}
.ep-bar-icon {
    top: 5px;
    right: 6px;
}
.ep-abwesend {
    top: 7px;
    bottom: 7px;
}
@media (max-width: 760px) {
    .ep-grid-kopf,
    .ep-zeile {
        width: 1240px;
        min-width: 1240px;
        grid-template-columns: 150px 1090px;
    }
    .ep-grid-body {
        width: 1240px;
        min-width: 1240px;
    }
    .ep-kopf-zeit,
    .ep-track {
        min-width: 1090px;
    }
    .ep-kopf-ma {
        padding: 0 12px;
    }
    .ep-zeile .ep-ma {
        padding: 9px 10px;
    }
    .ep-ma-text small {
        display: none;
    }
}

@media (max-width: 900px) {
    .ep-seite {
        grid-template-columns: 1fr;
    }
}

/* Einsatzplan: Kalender volle Breite, Übersichten darunter. */
.ep-layout {
    grid-template-columns: minmax(0, 1fr);
}
.ep-haupt {
    display: contents;
}
.ep-karte {
    order: 1;
}
.ep-seite {
    order: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
}
.ep-unten {
    order: 3;
}
@media (max-width: 1100px) {
    .ep-seite {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .ep-seite {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Safari-Fallback: gleiche Scroll-Breite fuer Kopf, Zeilen und Zeitspur */
.ep-timeline {
    -webkit-overflow-scrolling: touch;
}
.ep-grid-kopf,
.ep-zeile {
    width: max(100%, 1060px);
    min-width: 1060px;
    grid-template-columns: 210px 850px;
}
.ep-grid-body {
    width: max(100%, 1060px);
    min-width: 1060px;
}
.ep-kopf-zeit,
.ep-track {
    width: 850px;
    min-width: 850px;
}
.ep-abwesend {
    left: 10px;
    right: 10px;
}

@media (min-width: 1501px) {
    .ep-grid-kopf,
    .ep-zeile,
    .ep-grid-body {
        width: 100%;
    }
    .ep-grid-kopf,
    .ep-zeile {
        grid-template-columns: 210px minmax(850px, 1fr);
    }
    .ep-kopf-zeit,
    .ep-track {
        width: auto;
        min-width: 850px;
    }
}

/* ---------- Kunden Referenzlayout ---------- */
.ku-page {
    --ku-text: #071845;
    --ku-muted: #50658f;
    --ku-line: #dfe7f3;
    color: var(--ku-text);
}
.ku-head-search,
.ku-filter-head {
    height: 44px;
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.ku-head-search {
    width: 260px;
    padding: 0 8px 0 16px;
}
.ku-head-search input {
    border: 0;
    box-shadow: none;
    height: 40px;
    padding: 0;
    min-width: 0;
    color: var(--ku-text);
    font-weight: 650;
}
.ku-head-search input:focus {
    outline: 0;
    box-shadow: none;
}
.ku-head-search button {
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: var(--ku-text);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.ku-filter-head {
    gap: 9px;
    padding: 0 18px;
    color: var(--ku-text);
    font-weight: 800;
}
.ku-filter-head:hover {
    text-decoration: none;
    border-color: #b9c8de;
}
.ku-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}
.ku-kpi,
.ku-card {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.ku-kpi {
    min-height: 118px;
    position: relative;
    padding: 26px 88px 20px 112px;
}
.ku-kpi span,
.ku-kpi small {
    display: block;
    font-size: 13px;
    color: var(--ku-muted);
    font-weight: 650;
}
.ku-kpi strong {
    display: block;
    margin: 7px 0;
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: -.02em;
    color: var(--navy);
}
.ku-kpi i {
    position: absolute;
    left: 36px;
    top: 30px;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
}
.ku-kpi i.blau { background: #dbeafe; color: #0b63f6; }
.ku-kpi i.gruen { background: #dcfce7; color: #16a66a; }
.ku-kpi i.orange { background: #ffedd5; color: #f28c18; }
.ku-kpi i.lila { background: #f3e8ff; color: #8b35e8; }
.ku-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
    align-items: start;
}
.ku-card {
    min-width: 0;
}
.ku-table-card {
    padding: 0 20px;
    overflow: hidden;
}
.ku-tabs {
    height: 66px;
    display: flex;
    align-items: end;
    gap: 34px;
    border-bottom: 1px solid var(--ku-line);
    padding: 0 14px;
}
.ku-tabs a {
    height: 42px;
    color: var(--ku-text);
    font-weight: 800;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    border-bottom: 3px solid transparent;
}
.ku-tabs a.aktiv {
    color: #0b63f6;
    border-color: #0b63f6;
}
.ku-tabs a:hover {
    text-decoration: none;
}
.ku-table-wrap {
    overflow-x: auto;
    margin: 0 -20px;
}
.ku-table {
    width: 100%;
    min-width: 960px;
    border-collapse: collapse;
}
.ku-table th {
    height: 52px;
    padding: 0 22px;
    color: var(--ku-text);
    background: #fbfdff;
    border-bottom: 1px solid var(--ku-line);
    text-align: left;
    font-size: 11.5px;
    font-weight: 900;
    text-transform: uppercase;
}
.ku-table td {
    height: 72px;
    padding: 9px 22px;
    border-bottom: 1px solid var(--ku-line);
    color: var(--ku-text);
    font-size: 13px;
    font-weight: 650;
    vertical-align: middle;
    white-space: nowrap;
}
.ku-table tbody tr.aktiv td,
.ku-table tbody tr:hover td {
    background: #f8fbff;
}
.ku-customer {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--ku-text);
}
.ku-customer:hover {
    text-decoration: none;
}
.ku-customer span:last-child,
.ku-table td > small,
.ku-detail-head > div {
    display: grid;
    gap: 3px;
}
.ku-customer strong,
.ku-table td strong {
    color: var(--ku-text);
    font-weight: 850;
}
.ku-customer small,
.ku-table td small {
    color: var(--ku-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
}
.ku-avatar {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    color: #7c3aed;
    font-size: 17px;
    font-weight: 900;
    flex: 0 0 auto;
}
.ku-avatar.gross {
    width: 66px;
    height: 66px;
    border-radius: 12px;
    font-size: 32px;
}
.ku-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 23px;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 850;
}
.ku-pill.aktiv { background: #dff6eb; color: #07915c; }
.ku-pill.inaktiv { background: #ffedd5; color: #ea580c; }
.ku-row-actions {
    display: flex;
    gap: 8px;
}
.ku-row-actions a {
    width: 32px;
    height: 32px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    color: var(--ku-text);
    display: inline-grid;
    place-items: center;
    font-size: 20px;
    font-weight: 900;
}
.ku-row-actions a:hover {
    text-decoration: none;
    border-color: #b9c8de;
}
.ku-empty {
    text-align: center;
    color: var(--ku-muted) !important;
}
.ku-pagination {
    min-height: 70px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    color: var(--ku-text);
    font-size: 13px;
    font-weight: 700;
}
.ku-pagination div {
    display: flex;
    align-items: center;
    gap: 9px;
}
.ku-pagination a,
.ku-pagination span:not(:first-child) {
    width: 34px;
    height: 34px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: var(--ku-text);
    font-weight: 850;
}
.ku-pagination a.aktiv {
    background: #0b63f6;
    color: #fff;
    border-color: #0b63f6;
}
.ku-pagination select {
    height: 38px;
    min-width: 150px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--ku-text);
    background: #fff;
    font-weight: 800;
}
.ku-detail {
    padding: 26px 22px;
}
.ku-detail-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
.ku-detail-title h3 {
    margin: 0;
    font-size: 18px;
    color: var(--ku-text);
}
.ku-detail-title a {
    font-size: 24px;
    color: var(--ku-text);
    line-height: 1;
}
.ku-detail-head {
    display: grid;
    grid-template-columns: 66px 1fr;
    gap: 16px;
    align-items: center;
    margin-bottom: 28px;
}
.ku-detail-head strong {
    font-size: 18px;
    color: var(--ku-text);
}
.ku-detail-head small {
    color: var(--ku-text);
    font-size: 13px;
    font-weight: 650;
}
.ku-contact {
    display: grid;
    gap: 18px;
}
.ku-contact p {
    display: grid;
    grid-template-columns: 22px 1fr;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--ku-text);
    font-size: 13px;
    font-weight: 650;
}
.ku-contact small {
    display: block;
    color: var(--ku-muted);
    font-size: 12px;
    font-weight: 650;
    margin-top: 2px;
}
.ku-contact strong {
    display: block;
    line-height: 1.25;
}
.ku-contact-person span {
    min-width: 0;
}
.ku-detail hr {
    border: 0;
    border-top: 1px solid var(--ku-line);
    margin: 28px 0;
}
.ku-detail h4 {
    margin: 0 0 22px;
    color: var(--ku-text);
    font-size: 15px;
}
.ku-detail dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 18px;
    margin: 0;
    font-size: 13px;
}
.ku-detail dt {
    color: var(--ku-text);
    font-weight: 800;
}
.ku-detail dd {
    margin: 0;
    text-align: right;
    color: var(--ku-text);
    font-weight: 650;
    overflow-wrap: anywhere;
}
.ku-actions {
    display: grid;
    gap: 12px;
    margin-top: 34px;
}
.ku-actions a {
    min-height: 42px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #0b63f6;
    font-weight: 850;
}
.ku-actions a.primaer {
    background: #0b63f6;
    border-color: #0b63f6;
    color: #fff;
}
.ku-actions a:hover {
    text-decoration: none;
}
.ku-empty-detail {
    min-height: 220px;
    display: grid;
    place-content: center;
    text-align: center;
    color: var(--ku-muted);
}

@media (max-width: 1200px) {
    .ku-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
    .ku-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .ku-head-search {
        width: 100%;
        order: 4;
    }
    .ku-filter-head,
    .hk-aktionen .ku-filter-head {
        flex: 1;
        justify-content: center;
    }
    .ku-kpis {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 14px;
    }
    .ku-kpi {
        min-height: 98px;
        padding: 18px 78px 16px 18px;
    }
    .ku-kpi i {
        left: auto;
        right: 18px;
        top: 20px;
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }
    .ku-kpi strong {
        font-size: 25px;
    }
    .ku-table-card,
    .ku-detail {
        padding: 16px;
    }
    .ku-tabs {
        height: auto;
        align-items: stretch;
        gap: 8px;
        overflow-x: auto;
        padding: 0 0 10px;
    }
    .ku-tabs a {
        white-space: nowrap;
        height: 36px;
    }
    .ku-table-wrap {
        margin: 0 -16px;
    }
    .ku-table {
        min-width: 820px;
    }
    .ku-pagination {
        grid-template-columns: 1fr;
        justify-items: start;
        padding: 12px 0;
    }
    .ku-detail dl {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .ku-detail dd {
        text-align: left;
    }
}

/* ---------- Aufträge Referenzlayout ---------- */
.au-page {
    --au-text: #071845;
    --au-muted: #50658f;
    --au-line: #dfe7f3;
    color: var(--au-text);
}
.au-page-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin: -2px 0 18px;
}
.au-head-form {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.au-head-search,
.au-filter-head,
.au-head-form select {
    height: 44px;
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    background: #fff;
    color: var(--au-text);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.au-head-search {
    width: 250px;
    display: flex;
    align-items: center;
    padding: 0 8px 0 16px;
}
.au-head-search input {
    border: 0;
    box-shadow: none;
    height: 40px;
    padding: 0;
    min-width: 0;
    font-weight: 650;
}
.au-head-search input:focus {
    outline: 0;
    box-shadow: none;
}
.au-head-search button {
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    display: grid;
    place-items: center;
    color: var(--au-text);
    cursor: pointer;
}
.au-filter-head {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 18px;
    font-weight: 850;
}
.au-filter-head:hover {
    text-decoration: none;
    border-color: #b9c8de;
}
.au-head-form select {
    min-width: 116px;
    padding: 0 14px;
    font-weight: 850;
}
.au-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}
.au-kpi,
.au-card {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.au-kpi {
    min-height: 112px;
    position: relative;
    padding: 24px 72px 18px 112px;
}
.au-kpi span,
.au-kpi small {
    display: block;
    color: var(--au-muted);
    font-size: 13px;
    font-weight: 650;
}
.au-kpi strong {
    display: block;
    margin: 6px 0;
    color: var(--navy);
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: -.02em;
}
.au-kpi i {
    position: absolute;
    left: 28px;
    top: 27px;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
}
.au-kpi i.blau { background: #dbeafe; color: #0b63f6; }
.au-kpi i.gruen { background: #dcfce7; color: #16a66a; }
.au-kpi i.orange { background: #ffedd5; color: #f28c18; }
.au-kpi i.lila { background: #f3e8ff; color: #8b35e8; }
.au-kpi i.grau { background: #eef2f7; color: #64748b; }
.au-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
    align-items: start;
}
.au-card {
    min-width: 0;
}
.au-table-card {
    padding: 0 20px;
    overflow: hidden;
}
.au-tabs {
    height: 66px;
    display: flex;
    align-items: end;
    gap: 34px;
    border-bottom: 1px solid var(--au-line);
    padding: 0 14px;
}
.au-tabs a {
    height: 42px;
    display: inline-flex;
    align-items: center;
    color: var(--au-text);
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 850;
}
.au-tabs a.aktiv {
    color: #0b63f6;
    border-color: #0b63f6;
}
.au-tabs a:hover {
    text-decoration: none;
}
.au-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
    margin: 0 -20px;
}
.au-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    table-layout: fixed;
}
.au-table th {
    height: 52px;
    padding: 0 16px;
    background: #fbfdff;
    border-bottom: 1px solid var(--au-line);
    color: var(--au-text);
    text-align: left;
    font-size: 11.5px;
    font-weight: 900;
    text-transform: uppercase;
}
.au-table td {
    height: 72px;
    padding: 9px 16px;
    border-bottom: 1px solid var(--au-line);
    color: var(--au-text);
    font-size: 13px;
    font-weight: 650;
    vertical-align: middle;
    white-space: nowrap;
}
.au-table th:nth-child(1),
.au-table td:nth-child(1) { width: 24%; }
.au-table th:nth-child(2),
.au-table td:nth-child(2) { width: 16%; }
.au-table th:nth-child(3),
.au-table td:nth-child(3) { width: 22%; }
.au-table th:nth-child(4),
.au-table td:nth-child(4) { width: 14%; }
.au-table th:nth-child(5),
.au-table td:nth-child(5) { width: 11%; }
.au-table th:nth-child(6),
.au-table td:nth-child(6) { width: 9%; }
.au-table th:nth-child(7),
.au-table td:nth-child(7) { width: 92px; }
.au-table tbody tr.aktiv td,
.au-table tbody tr:hover td {
    background: #f8fbff;
}
.au-order {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--au-text);
    min-width: 0;
}
.au-order:hover {
    text-decoration: none;
}
.au-order span:last-child,
.au-table td > small {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.au-order strong,
.au-table td strong {
    color: var(--au-text);
    font-weight: 850;
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.au-order small,
.au-table td small {
    display: block;
    color: var(--au-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.au-avatar {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    color: #0b63f6;
    font-size: 14px;
    font-weight: 900;
    flex: 0 0 auto;
}
.au-team {
    display: flex;
    align-items: center;
}
.au-team .avatar-kreis,
.au-detail-team .avatar-kreis {
    margin-right: -5px;
    border: 2px solid #fff;
}
.au-team span,
.au-detail-team em {
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: #eef4ff;
    color: #0b63f6;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    border: 2px solid #fff;
}
.au-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 850;
}
.au-pill.geplant { background: #dbeafe; color: #0b63f6; }
.au-pill.bearbeitung { background: #ffedd5; color: #ea580c; }
.au-pill.abgeschlossen { background: #dff6eb; color: #07915c; }
.au-pill.storniert { background: #eef2f7; color: #64748b; }
.au-row-actions {
    display: flex;
    gap: 8px;
    position: relative;
    overflow: visible;
}
.au-row-actions a {
    width: 32px;
    height: 32px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    color: var(--au-text);
    display: inline-grid;
    place-items: center;
    font-size: 18px;
    font-weight: 900;
}
.au-action-menu {
    position: relative;
}
.au-action-menu summary {
    width: 32px;
    height: 32px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    color: var(--au-text);
    display: grid;
    place-items: center;
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
    background: #fff;
}
.au-action-menu summary::-webkit-details-marker {
    display: none;
}
.au-action-menu[open] summary,
.au-action-menu summary:hover {
    border-color: #b9c8de;
    background: #f8fbff;
}
.au-action-menu div {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 40;
    width: 210px;
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 35px rgba(15, 23, 42, .16);
    padding: 8px;
    display: grid;
    gap: 4px;
}
.au-action-menu div a {
    width: 100%;
    height: 36px;
    border: 0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 10px;
    color: var(--au-text);
    font-size: 13px;
    font-weight: 800;
}
.au-action-menu div a:hover {
    background: #f4f8ff;
}
.au-row-actions .au-open-detail {
    display: none;
    width: auto;
    min-width: 76px;
    padding: 0 12px;
    color: #0b63f6;
    font-size: 13px;
}
.au-row-actions a:hover {
    text-decoration: none;
    border-color: #b9c8de;
}
.au-empty {
    text-align: center;
    color: var(--au-muted) !important;
}
.au-pagination {
    min-height: 70px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    color: var(--au-text);
    font-size: 13px;
    font-weight: 700;
}
.au-pagination div {
    display: flex;
    align-items: center;
    gap: 9px;
}
.au-pagination a,
.au-pagination span:not(:first-child) {
    width: 34px;
    height: 34px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: var(--au-text);
    font-weight: 850;
}
.au-pagination a.aktiv {
    background: #0b63f6;
    color: #fff;
    border-color: #0b63f6;
}
.au-pagination select {
    min-width: 150px;
    height: 38px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    color: var(--au-text);
    font-weight: 800;
}
.au-detail {
    padding: 26px 22px 20px;
}
.au-detail-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 26px;
}
.au-detail-title h3 {
    margin: 0;
    color: var(--au-text);
    font-size: 18px;
}
.au-detail-title a {
    color: var(--au-text);
    font-size: 24px;
    line-height: 1;
}
.au-detail h2 {
    margin: 18px 0 8px;
    color: var(--au-text);
    font-size: 24px;
    line-height: 1.1;
}
.au-detail-sub {
    margin: 0 0 24px;
    color: var(--au-muted);
    font-size: 14px;
    font-weight: 650;
}
.au-detail-list {
    display: grid;
    border-top: 1px solid var(--au-line);
}
.au-detail-list a {
    min-height: 54px;
    display: grid;
    grid-template-columns: 22px 78px minmax(0, 1fr) 18px;
    gap: 10px;
    align-items: center;
    color: var(--au-text);
    border-bottom: 1px solid var(--au-line);
    font-size: 13px;
}
.au-detail-list a:hover {
    text-decoration: none;
}
.au-detail-list span {
    color: var(--au-muted);
    font-weight: 750;
}
.au-detail-list strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 750;
    white-space: nowrap;
}
.au-detail-team {
    display: inline-flex;
    align-items: center;
    overflow: visible !important;
}
.au-mini-card {
    margin-top: 16px;
    border: 1px solid var(--au-line);
    border-radius: 12px;
    padding: 14px;
}
.au-mini-card a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    color: var(--au-text);
    font-size: 13px;
}
.au-mini-card a:hover {
    text-decoration: none;
}
.au-mini-card span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--au-text);
    font-weight: 850;
}
.au-progress {
    height: 6px;
    border-radius: 999px;
    background: #e8eef8;
    overflow: hidden;
    margin-top: 14px;
}
.au-progress i {
    height: 100%;
    display: block;
    background: #0b63f6;
    border-radius: inherit;
}
.au-actions {
    display: grid;
    gap: 12px;
    margin-top: 28px;
}
.au-actions a {
    min-height: 42px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #0b63f6;
    font-weight: 850;
}
.au-actions form {
    margin: 0;
}
.au-actions button {
    width: 100%;
    min-height: 42px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #fff;
    color: #dc2626;
    font: inherit;
    font-weight: 850;
    cursor: pointer;
}
.au-actions button:hover {
    background: #fff5f5;
    border-color: #fca5a5;
}
.au-actions a.primaer {
    background: #0b63f6;
    border-color: #0b63f6;
    color: #fff;
}
.au-actions a:hover {
    text-decoration: none;
}
.au-empty-detail {
    min-height: 260px;
    display: grid;
    place-content: center;
    text-align: center;
    color: var(--au-muted);
}

@media (max-width: 1400px) {
    .au-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
    .au-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .au-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .au-page-toolbar {
        justify-content: stretch;
        margin: 0 0 14px;
    }
    .au-head-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
    .au-head-search {
        grid-column: 1 / -1;
        width: 100%;
    }
    .au-filter-head,
    .au-head-form select {
        width: 100%;
    }
    .au-kpis {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 14px;
    }
    .au-kpi {
        min-height: 98px;
        padding: 18px 78px 16px 18px;
    }
    .au-kpi i {
        left: auto;
        right: 18px;
        top: 20px;
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }
    .au-kpi strong {
        font-size: 25px;
    }
    .au-table-card {
        padding: 16px;
    }
    .au-detail {
        display: none;
    }
    .au-tabs {
        height: auto;
        align-items: stretch;
        gap: 8px;
        overflow-x: auto;
        padding: 0 0 10px;
    }
    .au-tabs a {
        height: 36px;
        white-space: nowrap;
    }
    .au-table-wrap {
        margin: 0;
        overflow: visible;
    }
    .au-table {
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0 10px;
    }
    .au-table thead {
        display: none;
    }
    .au-table,
    .au-table tbody,
    .au-table tr,
    .au-table td {
        display: block;
        width: 100%;
    }
    .au-table th,
    .au-table td {
        width: auto !important;
    }
    .au-table tbody tr {
        border: 1px solid var(--au-line);
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 20px rgba(15, 23, 42, .04);
        overflow: hidden;
    }
    .au-table tbody tr.aktiv td,
    .au-table tbody tr:hover td {
        background: #fff;
    }
    .au-table td {
        height: auto;
        min-height: 0;
        padding: 9px 12px;
        border-bottom: 0;
        white-space: normal;
    }
    .au-table td:not(:first-child):not(.au-row-actions) {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 10px;
        align-items: center;
        font-size: 13px;
    }
    .au-table td:not(:first-child):not(.au-row-actions)::before {
        content: attr(data-label);
        color: var(--au-muted);
        font-size: 12px;
        font-weight: 850;
    }
    .au-order {
        gap: 11px;
        padding-bottom: 4px;
    }
    .au-avatar {
        width: 36px;
        height: 36px;
        border-radius: 11px;
    }
    .au-row-actions {
        display: grid;
        grid-template-columns: 1fr 40px;
        gap: 8px;
        padding-top: 12px !important;
        border-top: 1px solid #edf2f8;
    }
    .au-row-actions a {
        width: 100%;
        min-height: 38px;
        height: 38px;
        border-radius: 10px;
        font-size: 14px;
    }
    .au-row-actions .au-open-detail {
        display: grid;
        place-items: center;
        background: #0b63f6;
        border-color: #0b63f6;
        color: #fff;
        font-weight: 850;
    }
    .au-row-actions .au-select-detail {
        display: none;
    }
    .au-row-actions > a[title="Bearbeiten"] {
        display: none;
    }
    .au-action-menu {
        width: 100%;
    }
    .au-action-menu summary {
        width: 40px;
        height: 38px;
        border-radius: 10px;
    }
    .au-action-menu[open] {
        grid-column: 1 / -1;
    }
    .au-action-menu[open] summary {
        width: 100%;
        background: #f8fbff;
    }
    .au-action-menu div {
        position: static;
        width: 100%;
        margin-top: 8px;
        box-shadow: none;
        border-color: #dbe5f5;
        background: #fbfdff;
    }
    .au-action-menu div a {
        height: 40px;
        background: #fff;
        border: 1px solid #edf2f8;
    }
    .au-pagination {
        grid-template-columns: 1fr;
        justify-items: start;
        padding: 12px 0;
    }
    .au-detail-list a {
        grid-template-columns: 22px 70px minmax(0, 1fr) 18px;
    }
}

/* Safari-Stabilisierung fuer Auftragslisten, Details und Bearbeiten.
   Safari ist bei Grid/Flex-Inhalten konservativer mit intrinsischen Breiten,
   wodurch Panels oder Tabellen alte Layouts ueberdecken koennen. */
.au-page *,
.ad-page *,
.ae-page * {
    min-width: 0;
    -webkit-tap-highlight-color: rgba(11, 99, 246, .12);
}

.au-table-wrap,
.au-tabs,
.ad-tabs,
.ad-times-page,
.ae-kunde-list,
.ae-ma-list {
    -webkit-overflow-scrolling: touch;
}

.au-pill,
.ad-status,
.ad-check-row b,
.ae-mini-btn {
    width: auto;
    max-width: max-content;
}

.au-head-form select,
.au-pagination select,
.ae-card select,
.ae-check-row select {
    -webkit-appearance: none;
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #50658f 50%),
        linear-gradient(135deg, #50658f 50%, transparent 50%);
    background-position:
        calc(100% - 16px) 50%,
        calc(100% - 11px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 34px;
}

.ad-meta-details summary {
    display: flex;
    align-items: center;
}

.ad-gallery-preview a {
    min-height: 86px;
}

.ae-kunde-modal {
    background-color: rgba(7, 24, 69, .42);
}

.ae-kunde-dialog {
    width: 100%;
    max-width: 720px;
    max-height: calc(100vh - 44px);
}

@supports (width: min(720px, 100%)) {
    .ae-kunde-dialog {
        width: min(720px, 100%);
        max-height: min(720px, calc(100vh - 44px));
    }
}

/* ---------- Auftragsdetails Referenzlayout ---------- */
.ad-page {
    --ad-text: #071845;
    --ad-muted: #50658f;
    --ad-line: #dfe7f3;
    color: var(--ad-text);
}
.ad-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin: -4px 0 24px;
}
.ad-back {
    display: inline-flex;
    align-items: center;
    color: #0b63f6;
    font-size: 13px;
    font-weight: 850;
    margin-bottom: 12px;
}
.ad-top h1 {
    margin: 0;
    color: var(--ad-text);
    font-size: 28px;
    line-height: 1.12;
}
.ad-top p {
    margin: 8px 0 0;
    color: var(--ad-muted);
    font-size: 15px;
    font-weight: 650;
}
.ad-top-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.ad-top-actions a,
.ad-top-actions button {
    min-height: 44px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: var(--ad-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}
.ad-more {
    position: relative;
}
.ad-more summary {
    min-height: 44px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: var(--ad-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}
.ad-more summary::-webkit-details-marker {
    display: none;
}
.ad-more div {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 20;
    width: 210px;
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .14);
    padding: 8px;
    display: grid;
    gap: 4px;
}
.ad-more button {
    width: 100%;
    min-height: 36px;
    border: 0;
    border-radius: 8px;
    justify-content: flex-start;
    padding: 0 10px;
    box-shadow: none;
}
.ad-more button:hover {
    background: #f4f8ff;
}
.ad-more button.rot {
    color: #dc2626;
}
.ad-top-actions a.primaer {
    background: #0b63f6;
    border-color: #0b63f6;
    color: #fff;
}
.ad-top-actions a:hover {
    text-decoration: none;
}
.ad-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.ad-brief {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(190px, 1fr));
    gap: 0;
    overflow: hidden;
    margin-bottom: 20px;
}
.ad-brief-main,
.ad-brief-item {
    min-height: 112px;
    padding: 20px;
    display: grid;
    align-items: center;
}
.ad-brief-main {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    background: #f8fbff;
}
.ad-brief-item {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    border-left: 1px solid var(--ad-line);
}
.ad-brief-icon,
.ad-brief-item i {
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-style: normal;
}
.ad-brief-icon {
    width: 58px;
    height: 58px;
    background: #dbeafe;
    color: #0b63f6;
    font-size: 24px;
    font-weight: 950;
}
.ad-brief-item i {
    width: 38px;
    height: 38px;
    background: #eef4ff;
    color: #0b63f6;
}
.ad-brief small {
    color: var(--ad-muted);
    display: block;
    font-size: 12px;
    font-weight: 850;
    margin-bottom: 4px;
}
.ad-brief strong {
    color: var(--ad-text);
    display: block;
    font-size: 16px;
    font-weight: 950;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ad-brief-main strong {
    font-size: 18px;
}
.ad-brief p {
    margin: 4px 0 0;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 650;
    min-height: 20px;
}
.ad-brief p .avatar-kreis {
    border: 2px solid #fff;
    margin-right: -5px;
    vertical-align: middle;
}
.ad-brief p em {
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #eef4ff;
    color: #0b63f6;
    display: inline-grid;
    place-items: center;
    border: 2px solid #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}
.ad-mobile-quick {
    display: none;
}
.ad-card,
.ad-kpi {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
}
.ad-kpi {
    min-height: 98px;
    display: grid;
    grid-template-columns: 44px 1fr;
    grid-template-rows: auto auto auto;
    gap: 3px 12px;
    align-content: center;
    padding: 16px;
}
.ad-kpi i {
    grid-row: 1 / 4;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
}
.ad-kpi i.blau { background: #dbeafe; color: #0b63f6; }
.ad-kpi i.lila { background: #f3e8ff; color: #8b35e8; }
.ad-kpi i.grau { background: #eef2f7; color: #64748b; }
.ad-kpi span {
    color: var(--ad-muted);
    font-size: 12px;
    font-weight: 750;
}
.ad-kpi strong {
    color: var(--ad-text);
    font-size: 16px;
    font-weight: 900;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ad-kpi small {
    color: var(--ad-text);
    font-size: 12px;
    font-weight: 650;
}
.ad-kpi-team {
    display: inline-flex;
    align-items: center;
    overflow: visible !important;
}
.ad-kpi-team .avatar-kreis {
    border: 2px solid #fff;
    margin-right: -5px;
}
.ad-kpi-team em {
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #eef4ff;
    color: #0b63f6;
    display: inline-grid;
    place-items: center;
    border: 2px solid #fff;
    font-size: 11px;
    font-style: normal;
}
.ad-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    width: fit-content;
    padding: 0 9px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 850;
    vertical-align: middle;
}
.ad-status.geplant { background: #dbeafe; color: #0b63f6; }
.ad-status.abgeschlossen { background: #dff6eb; color: #07915c; }
.ad-status.storniert { background: #eef2f7; color: #64748b; }
.ad-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
    align-items: start;
}
.ad-main,
.ad-side {
    min-width: 0;
}
.ad-side {
    display: grid;
    gap: 16px;
}
.ad-card {
    padding: 22px;
}
.ad-overview {
    padding: 0;
    overflow: hidden;
}
.ad-tabs {
    height: 64px;
    display: flex;
    align-items: end;
    gap: 34px;
    padding: 0 22px;
    border-bottom: 1px solid var(--ad-line);
}
.ad-tabs a {
    height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ad-text);
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 850;
}
.ad-tabs a.aktiv {
    color: #0b63f6;
    border-color: #0b63f6;
}
.ad-tabs span,
.ad-files h3 span,
.ad-checklist h3 span {
    min-width: 28px;
    height: 22px;
    border-radius: 7px;
    background: #eaf2ff;
    color: #0b63f6;
    display: inline-grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}
.ad-tabs a:hover {
    text-decoration: none;
}
.ad-info {
    padding: 26px 28px 18px;
}
.ad-info h3,
.ad-description h3,
.ad-plan h3,
.ad-side h3 {
    margin: 0 0 20px;
    color: var(--ad-text);
    font-size: 16px;
}
.ad-info dl {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 140px minmax(0, 1fr);
    gap: 20px 28px;
    margin: 0;
}
.ad-info dt {
    color: var(--ad-muted);
    font-size: 13px;
    font-weight: 750;
}
.ad-info dd {
    margin: 0;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 750;
}
.ad-description {
    min-height: 220px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px;
    gap: 20px;
    align-items: center;
    border-top: 1px solid var(--ad-line);
    padding: 28px;
}
.ad-case {
    padding: 28px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 18px;
}
.ad-case-primary,
.ad-case-next,
.ad-case-grid section,
.ad-meta-details,
.ad-customer-notes {
    border: 1px solid var(--ad-line);
    border-radius: 14px;
    background: #fff;
}
.ad-case-primary,
.ad-case-next {
    padding: 20px;
}
.ad-case-primary > span,
.ad-case-next > span {
    color: var(--ad-muted);
    display: block;
    font-size: 12px;
    font-weight: 850;
    margin-bottom: 8px;
}
.ad-case h3 {
    margin: 0 0 10px;
    color: var(--ad-text);
    font-size: 20px;
}
.ad-case-primary p,
.ad-case-next p,
.ad-case-grid p,
.ad-customer-notes li {
    margin: 0;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.55;
}
.ad-case-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}
.ad-case-tags b {
    min-height: 28px;
    border-radius: 999px;
    background: #f4f8ff;
    color: #0b63f6;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    font-size: 12px;
    font-weight: 900;
}
.ad-case-next {
    background: #f8fbff;
    display: grid;
    align-content: start;
    gap: 12px;
}
.ad-case-next strong {
    color: var(--ad-text);
    font-size: 16px;
    line-height: 1.35;
}
.ad-case-next .ad-progress {
    margin: 0;
}
.ad-case-next a,
.ad-case-grid a {
    min-height: 34px;
    border: 1px solid var(--grau-200);
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0b63f6;
    font-size: 12px;
    font-weight: 900;
}
.ad-case-grid {
    border-top: 1px solid var(--ad-line);
    padding: 22px 28px;
    display: grid;
    grid-template-columns: 1fr .85fr .9fr;
    gap: 14px;
    background: #fbfdff;
}
.ad-case-grid section {
    padding: 16px;
    display: grid;
    gap: 10px;
    align-content: start;
}
.ad-case-grid h3,
.ad-customer-notes h3 {
    margin: 0 0 6px;
    color: var(--ad-text);
    font-size: 15px;
}
.ad-case-grid p {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ad-meta-details {
    margin: 0 28px 22px;
    padding: 0;
    overflow: hidden;
}
.ad-meta-details summary {
    min-height: 46px;
    padding: 0 16px;
    cursor: pointer;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 900;
}
.ad-meta-details dl {
    border-top: 1px solid var(--ad-line);
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr) 140px minmax(0, 1fr);
    gap: 14px 20px;
    margin: 0;
    padding: 16px;
}
.ad-meta-details dt {
    color: var(--ad-muted);
    font-size: 12px;
    font-weight: 850;
}
.ad-meta-details dd {
    margin: 0;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 750;
}
.ad-customer-notes {
    margin: 0 28px 28px;
    padding: 18px;
}
.ad-customer-notes ul {
    margin: 0;
    padding-left: 18px;
}
.ad-description p,
.ad-description li,
.ad-muted {
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.65;
}
.ad-description ul {
    margin: 0;
    padding-left: 18px;
}
.ad-illustration {
    display: grid;
    place-items: center;
    color: #0b63f6;
}
.ad-workboard {
    border-top: 1px solid var(--ad-line);
    padding: 22px 28px 28px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.ad-mini-card {
    min-height: 178px;
    border: 1px solid var(--ad-line);
    border-radius: 14px;
    background: #fff;
    padding: 16px;
    display: grid;
    gap: 12px;
    align-content: start;
}
.ad-mini-card > div:first-child {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.ad-mini-card span {
    color: var(--ad-muted);
    font-size: 12px;
    font-weight: 800;
}
.ad-mini-card strong {
    color: var(--ad-text);
    font-size: 18px;
    font-weight: 950;
}
.ad-mini-card p {
    margin: 0;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
}
.ad-mini-card > a {
    align-self: end;
    min-height: 34px;
    border: 1px solid var(--grau-200);
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0b63f6;
    font-size: 12px;
    font-weight: 900;
}
.ad-mini-card > a:hover {
    text-decoration: none;
    background: #f4f8ff;
}
.ad-focus {
    border-color: #bfdbfe;
    background: #f8fbff;
}
.ad-focus .ad-progress {
    margin: 0;
}
.ad-team-list {
    display: grid;
    gap: 9px;
}
.ad-team-list p {
    display: flex;
    align-items: center;
    gap: 9px;
}
.ad-team-list p span {
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 800;
}
.ad-gallery-preview {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
}
.ad-gallery-preview a {
    display: block;
    aspect-ratio: 1.45;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--ad-line);
    background: #eef4ff;
}
.ad-gallery-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ad-plan {
    margin-top: 18px;
}
.ad-plan-grid {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 150px 36px;
    gap: 18px;
    align-items: center;
}
.ad-plan-grid > div {
    display: grid;
    gap: 8px;
}
.ad-plan-grid i {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: #eef4ff;
    color: #0b63f6;
    display: grid;
    place-items: center;
    font-style: normal;
}
.ad-plan-grid strong {
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 900;
}
.ad-plan-grid span {
    color: var(--ad-muted);
    font-size: 13px;
    font-weight: 650;
}
.ad-plan-grid span .avatar-kreis {
    margin-right: 8px;
    vertical-align: middle;
}
.ad-plan-actions a {
    width: 32px;
    height: 32px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: var(--ad-text);
    font-weight: 900;
}
.ad-time-list {
    margin-top: 18px;
    border-top: 1px solid var(--ad-line);
    padding-top: 14px;
    display: grid;
    gap: 10px;
}
.ad-time-list p {
    margin: 0;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    color: var(--ad-text);
    font-size: 13px;
}
.ad-customer-head {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
}
.ad-customer-head > span {
    width: 58px;
    height: 58px;
    border-radius: 12px;
    background: #ede9fe;
    color: #7c3aed;
    display: grid;
    place-items: center;
    font-size: 28px;
    font-weight: 900;
}
.ad-customer-head div {
    display: grid;
    gap: 3px;
}
.ad-customer-head strong {
    color: var(--ad-text);
    font-size: 15px;
}
.ad-customer-head small,
.ad-customer p,
.ad-notes p {
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 650;
}
.ad-customer p {
    margin: 12px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.ad-customer > a,
.ad-checklist > a,
.ad-notes > a {
    min-height: 38px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #0b63f6;
    font-size: 13px;
    font-weight: 850;
    margin-top: 16px;
}
.ad-customer > a:hover,
.ad-checklist > a:hover,
.ad-notes > a:hover {
    text-decoration: none;
}
.ad-progress {
    height: 6px;
    border-radius: 999px;
    background: #e8eef8;
    overflow: hidden;
    margin: 10px 0 16px;
}
.ad-progress i {
    height: 100%;
    display: block;
    background: #0b63f6;
    border-radius: inherit;
}
.ad-checklist h3,
.ad-files h3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ad-checklist > strong {
    display: block;
    margin-bottom: 12px;
    color: var(--ad-text);
    font-size: 13px;
}
.ad-checklist p {
    margin: 8px 0;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 650;
}
.ad-checklist p::before {
    content: "○";
    color: var(--ad-muted);
    margin-right: 8px;
    font-weight: 900;
}
.ad-checklist p.ok::before {
    content: "✓";
    color: #07915c;
}
.ad-files {
    display: grid;
    gap: 10px;
}
.ad-files a {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 10px;
    align-items: center;
    color: var(--ad-text);
}
.ad-files a:hover {
    text-decoration: none;
}
.ad-files a.ist-bild {
    grid-template-columns: 46px 1fr;
}
.ad-files a i {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #fee2e2;
    color: #dc2626;
    display: grid;
    place-items: center;
    font-size: 8px;
    font-style: normal;
    font-weight: 900;
}
.ad-files a span {
    display: grid;
    gap: 2px;
    font-size: 13px;
    font-weight: 750;
}
.ad-files a small {
    color: var(--ad-muted);
    font-size: 12px;
}
.ad-files a img {
    width: 46px;
    height: 38px;
    border-radius: 9px;
    border: 1px solid var(--ad-line);
    object-fit: cover;
    background: #eef4ff;
}
.ad-files form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
}
.ad-files input[type="file"] {
    font-size: 12px;
}
.ad-files button {
    min-height: 38px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: #0b63f6;
    font-weight: 850;
    cursor: pointer;
}
.ad-check-page,
.ad-files-page,
.ad-notes-page,
.ad-times-page {
    padding: 26px 28px 28px;
}
.ad-check-page {
    padding-top: 22px;
}
.ad-check-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 16px;
}
.ad-check-head h3,
.ad-content-head h3 {
    margin: 0 0 8px;
    color: var(--ad-text);
    font-size: 18px;
}
.ad-check-head p {
    margin: 0;
    color: var(--ad-muted);
    font-size: 13px;
    font-weight: 650;
}
.ad-check-head > div:last-child {
    min-width: 240px;
}
.ad-check-head > div:last-child strong {
    display: block;
    text-align: left;
    color: var(--ad-text);
    font-size: 12px;
    margin-bottom: 6px;
}
.ad-check-head > div:last-child span {
    height: 6px;
    border-radius: 999px;
    background: #e8eef8;
    display: block;
    overflow: hidden;
}
.ad-check-head > div:last-child i {
    height: 100%;
    display: block;
    background: #0b63f6;
}
.ad-check-table-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px 160px;
    gap: 14px;
    min-height: 38px;
    align-items: center;
    border: 1px solid var(--ad-line);
    border-radius: 10px;
    background: #f8fbff;
    padding: 0 14px;
    color: var(--ad-text);
    font-size: 11.5px;
    font-weight: 900;
    text-transform: uppercase;
}
.ad-check-section {
    border: 1px solid var(--ad-line);
    border-radius: 12px;
    margin-top: 10px;
    padding: 12px;
    background: #fff;
}
.ad-check-section-title {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}
.ad-check-section-title i {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #eef4ff;
    color: #0b63f6;
    display: grid;
    place-items: center;
    font-style: normal;
}
.ad-check-section:nth-of-type(3n) .ad-check-section-title i { background: #f3e8ff; color: #8b35e8; }
.ad-check-section:nth-of-type(4n) .ad-check-section-title i { background: #fff1df; color: #f59e0b; }
.ad-check-section:nth-of-type(5n) .ad-check-section-title i { background: #dcfce7; color: #07915c; }
.ad-check-section-title strong {
    color: var(--ad-text);
    font-size: 15px;
}
.ad-check-section-title span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ad-text);
    font-weight: 900;
}
.ad-check-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px 160px;
    gap: 14px;
    align-items: center;
    min-height: 30px;
    padding-left: 46px;
    color: var(--ad-text);
    font-size: 13px;
    font-weight: 650;
}
.ad-check-row span {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ad-check-row input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #16a66a;
}
.ad-check-row em {
    font-style: normal;
}
.ad-check-row b {
    width: fit-content;
    min-height: 20px;
    padding: 0 8px;
    border-radius: 5px;
    background: #eef2f7;
    color: #475569;
    display: inline-flex;
    align-items: center;
    font-size: 10.5px;
}
.ad-check-row b.ok {
    background: #dff6eb;
    color: #07915c;
}
.ad-check-row input[type="text"] {
    height: 28px;
    border: 1px solid #e6edf7;
    border-radius: 8px;
    box-shadow: none;
    color: var(--ad-text);
    padding: 0 8px;
    font-size: 12px;
}
.ad-check-actions {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}
.ad-check-actions button,
.ad-check-actions a,
.ad-upload button,
.ad-notes-page button,
.ad-content-head a {
    min-height: 38px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: #0b63f6;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 850;
    cursor: pointer;
}
.ad-check-actions button,
.ad-upload button,
.ad-notes-page button {
    background: #0b63f6;
    color: #fff;
    border-color: #0b63f6;
}
.ad-content-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
}
.ad-content-head span {
    background: #eaf2ff;
    color: #0b63f6;
    border-radius: 8px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 900;
}
.ad-upload {
    border: 1px dashed #b9c8de;
    border-radius: 12px;
    background: #f8fbff;
    padding: 18px;
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
}
.ad-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}
.ad-upload-grid .ad-upload {
    align-items: stretch;
    display: grid;
    margin: 0;
}
.ad-upload-grid label {
    color: var(--ad-muted);
    font-size: 12px;
    font-weight: 850;
}
.ad-upload-grid input,
.ad-upload-grid select {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: var(--ad-text);
    padding: 0 12px;
    font: inherit;
    font-weight: 700;
}
.ad-gallery-section {
    margin-top: 22px;
}
.ad-comparison-list {
    display: grid;
    gap: 16px;
    margin-top: 22px;
}
.ad-comparison-item {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--ad-line);
    border-radius: 8px;
    background: #fff;
}
.ad-comparison-item > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px;
    border-bottom: 1px solid var(--ad-line);
    background: #f8fafc;
}
.ad-comparison-item > header small {
    display: block;
    margin-bottom: 3px;
    color: var(--ad-muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}
.ad-comparison-item > header h4 {
    margin: 0;
    color: var(--ad-text);
    font-size: 16px;
}
.ad-comparison-item > header > span {
    padding: 5px 8px;
    border-radius: 6px;
    background: #eaf2ff;
    color: #0b63f6;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}
.ad-comparison-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}
.ad-comparison-side {
    min-width: 0;
    padding: 14px;
    background: #fbfcfe;
}
.ad-comparison-side + .ad-comparison-side {
    border-left: 1px solid var(--ad-line);
}
.ad-comparison-side.vorher {
    box-shadow: inset 0 3px 0 #f59e0b;
}
.ad-comparison-side.nachher {
    box-shadow: inset 0 3px 0 #16a66a;
}
.ad-comparison-side .ad-gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}
.ad-gallery-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.ad-gallery-title h4 {
    margin: 0;
    color: var(--ad-text);
    font-size: 16px;
}
.ad-gallery-title h5 {
    margin: 0;
    color: var(--ad-text);
    font-size: 13px;
}
.ad-gallery-title small {
    display: block;
    margin-top: 2px;
    color: var(--ad-muted);
    font-size: 10px;
    font-weight: 750;
}
.ad-gallery-title span {
    min-width: 28px;
    height: 24px;
    border-radius: 999px;
    background: #eaf2ff;
    color: #0b63f6;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}
.ad-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.ad-gallery-empty {
    grid-column: 1 / -1;
    min-height: 92px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 14px;
    border: 1px dashed #cbd7e7;
    border-radius: 7px;
    background: #fff;
    color: var(--ad-muted);
    text-align: center;
    font-size: 11px;
    font-weight: 700;
}
.ad-pair-upload {
    grid-column: 1 / -1;
    min-height: 180px;
    display: grid;
}
.ad-pair-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}
.ad-pair-upload > label {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 20px;
    border: 1px dashed #aebfd5;
    border-radius: 8px;
    background: #fff;
    color: #0b63f6;
    text-align: center;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.ad-pair-upload > label:hover,
.ad-pair-upload > label:focus-within {
    border-color: #0b63f6;
    background: #f3f7ff;
}
.ad-pair-upload > label:active {
    transform: scale(.99);
}
.ad-pair-upload > label > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eaf2ff;
}
.ad-pair-upload > label strong {
    color: var(--ad-text);
    font-size: 13px;
}
.ad-pair-upload > label small {
    max-width: 240px;
    color: var(--ad-muted);
    font-size: 11px;
}
.ad-pair-upload.is-uploading > label {
    pointer-events: none;
    border-style: solid;
    background: #f3f7ff;
    opacity: .72;
}
.ad-pair-upload noscript button {
    margin-top: 8px;
}
.ad-gallery-card {
    border: 1px solid var(--ad-line);
    border-radius: 16px;
    background: #fff;
    padding: 10px 10px 12px;
    display: grid;
    gap: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 24px rgba(15, 23, 42, .05);
}
.ad-gallery-card > a {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    overflow: hidden;
    background: #eef4ff;
}
.ad-gallery-card > a::after {
    content: "Ansehen";
    position: absolute;
    left: 10px;
    bottom: 10px;
    min-height: 28px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    padding: 0 11px;
    background: rgba(7, 24, 69, .78);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease;
}
.ad-gallery-card > a:hover::after {
    opacity: 1;
    transform: translateY(0);
}
.ad-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .22s ease;
}
.ad-gallery-card > a:hover img {
    transform: scale(1.035);
}
.ad-gallery-card strong {
    color: var(--ad-text);
    font-size: 13px;
    overflow-wrap: anywhere;
}
.ad-gallery-card small {
    color: var(--ad-muted);
    font-size: 12px;
}
.ad-gallery-tools {
    border-top: 1px solid #edf2f8;
    padding-top: 8px;
}
.ad-gallery-tools summary {
    min-height: 32px;
    border: 1px solid var(--grau-200);
    border-radius: 9px;
    display: grid;
    place-items: center;
    color: #0b63f6;
    background: #fff;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}
.ad-gallery-tools summary::-webkit-details-marker {
    display: none;
}
.ad-gallery-tools[open] summary {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.ad-gallery-tools > div {
    display: grid;
    gap: 8px;
    margin-top: 8px;
}
.ad-gallery-edit {
    display: grid;
    gap: 7px;
}
.ad-gallery-edit select,
.ad-gallery-edit input {
    width: 100%;
    min-height: 34px;
    border: 1px solid var(--grau-200);
    border-radius: 9px;
    padding: 0 10px;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
}
.ad-gallery-edit button {
    min-height: 34px;
    border: 1px solid #bfdbfe;
    border-radius: 9px;
    background: #eff6ff;
    color: #0b63f6;
    font-weight: 850;
}
.ad-danger-btn {
    width: 100%;
    min-height: 34px;
    border: 1px solid #fecaca;
    border-radius: 9px;
    background: #fff;
    color: #dc2626;
    font-weight: 850;
}
.ad-lightbox {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    z-index: 2000;
    display: none;
    place-items: center;
    overflow: auto;
    overscroll-behavior: contain;
    padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
    background:
        radial-gradient(circle at top, rgba(32, 96, 210, .22), transparent 36%),
        rgba(5, 15, 35, .92);
}
.ad-lightbox.is-open {
    display: grid;
}
.ad-lightbox-offen {
    overflow: hidden !important;
}
.ad-lightbox figure {
    width: min(1120px, 94vw);
    max-height: calc(100vh - 36px);
    max-height: calc(100dvh - 36px);
    margin: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    border-radius: 20px;
    overflow: hidden;
    background: #061634;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
}
.ad-lightbox img {
    width: 100%;
    max-width: min(1100px, 94vw);
    max-height: calc(100vh - 118px);
    max-height: calc(100dvh - 118px);
    margin: 0 auto;
    object-fit: contain;
    display: block;
    background: #020b1c;
}
.ad-lightbox img:not([src]) {
    display: none;
}
.ad-lightbox-laden {
    min-height: min(58vh, 520px);
    display: grid;
    place-items: center;
    padding: 24px;
    color: #fff;
    font-weight: 800;
    background: #020b1c;
}
.ad-lightbox-laden[hidden] {
    display: none;
}
.ad-lightbox figcaption {
    min-height: 64px;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, .96);
}
.ad-lightbox figcaption span {
    color: #0b63f6;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.ad-lightbox figcaption strong {
    color: #071845;
    font-size: 16px;
}
.ad-lightbox p {
    margin: 0;
    color: #fff;
    font-weight: 800;
    text-align: center;
}
.ad-lightbox-close {
    position: fixed;
    top: max(16px, env(safe-area-inset-top));
    right: max(16px, env(safe-area-inset-right));
    width: 46px;
    height: 46px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #fff;
    color: #071845;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}
.ad-lightbox-nav {
    position: fixed;
    top: 50%;
    z-index: 2;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, .94);
    color: #071845;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .28);
    font-size: 38px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}
.ad-lightbox-prev {
    left: max(16px, env(safe-area-inset-left));
}
.ad-lightbox-next {
    right: max(16px, env(safe-area-inset-right));
}
.ad-lightbox-nav:hover,
.ad-lightbox-nav:focus-visible {
    background: #fff;
    color: #0b63f6;
    outline: 3px solid rgba(11, 99, 246, .34);
}
.ad-lightbox-stand {
    position: fixed;
    top: max(20px, env(safe-area-inset-top));
    left: 50%;
    z-index: 2;
    min-width: 64px;
    padding: 8px 12px;
    border-radius: 999px;
    transform: translateX(-50%);
    background: rgba(2, 11, 28, .78);
    color: #fff;
    font-size: 13px;
    font-weight: 850;
    text-align: center;
}
.ad-file-list,
.ad-note-list {
    display: grid;
    gap: 12px;
}
.ad-file-list > div {
    min-height: 58px;
    border: 1px solid var(--ad-line);
    border-radius: 12px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.ad-file-list a {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    align-items: center;
    color: var(--ad-text);
}
.ad-file-list a.ist-bild {
    grid-template-columns: 74px 1fr;
}
.ad-file-list i {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: #fee2e2;
    color: #dc2626;
    display: grid;
    place-items: center;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
}
.ad-file-list strong {
    display: grid;
    gap: 3px;
}
.ad-file-list small {
    color: var(--ad-muted);
    font-size: 12px;
}
.ad-file-thumb {
    width: 74px;
    height: 54px;
    border-radius: 10px;
    border: 1px solid var(--ad-line);
    object-fit: cover;
    background: #eef4ff;
    box-shadow: 0 8px 18px rgba(15, 38, 84, .08);
}
.ad-file-list button {
    min-height: 32px;
    border: 1px solid #fecaca;
    border-radius: 9px;
    background: #fff;
    color: #dc2626;
    font-weight: 800;
}
.ad-notes-page form {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
}
.ad-notes-page textarea {
    resize: vertical;
    border-radius: 12px;
    min-height: 120px;
}
.ad-note-list article {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 12px;
    border: 1px solid var(--ad-line);
    border-radius: 12px;
    padding: 14px;
}
.ad-note-list strong,
.ad-note-list small {
    display: block;
}
.ad-note-list small {
    color: var(--ad-muted);
    font-size: 12px;
    margin-top: 2px;
}
.ad-note-list p {
    margin: 8px 0 0;
    color: var(--ad-text);
    font-size: 13px;
    line-height: 1.55;
}
.note-edit-form {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
.note-edit-form textarea {
    width: 100%;
    min-height: 78px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    padding: 10px 12px;
    resize: vertical;
    color: var(--dunkelblau);
    font: inherit;
    font-weight: 650;
}
.note-edit-form button,
.note-delete-form button {
    min-height: 36px;
    border-radius: 9px;
    font: inherit;
    font-weight: 850;
    cursor: pointer;
}
.note-edit-form button {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #0b63f6;
}
.note-delete-form {
    margin-top: 8px;
}
.note-delete-form button {
    width: 100%;
    border: 1px solid #fecaca;
    background: #fff;
    color: #dc2626;
}
.note-delete-form button:hover {
    background: #fff5f5;
}
.ad-times-page table {
    width: 100%;
    border-collapse: collapse;
}
.ad-times-page th,
.ad-times-page td {
    height: 48px;
    border-bottom: 1px solid var(--ad-line);
    padding: 8px 10px;
    text-align: left;
    color: var(--ad-text);
    font-size: 13px;
}
.ad-times-page th {
    background: #fbfdff;
    font-size: 11.5px;
    text-transform: uppercase;
}

/* ---------- Auftrag bearbeiten Referenzlayout ---------- */
.ae-page {
    --ae-text: #071845;
    --ae-muted: #50658f;
    --ae-line: #dfe7f3;
    color: var(--ae-text);
}
.ae-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin: -4px 0 24px;
}
.ae-top a {
    color: #0b63f6;
    font-size: 13px;
    font-weight: 850;
}
.ae-top h1 {
    margin: 12px 0 0;
    font-size: 28px;
    line-height: 1.1;
}
.ae-top > div:last-child {
    display: flex;
    gap: 12px;
    align-items: center;
}
.ae-top > div:last-child a,
.ae-top button {
    min-height: 42px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: var(--ae-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 22px;
    font-weight: 850;
}
.ae-top button {
    background: #0b63f6;
    color: #fff;
    border-color: #0b63f6;
    cursor: pointer;
}
.ae-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}
.ae-termin-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}
.ae-termin-wide {
    grid-column: 1 / -1;
}
.ae-card {
    background: #fff;
    border: 1px solid var(--grau-100);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
    padding: 22px;
    min-width: 0;
}
.ae-edit-accordion {
    padding: 0;
    overflow: hidden;
}
.ae-edit-accordion summary {
    display: grid;
    gap: 4px;
    padding: 22px 22px 0;
    list-style: none;
    cursor: default;
}
.ae-edit-accordion summary::-webkit-details-marker {
    display: none;
}
.ae-edit-accordion summary span {
    color: var(--ae-text);
    font-size: 15px;
    font-weight: 900;
}
.ae-edit-accordion summary small {
    display: none;
    color: var(--ae-muted);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ae-edit-body {
    padding: 0 22px 22px;
}
.ae-card h3 {
    margin: 0 0 18px;
    color: var(--ae-text);
    font-size: 15px;
}
.ae-card label {
    display: block;
    margin: 12px 0 6px;
    color: var(--ae-muted);
    font-size: 12px;
    font-weight: 800;
}
.ae-card input,
.ae-card select,
.ae-card textarea {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--grau-200);
    border-radius: 8px;
    background: #fff;
    color: var(--ae-text);
    padding: 0 12px;
    font-size: 13px;
    font-weight: 650;
}
.ae-card textarea {
    padding: 10px 12px;
    min-height: 86px;
    resize: vertical;
}
.ae-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.ae-mini-btn {
    width: fit-content;
    min-height: 30px;
    border: 1px solid #cfe0ff;
    border-radius: 8px;
    background: #f4f8ff;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 850;
}
.ae-customer-picker {
    width: 100%;
    min-height: 58px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: var(--ae-text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
}
.ae-customer-picker strong,
.ae-customer-picker small {
    display: block;
}
.ae-customer-picker strong {
    font-size: 13px;
    font-weight: 850;
}
.ae-customer-picker small {
    color: var(--ae-muted);
    font-size: 12px;
    font-weight: 600;
    margin-top: 2px;
}
.ae-customer-picker:hover {
    border-color: #9fc0ff;
    box-shadow: 0 0 0 4px rgba(11, 99, 246, .08);
}
.modal-offen {
    overflow: hidden;
}
.ae-kunde-modal {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(7, 24, 69, .34);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.ae-kunde-modal.offen {
    display: flex;
}
.ae-kunde-dialog {
    width: min(720px, 100%);
    max-height: min(720px, calc(100vh - 44px));
    background: #fff;
    border: 1px solid var(--grau-200);
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(7, 24, 69, .24);
    padding: 18px;
    display: flex;
    flex-direction: column;
}
.ae-kunde-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 4px 14px;
}
.ae-kunde-head h3 {
    margin: 0;
    color: var(--ae-text);
    font-size: 20px;
}
.ae-kunde-head p {
    margin: 4px 0 0;
    color: var(--ae-muted);
    font-size: 13px;
}
.ae-kunde-head button {
    width: 36px;
    height: 36px;
    border: 1px solid var(--grau-200);
    border-radius: 10px;
    background: #fff;
    color: var(--ae-text);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.ae-kunde-search {
    min-height: 46px;
    border: 1px solid var(--grau-200);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    margin-bottom: 12px;
}
.ae-kunde-search .ic {
    color: var(--ae-muted);
    flex-shrink: 0;
}
.ae-kunde-search input {
    border: 0;
    box-shadow: none;
    padding: 0;
    min-height: 44px;
    font-size: 16px;
}
.ae-kunde-search input:focus {
    border: 0;
    box-shadow: none;
}
.ae-kunde-list {
    overflow: auto;
    display: grid;
    gap: 8px;
    padding-right: 2px;
}
.ae-kunde-option {
    border: 1px solid var(--grau-100);
    border-radius: 12px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px;
    text-align: left;
    cursor: pointer;
}
.ae-kunde-option:hover {
    border-color: #9fc0ff;
    background: #f7fbff;
}
.ae-kunde-avatar {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #0b63f6;
    font-weight: 850;
    flex-shrink: 0;
}
.ae-kunde-option strong,
.ae-kunde-option small {
    display: block;
}
.ae-kunde-option strong {
    color: var(--ae-text);
    font-size: 13.5px;
}
.ae-kunde-option small {
    color: var(--ae-muted);
    font-size: 12px;
    margin-top: 2px;
}
.ae-ma-list {
    display: grid;
    gap: 8px;
    max-height: 178px;
    overflow: auto;
}
.ae-ma-list label {
    margin: 0;
    min-height: 34px;
    border: 1px solid var(--grau-200);
    border-radius: 8px;
    display: grid;
    grid-template-columns: 18px 24px 1fr;
    align-items: center;
    gap: 8px;
    padding: 5px 8px;
    color: var(--ae-text);
    cursor: pointer;
}
.ae-ma-list label:has(input:checked) {
    border-color: #9fc0ff;
    background: #f7fbff;
}
.ae-ma-list input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #0b63f6;
    cursor: pointer;
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
}
.ae-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 16px;
    align-items: start;
}
.ae-check-edit {
    padding: 0;
    overflow: hidden;
}
.ae-check-form {
    padding: 22px;
}
.ae-check-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}
.ae-check-head h3 {
    margin-bottom: 8px;
}
.ae-check-head p {
    margin: 0;
    color: var(--ae-muted);
    font-size: 13px;
    font-weight: 650;
}
.ae-check-head button,
.ae-upload button,
.ae-note button {
    min-height: 36px;
    border: 1px solid #cfe0ff;
    border-radius: 8px;
    background: #fff;
    color: #0b63f6;
    padding: 0 14px;
    font-weight: 850;
    cursor: pointer;
}
.ae-check-section {
    border: 1px solid var(--ae-line);
    border-radius: 12px;
    margin-bottom: 12px;
    padding: 14px;
}
.ae-check-title {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}
.ae-check-title i {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: #eef4ff;
    color: #0b63f6;
    display: grid;
    place-items: center;
    font-style: normal;
}
.ae-check-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px 300px;
    gap: 14px;
    align-items: center;
    min-height: 34px;
    margin-left: 46px;
    color: var(--ae-text);
    font-size: 13px;
}
.ae-check-row label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    min-width: 0;
    color: var(--ae-text);
    font-size: 13px;
    font-weight: 750;
}
.ae-check-row label span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.ae-check-row input[type="checkbox"] {
    width: 15px;
    height: 15px;
    accent-color: #0b63f6;
}
.ae-check-row select,
.ae-check-row input[type="text"] {
    min-height: 30px;
}
.ae-side {
    display: grid;
    gap: 14px;
}
.ae-upload,
.ae-note {
    display: grid;
    gap: 10px;
}
.ae-file {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 10px;
    align-items: center;
    color: var(--ae-text);
    margin-top: 12px;
}
.ae-file.ist-bild {
    grid-template-columns: 46px 1fr;
}
.ae-file i {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #fee2e2;
    color: #dc2626;
    display: grid;
    place-items: center;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
}
.ae-file span {
    display: grid;
    gap: 3px;
    font-weight: 800;
}
.ae-file small {
    color: var(--ae-muted);
    font-size: 12px;
}
.ae-file img {
    width: 46px;
    height: 38px;
    border-radius: 9px;
    border: 1px solid var(--ae-line);
    object-fit: cover;
    background: #eef4ff;
}
.ae-note textarea {
    min-height: 96px;
}
.ae-danger button {
    width: 100%;
    min-height: 40px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff;
    color: #dc2626;
    font-weight: 900;
    cursor: pointer;
}
.ae-danger p {
    color: var(--ae-muted);
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 1300px) {
    .ae-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ae-bottom { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .ae-top,
    .ae-top > div:last-child,
    .ae-check-head {
        display: grid;
    }
    .ae-grid,
    .ae-termin-grid,
    .ae-two {
        grid-template-columns: 1fr;
    }
    .ae-card,
    .ae-check-form {
        padding: 16px;
    }
    .ae-check-row {
        grid-template-columns: 1fr;
        margin-left: 0;
        gap: 8px;
        padding: 8px 0;
    }
}

@media (max-width: 1400px) {
    .ad-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
    .ad-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .ad-page {
        margin: 0;
        padding-bottom: 18px;
    }
    .ad-top {
        display: grid;
        gap: 12px;
        margin: 0 0 12px;
        padding: 0;
    }
    .ad-back {
        margin-bottom: 8px;
    }
    .ad-top h1 {
        font-size: 22px;
        line-height: 1.18;
    }
    .ad-top h1 .ad-status {
        vertical-align: middle;
        margin-top: 6px;
    }
    .ad-top p {
        margin-top: 5px;
        font-size: 14px;
    }
    .ad-top-actions {
        position: static;
        z-index: 30;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        justify-content: stretch;
        background: transparent;
        padding: 0;
    }
    .ad-top-actions a,
    .ad-top-actions form,
    .ad-top-actions button {
        width: 100%;
    }
    .ad-top-actions a,
    .ad-top-actions button,
    .ad-more summary {
        min-height: 42px;
        padding: 0 12px;
        border-radius: 12px;
        font-size: 12px;
    }
    .ad-top-actions a.primaer {
        grid-column: 1 / -1;
        min-height: 48px;
        font-size: 13px;
    }
    .ad-more div {
        width: min(260px, calc(100vw - 28px));
        right: 0;
    }
    .ad-kpis {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .ad-brief {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-radius: 14px;
        margin-bottom: 10px;
    }
    .ad-brief-main,
    .ad-brief-item {
        min-height: 0;
        padding: 14px;
    }
    .ad-brief-main {
        grid-column: 1 / -1;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 12px;
    }
    .ad-brief-icon {
        width: 48px;
        height: 48px;
        border-radius: 12px;
        font-size: 21px;
    }
    .ad-brief-item {
        grid-template-columns: 1fr;
        gap: 8px;
        border-left: 0;
        border-top: 1px solid var(--ad-line);
    }
    .ad-brief-item:nth-child(3),
    .ad-brief-item:nth-child(5) {
        border-left: 1px solid var(--ad-line);
    }
    .ad-brief-item i {
        width: 34px;
        height: 34px;
        border-radius: 11px;
    }
    .ad-brief strong,
    .ad-brief-main strong {
        font-size: 14px;
        white-space: normal;
    }
    .ad-brief p {
        font-size: 12.5px;
        line-height: 1.4;
    }
    .ad-mobile-quick {
        display: flex;
        gap: 8px;
        margin: 0 -2px 12px;
        overflow-x: auto;
        padding: 2px 2px 8px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .ad-mobile-quick::-webkit-scrollbar {
        display: none;
    }
    .ad-mobile-quick a {
        min-width: 104px;
        min-height: 54px;
        border: 1px solid var(--ad-line);
        border-radius: 13px;
        background: #fff;
        color: var(--ad-text);
        display: inline-grid;
        grid-template-columns: 18px minmax(0, 1fr);
        align-items: center;
        gap: 6px;
        padding: 8px 10px;
        font-size: 12px;
        font-weight: 850;
        box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 20px rgba(15, 23, 42, .04);
        flex: 0 0 auto;
    }
    .ad-mobile-quick a.aktiv {
        border-color: #0b63f6;
        background: #eff6ff;
        color: #0b63f6;
    }
    .ad-mobile-quick a:hover {
        text-decoration: none;
    }
    .ad-mobile-quick svg {
        color: #0b63f6;
    }
    .ad-mobile-quick b {
        min-width: 22px;
        height: 18px;
        border-radius: 999px;
        background: #eaf2ff;
        color: #0b63f6;
        display: inline-grid;
        place-items: center;
        font-size: 10.5px;
        grid-column: 2;
        justify-self: start;
    }
    .ad-layout {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .ad-side {
        display: none;
    }
    .ad-card {
        border-radius: 14px;
        padding: 14px;
    }
    .ad-overview {
        padding: 0;
    }
    .ad-detail-tabs,
    .ad-tabs {
        display: none !important;
    }
    .ad-info {
        padding: 18px 16px;
    }
    .ad-info dl {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .ad-info dd {
        padding-bottom: 8px;
        border-bottom: 1px solid var(--ad-line);
    }
    .ad-description {
        grid-template-columns: 1fr;
        padding: 18px 16px;
    }
    .ad-case,
    .ad-case-grid {
        grid-template-columns: 1fr;
        padding: 12px;
        gap: 10px;
    }
    .ad-case-primary,
    .ad-case-next,
    .ad-case-grid section {
        border-radius: 12px;
        padding: 14px;
    }
    .ad-case h3 {
        font-size: 17px;
        margin-bottom: 8px;
    }
    .ad-case-primary p,
    .ad-case-next p,
    .ad-case-grid p,
    .ad-customer-notes li {
        font-size: 12.5px;
    }
    .ad-case-tags {
        gap: 6px;
        margin-top: 14px;
    }
    .ad-case-tags b {
        min-height: 26px;
        font-size: 11.5px;
        padding: 0 9px;
    }
    .ad-meta-details,
    .ad-customer-notes {
        margin: 0 12px 12px;
        border-radius: 12px;
    }
    .ad-plan {
        display: none;
    }
    .ad-meta-details dl {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .ad-workboard {
        grid-template-columns: 1fr;
        padding: 16px;
    }
    .ad-mini-card {
        min-height: 0;
    }
    .ad-illustration {
        display: none;
    }
    .ad-plan-grid {
        grid-template-columns: 1fr;
    }
    .ad-card {
        padding: 16px;
    }
    .ad-overview {
        padding: 0;
    }
    .ad-check-page,
    .ad-files-page,
    .ad-notes-page,
    .ad-times-page {
        padding: 14px 12px;
    }
    .ad-check-head,
    .ad-upload,
    .ad-content-head {
        display: grid;
        gap: 12px;
    }
    .ad-upload-grid {
        grid-template-columns: 1fr;
    }
    .ad-comparison-pair {
        grid-template-columns: 1fr;
    }
    .ad-comparison-side + .ad-comparison-side {
        border-top: 1px solid var(--ad-line);
        border-left: 0;
    }
    .ad-gallery-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .ad-gallery-card {
        padding: 10px;
        border-radius: 12px;
    }
    .ad-gallery-edit {
        grid-column: 1 / -1;
    }
    .ad-lightbox {
        padding: 14px;
    }
    .ad-lightbox img {
        max-width: 96vw;
        max-height: 72vh;
        border-radius: 12px;
    }
    .ad-lightbox-nav {
        width: 44px;
        height: 44px;
        font-size: 32px;
        background: rgba(255, 255, 255, .9);
    }
    .ad-lightbox-prev {
        left: max(8px, env(safe-area-inset-left));
    }
    .ad-lightbox-next {
        right: max(8px, env(safe-area-inset-right));
    }
    .ad-check-head > div:last-child {
        min-width: 0;
    }
    .ad-check-table-head {
        display: none;
    }
    .ad-check-row {
        grid-template-columns: 1fr;
        gap: 7px;
        padding-left: 0;
        margin-top: 8px;
        border-top: 1px solid #edf2f8;
        padding-top: 8px;
    }
    .ad-check-row span {
        align-items: flex-start;
    }
    .ad-check-row input[type="text"] {
        width: 100%;
        min-height: 34px;
    }
    .ad-check-section-title {
        grid-template-columns: 34px minmax(0, 1fr);
    }
    .ad-check-section-title span {
        grid-column: 2;
    }
    .ad-file-list > div {
        align-items: flex-start;
        display: grid;
    }
    .ad-times-page {
        overflow-x: auto;
    }
    .ad-times-page table {
        min-width: 680px;
    }
}

@media (min-width: 761px) and (max-width: 1320px) {
    .ad-brief {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ad-brief-item:nth-child(3) {
        border-left: 0;
    }
    .ad-brief-main {
        border-bottom: 1px solid var(--ad-line);
    }
    .ad-brief-item:nth-child(2) {
        border-bottom: 1px solid var(--ad-line);
    }
    .ad-case,
    .ad-case-grid {
        grid-template-columns: 1fr;
    }
    .ad-workboard {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------- Einheitlicher Kachel-Look wie Übersicht ---------- */
:root {
    --schatten-karte: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .05);
    --karte-border: 1px solid var(--grau-100);
    --karte-radius: 16px;
}

.karte,
.kpi,
.zt-kpi,
.zt-card,
.ma-kpi,
.ma-card,
.ku-kpi,
.ku-card,
.au-kpi,
.au-card,
.of-kpi,
.of-list-card,
.of-detail,
.ofd-kpis,
.ofd-card,
.ad-kpi,
.ad-card,
.pl-kpi,
.pl-card,
.fa-kpi,
.fa-card,
.la-kpi,
.la-card,
.ep-karte,
.ep-card,
.ep-board,
.ep-kachel,
.preis-karte,
.wochenplan,
.monatsplan {
    background: #fff;
    border: var(--karte-border);
    border-radius: var(--karte-radius);
    box-shadow: var(--schatten-karte);
}

.zt-table-card,
.ma-table-card,
.ku-table-card,
.au-table-card,
.pl-table-card,
.fa-table-card,
.la-table-card {
    overflow: hidden;
}

.kpi-icon,
.zt-kpi i,
.ma-kpi i,
.ku-kpi i,
.au-kpi i,
.ad-kpi i,
.pl-kpi i,
.fa-kpi i,
.la-kpi i,
.ep-stat-ic,
.ep-kachel-ic {
    border-radius: 12px;
}

@media (max-width: 700px) {
    .karte,
    .kpi,
    .zt-kpi,
    .zt-card,
    .ma-kpi,
    .ma-card,
    .ku-kpi,
    .ku-card,
    .au-kpi,
    .au-card,
    .of-kpi,
    .of-list-card,
    .of-detail,
    .ofd-kpis,
    .ofd-card,
    .ad-kpi,
    .ad-card,
    .pl-kpi,
    .pl-card,
    .fa-kpi,
    .fa-card,
    .la-kpi,
    .la-card,
    .ep-karte,
    .ep-card,
    .ep-board,
    .preis-karte,
    .wochenplan,
    .monatsplan {
        border-radius: 14px;
    }
}

/* Offerten folgen exakt dem Kartenraster von Kunden und Aufträgen. */
.of-kpis {
    gap: 20px;
    margin-bottom: 2px;
}
.of-kpi {
    min-height: 112px;
    padding: 24px 72px 18px 90px;
}
.of-kpi span,
.of-kpi small {
    color: var(--au-muted);
    font-size: 13px;
    font-weight: 650;
}
.of-kpi strong {
    margin: 6px 0;
    color: var(--navy);
    font-size: 30px;
    line-height: 1.05;
}
.of-kpi svg {
    left: 22px;
    right: auto;
    top: 27px;
    width: 54px;
    height: 54px;
    padding: 15px;
    border-radius: 12px;
}
.of-filter {
    min-height: 66px;
    padding: 10px 20px;
    border: var(--karte-border);
    border-radius: var(--karte-radius);
    box-shadow: var(--schatten-karte);
}
.of-filter select,
.of-search input,
.of-filter .btn {
    min-height: 44px;
    border-radius: 12px;
}
.of-layout,
.ofd-layout {
    gap: 20px;
}
.of-list-card {
    padding: 0 20px;
}
.of-tabs {
    min-height: 66px;
    align-items: flex-end;
    gap: 34px;
    padding: 0 14px;
}
.of-tabs a {
    min-height: 42px;
}
.of-table-wrap {
    margin: 0 -20px;
}
.of-table th:first-child,
.of-table td:first-child {
    padding-left: 20px;
}
.of-table th:last-child,
.of-table td:last-child {
    padding-right: 20px;
}
.of-detail,
.ofd-card {
    padding: 24px;
}
.of-modal-card {
    border: var(--karte-border);
    border-radius: var(--karte-radius);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
}
.ofd-kpis {
    overflow: hidden;
}
.ofd-amount,
.of-amount,
.ofd-data,
.ofd-note,
.ofd-upload > label,
.ofd-file,
.of-open-detail {
    border-radius: 12px;
}

@media (max-width: 700px) {
    .of-kpis {
        gap: 12px;
    }
    .of-kpi {
        min-height: 98px;
        padding: 18px;
    }
    .of-kpi strong {
        font-size: 24px;
    }
    .of-filter {
        padding: 14px;
        border-radius: 14px;
    }
    .of-list-card {
        padding: 0 16px;
    }
    .of-table-wrap {
        margin: 0 -16px;
    }
    .of-table th:first-child,
    .of-table td:first-child {
        padding-left: 16px;
    }
    .of-table th:last-child,
    .of-table td:last-child {
        padding-right: 16px;
    }
    .of-detail,
    .ofd-card {
        padding: 16px;
    }
    .of-modal-card {
        border-radius: 14px 14px 0 0;
    }
}

/* Mobile Safari zoomt beim Fokus automatisch, wenn Formularfelder kleiner als 16px sind. */
@media (max-width: 760px) {
    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    input[type=text],
    input[type=password],
    input[type=email],
    input[type=tel],
    input[type=date],
    input[type=time],
    input[type=number],
    input[type=search],
    input[type=url],
    select,
    textarea,
    .login-input input,
    .ku-head-search input,
    .au-head-search input,
    .ma-search input,
    .zt-actions form select,
    .la-filter select,
    .ad-files input[type="file"],
    .ae-card input,
    .ae-card select,
    .ae-card textarea {
        font-size: 16px !important;
    }
}

/* Safari-Fix: Auftrag bearbeiten
   Die Bearbeiten-Seite ist ein grosses Formular mit Karten. Safari rendert CSS-Grid
   auf Formularcontainern je nach Version fehlerhaft bzw. zu eng. Flex-Wrap ist hier
   stabiler und bleibt optisch nah am Referenzlayout. */
.ae-page {
    overflow-x: hidden;
}

.ae-page,
.ae-page * {
    box-sizing: border-box;
}

.ae-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 16px;
}

.ae-grid > input[type="hidden"] {
    display: none !important;
}

.ae-grid > .ae-card {
    flex: 1 1 calc(25% - 12px);
    min-width: 210px;
}

.ae-termin-grid > .ae-card {
    flex-basis: calc(50% - 8px);
}

.ae-termin-wide {
    flex-basis: 100% !important;
}

.ae-bottom {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.ae-bottom > .ae-check-edit {
    flex: 1 1 auto;
    min-width: 0;
}

.ae-tabs {
    min-height: 64px;
    display: flex !important;
    align-items: flex-end;
    gap: 34px;
    padding: 0 22px;
    border-bottom: 1px solid var(--ae-line);
    background: #fff;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.ae-tabs a,
.ae-tabs button {
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: var(--ae-text);
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
    flex: 0 0 auto;
}

.ae-tabs button {
    font: inherit;
    cursor: pointer;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background: transparent;
    appearance: none;
    -webkit-appearance: none;
}

.ae-tabs a.aktiv,
.ae-tabs button.aktiv {
    color: #0b63f6;
    border-color: #0b63f6;
}

.ae-tabs span {
    min-width: 28px;
    height: 22px;
    border-radius: 7px;
    background: #eaf2ff;
    color: #0b63f6;
    display: inline-grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.ae-tabs a:hover,
.ae-tabs button:hover {
    text-decoration: none;
}

.ae-tab-panel {
    display: none;
    padding: 20px 22px 24px;
}

.ae-tab-panel.aktiv {
    display: block;
}

.ae-tab-panel[hidden] {
    display: none !important;
}

.ae-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ae-overview-tile {
    min-width: 0;
    border: 1px solid var(--ae-line);
    border-radius: 14px;
    padding: 16px;
    background: #f8fbff;
    display: grid;
    gap: 7px;
}

.ae-overview-tile i {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: #0b63f6;
    background: #eaf2ff;
}

.ae-overview-tile span,
.ae-overview-tile small {
    color: var(--ae-muted);
    font-size: 12px;
    font-weight: 750;
}

.ae-overview-tile strong {
    min-width: 0;
    color: var(--ae-text);
    font-size: 15px;
    overflow-wrap: anywhere;
}

.ae-file-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.ae-upload-wide,
.ae-note-wide {
    max-width: 620px;
}

.ae-note-list,
.ae-time-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.ae-note-list article,
.ae-time-list article {
    border: 1px solid var(--ae-line);
    border-radius: 12px;
    padding: 13px 14px;
    background: #fff;
}

.ae-note-list article p {
    margin: 6px 0 0;
    color: var(--ae-muted);
    font-size: 13px;
    line-height: 1.45;
}

.ae-time-list article {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.ae-time-list span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 850;
}

.ae-bottom > .ae-side {
    flex: 0 0 340px;
    width: 340px;
}

#ae-check,
#ae-dateien,
#ae-notizen {
    scroll-margin-top: 22px;
}

.ae-card input:not([type="checkbox"]):not([type="radio"]),
.ae-card select,
.ae-card textarea,
.ae-customer-picker,
.ae-kunde-search input,
.ae-check-row input[type="text"],
.ae-check-row select {
    -webkit-appearance: none;
    appearance: none;
    max-width: 100%;
}

.ae-check-edit .ae-check-row {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) 104px minmax(160px, 240px) !important;
    gap: 10px !important;
    align-items: center !important;
    margin-left: 46px !important;
    width: calc(100% - 46px) !important;
}

.ae-check-edit .ae-check-row label {
    display: flex !important;
    align-items: center;
    gap: 9px;
    margin: 0 !important;
    min-width: 0;
}

.ae-check-edit .ae-check-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #0b63f6;
    cursor: pointer;
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
}

.ae-check-edit .ae-check-row select,
.ae-check-edit .ae-check-row input[type="text"] {
    width: 100% !important;
    min-width: 0;
}

.ae-card input[type="date"],
.ae-card input[type="time"] {
    -webkit-appearance: auto;
    appearance: auto;
}

.ae-card select,
.ae-check-row select {
    background-color: #fff;
    background-image:
        linear-gradient(45deg, transparent 50%, #50658f 50%),
        linear-gradient(135deg, #50658f 50%, transparent 50%);
    background-position:
        calc(100% - 16px) 50%,
        calc(100% - 11px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 34px;
}

.ae-customer-picker > span,
.ae-kunde-option > span:last-child,
.ae-file span,
.ae-ma-list span {
    min-width: 0;
}

.ae-customer-picker strong,
.ae-customer-picker small,
.ae-kunde-option strong,
.ae-kunde-option small,
.ae-file span {
    overflow-wrap: anywhere;
}

.ae-kunde-modal {
    background-color: rgba(7, 24, 69, .42);
}

.ae-kunde-dialog {
    width: 100%;
    max-width: 720px;
    max-height: calc(100vh - 44px);
}

@supports (width: min(720px, 100%)) {
    .ae-kunde-dialog {
        width: min(720px, 100%);
        max-height: min(720px, calc(100vh - 44px));
    }
}

@media (max-width: 1100px) {
    .ae-grid > .ae-card,
    .ae-termin-grid > .ae-card {
        flex-basis: calc(50% - 8px);
        min-width: 250px;
    }

    .ae-bottom {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ae-bottom > .ae-side {
        width: auto;
        flex-basis: auto;
    }

    .ae-check-edit .ae-check-row {
        grid-template-columns: minmax(170px, 1fr) 100px minmax(150px, 220px) !important;
    }
}

@media (max-width: 760px) {
    .ae-top,
    .ae-top > div:last-child,
    .ae-check-head {
        display: grid;
    }

    .ae-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ae-grid > .ae-card,
    .ae-termin-grid > .ae-card {
        min-width: 0;
        flex-basis: auto;
    }

    .ae-edit-accordion {
        border-radius: 14px;
    }

    .ae-edit-accordion summary {
        min-height: 64px;
        grid-template-columns: minmax(0, 1fr) 24px;
        align-items: center;
        padding: 13px 14px;
        cursor: pointer;
    }

    .ae-edit-accordion summary::after {
        content: "+";
        width: 24px;
        height: 24px;
        border-radius: 999px;
        display: grid;
        place-items: center;
        background: #eef4ff;
        color: #0b63f6;
        font-size: 16px;
        font-weight: 900;
    }

    .ae-edit-accordion[open] summary {
        border-bottom: 1px solid var(--ae-line);
    }

    .ae-edit-accordion[open] summary::after {
        content: "–";
    }

    .ae-edit-accordion summary span {
        font-size: 14px;
    }

    .ae-edit-accordion summary small {
        display: block;
        grid-column: 1;
    }

    .ae-edit-body {
        padding: 2px 14px 16px;
    }

    .ae-edit-body label {
        margin-top: 10px;
    }

    .ae-two {
        grid-template-columns: 1fr;
    }

    .ae-kunde-modal {
        align-items: flex-start;
        padding: 14px;
        overflow-y: auto;
    }

    .ae-kunde-dialog {
        max-height: calc(100vh - 28px);
    }

    .ae-tabs {
        min-height: 52px;
        gap: 6px;
        align-items: center;
        padding: 8px 12px;
    }

    .ae-tabs a,
    .ae-tabs button {
        min-height: 34px;
        border: 1px solid var(--ae-line);
        border-radius: 999px;
        padding: 0 12px;
        background: #fff;
        font-size: 12px;
    }

    .ae-tabs a.aktiv,
    .ae-tabs button.aktiv {
        background: #0b63f6;
        border-color: #0b63f6;
        color: #fff;
    }

    .ae-tabs span {
        min-width: 22px;
        height: 19px;
        background: rgba(255, 255, 255, .24);
        color: currentColor;
    }

    .ae-check-row {
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    .ae-check-edit .ae-check-row {
        grid-template-columns: 1fr !important;
        margin-left: 0 !important;
    }

    .ae-tab-panel {
        padding: 16px 14px 18px;
    }

    .ae-overview-grid {
        grid-template-columns: 1fr;
    }

    .ae-time-list article {
        grid-template-columns: 1fr;
    }
}

/* Safari-Fix: Auftragsdetail-Tabs und Inhaltsbereich
   Detailseiten verwenden eigene Tabs, damit Safari nicht die Bearbeiten- oder Mobile-Regeln
   auf den Hauptinhalt anwendet. */
.ad-detail-tabs {
    min-height: 64px;
    display: flex !important;
    align-items: flex-end;
    gap: 34px;
    padding: 0 22px;
    border-bottom: 1px solid var(--ad-line);
    background: #fff;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.ad-detail-tabs a {
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: var(--ad-text);
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
    flex: 0 0 auto;
}

.ad-detail-tabs a.aktiv {
    color: #0b63f6;
    border-color: #0b63f6;
}

.ad-detail-tabs span {
    min-width: 28px;
    height: 22px;
    border-radius: 7px;
    background: #eaf2ff;
    color: #0b63f6;
    display: inline-grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
}

.ad-page .ad-layout {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.ad-page .ad-main,
.ad-page .ad-overview,
.ad-page .ad-check-page,
.ad-page .ad-files-page,
.ad-page .ad-notes-page,
.ad-page .ad-times-page {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 1px;
}

.ad-page .ad-side {
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 760px) {
    .ad-detail-tabs {
        display: none !important;
    }

    .ad-page .ad-side {
        display: none !important;
    }
}

/* Einsatzplan: zusammenhängende Arbeitsfläche unter dem Kalender */
.ep-seite {
    gap: 0;
    padding: 20px 0;
    overflow: hidden;
    background: #fff;
    border: var(--karte-border);
    border-radius: var(--karte-radius);
    box-shadow: var(--schatten-karte);
}
.ep-seite > .karte {
    min-width: 0;
    height: 100%;
    padding: 2px 24px;
    border: 0;
    border-right: 1px solid var(--grau-100);
    border-radius: 0;
    box-shadow: none;
}
.ep-seite > .karte:last-child {
    border-right: 0;
}
.ep-seite h3,
.ep-unten h3 {
    color: var(--navy);
    font-size: 15px;
    font-weight: 800;
}
.ep-uebersicht {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-content: start;
    gap: 8px;
}
.ep-uebersicht > h3,
.ep-uebersicht > .ep-ueb-link {
    grid-column: 1 / -1;
}
.ep-uebersicht .ep-stat {
    min-height: 66px;
    display: grid;
    grid-template-columns: 32px 1fr;
    grid-template-rows: auto auto;
    gap: 1px 9px;
    align-content: center;
    padding: 9px;
    border: 1px solid #e6edf6;
    border-radius: 12px;
    background: #f8fafd;
}
.ep-uebersicht .ep-stat + .ep-stat {
    border-top: 1px solid #e6edf6;
}
.ep-uebersicht .ep-stat-ic {
    grid-row: 1 / 3;
    width: 32px;
    height: 32px;
}
.ep-uebersicht .ep-stat-label {
    align-self: end;
    font-size: 11px;
}
.ep-uebersicht .ep-stat-wert {
    align-self: start;
    font-size: 15px;
}
.ep-minikal .ep-mk-kopf {
    min-height: 36px;
}
.ep-minikal .ep-pfeil {
    width: 30px;
    height: 30px;
    border-color: transparent;
    background: #f3f6fa;
}
.ep-minikal .ep-mk-tag {
    max-width: 34px;
    justify-self: center;
    width: 100%;
}
.ep-unzu {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.ep-unzu .ep-unzu-kopf {
    min-height: 36px;
}
.ep-unzu .ep-unzu-karte {
    position: relative;
    margin: 0;
    padding: 10px 10px 10px 18px;
    border: 0;
    border-top: 1px solid var(--grau-100);
    border-radius: 0;
}
.ep-unzu .ep-unzu-karte:first-of-type {
    border-top: 0;
}
.ep-unzu .ep-unzu-karte:hover {
    border-color: var(--grau-100);
    border-radius: 9px;
    background: #f7faff;
}
.ep-unzu .ep-unzu-punkt {
    position: absolute;
    left: 2px;
    top: 13px;
}
.ep-unzu .ep-unzu-text {
    width: 100%;
}
.ep-unzu .ep-unzu-text strong {
    font-size: 13px;
}
.ep-unzu .ep-unzu-text small {
    line-height: 1.45;
}
.ep-unzu .ep-unzu-alle {
    margin-top: auto;
    border: 1px solid #d9e5f6;
    background: #fff;
}
.ep-unten {
    gap: 0;
    padding: 20px 0;
    overflow: hidden;
    background: #fff;
    border: var(--karte-border);
    border-radius: var(--karte-radius);
    box-shadow: var(--schatten-karte);
}
.ep-unten > .karte {
    min-width: 0;
    padding: 2px 24px;
    border: 0;
    border-right: 1px solid var(--grau-100);
    border-radius: 0;
    box-shadow: none;
}
.ep-unten > .karte:last-child {
    border-right: 0;
}
.ep-unten:not(.ep-unten-3) {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
}
.ep-detail-kopf {
    padding-bottom: 15px;
    border-bottom: 1px solid var(--grau-100);
}
.ep-detail-raster {
    gap: 16px 30px;
    margin: 17px 0;
}
.ep-info {
    padding: 2px 0;
}
.ep-notiz-box {
    min-height: 154px;
    border: 0;
    border-radius: 12px;
    background: #f5f8fc;
}

@media (max-width: 1100px) {
    .ep-seite {
        grid-template-columns: 1fr 1fr;
    }
    .ep-seite > .karte:nth-child(2) {
        border-right: 0;
    }
    .ep-seite > .karte:last-child {
        grid-column: 1 / -1;
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid var(--grau-100);
    }
}
@media (max-width: 760px) {
    .ep-seite,
    .ep-unten,
    .ep-unten:not(.ep-unten-3) {
        grid-template-columns: 1fr;
        padding: 0 16px;
        border-radius: 14px;
    }
    .ep-seite > .karte,
    .ep-unten > .karte {
        grid-column: auto;
        margin: 0;
        padding: 18px 0;
        border-right: 0;
        border-top: 1px solid var(--grau-100);
    }
    .ep-seite > .karte:first-child,
    .ep-unten > .karte:first-child {
        border-top: 0;
    }
    .ep-seite > .karte:last-child {
        grid-column: auto;
        margin-top: 0;
    }
    .ep-uebersicht {
        grid-template-columns: 1fr 1fr;
    }
    .ep-detail-raster {
        grid-template-columns: 1fr;
    }
}

/* Verbindlicher Mobile-Standard: muss nach allen seitenspezifischen Regeln stehen. */
@media (max-width: 700px) {
    body.layout-seite .inhalt {
        padding: 12px 12px calc(76px + env(safe-area-inset-bottom));
    }
    .haupt-kopf {
        display: block;
        min-height: 0;
        padding: 8px 12px 0;
        border: 0;
        background: #f3f6fa;
    }
    .haupt-kopf .hk-titel,
    .haupt-kopf .hk-aktionen > .hk-push,
    .haupt-kopf .hk-aktionen > .hk-sync-form,
    .haupt-kopf .hk-aktionen > .glocke-wrap,
    .haupt-kopf .hk-aktionen > .hk-profil,
    .haupt-kopf .hk-aktionen > a[href="logout.php"] {
        display: none !important;
    }
    .haupt-kopf .hk-aktionen {
        width: 100%;
        display: flex;
        align-items: stretch;
        gap: 8px;
        overflow-x: auto;
    }
    .kpi-reihe,
    .zt-kpis,.ma-kpis,.ku-kpis,.au-kpis,.pl-kpis,.fa-kpis,.la-kpis,.of-kpis {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px;
        margin-bottom: 12px;
    }
    .zt-kpi,.ma-kpi,.ku-kpi,.au-kpi,.pl-kpi,.fa-kpi,.la-kpi,.of-kpi {
        min-height: 94px;
        padding: 14px;
    }
    .ku-table,.ma-table,.zt-table,.la-table,
    .ku-table tbody,.ma-table tbody,.zt-table tbody,.la-table tbody {
        display: block;
        width: 100%;
        min-width: 0;
    }
    .ku-table-wrap,.ma-table-wrap,.zt-table-wrap,.la-table-wrap {
        margin: 0;
        overflow: visible;
    }
    .ku-layout,.ma-layout,.zt-layout,.pl-layout,.fa-layout,.la-layout,
    .of-layout,.ofd-layout,.ad-layout,.ae-bottom {
        grid-template-columns: minmax(0,1fr) !important;
        gap: 12px;
    }
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,textarea {
        min-height: 44px;
        font-size: 16px;
    }

    /* Frühere schwebende Mobile-Menüleiste beibehalten. */
    .mobil-tabbar {
        display: flex;
        justify-content: center;
        position: fixed;
        left: 0;
        right: 0;
        z-index: 200;
        bottom: calc(14px + env(safe-area-inset-bottom));
        padding-bottom: 0;
        pointer-events: none;
        background: transparent;
        border-top: 0;
        box-shadow: none;
    }
    .dock {
        width: auto;
        max-width: none;
        pointer-events: auto;
        display: flex;
        align-items: flex-end;
        grid-template-columns: none;
        gap: 6px;
        padding: 9px 12px;
        border: 1px solid rgba(255,255,255,.8);
        border-radius: 26px;
        background: rgba(255,255,255,.72);
        box-shadow: 0 12px 34px -8px rgba(15,23,42,.35), 0 2px 8px rgba(15,23,42,.12);
        animation: dock-bob 8s ease-in-out infinite;
        backdrop-filter: blur(22px) saturate(1.4);
        -webkit-backdrop-filter: blur(22px) saturate(1.4);
    }
    .dock-item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        min-width: 0;
        padding: 0;
    }
    .dock-btn {
        width: 46px;
        height: 46px;
        border-radius: 16px;
        background: transparent;
    }
    .dock-btn .ic {
        width: 24px;
        height: 24px;
    }
    .dock-item.aktiv .dock-btn {
        background: transparent;
        color: var(--primaer);
    }
    .dock-item:hover .dock-btn,
    .dock-item:active .dock-btn,
    .dock-item:focus-visible .dock-btn {
        transform: scale(1.18) rotate(-5deg);
        background: var(--primaer-hell);
        color: var(--primaer);
        box-shadow: 0 0 0 1px rgba(29,78,216,.4), 0 10px 22px -6px rgba(29,78,216,.45);
    }
    .dock-dot {
        display: block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--primaer);
        opacity: 0;
    }
    .dock-item.aktiv .dock-dot {
        opacity: 1;
    }
}
/* ============================================================
   HEUTE-COCKPIT
   ============================================================ */
.cockpit-page{display:grid;gap:16px;padding-bottom:28px}
.cockpit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cockpit-kpi{min-height:104px;background:#fff;border:1px solid var(--grau-200);border-radius:8px;padding:18px;display:flex;align-items:center;gap:14px;color:var(--navy);box-shadow:0 8px 24px rgba(15,38,75,.04);text-decoration:none}
.cockpit-kpi:hover{border-color:#b7cdfd;transform:translateY(-1px)}
.cockpit-kpi>div{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:9px;min-width:0}
.cockpit-kpi small{grid-column:1/-1;color:var(--grau-500);font-weight:700}
.cockpit-kpi strong{font-size:28px;line-height:1;margin-top:6px}
.cockpit-kpi div span{color:var(--grau-500);font-size:13px;padding-bottom:2px}
.ck-icon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto}
.ck-icon.blau{background:#e8f1ff;color:#1463ed}.ck-icon.orange{background:#fff2df;color:#e98a00}
.ck-icon.violett{background:#f1eaff;color:#8247ee}.ck-icon.rot{background:#ffebec;color:#e5343c}
.cockpit-quick{display:flex;gap:10px;overflow:auto;padding-bottom:2px}
.cockpit-quick a,.cockpit-quick button{min-width:150px;border:1px solid var(--grau-200);background:#fff;border-radius:8px;padding:11px 14px;display:flex;align-items:center;gap:10px;color:var(--navy);text-align:left;text-decoration:none;cursor:pointer}
.cockpit-quick svg{color:var(--blau);flex:none}.cockpit-quick span{display:grid}.cockpit-quick strong{font-size:13px}.cockpit-quick small{font-size:11px;color:var(--grau-500);margin-top:2px}
.cockpit-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:16px;align-items:start}
.cockpit-main,.cockpit-side{display:grid;gap:16px}
.cockpit-card{background:#fff;border:1px solid var(--grau-200);border-radius:8px;box-shadow:0 8px 24px rgba(15,38,75,.04);overflow:hidden}
.cockpit-card>header{padding:18px 20px;border-bottom:1px solid var(--grau-200);display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.cockpit-card>header h2{font-size:16px;margin:0;color:var(--navy)}.cockpit-card>header p{font-size:12px;color:var(--grau-500);margin:4px 0 0}
.cockpit-card>header>a,.text-button{font:inherit;font-size:12px;font-weight:700;color:var(--blau);border:0;background:transparent;text-decoration:none;display:flex;align-items:center;gap:5px;cursor:pointer;padding:2px}
.text-button.danger{color:#d92d37}
.cockpit-day-tabs{display:flex;padding:12px 20px 0;gap:6px}
.cockpit-day-tabs button{border:0;background:#f3f6fb;color:var(--grau-600);border-radius:6px;padding:8px 12px;font-weight:700;cursor:pointer}
.cockpit-day-tabs button.aktiv{background:var(--blau);color:#fff}.cockpit-day-tabs span{opacity:.75;margin-left:4px}
.cockpit-timeline{display:none;padding:8px 20px 16px}.cockpit-timeline.aktiv{display:block}
.cockpit-termin{display:grid;grid-template-columns:62px 4px minmax(0,1fr) auto 18px;align-items:center;gap:13px;padding:13px 4px;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--grau-100)}
.cockpit-termin:last-child{border-bottom:0}.cockpit-termin time{display:grid}.cockpit-termin time strong{font-size:14px}.cockpit-termin time span{font-size:11px;color:var(--grau-500);margin-top:3px}
.ct-line{width:4px;height:44px;border-radius:3px;background:var(--ct)}
.cockpit-termin h3{font-size:14px;margin:2px 0 3px}.cockpit-termin small{font-size:10px;text-transform:uppercase;color:var(--grau-500);font-weight:800}.cockpit-termin p{font-size:11px;color:var(--grau-500);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-team{font-size:11px;color:var(--grau-500);display:flex;align-items:center;gap:4px}
.cockpit-empty{min-height:100px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--grau-400);font-size:13px}.cockpit-empty.klein{min-height:62px}
.cockpit-task-list{padding:4px 20px 12px}
.cockpit-task{display:grid;grid-template-columns:30px minmax(0,1fr) 28px;gap:10px;align-items:start;padding:13px 0;border-bottom:1px solid var(--grau-100)}
.cockpit-task:last-child{border-bottom:0}.cockpit-task form button{width:28px;height:28px;border:1px solid var(--grau-200);border-radius:6px;background:#fff;color:var(--grau-400);display:grid;place-items:center;cursor:pointer}
.cockpit-task form button:hover{color:#079455;border-color:#8dd9b4}.cockpit-task .task-delete:hover{color:#d92d37;border-color:#f4a6aa}
.cockpit-task h3{font-size:13px;margin:0}.cockpit-task p{font-size:12px;color:var(--grau-500);margin:4px 0}.cockpit-task small{font-size:10px;color:var(--grau-500)}.cockpit-task small.due{color:#d92d37;font-weight:700}
.cockpit-task.hoch{box-shadow:inset 3px 0 #ef4444}.cockpit-task.niedrig{box-shadow:inset 3px 0 #9ca3af}
.cockpit-compact-list,.cockpit-alerts{padding:6px 16px 12px}
.cockpit-compact-list>a,.cockpit-alerts>a{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--grau-100);color:var(--navy);text-decoration:none}
.cockpit-compact-list>a:last-child,.cockpit-alerts>a:last-child{border-bottom:0}
.cockpit-compact-list strong,.cockpit-alerts strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cockpit-compact-list small,.cockpit-alerts small{display:block;font-size:10px;color:var(--grau-500);margin-top:3px}
.compact-icon,.alert-number{width:34px;height:34px;border-radius:7px;background:#eaf2ff;color:var(--blau);display:grid;place-items:center;font-size:12px;font-weight:800}
.alert-number.orange{background:#fff1dc;color:#d97d00}.alert-number.rot{background:#ffebec;color:#d92d37}.alert-number.violett{background:#f2eaff;color:#7d45db}
.assistant-online{width:9px;height:9px;border-radius:50%;background:#17b26a;box-shadow:0 0 0 4px #e7f8ef;margin-top:7px}
.assistant-head-actions{display:flex;align-items:center;gap:11px}.assistant-head-actions button{width:32px;height:32px;border:1px solid var(--grau-200);border-radius:7px;background:#fff;color:var(--grau-600);display:grid;place-items:center;cursor:pointer}.assistant-head-actions button.aktiv{background:#e7f8ef;border-color:#a8e4c5;color:#07804f}
.assistant-chat{height:310px;overflow:auto;padding:16px;background:#f7f9fc;display:flex;flex-direction:column;gap:9px}
.assistant-suggestions{display:flex;gap:6px;padding:9px 12px 0;overflow:auto}.assistant-suggestions button{white-space:nowrap;border:1px solid var(--grau-200);border-radius:6px;background:#fff;color:var(--grau-600);font-size:10px;font-weight:700;padding:6px 8px;cursor:pointer}.assistant-suggestions button:hover{border-color:#9ebcf4;color:var(--primaer)}
.assistant-welcome{margin:auto;text-align:center;color:var(--grau-500);max-width:260px}.assistant-welcome>span{width:44px;height:44px;margin:0 auto 10px;border-radius:8px;background:#e9f1ff;color:var(--blau);display:grid;place-items:center}.assistant-welcome strong{display:block;color:var(--navy);font-size:14px}.assistant-welcome p{font-size:11px;line-height:1.5}
.assistant-msg{max-width:88%;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid var(--grau-200);font-size:12px;line-height:1.45;align-self:flex-start;white-space:pre-wrap}
.assistant-msg.user{align-self:flex-end;background:var(--blau);border-color:var(--blau);color:#fff}
.assistant-msg[data-speak-text]{cursor:pointer}.assistant-msg[data-speak-text]:hover{border-color:#a9c4f7}
.assistant-msg.loading{color:var(--grau-500);animation:assistant-fade 1.15s ease-in-out infinite}.assistant-msg.error{border-color:#f4b4b7;color:#b4232c}
@keyframes assistant-fade{50%{opacity:.48}}
.assistant-action{padding:13px 16px;background:#fff8e8;border-top:1px solid #f4d793;border-bottom:1px solid #f4d793}.assistant-action small{display:block;color:#a15c00;font-size:10px;font-weight:800;text-transform:uppercase}.assistant-action strong{display:block;font-size:12px;line-height:1.45;margin:5px 0 10px}.assistant-action>div{display:flex;justify-content:flex-end;gap:7px}.assistant-action form{margin:0}.assistant-action .btn{padding:7px 10px;font-size:11px}
.assistant-action>p{margin:0 0 10px;color:#7a560e;font-size:11px;line-height:1.45}
.assistant-compose{display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;gap:7px;padding:12px}.assistant-compose textarea{resize:none;min-height:48px;font-size:12px}.assistant-mic,.assistant-send{align-self:end;width:34px;height:34px;border:0;border-radius:7px;display:grid;place-items:center;cursor:pointer}.assistant-mic{background:#edf2f8;color:var(--navy)}.assistant-mic.aktiv{background:#fee4e6;color:#d92d37;animation:assistant-pulse 1s infinite}.assistant-send{background:var(--blau);color:#fff}
.assistant-compose.sendet{opacity:.72}.assistant-send:disabled{cursor:wait}.assistant-status{margin:9px 12px 0;padding:8px 10px;border-radius:6px;background:#edf6ff;color:#275b9d;font-size:10px;font-weight:700}.assistant-status.fehler{background:#fff0f1;color:#b4232c}
@keyframes assistant-pulse{50%{box-shadow:0 0 0 5px rgba(217,45,55,.12)}}
.assistant-settings{border-top:1px solid var(--grau-200);padding:0 16px 13px}.assistant-settings summary{font-size:11px;color:var(--grau-500);font-weight:700;padding:10px 0;cursor:pointer}.assistant-settings form{display:grid;gap:8px}.assistant-settings label{font-size:11px;font-weight:700}.assistant-settings input{margin-top:4px}.assistant-settings .btn{justify-self:start}.assistant-settings form+form{margin-top:8px}
.assistant-cron{display:grid;gap:4px;margin-top:12px;font-size:11px;font-weight:700}.assistant-cron input{font-family:monospace;font-size:10px}.assistant-cron small{color:var(--grau-500);font-weight:400;line-height:1.4}
.cockpit-task-dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:8px;padding:0;box-shadow:0 24px 80px rgba(10,30,65,.28)}.cockpit-task-dialog::backdrop{background:rgba(8,25,54,.55);backdrop-filter:blur(3px)}
.cockpit-task-dialog>form{padding:20px;display:grid;gap:14px}.cockpit-task-dialog header{display:flex;justify-content:space-between;align-items:start}.cockpit-task-dialog h2{font-size:18px;margin:0}.cockpit-task-dialog header p{font-size:12px;color:var(--grau-500);margin:4px 0 0}.cockpit-task-dialog header button{border:0;background:transparent;cursor:pointer}.cockpit-task-dialog label{font-size:12px;font-weight:700;display:grid;gap:5px}.task-form-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.cockpit-task-dialog footer{display:flex;justify-content:flex-end;gap:8px}

@media(max-width:1050px){
  .cockpit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cockpit-grid{grid-template-columns:1fr}
  .cockpit-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cockpit-assistant{grid-row:span 2}
}
@media(max-width:700px){
  .cockpit-page{gap:12px;padding:0 0 92px}
  .cockpit-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cockpit-kpi{min-height:82px;padding:12px;gap:9px}.ck-icon{width:36px;height:36px}.cockpit-kpi strong{font-size:22px}.cockpit-kpi div span{font-size:11px}
  .cockpit-quick{margin:0 -2px}.cockpit-quick a,.cockpit-quick button{min-width:126px;padding:10px}
  .cockpit-grid,.cockpit-main,.cockpit-side{display:grid;grid-template-columns:1fr;gap:12px}
  .cockpit-card>header{padding:15px}.cockpit-day-tabs{padding:10px 15px 0}.cockpit-timeline{padding:6px 15px 12px}
  .cockpit-termin{grid-template-columns:50px 3px minmax(0,1fr) 14px;gap:9px;padding:12px 0}.cockpit-termin>.ct-team{display:none}.cockpit-termin p{max-width:62vw}
  .cockpit-task-list{padding:3px 15px 10px}
  .cockpit-assistant{order:-1}.assistant-chat{height:270px}
  .task-form-row{grid-template-columns:1fr}
}

/* Mitarbeiterportal-Fotos: fachlich getrennte, admin-only Auftragsgalerie. */
.ad-employee-photos{padding:22px;display:grid;gap:18px;background:#f8fbff}
.ad-employee-photos-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;border:1px solid var(--ad-line);border-radius:10px;background:#fff}
.ad-employee-photos-head small{display:block;margin-bottom:5px;color:#1765ed;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ad-employee-photos-head h3{margin:0 0 6px;color:var(--ad-text);font-size:20px}
.ad-employee-photos-head p{margin:0;color:var(--ad-muted);font-size:11px;line-height:1.55}
.ad-employee-photos-head>strong{min-height:34px;padding:0 11px;border-radius:7px;display:inline-flex;align-items:center;background:#edf4ff;color:#1765ed;font-size:11px;white-space:nowrap}
.ad-photo-filters{display:flex;flex-wrap:wrap;gap:7px}
.ad-photo-filters a{min-height:38px;padding:0 12px;border:1px solid var(--ad-line);border-radius:7px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:#435673;font-size:10px;font-weight:850}
.ad-photo-filters a:hover{text-decoration:none;border-color:#a9c7f7;color:#1765ed}
.ad-photo-filters a.aktiv{border-color:#1765ed;background:#1765ed;color:#fff;box-shadow:0 7px 18px rgba(23,101,237,.18)}
.ad-photo-filters a span{min-width:21px;height:20px;padding:0 5px;border-radius:5px;display:grid;place-items:center;background:#edf4ff;color:#1765ed;font-size:9px}
.ad-photo-filters a.aktiv span{background:rgba(255,255,255,.2);color:#fff}
.ad-employee-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ad-employee-photo-card{min-width:0;overflow:hidden;border:1px solid var(--ad-line);border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(15,35,72,.06)}
.ad-employee-photo-card>a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#e8eff8}
.ad-employee-photo-card>a img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s ease}
.ad-employee-photo-card>a:hover img{transform:scale(1.035)}
.ad-employee-photo-card>a span{position:absolute;right:9px;bottom:9px;min-height:27px;padding:0 9px;border-radius:5px;display:flex;align-items:center;background:rgba(7,24,69,.8);color:#fff;font-size:9px;font-weight:850}
.ad-employee-photo-meta{padding:13px;display:grid;gap:7px}
.ad-employee-photo-meta>span{width:max-content;min-height:24px;padding:0 8px;border-radius:5px;display:inline-flex;align-items:center;background:#edf4ff;color:#1765ed;font-size:9px;font-weight:900;text-transform:uppercase}
.ad-employee-photo-meta>span.nachher{background:#e8f8f0;color:#13774d}
.ad-employee-photo-meta>span.schaden,.ad-employee-photo-meta>span.problem{background:#fff1f1;color:#b42335}
.ad-employee-photo-meta strong{color:var(--ad-text);font-size:12px}
.ad-employee-photo-meta small{color:var(--ad-muted);font-size:10px}
.ad-employee-photo-meta p{min-height:34px;margin:2px 0 0;color:#405370;font-size:10px;line-height:1.55;overflow-wrap:anywhere}
.ad-employee-photo-meta form{margin-top:3px;padding-top:9px;border-top:1px solid #edf2f8}
.ad-employee-photo-meta .ad-danger-btn{width:auto;min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:9px;cursor:pointer}
.ad-employee-photos-empty{min-height:220px;padding:28px;border:1px dashed #b7c8df;border-radius:10px;display:grid;place-items:center;align-content:center;gap:8px;background:#fff;color:#71839d;text-align:center}
.ad-employee-photos-empty strong{color:var(--ad-text);font-size:13px}
.ad-employee-photos-empty p{max-width:430px;margin:0;font-size:10px;line-height:1.5}

@media(max-width:1100px){.ad-employee-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ad-employee-photos{padding:12px;gap:12px}.ad-employee-photos-head{display:grid;padding:14px}.ad-employee-photo-grid{grid-template-columns:1fr}.ad-photo-filters{display:grid;grid-template-columns:repeat(3,1fr)}.ad-photo-filters a{justify-content:center;padding:0 7px}.ad-employee-photo-meta .ad-danger-btn{min-height:44px}.ad-employee-photo-card>a span{min-height:32px}}

/* Mitarbeiter-Meldungen: auftragsbezogener CRM-V2-Workflow. */
.ad-detail-tabs a.ad-tab-has-open:not(.aktiv){color:#9a5b00}.ad-mobile-quick a.ad-tab-has-open:not(.aktiv){color:#9a5b00;background:#fff8eb}
.ad-employee-reports{padding:22px;display:grid;gap:16px;background:#f8fbff}
.ad-employee-reports-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;border:1px solid var(--ad-line);border-radius:10px;background:#fff}
.ad-employee-reports-head small{display:block;margin-bottom:5px;color:#1765ed;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ad-employee-reports-head h3{margin:0 0 6px;color:var(--ad-text);font-size:20px}.ad-employee-reports-head p{margin:0;color:var(--ad-muted);font-size:11px;line-height:1.55}
.ad-employee-reports-head>div:last-child{min-width:88px;padding:10px 12px;border-radius:8px;display:grid;justify-items:center;background:#fff8eb;color:#9a5b00}.ad-employee-reports-head>div:last-child strong{font-size:22px}.ad-employee-reports-head>div:last-child span{font-size:9px;font-weight:850;text-transform:uppercase}
.ad-employee-report-list{display:grid;gap:12px}.ad-employee-report-card{overflow:hidden;border:1px solid var(--ad-line);border-left:4px solid #e6a23c;border-radius:10px;background:#fff;box-shadow:0 7px 22px rgba(15,35,72,.055)}.ad-employee-report-card.status-in_bearbeitung{border-left-color:#1765ed}.ad-employee-report-card.status-erledigt{border-left-color:#2b9a68}
.ad-employee-report-card>header{min-height:78px;padding:14px 16px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;border-bottom:1px solid #edf2f8}.ad-report-icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#fff4df;color:#a76000}.status-in_bearbeitung .ad-report-icon{background:#edf4ff;color:#1765ed}.status-erledigt .ad-report-icon{background:#e9f8f1;color:#13774d}
.ad-employee-report-card>header small{color:#a76000;font-size:9px;font-weight:900;text-transform:uppercase}.ad-employee-report-card>header h4{margin:3px 0;color:var(--ad-text);font-size:14px}.ad-employee-report-card>header p{margin:0;color:var(--ad-muted);font-size:10px}
.ad-report-status{min-height:27px;padding:0 9px;border-radius:6px;display:inline-flex;align-items:center;background:#fff4df;color:#9a5b00;font-size:9px;font-weight:900;white-space:nowrap}.ad-report-status.in_bearbeitung{background:#edf4ff;color:#1765ed}.ad-report-status.erledigt{background:#e9f8f1;color:#13774d}
.ad-report-body{padding:15px 16px;display:grid;gap:12px}.ad-report-body blockquote{margin:0;padding:12px 14px;border-left:3px solid #c9d9ec;border-radius:0 7px 7px 0;background:#f8fbff;color:#30435f;font-size:11px;line-height:1.6}
.ad-report-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ad-report-gallery>a{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#e8eff8}.ad-report-gallery>a img{width:100%;height:100%;display:block;object-fit:cover}.ad-report-gallery>a span{position:absolute;right:6px;bottom:6px;padding:5px 7px;border-radius:5px;background:rgba(7,24,69,.8);color:#fff;font-size:8px;font-weight:850}
.ad-report-workflow{padding:14px 16px;display:grid;grid-template-columns:190px minmax(220px,1fr) auto;gap:10px;align-items:end;border-top:1px solid #edf2f8;background:#fbfdff}.ad-report-workflow label{display:grid;gap:5px;color:#53657d;font-size:9px;font-weight:850}.ad-report-workflow select,.ad-report-workflow textarea{width:100%;min-height:38px;border:1px solid #ced9e8;border-radius:7px;background:#fff;color:#1d2d48;font:inherit;font-size:11px}.ad-report-workflow select{padding:0 9px}.ad-report-workflow textarea{padding:9px;resize:vertical}.ad-report-workflow .btn{min-height:38px;justify-content:center;white-space:nowrap}
.ad-employee-reports-empty{min-height:220px;padding:28px;border:1px dashed #b7c8df;border-radius:10px;display:grid;place-items:center;align-content:center;gap:8px;background:#fff;color:#2b9a68;text-align:center}.ad-employee-reports-empty strong{color:var(--ad-text);font-size:13px}.ad-employee-reports-empty p{max-width:420px;margin:0;color:var(--ad-muted);font-size:10px}
@media(max-width:900px){.ad-report-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-report-workflow{grid-template-columns:1fr 1fr}.ad-report-workflow .btn{grid-column:1/-1}}
@media(max-width:700px){.ad-employee-reports{padding:12px}.ad-employee-reports-head{display:grid;padding:14px}.ad-employee-reports-head>div:last-child{width:100%;grid-template-columns:auto auto;justify-content:space-between;align-items:center}.ad-employee-report-card>header{grid-template-columns:36px minmax(0,1fr)}.ad-report-status{grid-column:2;width:max-content}.ad-report-body{padding:12px}.ad-report-gallery{grid-template-columns:1fr}.ad-report-workflow{grid-template-columns:1fr;padding:12px}.ad-report-workflow .btn{grid-column:auto;min-height:46px}.ad-report-workflow select{min-height:46px;font-size:16px}}

/* Chat V2: native CRM-Kommunikationsansicht. */
.chatv2-page{display:grid;gap:16px}.chatv2-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid var(--ad-line);border-radius:12px;background:#fff}.chatv2-page-head small,.chatv2-grants header small{display:block;margin-bottom:5px;color:#1765ed;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.chatv2-page-head h1{margin:0;color:var(--ad-text);font-size:24px}.chatv2-page-head p,.chatv2-grants header p{margin:5px 0 0;color:var(--ad-muted);font-size:11px}
.chatv2-new{padding:18px 20px;border:1px solid #bdd4f2;border-radius:12px;background:#f5f9ff}.chatv2-new>div h2{margin:0 0 5px;font-size:17px}.chatv2-new>div p{margin:0;color:var(--ad-muted);font-size:10px}.chatv2-form-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.chatv2-form-grid>label,.chatv2-status-form label{margin:0;display:grid;gap:5px;color:#52647c;font-size:9px;font-weight:850}.chatv2-form-grid input,.chatv2-form-grid select,.chatv2-status-form select{min-height:42px;border:1px solid #ccd9e9;border-radius:8px;background:#fff}.chatv2-form-grid fieldset,.chatv2-participants fieldset{grid-column:1/-1;margin:0;padding:12px;display:flex;flex-wrap:wrap;gap:8px 15px;border:1px solid #d7e2ef;border-radius:9px;background:#fff}.chatv2-form-grid legend,.chatv2-participants legend{padding:0 6px;color:#52647c;font-size:9px;font-weight:850}.chatv2-form-grid fieldset label,.chatv2-participants label{margin:0;display:flex;align-items:center;gap:7px;font-size:10px}.chatv2-form-grid fieldset input,.chatv2-participants input{width:auto;min-height:0}.chatv2-form-grid fieldset span,.chatv2-participants span{display:grid}.chatv2-form-grid fieldset small,.chatv2-participants small{color:var(--ad-muted);font-size:8px;font-weight:500}
.chatv2-shell{min-height:680px;display:grid;grid-template-columns:minmax(265px,330px) minmax(0,1fr);overflow:hidden;border:1px solid var(--ad-line);border-radius:12px;background:#fff;box-shadow:0 12px 35px rgba(15,35,72,.06)}.chatv2-list{min-width:0;border-right:1px solid var(--ad-line);background:#f8fbff}.chatv2-list>header{height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ad-line)}.chatv2-list>header h2{margin:0;font-size:15px}.chatv2-list>header span{min-width:28px;height:25px;padding:0 7px;display:grid;place-items:center;color:#1765ed;background:#eaf3ff;border-radius:7px;font-size:10px;font-weight:900}.chatv2-list>div{max-height:680px;overflow-y:auto}.chatv2-list a{min-width:0;padding:13px 12px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;color:inherit;border-bottom:1px solid #e8eef6;text-decoration:none}.chatv2-list a.active{background:#eaf3ff;box-shadow:inset 3px 0 #1765ed}.chatv2-list a>b{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#1765ed,#0a2349);border-radius:11px;font-size:11px}.chatv2-list a>span{min-width:0;display:grid;gap:3px}.chatv2-list a strong,.chatv2-list a small,.chatv2-list a em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatv2-list a strong{font-size:11px}.chatv2-list a small{color:var(--ad-muted);font-size:9px}.chatv2-list a em{color:#8090a6;font-size:8px;font-style:normal}.chatv2-list a>time{height:100%;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;color:#7b8ca2;font-size:8px}.chatv2-list a>time i{min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;color:#fff;background:#1765ed;border-radius:999px;font-style:normal;font-weight:900}
.chatv2-conversation{min-width:0;min-height:680px;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#f8fbff)}.chatv2-conversation>header{min-height:76px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ad-line)}.chatv2-conversation>header small{color:#1765ed;font-size:8px;font-weight:900;text-transform:uppercase}.chatv2-conversation>header h2{margin:3px 0;font-size:17px}.chatv2-conversation>header p{margin:0;color:var(--ad-muted);font-size:9px}.chatv2-head-actions button{min-height:36px;padding:0 10px;display:flex;align-items:center;gap:6px;color:#415775;background:#f2f6fb;border:1px solid #d5e0ed;border-radius:7px;font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.chatv2-manage{padding:14px 16px;display:grid;gap:12px;border-bottom:1px solid var(--ad-line);background:#f5f9ff}.chatv2-status-form{display:grid;grid-template-columns:190px auto;gap:9px;align-items:end}.chatv2-participants{display:grid;gap:9px}.chatv2-participants fieldset{grid-column:auto}.chatv2-participants>.btn{justify-self:start}.chatv2-messages{min-height:300px;max-height:560px;flex:1;padding:18px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;scroll-behavior:smooth}.chatv2-day{margin:4px 0;display:flex;justify-content:center}.chatv2-day span{padding:5px 10px;color:#6c7f98;background:#e9eff7;border-radius:999px;font-size:8px;font-weight:850}.chatv2-messages>article{max-width:min(74%,540px);padding:10px 12px 7px;align-self:flex-start;overflow-wrap:anywhere;background:#edf2f8;border-radius:5px 14px 14px}.chatv2-messages>article.mine{align-self:flex-end;background:#e4f0ff;border-radius:14px 5px 14px 14px}.chatv2-messages>article.pinned{border-left:3px solid #e6a23c}.chatv2-messages>article>strong{display:block;margin-bottom:4px;color:#1765ed;font-size:9px}.chatv2-messages>article>p{margin:0;color:#263951;font-size:11px;line-height:1.55}.chatv2-messages article footer{margin-top:6px;display:flex;justify-content:flex-end;gap:7px;color:#71839a;font-size:8px}.chatv2-messages article footer .important{color:#a76000;font-weight:900}.chatv2-image{position:relative;width:min(300px,100%);margin-top:7px;padding:0;overflow:hidden;display:block;border:0;border-radius:9px;background:#dce6f2;cursor:zoom-in}.chatv2-image img{width:100%;max-height:300px;display:block;object-fit:cover}.chatv2-image span{position:absolute;right:6px;bottom:6px;padding:5px 7px;display:flex;align-items:center;gap:4px;color:#fff;background:rgba(7,24,55,.8);border-radius:6px;font-size:8px;font-weight:800}
.chatv2-composer{padding:12px 14px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:end;border-top:1px solid var(--ad-line);background:#fff}.chatv2-composer textarea{min-height:42px;max-height:120px;margin:0;padding:10px 12px;border:1px solid #ccd8e7;border-radius:9px;resize:vertical}.chatv2-attach{width:42px;height:42px;margin:0;display:grid;place-items:center;color:#1765ed;background:#eaf3ff;border-radius:9px;cursor:pointer}.chatv2-composer>div{grid-column:2/-1;display:flex;align-items:center;gap:14px}.chatv2-composer>div label{margin:0;display:flex;align-items:center;gap:5px;color:#65778e;font-size:9px}.chatv2-composer>div input{width:auto;min-height:0}.chatv2-composer>div small{margin-left:auto;color:#71839a}.chatv2-closed{padding:14px;color:#8f5d0a;background:#fff7e8;text-align:center;font-size:10px}.chatv2-empty{padding:24px;color:var(--ad-muted);text-align:center;font-size:10px}.chatv2-empty.large{margin:auto;display:grid;gap:6px}.chatv2-empty.large strong{color:var(--ad-text);font-size:15px}.chatv2-empty.large p{margin:0}
.chatv2-grants{padding:20px;border:1px solid var(--ad-line);border-radius:12px;background:#fff}.chatv2-grants>form{margin-top:14px;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) auto;gap:9px;align-items:center}.chatv2-grants select{min-height:40px;border:1px solid #ccd8e7;border-radius:8px;background:#fff}.chatv2-grants>div{margin-top:12px;display:grid;gap:7px}.chatv2-grants>div form{padding:9px 11px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;background:#f6f9fd;font-size:10px}.chatv2-grants>div p{margin:0;color:var(--ad-muted);font-size:10px}.chatv2-lightbox{width:min(92vw,980px);padding:14px;overflow:visible;background:#07152b;border:0;border-radius:15px}.chatv2-lightbox::backdrop{background:rgba(3,10,23,.84);backdrop-filter:blur(5px)}.chatv2-lightbox>button{position:absolute;top:-12px;right:-12px;width:38px;height:38px;color:#fff;background:#17385f;border:2px solid #fff;border-radius:50%;font-size:22px;cursor:pointer}.chatv2-lightbox img{width:100%;max-height:80vh;display:block;object-fit:contain;border-radius:8px}.chatv2-lightbox p{margin:9px 2px 0;color:#dce8f7;font-size:10px}
@media(max-width:900px){.chatv2-shell{grid-template-columns:270px minmax(0,1fr)}.chatv2-form-grid{grid-template-columns:1fr 1fr}.chatv2-form-grid fieldset{grid-column:1/-1}}
@media(max-width:700px){.chatv2-page-head{padding:15px;align-items:flex-start}.chatv2-page-head h1{font-size:21px}.chatv2-page-head p{display:none}.chatv2-page-head .btn{min-height:42px}.chatv2-new{padding:14px}.chatv2-form-grid{grid-template-columns:1fr}.chatv2-shell{min-height:0;display:block;overflow:visible;border:0;background:transparent;box-shadow:none}.chatv2-list{margin-bottom:12px;border:1px solid var(--ad-line);border-radius:11px;overflow:hidden;background:#fff}.chatv2-list>div{max-height:360px}.chatv2-conversation{min-height:620px;border:1px solid var(--ad-line);border-radius:11px;overflow:hidden}.chatv2-messages{max-height:520px;padding:12px}.chatv2-messages>article{max-width:88%}.chatv2-composer{grid-template-columns:42px minmax(0,1fr) auto;padding:10px}.chatv2-composer .btn{min-height:42px;padding:0 11px}.chatv2-status-form{grid-template-columns:1fr}.chatv2-grants{padding:14px}.chatv2-grants>form{grid-template-columns:1fr auto 1fr}.chatv2-grants>form .btn{grid-column:1/-1}.chatv2-grants>div form{align-items:flex-start;gap:8px}.chatv2-lightbox{padding:9px}}

/* Mitarbeiter-Aufgaben: operativer Portal-Flow, bewusst getrennt von Qualität */
.ma-shell{padding:0;overflow:hidden}
.ma-page button,.ma-page .btn{min-height:38px}
.ma-content{display:grid;gap:18px;padding:20px}
.ma-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;padding:20px;border:1px solid #dce7f5;border-radius:9px;background:linear-gradient(135deg,#f7faff,#edf5ff)}
.ma-summary small,.ma-panel-head small{color:#1765ed;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ma-summary h2{margin:3px 0 4px;color:#102044;font-size:20px}.ma-summary p{margin:0;color:#6b7d98;font-size:11px}
.ma-progress-copy{display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.ma-progress-copy strong{color:#102044;font-size:24px}.ma-progress-copy span{color:#6b7d98;font-size:10px}
.ma-progress{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:#dce8f7}.ma-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1765ed,#3098ff)}
.ma-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ma-kpis article{padding:14px;border:1px solid #e1e8f2;border-radius:8px;background:#fff}.ma-kpis small,.ma-kpis strong,.ma-kpis span{display:block}.ma-kpis small{color:#74859e;font-size:9px}.ma-kpis strong{margin:2px 0;color:#12203a;font-size:22px}.ma-kpis span{color:#8291a6;font-size:9px}.ma-kpis article.warn{border-color:#f2d9ac;background:#fffaf2}.ma-kpis article.ok{border-color:#bee7d0;background:#f3fcf7}
.ma-task-list{display:grid;gap:10px}.ma-task{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px 12px;padding:15px;border:1px solid #e1e8f2;border-radius:9px;background:#fff;box-shadow:0 5px 16px rgba(20,48,84,.04)}.ma-task.done{border-color:#bfe4d0;background:#fbfefc}.ma-task-state{width:40px;height:40px;display:grid;place-items:center;color:#6d7f99;background:#edf2f8;border-radius:8px}.ma-task.done .ma-task-state{color:#087d50;background:#e4f7ed}
.ma-task-edit{display:grid;grid-template-columns:minmax(200px,1.5fr) 120px 180px 86px auto;gap:8px;align-items:end}.ma-task-edit label{margin:0}.ma-task-edit label>span{display:block;margin-bottom:4px;color:#75859c;font-size:8px;font-weight:800;text-transform:uppercase}.ma-task-edit input,.ma-task-edit select{min-height:38px}.ma-task-edit button{min-height:38px}
.ma-task-meta{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#74849a;font-size:9px}.ma-task-meta strong{color:#1765ed}.ma-badge{min-height:22px;padding:0 7px;display:inline-flex;align-items:center;border-radius:5px;background:#edf2f8;color:#526783;font-weight:850}.ma-badge.pflicht{background:#fff0e2;color:#a85200}.ma-badge.optional{background:#edf4ff;color:#1765ed}.ma-badge.hinweis{background:#f0f2f5;color:#5f6e82}
.ma-delete{grid-column:3;grid-row:1/span 2;align-self:center}.ma-delete button{display:inline-flex;align-items:center;gap:5px}
.ma-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;padding:28px;color:#71829b;text-align:center;border:1px dashed #ccd9e9;border-radius:9px;background:#fafcff}.ma-empty strong{color:#172a48}.ma-empty p{margin:0;font-size:10px}
.ma-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ma-panel{padding:18px;border:1px solid #dce5f0;border-radius:9px;background:#fff}.ma-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ma-panel-head>span{width:38px;height:38px;display:grid;place-items:center;color:#1765ed;background:#edf4ff;border-radius:8px}.ma-panel-head h3{margin:2px 0 0;font-size:14px}.ma-panel label{margin:10px 0}.ma-panel p{color:#71829b;font-size:10px}.ma-fields{display:grid;grid-template-columns:1fr 1.25fr 90px;gap:8px}.ma-panel>.btn{margin-top:6px}
.ma-templates{border:1px solid #dfe7f1;border-radius:9px;background:#f9fbfd}.ma-templates>summary{min-height:48px;padding:0 16px;display:flex;align-items:center;color:#2f4564;font-size:11px;font-weight:850;cursor:pointer}.ma-template-grid{display:grid;gap:12px;padding:0 14px 14px}.ma-template{padding:14px;border:1px solid #e0e7f0;border-radius:8px;background:#fff}.ma-template-head{display:grid;grid-template-columns:minmax(160px,1fr) 150px auto auto;gap:7px;align-items:center}.ma-template-head label,.ma-template-new label{margin:0;display:flex;align-items:center;gap:6px}.ma-position{display:grid;grid-template-columns:minmax(180px,1fr) 110px 80px auto auto;gap:7px;margin-top:8px}.ma-position-new{padding-top:8px;border-top:1px solid #edf1f6}.ma-template-new{display:grid;grid-template-columns:1fr 170px auto auto;gap:8px;align-items:center}.ma-template-new h3{grid-column:1/-1;margin:0 0 4px}
.ad-completion-warning{padding:13px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;color:#9b4b00;background:#fff5e7;border:1px solid #f3d4a5;border-radius:8px}.ad-completion-warning span{display:flex;flex-direction:column}.ad-completion-warning small{color:#9b6d37}.ad-completion-warning a{font-weight:850;text-decoration:underline}

@media(max-width:1050px){.ma-task-edit{grid-template-columns:minmax(180px,1fr) 110px 160px}.ma-task-edit .ma-sort{grid-column:1}.ma-task-edit button{grid-column:3}.ma-template-head,.ma-position,.ma-template-new{grid-template-columns:1fr 1fr}.ma-position input:first-of-type{grid-column:1/-1}}
@media(max-width:700px){.ma-content{padding:14px}.ma-summary{grid-template-columns:1fr;padding:15px}.ma-progress-copy{align-items:flex-start}.ma-kpis{display:flex;overflow-x:auto}.ma-kpis article{min-width:125px}.ma-task{grid-template-columns:38px minmax(0,1fr)}.ma-task-state{width:36px;height:36px}.ma-task-edit{grid-template-columns:1fr}.ma-task-edit .ma-sort,.ma-task-edit button{grid-column:auto}.ma-task-meta{grid-column:2}.ma-delete{grid-column:2;grid-row:auto;justify-self:start}.ma-create-grid{grid-template-columns:1fr}.ma-fields{grid-template-columns:1fr}.ma-template-head,.ma-position,.ma-template-new{grid-template-columns:1fr}.ma-position input:first-of-type{grid-column:auto}.ad-completion-warning{grid-template-columns:22px 1fr}.ad-completion-warning a{grid-column:2}}

/* Lina: ruhiger Assistentinnen-Drawer statt Dashboard-Kachel */
body.lina-offen{overflow:hidden}
.cockpit-assistant{
  position:fixed!important;inset:0 0 0 auto;z-index:1200;width:min(460px,100vw);height:100dvh;
  display:flex!important;flex-direction:column;order:initial!important;grid-row:auto!important;
  border:0;border-radius:0;box-shadow:-24px 0 70px rgba(10,30,65,.2);
  transform:translateX(104%);transition:transform .32s cubic-bezier(.22,1,.36,1),visibility 0s linear .32s;
  visibility:hidden;overflow:hidden;background:#fff
}
body.lina-offen .cockpit-assistant{transform:translateX(0);visibility:visible;transition-delay:0s}
.cockpit-assistant>header{flex:0 0 auto;padding:18px 20px;background:#fff}
.lina-identity{display:flex;align-items:center;gap:12px;min-width:0}
.lina-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-size:17px;font-weight:800;background:linear-gradient(145deg,#0878ff,#1458df);box-shadow:0 7px 18px rgba(20,99,237,.25)}
.lina-mark.gross{width:54px!important;height:54px!important;border-radius:15px!important;color:#fff!important;background:linear-gradient(145deg,#0878ff,#1458df)!important;box-shadow:0 9px 24px rgba(20,99,237,.22)}
.lina-avatar{overflow:hidden;background:#dfeaf5!important;border:2px solid rgba(255,255,255,.9);box-shadow:0 7px 18px rgba(20,55,105,.2)}
.lina-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.lina-identity h2{font-size:17px!important}.lina-identity p{font-size:11px!important}
.lina-launcher{
  position:fixed;right:24px;bottom:24px;z-index:1100;display:flex;align-items:center;gap:11px;
  min-width:178px;padding:9px 11px;border:1px solid rgba(255,255,255,.65);border-radius:14px;
  color:var(--navy);background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(10,30,65,.2);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease
}
.lina-launcher:hover{transform:translateY(-2px);box-shadow:0 19px 48px rgba(10,30,65,.25)}
.lina-launcher>span:nth-child(2){display:grid;text-align:left;line-height:1.15;flex:1}
.lina-launcher strong{font-size:13px}.lina-launcher small{font-size:10px;color:var(--grau-500);margin-top:3px}
.lina-launcher>svg{color:var(--grau-400)}
body.lina-offen .lina-launcher{opacity:0;pointer-events:none;transform:translateY(8px)}
.lina-backdrop{position:fixed;inset:0;z-index:1190;border:0;background:rgba(6,21,47,.42);opacity:0;pointer-events:none;transition:opacity .25s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
body.lina-offen .lina-backdrop{opacity:1;pointer-events:auto}
.cockpit-assistant .assistant-chat{flex:1;height:auto;min-height:0;padding:20px;background:linear-gradient(180deg,#f5f8fd 0,#f9fbfe 100%)}
.cockpit-assistant .assistant-welcome{max-width:300px}.cockpit-assistant .assistant-welcome strong{font-size:17px}.cockpit-assistant .assistant-welcome p{font-size:12px;line-height:1.6}
.cockpit-assistant .assistant-msg{font-size:13px;line-height:1.55;padding:11px 13px;border-radius:10px;box-shadow:0 3px 10px rgba(15,38,75,.035)}
.cockpit-assistant .assistant-suggestions{flex:0 0 auto;padding:10px 14px 2px;background:#fff}
.cockpit-assistant .assistant-suggestions button{font-size:11px;padding:7px 10px;border-radius:7px}
.cockpit-assistant .assistant-status{flex:0 0 auto;font-size:11px;margin:9px 14px 0}
.cockpit-assistant .assistant-compose{flex:0 0 auto;grid-template-columns:minmax(0,1fr) 42px 42px;padding:12px 14px 14px;background:#fff}
.cockpit-assistant .assistant-compose textarea{min-height:50px;border-radius:10px;font-size:13px;padding:13px}
.cockpit-assistant .assistant-mic,.cockpit-assistant .assistant-send{width:42px;height:42px;border-radius:10px}
.cockpit-assistant .assistant-settings{flex:0 0 auto;max-height:34dvh;overflow:auto;background:#fff}
.lina-hoert .cockpit-assistant .lina-mark,.lina-hoert .lina-launcher .lina-mark{animation:lina-listening 1.25s ease-in-out infinite}
.lina-hoert .cockpit-assistant .assistant-mic{background:#fee4e6;color:#d92d37}
.lina-spricht .cockpit-assistant .lina-mark{animation:lina-speaking 1.1s ease-in-out infinite}
@keyframes lina-listening{50%{box-shadow:0 0 0 9px rgba(20,99,237,.12),0 8px 20px rgba(20,99,237,.22)}}
@keyframes lina-speaking{50%{transform:scale(1.06);box-shadow:0 0 0 7px rgba(20,99,237,.1)}}

@media(max-width:700px){
  .lina-launcher{right:12px;bottom:84px;min-width:0;padding:8px;border-radius:13px}
  .lina-launcher>span:nth-child(2),.lina-launcher>svg{display:none}
  .lina-launcher .lina-mark{width:42px;height:42px}
  .cockpit-assistant{
    inset:auto 0 0;width:100%;height:min(88dvh,760px);border-radius:15px 15px 0 0;
    transform:translateY(104%);box-shadow:0 -18px 60px rgba(10,30,65,.22)
  }
  body.lina-offen .cockpit-assistant{transform:translateY(0)}
  .cockpit-assistant>header{padding:14px 15px}
  .assistant-head-actions{gap:6px}.assistant-head-actions button{width:34px;height:34px}
  .cockpit-assistant .assistant-chat{height:auto!important;padding:14px}
  .cockpit-assistant .assistant-suggestions{padding:8px 10px 1px}
  .cockpit-assistant .assistant-compose{padding:10px;grid-template-columns:minmax(0,1fr) 40px 40px;gap:6px}
  .cockpit-assistant .assistant-mic,.cockpit-assistant .assistant-send{width:40px;height:40px}
  .cockpit-assistant .assistant-settings{max-height:28dvh}
}
/* Globale Suche, Benachrichtigungen, Einsatz-App und Materialsteuerung */
.global-search-launcher{width:min(290px,24vw);height:40px;display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid #dbe4f0;background:#fff;border-radius:8px;color:#71809a}
.global-search-launcher input{min-width:0;flex:1;border:0!important;box-shadow:none!important;padding:0!important;background:transparent;font-size:13px}
.global-search-launcher kbd{font:600 10px/1 system-ui;color:#8491a8;border:1px solid #dbe4f0;border-radius:4px;padding:4px;background:#f7f9fc}
.search-page,.notify-page,.field-app{max-width:1400px;margin:0 auto;padding:22px}
.search-hero{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;padding:12px 14px;margin-bottom:18px;box-shadow:0 8px 24px rgba(20,43,83,.05)}
.search-hero input{flex:1;min-width:0;border:0!important;box-shadow:none!important;font-size:17px;padding:6px!important}
.search-group,.notify-card{background:#fff;border:1px solid #dfe7f2;border-radius:8px;margin-bottom:14px;overflow:hidden}
.search-group-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #edf1f6}.search-group-head h2{font-size:15px;margin:0}.search-group-head span{background:#edf4ff;color:#1261e8;border-radius:5px;padding:3px 8px;font-size:12px;font-weight:700}
.search-result{display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:11px;padding:13px 18px;color:#102044;border-bottom:1px solid #edf1f6}.search-result:last-child{border-bottom:0}.search-result>span{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1261e8}.search-result div{min-width:0}.search-result strong,.search-result small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result small{color:#71809a;margin-top:3px}.search-result:hover{background:#f8fbff}
.search-empty{text-align:center;padding:48px 20px;color:#71809a}.search-empty h2{color:#102044;font-size:17px;margin:10px 0 5px}.search-empty p{margin:0}
.notify-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.notify-kpis article{background:#fff;border:1px solid #dfe7f2;border-radius:8px;padding:17px}.notify-kpis span{display:block;color:#63779c;font-size:12px}.notify-kpis strong{display:block;font-size:28px;margin-top:5px;color:#102044}.notify-kpis article.warn{border-color:#ffd6a0;background:#fffaf2}.notify-kpis article.warn strong{color:#d97706}
.notify-toolbar{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #e8edf5}.notify-tabs{display:flex;gap:4px}.notify-tabs a{padding:8px 11px;color:#51617d;font-weight:700;font-size:13px;border-radius:6px}.notify-tabs a.aktiv{background:#eaf2ff;color:#0863f7}.notify-toolbar>form{margin-left:auto}.notify-toolbar select{height:36px}.notify-actions{display:flex;gap:6px}.notify-actions form{margin:0}.notify-actions button,.notify-row-actions button{display:flex;align-items:center;gap:5px;border:1px solid #dce5f1;background:#fff;color:#40516f;border-radius:6px;height:36px;padding:0 10px}
.notify-item{display:flex;align-items:center;border-bottom:1px solid #edf1f6;padding:7px 12px 7px 8px;border-left:3px solid transparent}.notify-item:last-child{border-bottom:0}.notify-item.ungelesen{background:#f8fbff}.notify-item.prio-hoch{border-left-color:#f59e0b}.notify-item.prio-kritisch{border-left-color:#ef4444}.notify-open{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;min-width:0;flex:1;padding:8px;color:#102044}.notify-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;background:#eef4ff;color:#1768ed}.prio-hoch .notify-icon{background:#fff3d9;color:#c76b00}.prio-kritisch .notify-icon{background:#ffebeb;color:#d92828}.notify-open strong,.notify-open small{display:block}.notify-open strong{font-size:13px}.notify-open small{color:#7889a5;margin-top:5px}.notify-row-actions{display:flex;gap:5px}.notify-row-actions form{margin:0}
.material-filter{display:flex;gap:10px;padding:0 0 14px}.material-filter>div{display:flex;align-items:center;gap:8px;flex:1;border:1px solid #dfe7f2;border-radius:7px;padding:0 11px}.material-filter input{border:0!important;box-shadow:none!important}.material-filter select{width:170px}.material-main b{display:block;color:#c56700;font-size:11px;margin-top:5px}
.field-app{max-width:980px}.field-day-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:#fff;border:1px solid #dfe7f2;border-radius:8px;padding:15px;text-align:center}.field-day-head>a{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dfe7f2;border-radius:7px;color:#1261e8}.field-day-head small,.field-day-head span{color:#71809a}.field-day-head h2{margin:3px 0;font-size:21px}.field-person{margin:12px 0}.field-person select{width:100%;background:#fff}.field-timeline{margin-top:14px}.field-job{display:grid;grid-template-columns:90px 1fr;gap:14px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;padding:17px;margin-bottom:12px}.field-job.next{border-color:#8ab6ff;box-shadow:0 8px 24px rgba(16,99,235,.08)}.field-time{border-right:1px solid #e5ebf3}.field-time strong,.field-time span{display:block}.field-time strong{font-size:19px}.field-time span{color:#7a8ba6;margin-top:4px}.field-job-top{display:flex;justify-content:space-between}.field-job-top span{color:#1261e8;font-weight:700;font-size:11px;text-transform:uppercase}.field-job-top em{font-style:normal;color:#168c54;background:#e5f7ed;padding:3px 7px;border-radius:5px;font-size:11px}.field-job h3{margin:8px 0 4px;font-size:17px}.field-job p{margin:0;color:#657695}.field-address{display:flex;align-items:center;gap:6px;margin-top:10px;color:#1261e8}.field-progress{display:flex;align-items:center;gap:10px;margin-top:14px}.field-progress>span{height:6px;background:#e7edf5;border-radius:5px;overflow:hidden;flex:1}.field-progress i{display:block;height:100%;background:#16a567}.field-progress small{color:#71809a}.field-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.field-actions a{display:flex;justify-content:center;align-items:center;gap:6px;border:1px solid #dbe5f2;border-radius:7px;padding:9px;color:#17437f;font-weight:700;font-size:12px}.field-empty{text-align:center;background:#fff;border:1px solid #dfe7f2;border-radius:8px;padding:50px 20px;color:#73839e}.field-empty h2{color:#102044}
.pwa-update{position:fixed;z-index:10000;right:18px;bottom:18px;display:flex;align-items:center;gap:18px;background:#0c1b3a;color:#fff;border:1px solid #263b63;border-radius:8px;padding:13px 14px 13px 16px;box-shadow:0 18px 45px rgba(5,18,44,.28)}.pwa-update span,.pwa-update small{display:block}.pwa-update small{color:#b9c8df;margin-top:3px}.pwa-update button{border:0;background:#1267f4;color:#fff;border-radius:6px;padding:10px 13px;font-weight:700}
@media(max-width:900px){.global-search-launcher{display:none}.search-page,.notify-page,.field-app{padding:12px}.notify-kpis{grid-template-columns:repeat(3,1fr)}.notify-toolbar{align-items:stretch;flex-wrap:wrap}.notify-toolbar>form{margin-left:0}.notify-actions{width:100%}.notify-actions form{flex:1}.notify-actions button{width:100%;justify-content:center}.field-job{grid-template-columns:65px 1fr}.pwa-update{left:12px;right:12px;bottom:88px}}
@media(max-width:560px){.notify-kpis article{padding:12px}.notify-kpis strong{font-size:22px}.notify-kpis span{font-size:10px}.notify-tabs{width:100%;overflow:auto}.notify-toolbar>form{flex:1}.notify-toolbar select{width:100%}.notify-open{grid-template-columns:34px 1fr;padding-left:4px}.notify-icon{width:32px;height:32px}.notify-row-actions button{padding:0 7px}.search-hero{padding:9px}.search-hero .btn{font-size:0;width:42px}.search-hero .btn:after{content:'›';font-size:20px}.field-job{grid-template-columns:1fr}.field-time{display:flex;gap:8px;align-items:baseline;border:0;border-bottom:1px solid #edf1f6;padding-bottom:9px}.field-actions a{font-size:0}.field-actions svg{width:20px;height:20px}.field-actions a:after{font-size:11px}.material-filter{flex-direction:column}.material-filter select{width:100%}}

/* Schneller Vor-Ort-Kalkulator */
.calc-page{max-width:1440px;margin:0 auto;padding:22px}.calc-notice{display:flex;align-items:center;gap:11px;padding:12px 15px;margin-bottom:14px;border:1px solid #cfe0f8;background:#f4f8ff;border-radius:8px;color:#36537e}.calc-notice>span,.calc-notice strong{display:block}.calc-notice strong{color:#102044;font-size:13px;margin-bottom:2px}
.calc-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:8px;margin-bottom:14px}.calc-mode-switch button{display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 13px;text-align:left;border:1px solid #dce5f1;border-radius:8px;background:#fff;color:#75849d}.calc-mode-switch button.aktiv{border-color:#76aaff;background:#f5f9ff;color:#1261e8;box-shadow:inset 0 0 0 1px #c7dcff}.calc-mode-switch span,.calc-mode-switch strong,.calc-mode-switch small{display:block}.calc-mode-switch strong{color:#142546;font-size:13px}.calc-mode-switch small{margin-top:3px;color:#7d8da7;font-size:10px}
.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;align-items:start}.calc-card,.calc-result-card{background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 28px rgba(22,45,84,.045)}.calc-form-card{overflow:hidden}.calc-card-head,.calc-section-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e8edf5}.calc-card-head>div,.calc-section-head>div{display:flex;align-items:center;gap:10px}.calc-card-head>div>span,.calc-section-head>div>span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#eaf2ff;color:#1261e8;font-weight:800}.calc-card-head h2,.calc-section-head h2{font-size:16px;margin:0}.calc-card-head button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#617493;font-weight:700}.calc-section-head{border-top:1px solid #e8edf5}.calc-section-head small{color:#7a8ca8}
.calc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.calc-form label{display:flex;flex-direction:column;gap:7px;color:#4a6084;font-size:12px;font-weight:700}.calc-form input,.calc-form select{height:44px}.calc-span-2{grid-column:span 2}.calc-input-unit{display:flex;align-items:center;border:1px solid #dbe4f0;border-radius:7px;background:#fff;overflow:hidden}.calc-input-unit input{flex:1;min-width:0;border:0!important;box-shadow:none!important}.calc-input-unit b{color:#73839d;border-left:1px solid #e4eaf2;padding:0 12px;font-size:12px}.calc-stepper{height:44px;display:grid;grid-template-columns:42px 1fr 42px;border:1px solid #dbe4f0;border-radius:7px;overflow:hidden}.calc-stepper button{border:0;background:#f5f8fc;color:#1261e8;font-size:20px}.calc-stepper input{text-align:center;border:0!important;border-left:1px solid #e4eaf2!important;border-right:1px solid #e4eaf2!important;border-radius:0!important;box-shadow:none!important}
.calc-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:16px 20px 20px;max-height:390px;overflow:auto}.calc-extra{position:relative;display:grid;grid-template-columns:26px 1fr auto 50px;align-items:center;gap:9px;min-height:64px;padding:9px 10px;border:1px solid #dfe7f2;border-radius:7px;cursor:pointer}.calc-extra>input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.calc-extra-check{width:24px;height:24px;display:grid;place-items:center;border:1px solid #cdd8e8;border-radius:6px;color:transparent}.calc-extra.selected{border-color:#83b3ff;background:#f7faff}.calc-extra.selected .calc-extra-check{background:#1267f4;border-color:#1267f4;color:#fff}.calc-extra strong,.calc-extra small{display:block}.calc-extra strong{font-size:12px;color:#102044}.calc-extra small{margin-top:3px;color:#7a8ba6;font-weight:400}.calc-extra em{font-style:normal;color:#1261e8;font-weight:800;font-size:11px;white-space:nowrap}.calc-extra-qty{width:48px!important;height:34px!important;text-align:center;padding:5px!important}.calc-empty{color:#7a8ba6}
.calc-inspection[hidden],.calc-quick-only[hidden]{display:none!important}.calc-room-summary{display:flex;align-items:center;gap:7px}.calc-room-summary b,.calc-room-summary strong{padding:5px 8px;border-radius:5px;font-size:11px}.calc-room-summary b{background:#edf4ff;color:#1261e8}.calc-room-summary strong{background:#e8f7ef;color:#148453}.calc-room-list{display:grid;gap:10px;padding:15px 20px}.calc-room{border:1px solid #dfe7f2;border-radius:8px;overflow:hidden}.calc-room-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:#f7f9fc;border-bottom:1px solid #e6ecf4}.calc-room-number{font-weight:800;color:#162748;font-size:12px}.calc-room-head>div{display:flex;gap:4px}.calc-room-head button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #dbe4f0;border-radius:6px;background:#fff;color:#526680}.calc-room-head button:hover{color:#1261e8;border-color:#9fc2fb}.calc-room-head button:disabled{opacity:.3}.calc-room-fields{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:10px;padding:12px}.calc-room-fields label,.calc-access-grid>label{display:flex;flex-direction:column;gap:6px;color:#526789;font-size:11px;font-weight:700}.calc-room-fields input,.calc-room-fields select,.calc-access-grid input,.calc-access-grid select{height:40px}.calc-room-features{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px}.calc-room-features label{cursor:pointer}.calc-room-features input{position:absolute;opacity:0}.calc-room-features span{display:block;padding:6px 9px;border:1px solid #dce5f1;border-radius:6px;color:#687b9b;font-size:10px;font-weight:700}.calc-room-features input:checked+span{border-color:#ffbd69;background:#fff7e9;color:#ad5a00}.calc-add-room{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 40px);margin:0 20px 18px;height:40px;border:1px dashed #99bdf6;border-radius:7px;background:#f7faff;color:#1261e8;font-weight:800}.calc-access-head{border-top:1px solid #e8edf5}.calc-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:16px 20px}.calc-access-toggle{position:relative;min-height:42px;flex-direction:row!important;align-items:center;border:1px solid #dce5f1;border-radius:7px;padding:8px 10px;cursor:pointer}.calc-access-toggle input{position:absolute;opacity:0}.calc-access-toggle span{width:22px;height:22px;display:grid;place-items:center;border:1px solid #cbd7e7;border-radius:5px;color:transparent}.calc-access-toggle input:checked+span{background:#1267f4;border-color:#1267f4;color:#fff}.calc-access-toggle b{font-size:11px;color:#405474}.calc-photo-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 20px 12px;padding:13px;border:1px solid #dce5f1;border-radius:8px;background:#f9fbfe}.calc-photo-box h3{font-size:13px;margin:0}.calc-photo-box p{font-size:10px;color:#7b8ca7;margin:4px 0 0}.calc-photo-button{display:flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid #a9c7f6;border-radius:6px;padding:9px 11px;color:#1261e8;font-weight:800;font-size:11px;cursor:pointer;background:#fff}.calc-photo-button input{display:none}.calc-photo-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 20px 18px}.calc-photo-preview figure{position:relative;aspect-ratio:1;margin:0;border-radius:7px;overflow:hidden;background:#eef2f7}.calc-photo-preview img{width:100%;height:100%;object-fit:cover}.calc-photo-preview button{position:absolute;right:5px;top:5px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(12,27,58,.82);color:#fff;font-size:17px}
.calc-result-card{position:sticky;top:76px;overflow:hidden}.calc-result-top{display:flex;justify-content:space-between;align-items:center;padding:17px 18px;border-bottom:1px solid #e7edf5}.calc-result-top span{font-size:12px;color:#607493}.calc-result-top b{font-size:11px;color:#1261e8;background:#edf4ff;padding:5px 7px;border-radius:5px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calc-price{padding:22px 18px;background:#0c1b3a;color:#fff}.calc-price small,.calc-price em{display:block;color:#aebbd1;font-style:normal}.calc-price strong{display:flex;align-items:center;gap:8px;margin:8px 0 7px;font-size:26px;letter-spacing:0}.calc-price i{font-style:normal;color:#6f83a7}.calc-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e7edf5}.calc-metrics article{display:flex;align-items:center;gap:7px;padding:14px 10px;border-right:1px solid #e7edf5;color:#1261e8}.calc-metrics article:last-child{border:0}.calc-metrics small,.calc-metrics strong{display:block}.calc-metrics small{font-size:9px;color:#7b8ba5}.calc-metrics strong{font-size:12px;color:#102044;margin-top:3px}.calc-breakdown{padding:17px 18px}.calc-breakdown h3{font-size:14px;margin:0 0 11px}.calc-breakdown>div{display:flex;justify-content:space-between;padding:7px 0;color:#6f819f;font-size:12px}.calc-breakdown>div b{color:#182a4c}.calc-breakdown .total{margin-top:6px;padding-top:13px;border-top:1px solid #e4eaf2;font-size:14px}.calc-breakdown .total b{color:#1261e8;font-size:16px}.calc-result-actions{padding:0 18px 12px}.calc-result-actions button{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;height:42px;border:0;border-radius:7px;background:#1267f4;color:#fff;font-weight:800}.calc-disclaimer{margin:0;padding:0 18px 18px;color:#8492aa;font-size:10px;line-height:1.5}
@media(max-width:1050px){.calc-layout{grid-template-columns:1fr}.calc-result-card{position:static;order:-1}.calc-price strong{font-size:25px}}
@media(max-width:600px){.calc-page{padding:12px}.calc-notice{align-items:flex-start}.calc-mode-switch{grid-template-columns:1fr 1fr}.calc-mode-switch button{padding:9px}.calc-mode-switch button>svg{display:none}.calc-form{grid-template-columns:1fr;padding:15px}.calc-span-2{grid-column:auto}.calc-card-head,.calc-section-head{padding:15px}.calc-card-head button{font-size:0}.calc-card-head button svg{width:19px;height:19px}.calc-room-summary{display:block;text-align:right}.calc-room-summary strong{margin-top:3px}.calc-room-list{padding:12px 15px}.calc-room-fields{grid-template-columns:1fr 1fr}.calc-room-fields label:first-child{grid-column:span 2}.calc-add-room{width:calc(100% - 30px);margin:0 15px 15px}.calc-access-grid{grid-template-columns:1fr 1fr;padding:15px}.calc-access-grid>label:nth-child(3){grid-column:span 2}.calc-photo-box{align-items:flex-start;flex-direction:column;margin:0 15px 10px}.calc-photo-button{width:100%;justify-content:center}.calc-photo-preview{grid-template-columns:repeat(3,1fr);padding:0 15px 15px}.calc-extras{grid-template-columns:1fr;padding:12px 15px 16px;max-height:none}.calc-result-card{display:flex;flex-direction:column;order:0}.calc-result-top{padding:13px 15px}.calc-price{padding:17px 15px}.calc-price strong{font-size:23px}.calc-metrics article{padding:11px 8px}.calc-breakdown{padding:14px 15px}.calc-disclaimer{padding:0 15px 15px}}

/* Mittlere Desktopbreiten: Seitentitel und Werkzeuge bekommen ausreichend Raum. */
@media (min-width:701px) and (max-width:1500px) {
    .haupt-kopf {
        flex-wrap: wrap;
        align-items: flex-start;
        padding-top: 16px;
        padding-bottom: 14px;
    }
    .haupt-kopf .hk-titel {
        flex: 1 1 100%;
        width: 100%;
    }
    .haupt-kopf .hk-aktionen {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    .haupt-kopf .hk-aktionen > .au-head-form {
        flex: 1 1 520px;
        min-width: 0;
    }
    .haupt-kopf .global-search-launcher {
        flex: 1 1 240px;
        max-width: 340px;
    }
}

@media (min-width:701px) and (max-width:1280px) {
    .of-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .of-kpi {
        min-width: 0;
    }
    .calc-layout {
        grid-template-columns: minmax(0, 1fr);
    }
    .calc-result-card {
        position: static;
    }
}

/* Aktionen in der schmalen Offerten-Vorschau sauber untereinander. */
.of-detail .of-status-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
    margin-top: 20px;
    padding-top: 18px;
}
.of-detail .of-status-form label {
    display: grid;
    gap: 7px;
}
.of-detail .of-status-form select,
.of-detail .of-status-form .btn,
.of-detail .of-order-link,
.of-detail .of-order-create {
    width: 100%;
    min-width: 0;
    min-height: 42px;
}
.of-detail .of-status-form .btn,
.of-detail .of-order-link,
.of-detail .of-order-create {
    display: flex;
    align-items: center;
    justify-content: center;
}
.of-detail .of-order-link {
    gap: 7px;
    margin-top: 10px;
    border: 1px solid #b9d0f5;
    background: #fff;
    color: #0b63f6;
}
.of-detail .of-order-link:hover {
    border-color: #8fb8f4;
    background: #f4f8ff;
    color: #0756d7;
}
.of-detail .of-order-create {
    gap: 7px;
    margin-top: 10px;
}

/* Dokumentenzentrale */
.doc-page{display:grid;gap:16px;max-width:1440px;margin:0 auto;padding:10px 0 34px}.doc-hero,.doc-library,.doc-builder,.doc-help{background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 28px rgba(22,45,84,.045)}.doc-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px}.doc-hero>div{display:flex;align-items:center;gap:15px}.doc-hero>div>span{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#eaf2ff;color:#1267f4}.doc-hero small,.doc-section-head small{display:block;color:#1267f4;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.doc-hero h2{margin:3px 0 4px;font-size:18px}.doc-hero p,.doc-section-head p{margin:0;color:#7183a2;font-size:12px}.doc-hero>b{padding:7px 10px;border-radius:6px;background:#f0f4f9;color:#496181;font-size:11px;white-space:nowrap}.doc-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.doc-library,.doc-builder{overflow:hidden}.doc-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;border-bottom:1px solid #e6edf5}.doc-section-head h2{margin:0 0 3px;font-size:16px}.doc-section-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1267f4}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}.doc-template{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;gap:11px;align-items:center;min-height:92px;padding:13px;border:1px solid #dfe7f2;border-radius:8px;background:#fff;text-align:left;color:#657898;cursor:pointer}.doc-template:hover,.doc-template.aktiv{border-color:#8eb8fa;background:#f7faff;box-shadow:inset 0 0 0 1px #d7e7ff}.doc-template>span{width:40px;height:40px;display:grid;place-items:center;border-radius:8px}.doc-template>span.blau{background:#eaf2ff;color:#1267f4}.doc-template>span.gruen{background:#e4f7ed;color:#0e9b5d}.doc-template>span.lila{background:#f2e9ff;color:#8a38df}.doc-template>span.orange{background:#fff0dd;color:#e47700}.doc-template>span.tuerkis{background:#e2f7f5;color:#078c85}.doc-template strong,.doc-template small{display:block}.doc-template strong{color:#102044;font-size:13px}.doc-template small{margin-top:5px;color:#7183a2;font-size:10px;line-height:1.4}.doc-builder{position:sticky;top:92px}.doc-builder form{display:grid;gap:12px;padding:18px}.doc-builder label{display:grid;gap:7px;color:#405983;font-size:11px;font-weight:800}.doc-builder select{min-height:46px}.doc-builder .btn{width:100%;min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px}.doc-preview-button{border:1px solid #b8d0f5;background:#fff;color:#1261e8}.doc-selected-info{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #dce7f6;border-radius:7px;background:#f6f9fe;color:#4f668a}.doc-selected-info svg{flex:0 0 auto;margin-top:1px;color:#1267f4}.doc-selected-info p{margin:0;font-size:11px;line-height:1.45}.doc-trust{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px}.doc-trust span{display:flex;align-items:center;gap:5px;color:#6180a6;font-size:9px}.doc-trust svg{color:#0e9b5d}.doc-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px 18px}.doc-help article{display:flex;gap:11px;padding:15px;border-right:1px solid #e6edf5}.doc-help article:last-child{border-right:0}.doc-help article>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;background:#edf4ff;color:#1267f4}.doc-help strong{display:block;font-size:12px}.doc-help p{margin:4px 0 0;color:#7183a2;font-size:10px;line-height:1.45}.doc-preview[hidden]{display:none!important}.doc-preview{position:fixed;z-index:2147483000;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}.doc-preview-bg{position:absolute;inset:0;border:0;background:rgba(6,18,43,.65);backdrop-filter:blur(4px)}.doc-preview-window{position:relative;width:min(980px,100%);height:min(850px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;border-radius:10px;background:#edf2f8;box-shadow:0 30px 90px rgba(3,12,30,.42)}.doc-preview-window header{min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid #dce5f1}.doc-preview-window header>div{display:flex;align-items:center;gap:9px}.doc-preview-window header>button{width:38px;height:38px;border:0;border-radius:8px;background:#edf2f8;color:#274269;font-size:25px}.doc-preview-window iframe{width:100%;min-height:0;flex:1;border:0;background:#fff}.doc-preview-open{overflow:hidden}
@media(max-width:1050px){.doc-layout{grid-template-columns:1fr}.doc-builder{position:static}.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.doc-page{gap:12px;padding:0 0 20px}.doc-hero{align-items:flex-start;padding:16px}.doc-hero>div>span{width:42px;height:42px}.doc-hero h2{font-size:16px}.doc-hero>b{display:none}.doc-grid{grid-template-columns:1fr;padding:12px}.doc-template{min-height:82px}.doc-help{grid-template-columns:1fr;padding:4px 14px}.doc-help article{border-right:0;border-bottom:1px solid #e6edf5;padding:13px 2px}.doc-help article:last-child{border-bottom:0}.doc-preview{padding:0}.doc-preview-window{width:100%;height:100dvh;border-radius:0}.doc-preview-window header{padding-top:calc(10px + env(safe-area-inset-top))}}

/* PDF-Vorschau immer am echten Browserfenster ausrichten (Safari inklusive). */
.doc-preview{top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;display:grid;place-items:center;margin:0;padding:20px;box-sizing:border-box}.doc-preview-bg{width:100%;height:100%}.doc-preview-window{width:min(1080px,calc(100vw - 40px));height:min(860px,calc(100vh - 40px));height:min(860px,calc(100dvh - 40px));border:1px solid rgba(255,255,255,.45)}.doc-preview-window header{flex:0 0 auto}.doc-preview-window iframe{display:block;height:100%;flex:1 1 auto;background:#e8edf3}.doc-preview-open{overflow:hidden!important}
@media(max-width:700px){.doc-preview{padding:0}.doc-preview-window{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}}

/* Schlüsselquittung und Schlüsselfotos */
.doc-key-options{display:grid;gap:9px;padding:12px;border:1px solid #dce7f6;border-radius:8px;background:#f8fbff}.doc-key-options[hidden],#doc-order-field[hidden],#doc-key-field[hidden]{display:none!important}.doc-key-options>strong{color:#102044;font-size:12px}.doc-key-options label{display:grid;grid-template-columns:20px 18px minmax(0,1fr);align-items:center;gap:7px;min-height:34px;padding:7px 9px;border:1px solid #e3eaf4;border-radius:7px;background:#fff;color:#405983;cursor:pointer}.doc-key-options input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#1267f4}.doc-key-options svg{color:#1267f4}.doc-key-options span{font-size:11px;font-weight:800}
.doc-payment-fields{display:grid;gap:11px;padding:13px;border:1px solid #dce7f6;border-radius:8px;background:#f8fbff}.doc-payment-fields[hidden]{display:none!important}.doc-payment-fields input,.doc-payment-fields select,.doc-payment-fields textarea{width:100%;background:#fff}.doc-payment-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doc-receipts{overflow:hidden;background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 28px rgba(22,45,84,.045)}.doc-receipt-list{display:grid}.doc-receipt-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:68px;padding:11px 18px;border-bottom:1px solid #e6edf5;color:#102044}.doc-receipt-list>a:last-child{border-bottom:0}.doc-receipt-list>a:hover{background:#f7faff;text-decoration:none}.doc-receipt-list>a>span{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#e8f7ef;color:#0e9b5d}.doc-receipt-list strong,.doc-receipt-list small{display:block}.doc-receipt-list strong{font-size:12px}.doc-receipt-list small{margin-top:4px;color:#7183a2;font-size:10px}.doc-receipt-list b{color:#1261e8;font-size:13px;white-space:nowrap}.doc-receipt-list>a>.ic{color:#7183a2}
.doc-template-fields{display:grid;gap:11px;padding:13px;border:1px solid #dce7f6;border-radius:8px;background:#f8fbff}.doc-template-fields[hidden]{display:none!important}.doc-template-fields>strong{color:#102044;font-size:12px}.doc-template-fields input,.doc-template-fields select,.doc-template-fields textarea{width:100%;min-width:0;background:#fff}.doc-template-fields textarea{resize:vertical}.doc-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doc-template-fields .breit{grid-column:1/-1}
.doc-payment-balance{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:11px 13px;border:1px solid #cfe0fa;border-radius:7px;background:#edf5ff}.doc-payment-balance span{font-size:11px;color:#526b93}.doc-payment-balance strong{font-size:17px;color:#1261e8}.doc-payment-balance small{grid-column:1/-1;color:#526b93;font-size:10px}.doc-payment-fields input[readonly]{background:#eef2f7;color:#61718b}
@media(max-width:700px){.doc-payment-row{grid-template-columns:1fr}.doc-receipt-list>a{grid-template-columns:34px minmax(0,1fr) 18px;padding:11px 12px}.doc-receipt-list b{grid-column:2;font-size:12px}.doc-receipt-list>a>.ic{grid-column:3;grid-row:1/3}}
@media(max-width:700px){.doc-field-row{grid-template-columns:1fr}}

/* Dokumentenzentrale: Auswahl und Bearbeitung sind getrennte Arbeitsbereiche. */
.doc-layout{display:block}.doc-library{width:100%}.doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.doc-template{text-decoration:none}.doc-template:hover{text-decoration:none}
.doc-editor-head{display:grid;gap:13px}.doc-editor-head>a{width:max-content;display:inline-flex;align-items:center;gap:6px;color:#607391;font-size:11px;font-weight:800}.doc-editor-head>a:hover{color:#1261e8}.doc-editor-head>div{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid #dfe7f2;border-radius:8px;background:#fff;box-shadow:0 8px 28px rgba(22,45,84,.045)}.doc-editor-head>div>span{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px}.doc-editor-head>div>span.blau{background:#eaf2ff;color:#1267f4}.doc-editor-head>div>span.gruen{background:#e4f7ed;color:#0e9b5d}.doc-editor-head>div>span.lila{background:#f2e9ff;color:#8a38df}.doc-editor-head>div>span.orange{background:#fff0dd;color:#e47700}.doc-editor-head>div>span.tuerkis{background:#e2f7f5;color:#078c85}.doc-editor-head small{display:block;color:#1267f4;font-size:9px;font-weight:900;text-transform:uppercase}.doc-editor-head h1{margin:3px 0 4px;color:#102044;font-size:22px}.doc-editor-head p{margin:0;color:#7183a2;font-size:12px}
.doc-editor-layout{display:grid;grid-template-columns:minmax(390px,500px) minmax(520px,1fr);gap:16px;align-items:start}.doc-editor-form{position:static;min-width:0}.doc-editor-form form{gap:14px}.doc-editor-form .doc-template-fields{padding:15px}.doc-editor-form #doc-submit,.doc-editor-form .doc-preview-button{min-height:46px}.doc-preview-button.aktualisiert{border-color:#8ad5b4;background:#effbf5;color:#087a4e}
.doc-live-preview{position:sticky;top:92px;min-width:0;overflow:hidden;border:1px solid #dfe7f2;border-radius:8px;background:#fff;box-shadow:0 8px 28px rgba(22,45,84,.055)}.doc-live-preview>header,.doc-live-preview>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid #e2e9f2;background:#fff}.doc-live-preview>header small{display:block;color:#7183a2;font-size:9px;font-weight:850;text-transform:uppercase}.doc-live-preview>header strong{display:block;margin-top:3px;color:#102044;font-size:13px}.doc-live-preview>header>span{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1267f4}.doc-live-paper{height:calc(100dvh - 250px);min-height:620px;padding:12px;background:#e8edf4}.doc-live-paper iframe{display:block;width:100%;height:100%;border:0;border-radius:5px;background:#fff;box-shadow:0 4px 18px rgba(24,43,74,.12)}.doc-live-preview>footer{border-top:1px solid #e2e9f2;border-bottom:0}.doc-live-preview>footer span{display:flex;align-items:center;gap:6px;color:#5e7394;font-size:10px;font-weight:750}.doc-live-preview>footer span svg{color:#0e9b5d}.doc-live-preview>footer button{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #d8e3f1;border-radius:7px;background:#fff;color:#1261e8;font-size:10px;font-weight:850;cursor:pointer}.doc-live-preview>footer button:hover{background:#f3f7fd}
@media(max-width:1250px){.doc-editor-layout{grid-template-columns:1fr}.doc-live-preview{position:static}.doc-live-paper{height:760px;min-height:0}}
@media(max-width:1180px){.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.doc-editor-head{gap:9px}.doc-editor-head>div{align-items:flex-start;padding:15px}.doc-editor-head>div>span{width:42px;height:42px}.doc-editor-head h1{font-size:18px}.doc-editor-head p{font-size:11px;line-height:1.45}.doc-editor-form .doc-section-head{padding:15px}.doc-editor-form form{padding:15px}.doc-live-paper{height:600px;padding:7px}.doc-live-preview>header,.doc-live-preview>footer{padding:12px}.doc-grid{grid-template-columns:1fr}}
.key-photo-count{display:inline-flex;align-items:center;gap:5px;min-width:42px;padding:5px 8px;border-radius:6px;background:#edf4ff;color:#1267f4;font-size:12px;font-weight:850}.key-photo-section{margin-top:18px;padding-top:17px;border-top:1px solid #e3eaf4}.key-photo-section>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.key-photo-section h4{margin:0;color:#102044;font-size:14px}.key-photo-section>div:first-child>span{color:#7183a2;font-size:11px;font-weight:800}.key-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.key-photo-gallery figure{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid #dce5f1;border-radius:8px;background:#fff}.key-photo-gallery figure>a{display:block;aspect-ratio:4/3;background:#edf2f7}.key-photo-gallery img{display:block;width:100%;height:100%;object-fit:cover}.key-photo-gallery figcaption{min-height:44px;padding:9px 42px 9px 10px;color:#405983;font-size:11px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}.key-photo-gallery form{position:absolute;right:7px;bottom:7px}.key-photo-gallery form button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #ffd5d5;border-radius:7px;background:#fff5f5;color:#dc3030;cursor:pointer}.key-photo-selection{display:flex;gap:7px;overflow-x:auto;padding-top:7px}.key-photo-selection>span{flex:0 0 88px;min-width:0}.key-photo-selection img{display:block;width:88px;height:66px;object-fit:cover;border:1px solid #dce5f1;border-radius:7px;background:#edf2f7}.key-photo-selection small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7183a2;font-size:9px}
@media(max-width:700px){.key-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Aufgaben */
.tasks-page{max-width:1480px;margin:0 auto;padding:10px 0 34px;display:grid;gap:15px}.task-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.task-kpis article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:center;min-height:105px;padding:17px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 26px rgba(18,42,78,.04)}.task-kpis article.warn{border-color:#ffd5d5;background:#fffafa}.tk-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:8px}.tk-icon.blau{background:#eaf2ff;color:#1267f4}.tk-icon.orange{background:#fff0dd;color:#e47700}.tk-icon.rot{background:#ffeded;color:#db3131}.tk-icon.gruen{background:#e5f7ee;color:#0d9157}.task-kpis small,.task-kpis p{display:block;color:#7183a2}.task-kpis small{font-size:11px;font-weight:800}.task-kpis strong{display:block;margin:4px 0 2px;color:#0d1f42;font-size:25px}.task-kpis p{margin:0;font-size:11px}.task-capture{padding:0;overflow:hidden}.task-capture form{display:grid;gap:13px;padding:18px}.task-capture-head{display:flex;align-items:center;gap:12px}.task-capture-head>span{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#1267f4}.task-capture h2{margin:0 0 3px;font-size:17px}.task-capture p{margin:0;color:#7183a2;font-size:12px}.task-capture label{display:grid;gap:6px;color:#405983;font-size:12px;font-weight:800}.task-title-input input{min-height:50px;font-size:15px}.task-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.task-capture input,.task-capture select,.task-capture textarea,.task-toolbar input,.task-toolbar select{width:100%;border:1px solid #d4dfed;border-radius:8px;background:#fff;color:#0f2145;padding:10px 12px}.task-links{border:1px solid #e2e9f3;border-radius:8px;background:#f8fbff}.task-links summary{display:flex;align-items:center;gap:7px;padding:11px 13px;color:#1261e8;font-size:12px;font-weight:800;cursor:pointer}.task-links>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 13px 13px}.task-actions{display:flex;justify-content:flex-end;gap:8px}.task-board{padding:0;overflow:hidden}.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e6edf5}.task-toolbar nav{display:flex;gap:4px}.task-toolbar nav a{padding:8px 11px;border-radius:6px;color:#627596;font-size:12px;font-weight:800}.task-toolbar nav a.aktiv{background:#eaf2ff;color:#1267f4}.task-toolbar form{display:flex;gap:8px;align-items:center}.task-toolbar select{width:160px}.task-toolbar input{width:230px}.task-list{display:grid}.task-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:flex-start;padding:15px 18px;border-bottom:1px solid #e7edf5;background:#fff}.task-row:last-child{border-bottom:0}.task-row.hoch{box-shadow:inset 3px 0 #ef4444}.task-row.niedrig{box-shadow:inset 3px 0 #94a3b8}.task-row.done{background:#fbfcfe}.task-row.done .task-row-title strong{text-decoration:line-through;color:#8290a7}.task-row>form button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dce5f1;border-radius:8px;background:#fff;color:#7183a2;cursor:pointer}.task-row>form button:hover{border-color:#9fdabf;color:#0b9358}.task-row-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.task-row-title strong{font-size:14px;color:#0d1f42}.task-row-main p{margin:6px 0 0;color:#53698c;font-size:12px;line-height:1.45}.task-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.task-meta span,.task-ref{display:inline-flex;align-items:center;gap:5px;color:#7183a2;font-size:11px}.task-meta span.overdue{color:#d23232;font-weight:800}.task-ref{margin-top:8px;padding:7px 9px;border-radius:6px;background:#f2f6fb;color:#405983}.task-row-actions{display:flex;gap:5px;align-items:center}.task-row-actions a,.task-row-actions button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dce5f1;border-radius:8px;background:#fff;color:#38527e;cursor:pointer}.task-row-actions button{color:#d53535}.task-row-actions a:hover,.task-row-actions button:hover{background:#f5f8fd}.prio.hoch{background:#fee2e2;color:#b42318}.prio.normal{background:#eaf2ff;color:#1261e8}.prio.niedrig{background:#eef2f7;color:#64748b}
.task-form-grid-schedule{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;border:1px solid #dfe8f5;border-radius:8px;background:#f8fbff}.task-form-grid-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.task-form-grid-schedule label small{font-size:10px;font-weight:500;color:#7a8dab}.task-calendar-time{color:#6d28d9!important;font-weight:700}
@media(max-width:1050px){.task-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.task-form-grid,.task-links>div{grid-template-columns:1fr 1fr}.task-form-grid-schedule{grid-template-columns:1fr}.task-toolbar{align-items:stretch;flex-direction:column}.task-toolbar form{display:grid;grid-template-columns:1fr 1fr auto}.task-toolbar input{width:100%;grid-column:1/-1}.task-toolbar select{width:100%}}
@media(max-width:700px){.tasks-page{padding:0 0 20px;gap:12px}.task-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.task-kpis article{min-width:165px;scroll-snap-align:start;padding:13px;grid-template-columns:40px minmax(0,1fr);min-height:90px}.tk-icon{width:40px;height:40px}.task-kpis strong{font-size:20px}.task-capture form{padding:15px}.task-form-grid,.task-links>div{grid-template-columns:1fr}.task-toolbar{padding:12px}.task-toolbar nav{overflow:auto}.task-toolbar form{grid-template-columns:1fr}.task-toolbar .btn{width:100%;justify-content:center}.task-row{grid-template-columns:34px minmax(0,1fr);padding:13px}.task-row-actions{grid-column:2;justify-content:flex-end;flex-wrap:wrap}.task-meta{display:grid;gap:6px}.task-title-input input{font-size:16px}}

/* Aufgaben direkt aus Workflows */
.workflow-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.workflow-task-actions .btn{min-height:40px}
.of-detail .of-task-link{margin-top:9px;border-color:#d7e5fb;background:#f7faff;color:#1261e8}
.ku-task-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.ku-task-actions a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid #dce5f1;border-radius:8px;background:#f7faff;color:#1261e8;font-size:12px;font-weight:800}.ku-task-actions a:hover{border-color:#9cc3fb;background:#eef6ff}
.cockpit-kpi.alarm{border-color:#ffd1d1;background:linear-gradient(180deg,#fff,#fff8f8)}.cockpit-kpi.alarm .ck-icon{background:#ffeded;color:#d92d37}
.cockpit-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cockpit-head-actions>a{font-size:12px;font-weight:800;color:#1261e8}.cockpit-head-actions .text-button{white-space:nowrap}
@media(max-width:700px){.workflow-task-actions{justify-content:flex-start}.workflow-task-actions .btn{width:100%;justify-content:center}.ku-task-actions{grid-template-columns:1fr}.cockpit-head-actions{justify-content:flex-start}.cockpit-head-actions>a{width:100%}}

/* Anfragen-Pipeline und Kundenhistorie */
.lead-page{max-width:1480px;margin:0 auto;padding:10px 0 34px;display:grid;gap:15px}
.lead-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lead-kpis article{min-height:112px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:13px;padding:18px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 26px rgba(18,42,78,.045)}
.lead-kpis article.warn{border-color:#ffd8a8;background:linear-gradient(180deg,#fff,#fffaf3)}
.lead-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:8px}.lead-icon.blau{background:#eaf2ff;color:#1267f4}.lead-icon.orange{background:#fff0dd;color:#e47700}.lead-icon.gruen{background:#e5f7ee;color:#0d9157}.lead-icon.violett{background:#f1e8ff;color:#7c3aed}
.lead-kpis small,.lead-kpis p{display:block;color:#7183a2}.lead-kpis small{font-size:11px;font-weight:850}.lead-kpis strong{display:block;margin:4px 0 2px;color:#0d1f42;font-size:28px;line-height:1}.lead-kpis p{margin:0;font-size:12px;font-weight:700}
.lead-filter{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px 116px;gap:10px;align-items:center;padding:12px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 26px rgba(18,42,78,.04)}
.lead-filter label{height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d4dfed;border-radius:8px;color:#7183a2}.lead-filter label input{min-width:0;flex:1;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.lead-filter select{height:42px}.lead-filter .btn{height:42px;justify-content:center}
.lead-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.lead-card,.lead-detail{background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 28px rgba(22,45,84,.045);overflow:hidden}.lead-tabs{display:flex;gap:18px;align-items:center;padding:17px 18px 0;border-bottom:1px solid #e6edf5;overflow:auto}.lead-tabs a{position:relative;display:flex;align-items:center;gap:6px;min-height:42px;color:#40577b;font-size:13px;font-weight:850;white-space:nowrap}.lead-tabs a.aktiv{color:#1261e8}.lead-tabs a.aktiv:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#1267f4;border-radius:2px}.lead-tabs span{padding:3px 7px;border-radius:999px;background:#edf3fb;color:#496181;font-size:11px}
.lead-list{display:grid}.lead-row{display:grid;grid-template-columns:42px minmax(0,1fr) 118px 132px;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #e7edf5;color:#0d1f42}.lead-row:last-child{border-bottom:0}.lead-row:hover,.lead-row.aktiv{background:#f7faff}.lead-row.due{box-shadow:inset 3px 0 #e47700}.lead-source{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1267f4;font-weight:900}.lead-row strong,.lead-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-row strong{font-size:13px}.lead-row small{margin-top:5px;color:#7183a2;font-size:11px}.lead-amount{font-size:12px;font-weight:900;color:#102044}.lead-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:9px;color:#73839d}.lead-empty strong{color:#102044}
.lead-detail{position:sticky;top:92px;padding:18px}.lead-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lead-detail-head a,.lead-actions a{display:flex;align-items:center;gap:7px;color:#1261e8;font-size:12px;font-weight:850}.lead-detail h2{margin:18px 0 5px;font-size:22px}.lead-detail>p{margin:0;color:#657897;font-weight:750}.lead-price{margin:17px 0;padding:17px;border-radius:8px;background:#edf4ff;color:#1261e8;font-size:25px;font-weight:900}.lead-detail dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:11px 14px;margin:0 0 16px}.lead-detail dt{color:#7183a2;font-size:11px;font-weight:850}.lead-detail dd{margin:0;color:#102044;font-size:12px;font-weight:800;min-width:0;overflow-wrap:anywhere}.lead-note{padding:12px;border-radius:8px;background:#f7f9fd;color:#40577b;margin-bottom:14px}.lead-note strong{display:block;color:#102044;font-size:12px;margin-bottom:5px}.lead-note p{margin:0;font-size:12px;line-height:1.5}
.lead-status-form,.lead-follow-form{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:8px;align-items:end;margin-top:10px}.lead-status-form label,.lead-follow-form label{display:grid;gap:6px;color:#405983;font-size:11px;font-weight:850}.lead-status-form select,.lead-follow-form input{height:40px}.lead-actions{display:grid;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid #e6edf5}.lead-actions a{justify-content:space-between;min-height:42px;padding:0 12px;border:1px solid #dce7f6;border-radius:8px;background:#fff}.lead-actions a:hover{background:#f5f9ff;border-color:#a9c8f8}.lead-empty-side{min-height:230px;display:grid;place-items:center;align-content:center;gap:7px;color:#7183a2}.lead-empty-side strong{color:#102044}
.customer-history{overflow:hidden}.customer-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid #e6edf5}.customer-history-head h3{margin:0 0 4px;font-size:17px}.customer-history-head p{margin:0;color:#7183a2;font-size:12px}.customer-timeline{display:grid;padding:6px 0}.customer-event{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:12px 18px;color:#102044;border-bottom:1px solid #edf1f6}.customer-event:last-child{border-bottom:0}.customer-event>span{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1267f4}.customer-event small,.customer-event strong,.customer-event p{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-event small{color:#7183a2;font-size:11px}.customer-event strong{margin-top:3px;font-size:13px}.customer-event p{margin:4px 0 0;color:#657897;font-size:11px}.customer-event:hover{background:#f8fbff}.customer-timeline-empty{padding:22px 18px;color:#7183a2}
@media(max-width:1100px){.lead-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-layout{grid-template-columns:1fr}.lead-detail{position:static;order:-1}.lead-row{grid-template-columns:42px minmax(0,1fr) 110px}.lead-row .of-status{grid-column:2 / 4;justify-self:start}}
@media(max-width:700px){.lead-page{padding:0 0 20px;gap:12px}.lead-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.lead-kpis article{min-width:210px;scroll-snap-align:start;min-height:94px;padding:13px;grid-template-columns:42px minmax(0,1fr)}.lead-icon{width:42px;height:42px}.lead-kpis strong{font-size:23px}.lead-filter{grid-template-columns:1fr;padding:10px}.lead-filter .btn{width:100%}.lead-tabs{padding:12px 14px 0;gap:15px}.lead-row{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:13px 14px}.lead-source{width:32px;height:32px}.lead-amount{grid-column:2}.lead-row .of-status{grid-column:2}.lead-detail{padding:15px}.lead-detail h2{font-size:18px}.lead-price{font-size:21px}.lead-detail dl{grid-template-columns:1fr;gap:4px;margin-bottom:12px}.lead-status-form,.lead-follow-form{grid-template-columns:1fr}.lead-status-form .btn,.lead-follow-form .btn{width:100%;justify-content:center}.customer-history-head{align-items:flex-start;flex-direction:column;padding:15px}.customer-event{grid-template-columns:34px minmax(0,1fr);padding:12px 15px}.customer-event>svg{display:none}.customer-event>span{width:32px;height:32px}.customer-event p{white-space:normal}}

/* Kundenakte 2.0 */
.customer-file-page{display:grid;gap:14px;max-width:1480px;margin:0 auto;padding:10px 0 34px}
.customer-file-hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 28px rgba(22,45,84,.045)}
.customer-file-avatar{width:68px;height:68px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#e7f0ff,#d9e9ff);color:#1267f4;font-size:30px;font-weight:900}
.customer-file-title small{display:block;color:#1267f4;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.customer-file-title h1{margin:3px 0 5px;color:#0d1f42;font-size:28px;line-height:1.1}
.customer-file-title p{margin:0;color:#6f819e;font-size:13px;font-weight:700}.customer-file-title p span{margin:0 6px;color:#a2aec1}
.customer-file-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.customer-file-chips a{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid #dce7f6;border-radius:7px;background:#f8fbff;color:#26456f;font-size:12px;font-weight:800}.customer-file-chips a:hover{border-color:#9cc3fb;color:#1261e8}
.customer-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.customer-file-actions .btn{display:inline-flex;align-items:center;gap:7px}
.customer-file-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.customer-file-kpis article{min-height:128px;padding:16px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 24px rgba(18,42,78,.04)}.cf-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;margin-bottom:12px}.cf-icon.blau{background:#eaf2ff;color:#1267f4}.cf-icon.orange{background:#fff0dd;color:#e47700}.cf-icon.lila{background:#f1e8ff;color:#7c3aed}.cf-icon.gruen{background:#e5f7ee;color:#0d9157}.customer-file-kpis small{display:block;color:#7183a2;font-size:11px;font-weight:850}.customer-file-kpis strong{display:block;margin:5px 0 2px;color:#0d1f42;font-size:22px;line-height:1.1}.customer-file-kpis p{margin:0;color:#6e7f9d;font-size:11px;font-weight:700}
.customer-file-workspace{display:grid;gap:12px}.customer-next-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;background:linear-gradient(135deg,#102044,#1267f4);border-radius:8px;color:#fff;box-shadow:0 14px 34px rgba(18,66,145,.18)}.customer-next-card small{display:block;color:#bcd3ff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.customer-next-card h2{margin:4px 0 0;font-size:17px;line-height:1.35}.customer-next-card .btn{background:#fff;color:#1261e8;border-color:#fff;white-space:nowrap}
.customer-info-grid{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:12px}.customer-info-grid article{min-width:0;padding:18px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 24px rgba(18,42,78,.04)}.customer-info-grid h3{margin:0 0 13px;color:#102044;font-size:15px}.customer-info-grid dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 12px;margin:0}.customer-info-grid dt{color:#7183a2;font-size:11px;font-weight:900}.customer-info-grid dd{margin:0;color:#102044;font-size:12px;font-weight:800;overflow-wrap:anywhere}.customer-info-grid dd a{color:#1261e8}
.customer-mini-list{display:grid;gap:7px}.customer-mini-list>a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:40px;padding:7px;border:1px solid #e2eaf5;border-radius:7px;color:#102044;background:#fff}.customer-mini-list>a:hover{border-color:#a9c8f8;background:#f7faff}.customer-mini-list span{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#edf4ff;color:#1267f4}.customer-mini-list b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.customer-mini-list em{font-style:normal;color:#607391;font-size:11px;font-weight:850;white-space:nowrap}.customer-mini-list p{margin:0;color:#7183a2;font-size:12px}
@media(max-width:1180px){.customer-file-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-info-grid{grid-template-columns:1fr}.customer-file-hero{grid-template-columns:62px minmax(0,1fr)}.customer-file-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:700px){.customer-file-page{padding:0 0 22px;gap:12px}.customer-file-hero{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:15px}.customer-file-avatar{width:50px;height:50px;font-size:23px}.customer-file-title h1{font-size:21px}.customer-file-title p{font-size:12px}.customer-file-chips{display:grid;grid-template-columns:1fr}.customer-file-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.customer-file-actions .btn{justify-content:center}.customer-file-actions .btn:first-child{grid-column:1/-1}.customer-file-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.customer-file-kpis article{min-width:180px;scroll-snap-align:start;min-height:112px;padding:13px}.cf-icon{width:38px;height:38px;margin-bottom:9px}.customer-next-card{align-items:flex-start;flex-direction:column;padding:15px}.customer-next-card .btn{width:100%;justify-content:center}.customer-info-grid article{padding:15px}.customer-info-grid dl{grid-template-columns:1fr;gap:4px}.customer-info-grid dd{margin-bottom:7px}.customer-mini-list>a{grid-template-columns:28px minmax(0,1fr);}.customer-mini-list em{grid-column:2}}
/* Qualitätskontrolle */
.qc-page{max-width:1500px;margin:0 auto}.qc-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.qc-form{padding:0;overflow:hidden}.qc-head{padding:18px 20px;margin:0;border-bottom:1px solid #e5ebf4}.qc-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.qc-delete-form{display:none}.btn.btn-gefahr{border-color:#fecaca;background:#fff;color:#dc2626}.btn.btn-gefahr:hover{background:#fff1f2;border-color:#fca5a5}.qc-meta{display:grid;grid-template-columns:minmax(280px,2fr) repeat(2,minmax(170px,1fr));gap:12px;padding:18px 20px}.qc-meta label,.qc-final-note{display:grid;gap:6px;color:#405983;font-size:12px;font-weight:700}.qc-meta input,.qc-meta select,.qc-final-note textarea{width:100%;border:1px solid #d5e0ee;border-radius:8px;padding:10px 12px;background:#fff;color:#10244a}.qc-progress{padding:0 20px 18px}.qc-progress>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:#506588;font-size:12px}.qc-progress strong{color:#10244a}.qc-progress progress{display:block;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:#e8eef7}.qc-progress progress::-webkit-progress-bar{background:#e8eef7}.qc-progress progress::-webkit-progress-value{background:#1765ed;border-radius:8px}.qc-progress progress::-moz-progress-bar{background:#1765ed;border-radius:8px}.qc-checksheet{border-top:1px solid #e5ebf4}.qc-section{padding:0 20px}.qc-section+.qc-section{border-top:8px solid #f3f6fa}.qc-section>summary{display:flex;align-items:center;gap:11px;padding:17px 0 12px;cursor:pointer;list-style:none}.qc-section>summary::-webkit-details-marker{display:none}.qc-section>summary>span{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#1765ed}.qc-section>summary>div{min-width:0;flex:1}.qc-section>summary>.ic{color:#7183a3;transition:transform .18s ease}.qc-section:not([open])>summary>.ic{transform:rotate(-90deg)}.qc-section.complete>summary>span{background:#e4f7ee;color:#078251}.qc-section.has-work>summary>span{background:#fff0dd;color:#b95b00}.qc-section h3{margin:0;color:#10244a;font-size:15px}.qc-section summary small{color:#7b8ca8;font-size:10px}.qc-section summary small b{color:#405983}.qc-row{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(380px,1fr) minmax(180px,.7fr);gap:12px;align-items:center;min-height:58px;border-top:1px solid #e8edf5;padding:9px 0}.qc-row.missing{background:#fff7ed;box-shadow:0 0 0 8px #fff7ed}.qc-task{display:flex;align-items:center;gap:9px;color:#1a2d50}.qc-task strong{font-size:12px;line-height:1.35}.qc-state{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#f0f4f9;color:#8493aa}.qc-row.checked .qc-state{background:#e4f7ee;color:#0b9a63}.qc-row.needs-work .qc-state{background:#fff0dd;color:#d46a00}.qc-choices{display:flex;align-items:center;gap:5px}.qc-choices label{position:relative;cursor:pointer}.qc-choices input{position:absolute;opacity:0;pointer-events:none}.qc-choices span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:31px;padding:6px 9px;border:1px solid #dce5f0;border-radius:7px;background:#fff;color:#586b8c;font-size:10px;font-weight:700;white-space:nowrap}.qc-choices input:checked+span{border-color:#1765ed;background:#eaf2ff;color:#105bd6}.qc-choices input[value=ok]:checked+span{border-color:#69cda5;background:#e6f8ef;color:#087a4e}.qc-choices input[value=nacharbeit]:checked+span{border-color:#f4b15c;background:#fff1df;color:#b85a00}.qc-note{width:100%;min-width:0;border:1px solid #dce5f0;border-radius:7px;padding:8px 10px;color:#10244a;font-size:11px}.qc-final-note{padding:18px 20px;border-top:8px solid #f3f6fa}.qc-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px}.qc-list{border-top:1px solid #e5ebf4}.qc-list-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:13px 4px;border-bottom:1px solid #e8edf5;color:#10244a}.qc-list-row:last-child{border-bottom:0}.qc-list-row:hover{background:#f8faff}.qc-list-row h3{margin:2px 0;font-size:13px}.qc-list-row p,.qc-list-row small{margin:0;color:#7183a3;font-size:10px}.qc-result{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#edf2f8;color:#6c7f9d}.qc-result.bestanden{background:#e5f7ee;color:#07915c}.qc-result.nacharbeit{background:#fff0dd;color:#c55f00}.qc-badge{padding:5px 8px;border-radius:5px;background:#edf2f8;color:#5a6d8c;font-size:10px;font-weight:800}.qc-badge.bestanden{background:#e4f7ed;color:#078251}.qc-badge.nacharbeit{background:#fff0dd;color:#b95b00}
@media(max-width:1050px){.qc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.qc-row{grid-template-columns:minmax(220px,1fr) minmax(360px,1.2fr)}.qc-note{grid-column:1/-1;margin-bottom:5px}}
@media(max-width:700px){.qc-page{gap:12px}.qc-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.qc-kpis article{min-width:155px;scroll-snap-align:start}.qc-head{align-items:flex-start}.qc-head-actions{width:100%;justify-content:flex-start}.qc-meta{grid-template-columns:1fr;padding:15px}.qc-progress{padding:0 15px 15px}.qc-section{padding:0 15px}.qc-section>summary{position:sticky;top:0;z-index:2;background:#fff}.qc-row{grid-template-columns:1fr;gap:8px;padding:12px 0}.qc-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.qc-choices span{height:100%;padding:7px 4px;white-space:normal;text-align:center}.qc-note{grid-column:auto}.qc-final-note{padding:15px}.qc-actions{position:sticky;bottom:0;z-index:3;padding:10px 15px;background:rgba(255,255,255,.96);border-top:1px solid #dfe7f2}.qc-actions .btn{flex:1;justify-content:center}.qc-list-row{grid-template-columns:38px minmax(0,1fr) 16px}.qc-list-row .qc-badge{grid-column:2;justify-self:start}.qc-list-row>svg{grid-column:3;grid-row:1/3}}

/* iPad Mini bis iPad Pro, Hoch- und Querformat */
@media (min-width:701px) and (max-width:1500px){
  .tablet-sidebar-toggle{display:grid}
  .app-rahmen{display:block;min-height:100vh}
  .seitenleiste{position:fixed;inset:0 auto 0 0;z-index:260;width:248px;height:100dvh;max-height:100dvh;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:transform .22s ease}
  .seitenleiste .s-nav{display:flex;flex-direction:column;flex-wrap:nowrap}
  .seitenleiste .s-nav a{flex:none}
  .seitenleiste .schnellzugriff{display:block}
  body.tablet-sidebar-eingeklappt .seitenleiste{transform:translateX(-100%)}
  .hauptbereich{min-width:0;margin-left:248px;transition:margin-left .22s ease}
  body.tablet-sidebar-eingeklappt .hauptbereich{margin-left:0}
  .haupt-kopf{display:flex;justify-content:flex-start;gap:10px;padding-left:18px;padding-right:18px}
  .haupt-kopf .hk-titel{min-width:140px}
  .haupt-kopf .hk-aktionen{min-width:0;margin-left:auto;overflow-x:auto}
  .qc-page{max-width:none;padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .qc-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .qc-kpis article{min-height:108px;padding:16px 18px}
  .qc-head{padding:17px 18px}
  .qc-head .btn{min-height:44px}
  .qc-meta{grid-template-columns:repeat(2,minmax(0,1fr));padding:17px 18px}
  .qc-meta label:first-child{grid-column:1/-1}
  .qc-meta input,.qc-meta select{min-height:46px;font-size:16px}
  .qc-progress{padding:0 18px 17px}
  .qc-progress progress{height:9px}
  .qc-section{padding:0 18px}
  .qc-section>summary{padding:18px 0 13px}
  .qc-row{grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:10px 14px;padding:13px 0}
  .qc-task{grid-column:1/-1}
  .qc-task strong{font-size:14px}
  .qc-state{width:30px;height:30px;flex-basis:30px}
  .qc-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .qc-choices span{min-height:46px;padding:8px 7px;font-size:11px;white-space:normal;text-align:center;line-height:1.25}
  .qc-note{grid-column:auto;min-height:46px;font-size:16px}
  .qc-final-note{padding:18px}
  .qc-final-note textarea{font-size:16px}
  .qc-actions{position:sticky;bottom:0;z-index:20;padding:11px 18px calc(11px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #dce5f1;box-shadow:0 -10px 24px rgba(13,31,66,.08)}
  .qc-actions .btn{min-height:46px;justify-content:center}
  .qc-list-row{min-height:76px;padding:14px 6px}
}

/* Stabiler Upload, geführter Abschluss und nachvollziehbare Auftragsakte */
.upload-progress{grid-column:1/-1;display:grid;gap:7px;margin-top:8px;padding:10px;border:1px solid #cfe0f7;border-radius:7px;background:#f5f9ff}.upload-progress[hidden]{display:none}.upload-progress>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#405983;font-size:11px;font-weight:800}.upload-progress progress{width:100%;height:8px;border:0;border-radius:5px;overflow:hidden}.upload-progress progress::-webkit-progress-bar{background:#dfe9f5}.upload-progress progress::-webkit-progress-value{background:#1765ed}.upload-progress button{justify-self:start;min-height:36px;padding:0 12px;border:1px solid #efb6b6;border-radius:6px;background:#fff;color:#b42323;font-weight:800}.upload-progress.error{border-color:#fecaca;background:#fff7f7}.upload-progress.error progress{display:none}
.ad-completion{margin-bottom:14px;border:1px solid #b9d3fa;border-left:4px solid #1765ed;border-radius:8px;background:#fff;box-shadow:0 10px 30px rgba(18,67,144,.08);overflow:hidden}.ad-completion>header{display:flex;align-items:flex-start;gap:12px;padding:17px 19px;border-bottom:1px solid #e2eaf5}.ad-completion>header>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:8px;background:#eaf2ff;color:#1765ed}.ad-completion header small{color:#1765ed;font-size:9px;font-weight:900;text-transform:uppercase}.ad-completion h2{margin:3px 0 4px;color:#102044;font-size:18px}.ad-completion p{margin:0;color:#7183a2;font-size:11px}.ad-completion form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px 18px}.ad-completion label{position:relative;min-width:0;cursor:pointer}.ad-completion label>input{position:absolute;opacity:0}.ad-completion label>span{height:100%;min-height:82px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 8px;align-content:center;padding:12px;border:1px solid #dce5f1;border-radius:7px;color:#405983}.ad-completion label svg{grid-row:1/3;color:#1765ed}.ad-completion label b{color:#102044;font-size:12px}.ad-completion label small{color:#7183a2;font-size:10px}.ad-completion label>input:checked+span{border-color:#45bb84;background:#ecfaf3}.ad-completion label>input:checked+span svg{color:#078251}.ad-completion form>div{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:4px}
.ad-activity{margin-top:14px;border:1px solid #e0e7f0;border-radius:8px;background:#fff;overflow:hidden}.ad-activity>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e7edf5}.ad-activity header small{color:#7183a2;font-size:9px;font-weight:900;text-transform:uppercase}.ad-activity h3{margin:2px 0 0;color:#102044;font-size:14px}.ad-activity header>span{min-width:28px;padding:5px 7px;border-radius:6px;background:#edf4ff;color:#1765ed;text-align:center;font-size:10px;font-weight:900}.ad-activity article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:10px 15px;border-bottom:1px solid #edf1f6}.ad-activity article:last-child{border-bottom:0}.ad-activity article>i{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1765ed}.ad-activity p{margin:0}.ad-activity strong,.ad-activity small{display:block}.ad-activity strong{color:#102044;font-size:11px}.ad-activity small{margin-top:3px;color:#7183a2;font-size:9px}
.qc-rework{display:grid;grid-template-columns:minmax(230px,1.2fr) repeat(2,minmax(170px,.8fr)) auto;gap:12px;align-items:end;padding:17px 20px;border-top:1px solid #e5ebf4;background:#fbfcfe}.qc-rework>div strong,.qc-rework>div small{display:block}.qc-rework>div strong{color:#10244a;font-size:13px}.qc-rework>div small{margin-top:4px;color:#7183a2;font-size:10px}.qc-rework label{display:grid;gap:6px;color:#405983;font-size:11px;font-weight:800}.qc-rework select,.qc-rework input[type=date]{width:100%;min-height:42px;border:1px solid #d5e0ee;border-radius:7px;padding:8px 10px;background:#fff;color:#10244a}.qc-rework-done{display:flex!important;align-items:center;min-height:42px}.qc-rework-done input{width:19px;height:19px}.qc-draft-restored{padding:9px 16px;border-bottom:1px solid #bde7d1;background:#ecfaf3;color:#087a4e;font-size:11px;font-weight:800}
@media(max-width:1050px){.ad-completion form{grid-template-columns:1fr}.qc-rework{grid-template-columns:1fr 1fr}.qc-rework>div{grid-column:1/-1}}
@media(max-width:700px){.ad-completion>header{padding:14px}.ad-completion form{padding:12px 14px 15px}.ad-completion label>span{min-height:74px}.ad-completion form>div{position:sticky;bottom:68px;background:#fff;padding-top:10px}.ad-completion form>div .btn{flex:1;justify-content:center;min-height:46px}.qc-rework{grid-template-columns:1fr;padding:15px}.qc-rework>div{grid-column:auto}.qc-rework select,.qc-rework input[type=date]{font-size:16px}.ad-upload button,.ad-pair-upload label,.ad-gallery-edit button{min-height:46px}.ad-activity article{padding:11px 13px}}
@media (min-width:701px) and (max-width:900px) and (pointer:coarse){
  .qc-meta{grid-template-columns:1fr}
  .qc-meta label:first-child{grid-column:auto}
  .qc-row{grid-template-columns:1fr}
  .qc-choices,.qc-note{grid-column:1}
  .qc-actions .btn{flex:1}
}

/* CRM Version 2 */
.v2-dashboard{display:grid;gap:16px;max-width:1520px;margin:0 auto;padding-bottom:34px}.v2-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:#102044;color:#fff;border-radius:8px;box-shadow:0 14px 34px rgba(16,32,68,.16)}.v2-welcome h2{margin:4px 0 6px;font-size:26px}.v2-welcome p{margin:0;color:#c4d2e8}.v2-eyebrow{display:block;color:#337cf3;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:0}.v2-welcome .v2-eyebrow{color:#78a8ff}.v2-welcome-actions{display:flex;gap:9px;flex-wrap:wrap}.v2-welcome-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid rgba(255,255,255,.28);border-radius:7px;color:#fff;font-size:12px;font-weight:850}.v2-welcome-actions a.primaer{background:#1765ed;border-color:#1765ed}.v2-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v2-metrics>a{display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto auto;gap:2px 12px;align-items:center;min-height:104px;padding:16px 18px;background:#fff;border:1px solid #dfe7f2;border-radius:8px;color:#102044;box-shadow:0 8px 24px rgba(18,42,78,.04)}.v2-metrics>a>span{grid-row:1/3;width:46px;height:46px;display:grid;place-items:center;border-radius:8px}.v2-metrics .blau{background:#eaf2ff;color:#1765ed}.v2-metrics .gruen{background:#e5f7ee;color:#078251}.v2-metrics .orange{background:#fff0dd;color:#bd6100}.v2-metrics .lila{background:#f1e8ff;color:#7c3aed}.v2-metrics small{color:#7183a2;font-size:11px;font-weight:850}.v2-metrics strong{grid-column:3;grid-row:1/3;font-size:30px}.v2-metrics em{font-style:normal;color:#7183a2;font-size:11px;font-weight:700}.v2-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr);gap:14px;align-items:start}.v2-panel{background:#fff;border:1px solid #dfe7f2;border-radius:8px;box-shadow:0 8px 28px rgba(22,45,84,.045);overflow:hidden}.v2-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #e7edf5}.v2-panel h2{margin:3px 0 0;font-size:17px}.v2-panel>header>a{display:flex;align-items:center;gap:5px;color:#1765ed;font-size:11px;font-weight:850}.v2-next-list{display:grid}.v2-next-list>a{display:grid;grid-template-columns:72px minmax(0,1fr) 18px;align-items:center;gap:13px;min-height:68px;padding:10px 20px;border-bottom:1px solid #edf1f6;color:#102044}.v2-next-list>a:last-child{border-bottom:0}.v2-next-list>a:hover{background:#f7faff}.v2-next-list time{display:grid;gap:2px}.v2-next-list time b{font-size:15px}.v2-next-list time span,.v2-next-list div span{color:#7183a2;font-size:10px}.v2-next-list div{min-width:0}.v2-next-list div strong,.v2-next-list div span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-next-list div strong{font-size:12px;margin-bottom:4px}.v2-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:7px;color:#7183a2}.v2-empty strong{color:#102044}.v2-empty span{font-size:11px}.v2-focus>a{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:67px;padding:10px 18px;border-bottom:1px solid #edf1f6;color:#102044}.v2-focus>a:last-child{border-bottom:0}.v2-focus>a>span{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1765ed}.v2-focus>a strong,.v2-focus>a small{display:block}.v2-focus>a strong{font-size:12px}.v2-focus>a small{margin-top:4px;color:#7183a2;font-size:10px}.v2-order-intake{margin-bottom:14px;background:#fff;border:1px solid #dfe7f2;border-left:4px solid #1765ed;border-radius:8px;box-shadow:0 8px 28px rgba(22,45,84,.045);overflow:hidden;scroll-margin-top:100px}.v2-order-intake>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid #e7edf5}.v2-order-intake h2{margin:3px 0 4px;font-size:17px}.v2-order-intake p{margin:0;color:#7183a2;font-size:11px}.v2-count{padding:5px 8px;border-radius:6px;background:#eaf2ff;color:#1765ed;font-size:10px;font-weight:900;white-space:nowrap}.v2-intake-list{display:grid}.v2-intake-list article{display:grid;grid-template-columns:40px minmax(0,1fr) 150px 112px;align-items:center;gap:12px;min-height:68px;padding:10px 18px;border-bottom:1px solid #edf1f6}.v2-intake-list article:last-child{border-bottom:0}.v2-intake-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1765ed}.v2-intake-main strong,.v2-intake-main span,.v2-intake-meta strong,.v2-intake-meta span{display:block}.v2-intake-main strong{font-size:12px}.v2-intake-main span,.v2-intake-meta span{margin-top:4px;color:#7183a2;font-size:10px}.v2-intake-meta{text-align:right}.v2-intake-meta strong{font-size:12px}.v2-intake-list article>a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border-radius:7px;background:#1765ed;color:#fff;font-size:11px;font-weight:850}.v2-intake-kpi{text-decoration:none}.au-kpis{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
@media(max-width:1100px){.v2-dashboard-grid{grid-template-columns:1fr}.v2-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-intake-list article{grid-template-columns:40px minmax(0,1fr) 130px}.v2-intake-list article>a{grid-column:2/4}}
@media(max-width:700px){.v2-dashboard{gap:12px;padding-bottom:20px}.v2-welcome{display:grid;padding:18px}.v2-welcome h2{font-size:21px}.v2-welcome-actions{display:grid;grid-template-columns:1fr}.v2-metrics{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.v2-metrics>a{min-width:210px;scroll-snap-align:start;min-height:92px}.v2-panel>header{padding:15px}.v2-next-list>a{grid-template-columns:58px minmax(0,1fr) 16px;padding:10px 15px}.v2-order-intake>header{padding:15px}.v2-intake-list article{grid-template-columns:38px minmax(0,1fr);padding:13px 15px}.v2-intake-meta{grid-column:2;text-align:left}.v2-intake-list article>a{grid-column:1/-1;min-height:44px}.au-kpis{display:flex;overflow-x:auto}.au-kpi{min-width:175px}.au-page-toolbar{position:static}.au-layout{grid-template-columns:1fr}.au-detail{display:none}.au-table thead{display:none}.au-table,.au-table tbody,.au-table tr,.au-table td{display:block;width:100%}.au-table tr{padding:12px 14px;border-bottom:1px solid #e4ebf4}.au-table td{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border:0}.au-table td:before{content:attr(data-label);color:#7183a2;font-size:10px;font-weight:850}.au-table td:first-child:before{display:none}.au-table td:first-child{display:block}.au-row-actions{align-items:center}.au-open-detail{min-height:40px;display:inline-flex!important;align-items:center;justify-content:center}.ae-top{position:sticky;top:0;z-index:20;background:#f3f6fa;padding:10px 0}.ae-top>div:last-child{display:flex}.ae-top button{min-height:44px}.ae-card input,.ae-card select,.ae-card textarea{font-size:16px}}

/* Bexio-Auftragseingang: offene und bereits eingeplante Aufträge */
.v2-intake-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.v2-count.geplant{background:#e6f7ee;color:#087c50}.v2-intake-list article.ist-eingeplant{background:#fbfefd}.v2-intake-list article.ist-eingeplant .v2-intake-icon{background:#e6f7ee;color:#087c50}.v2-intake-main .au-pill{display:inline-flex;margin-top:7px}.v2-intake-schedule{display:grid;justify-items:end;gap:2px}.v2-intake-schedule>strong{font-size:12px;color:#102044}.v2-intake-schedule>span{font-size:10px;color:#7183a2}.v2-intake-schedule .au-team{margin-top:4px;justify-content:flex-end}.v2-intake-schedule small{font-size:9px;color:#7183a2}.v2-intake-list article.ist-eingeplant>a{background:#0b8757}
@media(max-width:1100px){.v2-intake-schedule{grid-column:3;grid-row:1/3}}
@media(max-width:700px){.v2-order-intake>header{display:grid}.v2-intake-summary{justify-content:flex-start}.v2-intake-schedule{grid-column:2;grid-row:auto;justify-items:start}.v2-intake-schedule .au-team{justify-content:flex-start}}

/* ====================================================================
   CRM 2.1 – einheitliche Arbeitsakten und ruhigeres App-Design
   ==================================================================== */
body.layout-seite{background:#f5f7fb;color:#172033}
.seitenleiste{width:232px;padding:18px 12px;background:#0b1629;border-right:1px solid rgba(255,255,255,.06)}
.s-logo{min-height:58px;padding:2px 10px 18px}.s-logo-bild{width:min(150px,100%);max-height:52px;object-position:left center}
.s-nav{gap:8px}.s-nav-label,.s-nav-gruppe summary{min-height:25px;padding:5px 10px;color:#73839e;font-size:9px;letter-spacing:0}.s-nav-gruppe{padding-top:7px;border-top:1px solid rgba(255,255,255,.07)}
.s-nav-links{gap:3px}.s-nav a{min-height:42px;padding:9px 11px;border-radius:7px;color:#aebbd0;font-size:13px;font-weight:650}.s-nav a:hover{background:rgba(255,255,255,.065)}.s-nav a.aktiv{background:#1765ed;box-shadow:none;color:#fff}.s-icon{width:20px;height:20px}
.s-benutzer{border-radius:7px;background:rgba(255,255,255,.055)}.s-logout{border-radius:7px}.s-version{letter-spacing:0}
.haupt-kopf{min-height:72px;padding:14px 28px;background:rgba(245,247,251,.94);border-bottom:1px solid #e5eaf2;backdrop-filter:blur(14px)}.hk-aktionen{gap:8px}.global-search-launcher{border-color:#dfe5ee;border-radius:7px;box-shadow:none}.hk-sync,.hk-push,.haupt-kopf .glocke,.btn{border-radius:7px;box-shadow:none}.hk-profil{background:#fff;border:1px solid #e2e7ef}
body.layout-seite .inhalt{padding:22px 28px 48px}.fusszeile{color:#9aa6b8}
.karte,.ops-card,.au-card,.ku-card,.ma-card,.v2-panel,.v2-order-intake{border-color:#e2e7ef;border-radius:7px;box-shadow:0 6px 20px rgba(16,31,56,.035)}
.au-kpi,.ku-kpi,.ma-kpi,.ops-kpis article,.v2-metrics>a{border-color:#e2e7ef;border-radius:7px;box-shadow:none}
button,input,select,textarea{letter-spacing:0}

/* Gemeinsame Kunden-/Auftragsakte */
.record-page{display:grid;gap:16px;max-width:1500px;margin:0 auto;padding-bottom:30px;scroll-behavior:smooth}.record-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;padding:22px 24px;background:#fff;border:1px solid #e1e7ef;border-radius:7px}.record-back{grid-column:1/-1;width:max-content;display:inline-flex;align-items:center;gap:5px;color:#6b7b95;font-size:11px;font-weight:750}.record-identity{display:flex;align-items:center;gap:14px;min-width:0}.record-avatar{width:50px;height:50px;display:grid;place-items:center;flex:0 0 50px;border-radius:7px;background:#eaf2ff;color:#1765ed;font-size:20px;font-weight:900}.record-identity>div{min-width:0}.record-identity small,.record-panel header small{display:block;margin-bottom:3px;color:#6f82a0;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:0}.record-identity h1{margin:0;color:#12203a;font-size:25px;line-height:1.15}.record-identity p{margin:5px 0 0;color:#73839d;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.record-actions>a,.record-panel>header>a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:0 12px;border:1px solid #dce4ef;border-radius:7px;background:#fff;color:#304765;font-size:11px;font-weight:800}.record-actions>a.primaer{border-color:#1765ed;background:#1765ed;color:#fff}
.record-tabs{position:sticky;top:72px;z-index:30;display:flex;align-items:center;gap:3px;overflow-x:auto;padding:6px;background:#fff;border:1px solid #e1e7ef;border-radius:7px}.record-tabs a{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:6px;color:#566985;font-size:11px;font-weight:800;white-space:nowrap}.record-tabs a:hover{background:#f1f5fa;color:#1765ed}.record-tabs span{min-width:20px;padding:2px 5px;border-radius:5px;background:#edf2f8;color:#657895;text-align:center;font-size:9px}
.record-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.record-metrics article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:94px;padding:14px 16px;background:#fff;border:1px solid #e1e7ef;border-radius:7px}.record-metrics article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:7px;background:#eaf2ff;color:#1765ed}.record-metrics article.warn>span{background:#fff0df;color:#bb5b00}.record-metrics small,.record-metrics strong,.record-metrics p{display:block}.record-metrics small{color:#70829f;font-size:9px;font-weight:800}.record-metrics strong{margin:2px 0;color:#12203a;font-size:18px}.record-metrics p{margin:0;color:#8290a6;font-size:9px}
.record-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:12px;align-items:start}.record-grid.lower{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}.record-panel{min-width:0;background:#fff;border:1px solid #e1e7ef;border-radius:7px;overflow:hidden;scroll-margin-top:124px}.record-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid #e8edf4}.record-panel h2{margin:0;color:#12203a;font-size:16px}.record-panel header p{margin:4px 0 0;color:#7c8ca4;font-size:10px}.record-contact dl{display:grid;grid-template-columns:130px minmax(0,1fr);margin:0;padding:8px 18px 15px}.record-contact dt,.record-contact dd{margin:0;padding:10px 0;border-bottom:1px solid #edf1f6;font-size:11px}.record-contact dt{color:#7b8ba2}.record-contact dd{color:#243754;font-weight:650;overflow-wrap:anywhere}.record-contact dd a{color:#1765ed}
.record-next-job{display:grid;grid-template-columns:100px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:18px;color:#172a48}.record-next-job time{display:grid;gap:3px}.record-next-job time strong{font-size:12px}.record-next-job time span,.record-next-job>div>span{color:#7c8da7;font-size:9px}.record-next-job>div>strong{display:block;margin-bottom:3px;font-size:13px}.record-team{display:flex;align-items:center;margin-top:8px}.record-team small{color:#7c8da7;font-size:9px}
.record-list{display:grid}.record-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto 17px;align-items:center;gap:11px;min-height:72px;padding:10px 18px;border-bottom:1px solid #edf1f6;color:#172a48}.record-list>a:last-child{border-bottom:0}.record-list>a:hover{background:#f8faff}.record-list-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1765ed}.record-list-icon.bestanden{background:#e5f7ed;color:#078052}.record-list-icon.nacharbeit{background:#fff0df;color:#be5b00}.record-list-icon.entwurf{background:#eef2f7;color:#63738c}.record-list>a div{min-width:0}.record-list>a small,.record-list>a strong,.record-list>a p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-list>a small{color:#7b8ca5;font-size:9px}.record-list>a strong{margin:3px 0;color:#172a48;font-size:12px}.record-list>a p{margin:0;color:#64758f;font-size:9px}.record-list-team{display:flex;min-width:28px}.record-status{padding:5px 7px;border-radius:5px;background:#eaf2ff;color:#1765ed;font-size:9px;font-style:normal;font-weight:850;white-space:nowrap}.record-status.abgeschlossen,.record-status.bestanden{background:#e5f7ed;color:#087e52}.record-status.storniert,.record-status.nacharbeit{background:#fff0df;color:#b65700}.record-status.entwurf{background:#eef2f7;color:#5f718d}
.record-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:6px;padding:22px;color:#7d8da5;text-align:center}.record-empty.compact{min-height:100px}.record-empty>span{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;background:#eef3f8;color:#627590}.record-empty strong{color:#263a57}.record-empty p{max-width:360px;margin:0;font-size:10px;line-height:1.5}.record-empty a{color:#1765ed;font-size:11px;font-weight:800}
.record-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px}.record-files>a{position:relative;min-height:112px;overflow:hidden;border:1px solid #e4eaf2;border-radius:7px;background:#f5f7fa;color:#203552}.record-files img{width:100%;height:112px;display:block;object-fit:cover}.record-files a span{position:absolute;left:0;right:0;bottom:0;padding:16px 8px 7px;background:linear-gradient(transparent,rgba(8,20,39,.8));color:#fff;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-files a.document{display:grid;place-items:center;align-content:center;gap:8px;padding:12px}.record-files a.document i{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;background:#eaf2ff;color:#1765ed}.record-files a.document span{position:static;padding:0;background:none;color:#314966;text-align:center}.record-key-list{display:grid;padding:8px 16px}.record-key-list article{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #edf1f6}.record-key-list article:last-child{border-bottom:0}.record-key-list article>span{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:#fff0df;color:#b35a00}.record-key-list strong{font-size:11px}.record-key-list p{margin:3px 0 0;color:#7788a1;font-size:9px}

/* Qualität direkt in der Auftragsakte */
.ad-quality-page{padding:20px}.ad-quality-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px}.ad-quality-head>div>span{color:#1765ed;font-size:9px;font-weight:850;text-transform:uppercase}.ad-quality-head h3{margin:4px 0;color:#12203a;font-size:19px}.ad-quality-head p{margin:0;color:#72839d;font-size:11px}.ad-quality-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}.ad-quality-kpis article{padding:14px;border:1px solid #e4e9f1;border-radius:7px;background:#f9fbfd}.ad-quality-kpis article.warn{border-color:#ffd5a2;background:#fff9f1}.ad-quality-kpis small,.ad-quality-kpis strong,.ad-quality-kpis span{display:block}.ad-quality-kpis small{color:#74859e;font-size:9px}.ad-quality-kpis strong{margin:3px 0;color:#12203a;font-size:23px}.ad-quality-kpis span{color:#8997aa;font-size:9px}.ad-quality-list{display:grid;border:1px solid #e5eaf2;border-radius:7px;overflow:hidden}.ad-quality-list>article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #edf1f6}.ad-quality-list>article:last-child{border-bottom:0}.ad-quality-state{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#eef2f7;color:#687994}.ad-quality-state.bestanden{background:#e5f7ed;color:#078052}.ad-quality-state.nacharbeit{background:#fff0df;color:#b95a00}.ad-quality-list small,.ad-quality-list strong,.ad-quality-list p{display:block}.ad-quality-list small{color:#7b8da7;font-size:9px}.ad-quality-list strong{margin:2px 0;color:#172a48;font-size:12px}.ad-quality-list p{margin:0;color:#6f8099;font-size:9px}.ad-quality-actions{display:flex;gap:6px}.ad-quality-actions a{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 9px;border:1px solid #dce4ee;border-radius:6px;color:#34506f;font-size:9px;font-weight:800}.ad-quality-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:6px;padding:24px;text-align:center}.ad-quality-empty>svg{color:#6f83a2}.ad-quality-empty strong{font-size:13px}.ad-quality-empty p{max-width:400px;margin:0;color:#7a8aa2;font-size:10px;line-height:1.5}
.ad-page{max-width:1500px;margin:0 auto}.ad-top{padding:20px 22px;background:#fff;border:1px solid #e1e7ef;border-radius:7px}.ad-brief{border-radius:7px;box-shadow:none}.ad-card{border-radius:7px;box-shadow:none}.ad-detail-tabs{padding:6px;border-bottom:1px solid #e6ebf2}.ad-detail-tabs a{border-radius:6px}.ad-back{display:inline-flex;align-items:center;color:#697b96;font-size:11px}.ad-top-actions>a,.ad-top-actions button,.ad-more summary{border-radius:7px}
.ad-quality-side{display:grid;gap:10px}.ad-quality-side-head{display:flex;align-items:center;justify-content:space-between}.ad-quality-side-head h3{margin:0}.ad-quality-side-head span{min-width:28px;height:28px;display:inline-grid;place-items:center;border-radius:6px;background:#eaf2ff;color:#1464ef;font-weight:800}.ad-quality-side>strong{font-size:16px;color:#12213d}.ad-quality-side>p{margin:0;color:#71809a;line-height:1.5}.ad-quality-side>a{margin-top:4px}
.au-action-menu.drop-up div{top:auto;bottom:calc(100% + 8px)}
.record-key-list .record-key-item{grid-template-columns:34px minmax(0,1fr) auto}.record-key-item>div:nth-child(2){min-width:0}.record-key-item small{display:block;margin-bottom:2px;color:#7b8ca5;font-size:8px;font-weight:800}.record-key-actions{display:flex;align-items:center;gap:5px}.record-key-actions a{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;padding:0 8px;border:1px solid #dce4ef;border-radius:6px;color:#315071;font-size:9px;font-weight:800}.record-key-actions a:hover{border-color:#b8cae1;background:#f5f8fc}.ad-key-side{display:grid;gap:10px}.ad-key-side-item{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #edf1f6}.ad-key-side-item>i{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#fff0df;color:#af5700}.ad-key-side-item strong,.ad-key-side-item small{display:block}.ad-key-side-item strong{color:#172a48;font-size:11px}.ad-key-side-item small{margin-top:2px;color:#7889a1;font-size:8px;white-space:normal}.ad-key-side-item>a{width:30px;height:30px;display:grid;place-items:center;border:1px solid #dce4ef;border-radius:6px;color:#1765ed}.ad-case-grid .ad-key-overview{gap:10px}.ad-key-overview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ad-key-overview-head h3{margin:0}.ad-key-overview-head>span{min-width:24px;height:24px;padding:0 7px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:#eaf2ff;color:#1765ed;font-size:10px;font-weight:900}.ad-key-overview-list{display:grid}.ad-key-overview .ad-key-side-item:last-child{border-bottom:0}.ad-key-overview>a{margin-top:auto}
@media(max-width:700px){.record-key-list .record-key-item{grid-template-columns:32px minmax(0,1fr)}.record-key-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.record-key-actions a{min-height:40px}}

@media(max-width:1100px){.record-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.record-grid,.record-grid.lower{grid-template-columns:1fr}.record-list>a{grid-template-columns:38px minmax(0,1fr) auto 17px}.record-list-team{display:none}}
@media(max-width:700px){body.layout-seite .inhalt{padding:14px 12px calc(100px + env(safe-area-inset-bottom))}.haupt-kopf{display:none}.record-page{gap:11px}.record-header{grid-template-columns:1fr;padding:15px}.record-back{grid-column:auto}.record-identity h1{font-size:21px}.record-identity p{white-space:normal}.record-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.record-actions>a{min-height:44px}.record-actions>a.primaer{grid-column:1/-1}.record-tabs{top:62px;margin:0 -4px}.record-metrics{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.record-metrics article{min-width:210px;scroll-snap-align:start}.record-panel>header{padding:15px}.record-contact dl{grid-template-columns:1fr;padding:7px 15px 14px}.record-contact dt{padding-bottom:2px;border:0}.record-contact dd{padding-top:2px}.record-next-job{grid-template-columns:88px minmax(0,1fr) 16px;padding:15px}.record-list>a{grid-template-columns:36px minmax(0,1fr) 16px;padding:11px 14px}.record-list>a>.record-status{grid-column:2;justify-self:start}.record-list>a>svg{grid-column:3;grid-row:1/3}.record-files{grid-template-columns:repeat(2,minmax(0,1fr));padding:11px}.ad-quality-page{padding:15px}.ad-quality-head{display:grid}.ad-quality-head>a{min-height:44px}.ad-quality-kpis{display:flex;overflow-x:auto}.ad-quality-kpis article{min-width:145px}.ad-quality-list>article{grid-template-columns:36px minmax(0,1fr)}.ad-quality-actions{grid-column:1/-1}.ad-quality-actions a{flex:1;justify-content:center;min-height:40px}.ad-top{padding:15px}.ad-top-actions{display:grid;grid-template-columns:1fr 1fr}.ad-top-actions>a,.ad-top-actions>button,.ad-top-actions>form{width:100%}.ad-top-actions .primaer{grid-column:1/-1}}

/* Auftragszentrale: Bexio-Eingang und CRM-Aufträge teilen sich eine Ansicht. */
.au-layout.ist-eingang{grid-template-columns:minmax(0,1fr)}
.au-tabs .au-tab-eingang{gap:7px}
.au-tabs .au-tab-eingang>span{min-width:23px;height:21px;padding:0 6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#fff0dd;color:#b85b00;font-size:10px;font-weight:900}
.au-tabs .au-tab-eingang.aktiv>span{background:#1765ed;color:#fff}
.au-kpi.aktiv{border-color:#9fc0fb;background:#f5f9ff;box-shadow:0 0 0 2px rgba(23,101,237,.08)}
.au-kpi:hover{text-decoration:none;border-color:#b9cdf2}
.au-table-card .au-intake-pane{margin:0 -20px;border:0;border-left:0;border-radius:0;box-shadow:none;scroll-margin-top:0}
.au-table-card .au-intake-pane>header{background:#fbfdff}
.au-intake-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:7px;padding:30px;color:#7183a2;text-align:center}
.au-intake-empty svg{color:#1765ed}.au-intake-empty strong{color:#102044}.au-intake-empty span{font-size:11px}
.au-head-form.ist-eingang .au-head-search{width:320px}
@media(max-width:700px){.au-table-card .au-intake-pane{margin:0 -16px -16px}.au-tabs .au-tab-eingang>span{height:20px}.au-head-form.ist-eingang .au-head-search{width:100%}.au-intake-pane>header{display:grid}.au-intake-pane .v2-intake-summary{justify-content:flex-start}}

/* Auftragskennzahlen: kompakte, klar lesbare Statusleiste. */
.au-page>.au-kpis{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin-bottom:18px;
}
.au-page>.au-kpis>.au-kpi{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:12px;
    min-width:0;
    min-height:88px;
    padding:13px 14px;
    overflow:hidden;
    border-color:#e0e6ef;
    background:#fff;
    box-shadow:none;
}
.au-page>.au-kpis>.au-kpi i{
    position:static;
    grid-column:1;
    grid-row:1/3;
    width:42px;
    height:42px;
    border-radius:8px;
}
.au-page>.au-kpis>.au-kpi span,
.au-page>.au-kpis>.au-kpi small{
    grid-column:2;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.au-page>.au-kpis>.au-kpi span{
    align-self:end;
    color:#425a82;
    font-size:11px;
    font-weight:800;
}
.au-page>.au-kpis>.au-kpi small{
    align-self:start;
    margin-top:3px;
    color:#8997ac;
    font-size:9px;
    font-weight:700;
}
.au-page>.au-kpis>.au-kpi strong{
    grid-column:3;
    grid-row:1/3;
    margin:0;
    color:#102044;
    font-size:27px;
    line-height:1;
}
.au-page>.au-kpis>.au-kpi:hover{
    border-color:#b8cae5;
    background:#fbfdff;
}
.au-page>.au-kpis>.au-kpi.aktiv{
    border-color:#8fb8fb;
    background:#f6f9ff;
    box-shadow:inset 0 0 0 1px rgba(23,101,237,.08);
}
.au-page>.au-kpis>.au-kpi.aktiv::after{
    content:"";
    position:absolute;
    right:12px;
    bottom:0;
    left:12px;
    height:3px;
    border-radius:3px 3px 0 0;
    background:#1765ed;
}
@media(max-width:1500px){
    .au-page>.au-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .au-page>.au-kpis{
        display:flex;
        gap:9px;
        overflow-x:auto;
        padding-bottom:4px;
        scroll-snap-type:x mandatory;
    }
    .au-page>.au-kpis>.au-kpi{
        flex:0 0 230px;
        min-width:230px;
        min-height:82px;
        scroll-snap-align:start;
    }
}
/* Digitale Unterschriften der Qualitätskontrolle */
.qc-existing-signatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 20px 18px;padding:14px;border:1px solid #dce6f2;border-radius:8px;background:#f8fbff}.qc-existing-signatures>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-width:0}.qc-existing-signatures small{color:#7183a2;font-size:9px;font-weight:850;text-transform:uppercase}.qc-existing-signatures strong{overflow:hidden;color:#10244a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.qc-existing-signatures img{grid-column:2;grid-row:1/3;width:150px;height:56px;object-fit:contain;border:1px solid #e0e7f0;border-radius:6px;background:#fff}.qc-signature-delete{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:6px 8px;border:1px solid #fecaca;border-radius:6px;background:#fff;color:#c62828;font-size:10px;font-weight:800;cursor:pointer}
body.qc-sign-open{overflow:hidden}.qc-sign-modal[hidden],.qc-sign-step[hidden]{display:none!important}.qc-sign-modal{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;overflow:auto;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(5,15,35,.78);backdrop-filter:blur(8px)}.qc-sign-dialog{width:min(920px,100%);max-height:calc(100dvh - 36px);overflow:auto;border-radius:10px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.34)}.qc-sign-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e3e9f1;background:#fff}.qc-sign-dialog header span{display:block;color:#1765ed;font-size:10px;font-weight:900;text-transform:uppercase}.qc-sign-dialog h2{margin:4px 0;color:#10244a;font-size:22px}.qc-sign-dialog header p{margin:0;color:#7183a2;font-size:12px}.qc-sign-dialog header button{width:42px;height:42px;padding:0;border:1px solid #dce5f0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#173052;font-size:25px;line-height:1;cursor:pointer}.qc-sign-step{display:grid;gap:16px;padding:22px}.qc-sign-step>label{display:grid;gap:7px;color:#405983;font-size:12px;font-weight:800}.qc-sign-step>label input{min-height:48px;width:100%;padding:10px 13px;border:1px solid #cddbea;border-radius:8px;background:#fff;color:#10244a;font-size:16px}.qc-sign-pad{position:relative;overflow:hidden;border:2px solid #b9cce4;border-radius:9px;background:#fff}.qc-sign-pad canvas{display:block;width:100%;height:260px;touch-action:none;cursor:crosshair}.qc-sign-pad>span{position:absolute;left:16px;bottom:13px;color:#9aa8bb;font-size:11px;pointer-events:none}.qc-sign-pad>button{position:absolute;right:12px;top:12px;min-height:36px;padding:0 12px;border:1px solid #d7e1ec;border-radius:7px;background:rgba(255,255,255,.94);color:#405983;font-weight:800}.qc-sign-actions{display:flex;justify-content:space-between;gap:10px;padding-top:2px}.qc-sign-actions .btn{min-height:48px;padding:0 18px}.qc-sign-actions .primaer{margin-left:auto}
@media(max-width:700px){.qc-existing-signatures{grid-template-columns:1fr;margin:0 15px 15px}.qc-sign-modal{place-items:stretch;padding:0}.qc-sign-dialog{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0}.qc-sign-dialog>header{padding:16px 15px}.qc-sign-dialog h2{font-size:19px}.qc-sign-step{padding:16px 15px calc(18px + env(safe-area-inset-bottom))}.qc-sign-pad canvas{height:230px}.qc-sign-actions{display:grid;grid-template-columns:1fr 1fr}.qc-sign-actions .btn{width:100%;margin:0;justify-content:center}.qc-sign-actions .primaer{grid-column:1/-1;grid-row:1}}

/* PDF-Vorschau der Qualitätskontrolle innerhalb des CRM */
body.qc-pdf-open{overflow:hidden}.qc-pdf-modal[hidden]{display:none!important}.qc-pdf-modal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px}.qc-pdf-backdrop{position:fixed;inset:0;border:0;background:rgba(5,15,35,.76);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:default}.qc-pdf-window{position:relative;width:min(1040px,100%);height:min(860px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#eef3f8;box-shadow:0 30px 90px rgba(3,12,30,.45)}.qc-pdf-window>header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid #dce5f1;background:#fff}.qc-pdf-window>header>div{min-width:0;display:flex;align-items:center;gap:11px;color:#10244a}.qc-pdf-window>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-pdf-window>header>button{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:1px solid #dce5f0;border-radius:50%;background:#fff;color:#173052;font-size:27px;line-height:1;cursor:pointer}.qc-pdf-view{min-height:0;flex:1;padding:12px}.qc-pdf-view iframe{width:100%;height:100%;display:block;border:0;border-radius:7px;background:#fff}
@media(max-width:700px){.qc-pdf-modal{padding:0}.qc-pdf-window{width:100%;height:100dvh;border:0;border-radius:0}.qc-pdf-window>header{min-height:60px;padding-top:max(10px,env(safe-area-inset-top));padding-right:max(14px,env(safe-area-inset-right));padding-left:max(14px,env(safe-area-inset-left))}.qc-pdf-view{padding:0 0 env(safe-area-inset-bottom)}.qc-pdf-view iframe{border-radius:0}}

/* Abschliessende iPad-Geometrie nach den allgemeinen Sidebar-Regeln. */
@media (min-width:701px) and (max-width:1500px){
  .seitenleiste{width:232px}
  .hauptbereich{width:calc(100% - 232px);max-width:calc(100% - 232px);margin-left:232px;overflow-x:clip}
  body.tablet-sidebar-eingeklappt .hauptbereich{width:100%;max-width:100%;margin-left:0}
  .hauptbereich>.inhalt{min-width:0;max-width:100%}
}

/* Glanz Y CRM 3.0: helle horizontale Arbeitsnavigation */
:root{
  --v3-line:#dfe6ef;
  --v3-muted:#71819b;
  --v3-surface:#fff;
  --v3-canvas:#f5f7fb;
  --v3-blue:#1765ed;
}
body.layout-seite{background:var(--v3-canvas);color:#102044}
.v3-topbar{
  position:sticky;top:0;z-index:900;
  min-height:74px;display:flex;align-items:center;gap:20px;
  padding:10px 24px;border-bottom:1px solid var(--v3-line);
  background:rgba(255,255,255,.97);box-shadow:0 4px 18px rgba(15,32,68,.045);
  backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px)
}
.v3-brand{width:190px;flex:0 0 190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#0a1733;text-decoration:none}
.v3-brand:hover{text-decoration:none}.v3-brand img{display:block;width:154px;height:37px;object-fit:contain;object-position:left center}
.v3-brand small{margin:2px 0 0 8px;color:#8b97a9;font-size:8px;font-weight:800;letter-spacing:.08em}
.v3-primary-nav{min-width:0;display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #e2e8f1;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(18,39,75,.055)}
.v3-primary-nav>a,.v3-more>summary{height:43px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:6px;color:#34445f;font-size:12px;font-weight:750;white-space:nowrap;text-decoration:none;cursor:pointer;list-style:none}
.v3-more>summary::-webkit-details-marker{display:none}.v3-primary-nav>a:hover,.v3-more>summary:hover{background:#f3f6fa;color:#102044;text-decoration:none}
.v3-primary-nav>a.aktiv,.v3-more.aktiv>summary{background:var(--v3-blue);color:#fff;box-shadow:0 5px 12px rgba(23,101,237,.22)}
.v3-primary-nav>.v3-more{position:relative;flex:0 0 auto;margin:0;padding:0;border:0;border-radius:6px;background:transparent;box-shadow:none}.v3-more[open]>summary{background:#f3f6fa;color:#34445f}.v3-more.aktiv[open]>summary{background:var(--v3-blue);color:#fff}.v3-more>summary>.ic:last-child{transition:transform .18s}.v3-more[open]>summary>.ic:last-child{transform:rotate(180deg)}
.v3-more-menu{position:absolute;top:calc(100% + 10px);right:0;width:232px;display:grid;gap:3px;padding:8px;border:1px solid #dce5f0;border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(15,32,68,.16)}
.v3-more-menu a{min-height:42px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:#32435f;font-size:12px;font-weight:700;text-decoration:none}.v3-more-menu a:hover{background:#f2f6fb;text-decoration:none}.v3-more-menu a.aktiv{background:#eaf2ff;color:#155bd0}.v3-mobile-only{display:none!important}
.v3-actions{min-width:0;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px}.v3-actions>form{margin:0}.v3-actions>.glocke-wrap{flex:0 0 auto}.v3-search{width:clamp(220px,20vw,330px);min-width:120px;flex:1 1 auto;height:43px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #dce4ee;border-radius:8px;background:#fff}.v3-search>.ic{color:#667894}.v3-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#102044;font-size:12px}.v3-search input::placeholder{color:#9aa6b7}.v3-search kbd{padding:2px 5px;border:1px solid #dfe6ef;border-radius:4px;background:#f6f8fb;color:#8190a7;font-size:9px;white-space:nowrap}
.v3-icon-action,.v3-actions .glocke{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;padding:0;border:1px solid #dce4ee;border-radius:8px;background:#fff;color:#263a59;cursor:pointer}.v3-icon-action:hover,.v3-actions .glocke:hover{border-color:#b9cae0;background:#f7f9fc}.v3-profile{height:43px;min-width:43px;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 10px 0 7px;border:1px solid #dce4ee;border-radius:8px;background:#fff;color:#253955;font-size:12px;font-weight:800;text-decoration:none}.v3-profile:hover{background:#f7f9fc;text-decoration:none}.v3-profile .avatar-kreis{width:28px;height:28px;flex:0 0 28px}
.app-rahmen{display:block;min-height:calc(100vh - 74px)}.hauptbereich{width:100%;max-width:none!important;margin-left:0!important;overflow-x:clip}.haupt-kopf{min-height:84px;padding:17px clamp(18px,2.5vw,38px);border-bottom:1px solid #e5ebf3;background:transparent;box-shadow:none}.hk-titel{min-width:0}.dash-gruss h1{color:#102044;font-size:27px;line-height:1.15;letter-spacing:0}.dash-gruss p{margin-top:5px;color:#7a8aa3;font-size:12px}.hk-aktionen{margin-left:auto}.hk-aktionen>.global-search-launcher,.hk-aktionen>.hk-push,.hk-aktionen>.hk-sync-form,.hk-aktionen>.glocke-wrap,.hk-aktionen>.hk-profil,.hk-aktionen>.btn-grau{display:none!important}.hk-page-action{display:flex;align-items:center}.tablet-sidebar-toggle{display:none!important}
.haupt-kopf.ist-leer{display:none}
.hauptbereich>.inhalt{width:100%;max-width:none;padding:20px clamp(18px,2.5vw,38px) 42px;animation-fill-mode:none}.fusszeile{margin-left:0!important;background:transparent;color:#92a0b5}
.karte,.ops-card,.au-list-shell,.ad-panel,.ad-side-card,.customer-panel,.backup-page .ops-card{border-color:#dfe6ef!important;border-radius:8px!important;background:#fff;box-shadow:0 4px 14px rgba(25,47,82,.035)!important}
.btn,.hk-page-action .btn{border-radius:7px}.btn.primaer,.hk-page-action .primaer{background:#1765ed;border-color:#1765ed;box-shadow:0 5px 12px rgba(23,101,237,.16)}
table thead th{background:#f8fafc;color:#425574;border-bottom-color:#dfe6ef}table tbody tr:hover{background:#f8fbff}
.au-page>.au-kpis>.au-kpi,.ops-kpis>article,.backup-kpis>article{border-color:#dfe6ef;background:#fff;box-shadow:0 3px 12px rgba(25,47,82,.03)}
@media(min-width:1001px){
  .qc-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
  .qc-kpis>article{position:relative;min-height:104px;padding:18px!important;overflow:hidden}
  .qc-kpis>article::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:#9aa8bb}
  .qc-kpis>article:nth-child(1)::before{background:#f59e0b}.qc-kpis>article:nth-child(2)::before{background:#1765ed}.qc-kpis>article:nth-child(3)::before{background:#18a66c}.qc-kpis>article:nth-child(4)::before{background:#dc6b2f}
}

@media(min-width:1001px){
  .seitenleiste,.mobil-topbar,.drawer-overlay,.mobil-tabbar{display:none!important}
}
@media(max-width:1450px) and (min-width:1001px){
  .v3-topbar{gap:10px;padding-inline:14px}.v3-brand{width:132px;flex-basis:132px}.v3-brand img{width:124px}.v3-brand small{display:none}
  .v3-primary-nav>a,.v3-more>summary{padding-inline:8px}.v3-search{width:190px}.v3-profile>span:not(.avatar-kreis){display:none}.v3-profile{padding-right:7px}
}
@media(max-width:1280px) and (min-width:1001px){
  .v3-nav-documents,.v3-push{display:none!important}.v3-mobile-only{display:flex!important}.v3-primary-nav>a,.v3-more>summary{padding-inline:7px;font-size:11px}.v3-search{width:175px}.v3-search kbd{display:none}
}
@media(max-width:1000px){
  .v3-topbar{display:none}
  .mobil-topbar{position:sticky;top:0;z-index:300;display:flex;align-items:center;gap:10px;min-height:66px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid #dfe6ef;background:#fff;box-shadow:0 2px 10px rgba(17,38,69,.04)}
  .mobil-hamburger{width:42px;height:42px;flex:0 0 42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid #dce4ee;border-radius:8px;background:#fff;cursor:pointer}
  .mobil-hamburger span{display:block;width:19px;height:2px;border-radius:2px;background:#18304f}
  .mobil-gruss{flex:1;min-width:0;line-height:1.2}.mobil-gruss strong,.mobil-gruss small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobil-gruss strong{color:#102044;font-size:16px;font-weight:850;letter-spacing:0}.mobil-gruss small{margin-top:3px;color:#8290a5;font-size:10px}
  .mobil-topbar .glocke-wrap,.mobil-sync-form{flex:0 0 auto}.mobil-topbar .glocke,.mobil-push,.mobil-sync,.mobil-avatar{width:40px;height:40px;min-width:40px;border:1px solid #dce4ee;border-radius:8px;background:#fff;color:#263a59}.mobil-avatar{display:grid;place-items:center;padding:5px}.mobil-avatar .avatar-kreis{width:28px;height:28px}
  .app-rahmen{display:block;min-height:calc(100vh - 66px)}
  .seitenleiste{position:fixed!important;inset:0 auto 0 0!important;z-index:420!important;display:flex!important;width:min(310px,88vw)!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;transform:translateX(-105%);overflow-y:auto!important;transition:transform .22s ease!important}
  body.drawer-offen .seitenleiste{transform:translateX(0)!important}.drawer-overlay{position:fixed;inset:0;z-index:410;display:block;background:rgba(7,17,34,.5);opacity:0;pointer-events:none;transition:opacity .2s}.drawer-offen .drawer-overlay{opacity:1;pointer-events:auto}
  .hauptbereich{width:100%!important;max-width:100%!important;margin-left:0!important}.haupt-kopf{min-height:74px;padding:14px 20px}.hauptbereich>.inhalt{padding:16px 18px 36px}.hk-aktionen{display:flex}.hk-page-action{width:100%;justify-content:flex-end}.dash-gruss h1{font-size:24px}
}
@media(max-width:700px){
  .haupt-kopf{display:none}.hauptbereich>.inhalt{padding:13px 12px calc(92px + env(safe-area-inset-bottom))}.mobil-tabbar{display:flex!important}.fusszeile{display:none}.mobil-avatar{display:none}
}

/* Auf dem Smartphone bleibt die untere Navigation sichtbar. "Mehr" oeffnet
   nur die zusaetzlichen Bereiche als helle, kompakte Auswahl. */
.v3-level-nav [hidden]{display:none!important}
.v3-level-nav a,.v3-level-nav button{box-sizing:border-box;width:100%;min-height:44px;display:flex;align-items:center;gap:10px;margin:0;padding:10px;border:0;border-radius:6px;background:transparent;color:#32435f;font-family:inherit;font-size:12px;font-weight:700;text-decoration:none;text-align:left;cursor:pointer}
.v3-level-nav a:hover,.v3-level-nav button:hover{background:#f2f6fb;text-decoration:none}
.v3-level-nav .aktiv{background:#eaf2ff;color:#155bd0}
.v3-group-button>span{flex:1}.v3-level-nav .ic{flex-shrink:0}
.v3-level-nav .v3-nav-back{border-bottom:1px solid #e2e8f1;border-radius:0;margin-bottom:5px;color:#52647e}
.v3-nav-shortcuts{border-top:1px solid #e2e8f1;margin-top:6px;padding-top:6px;flex-direction:column}
.v3-primary-nav>a:focus-visible,.v3-more>summary:focus-visible,.v3-level-nav a:focus-visible,.v3-level-nav button:focus-visible{outline:2px solid #1765ed;outline-offset:2px}
.v3-more-menu{width:260px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 110px);overflow-y:auto;z-index:420}
.mobile-more-sheet{display:none}
@media(max-width:1000px){
  .seitenleiste{display:none!important}
  .mobile-more-sheet{
    position:fixed;z-index:430;right:10px;bottom:calc(82px + env(safe-area-inset-bottom));left:10px;
    display:flex;max-height:calc(100dvh - 118px - env(safe-area-inset-top));flex-direction:column;
    overflow:hidden;border:1px solid #dce5ef;border-radius:10px;background:#fff;color:#102044;
    box-shadow:0 24px 65px rgba(9,25,52,.25);opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(18px) scale(.985);transform-origin:center bottom;transition:opacity .18s ease,transform .18s ease,visibility .18s
  }
  body.drawer-offen .mobile-more-sheet{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .mobile-more-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #e4eaf2;background:#fff}
  .mobile-more-head div{min-width:0}.mobile-more-head small,.mobile-more-head strong{display:block}.mobile-more-head small{margin-bottom:2px;color:#7c8ba1;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.mobile-more-head strong{font-size:17px;letter-spacing:0}
  .mobile-more-head button{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid #dce4ee;border-radius:7px;background:#f7f9fc;color:#233957;font-size:25px;line-height:1;cursor:pointer}
  .mobile-more-body{min-height:0;padding:5px 14px 8px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .mobile-more-group{padding-top:10px}.mobile-more-group>small{display:block;margin:0 0 5px;color:#8996a9;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
  .mobile-more-group nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .mobile-more-group a{min-width:0;min-height:50px;display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:7px 8px;border:1px solid #e1e7ef;border-radius:7px;background:#fff;color:#263a58;font-size:11px;font-weight:780;text-decoration:none}
  .mobile-more-group a.aktiv{border-color:#a9c8ff;background:#edf4ff;color:#145bd2}.mobile-more-group a>.ic:last-child{color:#98a6ba}.mobile-more-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1765ed}
  .mobile-more-logout{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 14px 12px;border:1px solid #f0c8cb;border-radius:7px;background:#fff;color:#bf2e37;font-size:12px;font-weight:800;text-decoration:none}
  body.drawer-offen .pwa-update{opacity:0;visibility:hidden;pointer-events:none}
  body.drawer-offen{overflow:hidden}
}

/* Auftragsaktionen schweben ausserhalb der scrollbaren Tabellenhülle. */
@media(min-width:701px){
  .au-action-menu[open]>div,
  .au-action-menu.drop-up>div{
    position:fixed!important;
    top:var(--au-menu-top, 0)!important;
    right:auto!important;
    bottom:auto!important;
    left:var(--au-menu-left, 0)!important;
    z-index:1000!important;
  }
}

/* ====================================================================
   V3 Fahrzeugverwaltung
   ==================================================================== */
.fleet-shell{width:100%;max-width:1800px;margin:0 auto;display:grid;grid-template-columns:188px minmax(0,1fr);gap:18px;align-items:start;color:#102044}
.fleet-sidebar{position:sticky;top:92px;padding:14px 10px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(25,47,82,.03)}
.fleet-sidebar>small{display:block;padding:2px 10px 10px;color:#8996a9;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.fleet-sidebar nav{display:grid;gap:3px}.fleet-sidebar a{min-height:40px;display:flex;align-items:center;gap:9px;padding:0 10px;border-radius:6px;color:#4f607b;font-size:11px;font-weight:760;text-decoration:none}.fleet-sidebar a:hover{background:#f5f8fc;color:#18304f;text-decoration:none}.fleet-sidebar a.aktiv{background:#eaf2ff;color:#1765ed}.fleet-sidebar a .ic{flex:0 0 auto}
.fleet-page{min-width:0;display:grid;gap:14px}.fleet-page-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px}.fleet-page-head>div:first-child>small,.fleet-trips-card>header small,.fleet-quick-card>header small,.fleet-section-card>header small{display:block;margin-bottom:4px;color:#1765ed;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.fleet-page-head h1{margin:0;color:#102044;font-size:27px;line-height:1.15;letter-spacing:0}.fleet-page-head p{margin:5px 0 0;color:#7a8aa3;font-size:12px}.fleet-page-head>div:last-child{display:flex;align-items:center;gap:8px;flex:0 0 auto}.fleet-page-head .btn{min-height:42px}
.fleet-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.fleet-kpi{min-width:0;min-height:100px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;padding:14px;border:1px solid #dfe6ef;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgba(25,47,82,.025)}.fleet-kpi-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#eaf2ff;color:#1765ed}.fleet-kpi-icon.green{background:#e5f7ee;color:#078251}.fleet-kpi-icon.orange{background:#fff0dd;color:#bd6100}.fleet-kpi-icon.violet{background:#f1e8ff;color:#7c3aed}.fleet-kpi-icon.slate{background:#edf2f8;color:#60728d}.fleet-kpi div{min-width:0}.fleet-kpi small,.fleet-kpi strong,.fleet-kpi em{display:block;overflow:hidden;text-overflow:ellipsis}.fleet-kpi small{color:#657695;font-size:9px;font-weight:800;white-space:nowrap}.fleet-kpi strong{margin:4px 0 2px;color:#102044;font-size:19px;line-height:1.1;letter-spacing:0;white-space:normal}.fleet-kpi em{color:#8a98ac;font-size:9px;font-style:normal;white-space:nowrap}
.fleet-primary-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,.72fr);gap:14px;align-items:stretch}.fleet-vehicle-card,.fleet-charge-card,.fleet-trips-card,.fleet-quick-card,.fleet-section-card{min-width:0;border:1px solid #dfe6ef;border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(25,47,82,.035)}.fleet-vehicle-card>header,.fleet-charge-card>header,.fleet-trips-card>header,.fleet-section-card>header{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-bottom:1px solid #e6ecf3}.fleet-vehicle-card>header small{display:block;margin-bottom:3px;color:#7a8aa3;font-size:9px;font-weight:800}.fleet-vehicle-card h2,.fleet-charge-card h2,.fleet-trips-card h2,.fleet-quick-card h2,.fleet-section-card h2{margin:0;color:#102044;font-size:16px;letter-spacing:0}.fleet-online{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;background:#e5f7ee;color:#078251;font-size:9px;font-weight:850;white-space:nowrap}.fleet-online i,.fleet-location header span i{width:6px;height:6px;border-radius:50%;background:#12a46f;box-shadow:0 0 0 3px rgba(18,164,111,.13)}
.fleet-vehicle-body{display:grid;grid-template-columns:minmax(350px,1.15fr) minmax(240px,.78fr);gap:0}.fleet-vehicle-summary{min-width:0;padding:14px 17px 16px}.fleet-vehicle-summary>img{width:100%;height:178px;display:block;object-fit:contain;object-position:center}.fleet-battery{margin:0 0 12px}.fleet-battery span{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:7px}.fleet-battery small{color:#6f809a;font-size:9px;font-weight:800}.fleet-battery strong{font-size:17px}.fleet-battery progress,.fleet-maintenance progress{display:block;width:100%;height:7px;overflow:hidden;border:0;border-radius:7px;background:#e7edf5}.fleet-battery progress::-webkit-progress-bar,.fleet-maintenance progress::-webkit-progress-bar{background:#e7edf5}.fleet-battery progress::-webkit-progress-value{border-radius:7px;background:#18a66c}.fleet-battery progress::-moz-progress-bar{border-radius:7px;background:#18a66c}.fleet-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:15px}.fleet-status-row{min-width:0;min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf1f6}.fleet-status-row span{min-width:0;display:flex;align-items:center;gap:6px;color:#71819a;font-size:9px}.fleet-status-row span .ic{flex:0 0 auto}.fleet-status-row strong{font-size:10px;white-space:nowrap}.fleet-updated{display:block;margin-top:10px;color:#94a0b2;font-size:9px}
.fleet-location{min-width:0;padding:14px 14px 16px;border-left:1px solid #e6ecf3;background:#fbfcfe}.fleet-location>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.fleet-location>header strong{font-size:11px}.fleet-location>header span{display:flex;align-items:center;gap:6px;color:#078251;font-size:8px;font-weight:850;text-transform:uppercase}.fleet-map{position:relative;height:210px;overflow:hidden;border:1px solid #dfe6ef;border-radius:7px;background-color:#edf2ee;background-image:linear-gradient(35deg,transparent 46%,rgba(176,194,181,.45) 47%,rgba(176,194,181,.45) 49%,transparent 50%),linear-gradient(-30deg,transparent 45%,rgba(204,216,207,.75) 46%,rgba(204,216,207,.75) 49%,transparent 50%);background-size:83px 77px,115px 96px}.fleet-map::before,.fleet-map::after{content:"";position:absolute;border-radius:50%;background:#dfeade}.fleet-map::before{width:120px;height:80px;top:-25px;left:-30px}.fleet-map::after{width:95px;height:110px;right:-25px;bottom:-38px}.fleet-map .road{position:absolute;z-index:1;height:9px;border:2px solid #fff;border-radius:12px;background:#d1d9df;box-shadow:0 0 0 1px rgba(154,169,181,.25)}.road-a{width:135%;left:-18%;top:48%;transform:rotate(-17deg)}.road-b{width:95%;left:13%;top:29%;transform:rotate(28deg)}.road-c{width:80%;left:22%;top:70%;transform:rotate(7deg)}.fleet-map-marker{position:absolute;z-index:4;left:56%;top:43%;width:34px;height:34px;display:grid;place-items:center;border:5px solid rgba(23,101,237,.17);border-radius:50%;background:#1765ed;color:#fff;box-shadow:0 8px 18px rgba(23,101,237,.28);font-style:normal}.fleet-map-label{position:absolute;z-index:2;padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.72);color:#687a73;font-size:7px}.label-a{left:10px;bottom:13px}.label-b{right:9px;top:12px;transform:rotate(7deg)}.fleet-location>footer{display:grid;gap:2px;padding-top:10px}.fleet-location>footer strong{font-size:10px}.fleet-location>footer small{color:#8290a4;font-size:9px}
.fleet-charge-card{padding-bottom:15px}.fleet-charge-card>header a,.fleet-trips-card>header a{display:flex;align-items:center;gap:3px;color:#1765ed;font-size:9px;font-weight:850;text-decoration:none}.fleet-charge-date{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;margin:15px}.fleet-charge-icon,.fleet-cost-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#fff0dd;color:#bd6100}.fleet-charge-date strong,.fleet-charge-date small{display:block}.fleet-charge-date strong{font-size:11px}.fleet-charge-date small{margin-top:3px;color:#71819a;font-size:9px}.fleet-charge-date em{padding:5px 7px;border-radius:5px;background:#e5f7ee;color:#078251;font-size:8px;font-style:normal;font-weight:850}.fleet-charge-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 15px 15px;border:1px solid #e4eaf2;border-radius:7px}.fleet-charge-card dl>div{padding:11px}.fleet-charge-card dl>div:nth-child(odd){border-right:1px solid #e4eaf2}.fleet-charge-card dl>div:nth-child(-n+2){border-bottom:1px solid #e4eaf2}.fleet-charge-card dt{color:#7b8ba1;font-size:8px}.fleet-charge-card dd{margin:4px 0 0;color:#102044;font-size:11px;font-weight:850}.fleet-charge-card>.btn{margin:0 15px;width:calc(100% - 30px);min-height:40px}
.fleet-lower-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.58fr);gap:14px;align-items:stretch}.fleet-trip-row{min-height:62px;display:grid;grid-template-columns:78px minmax(190px,1fr) 100px 82px 18px;align-items:center;gap:11px;padding:9px 17px;border-bottom:1px solid #edf1f6;color:#102044;text-decoration:none}.fleet-trip-row:last-child{border-bottom:0}.fleet-trip-row:hover{background:#f8faff;text-decoration:none}.fleet-trip-row time strong,.fleet-trip-row time small,.fleet-trip-route strong,.fleet-trip-route small,.fleet-trip-energy strong,.fleet-trip-energy small{display:block}.fleet-trip-row time strong,.fleet-trip-route strong{font-size:10px}.fleet-trip-row time small,.fleet-trip-route small,.fleet-trip-energy small{margin-top:3px;color:#7c8ba1;font-size:8px}.fleet-trip-route span{color:#1765ed}.fleet-trip-energy{text-align:right}.fleet-trip-energy strong{font-size:11px}.fleet-trip-type{padding:5px 7px;border-radius:5px;background:#eaf2ff;color:#1765ed;font-size:8px;font-weight:850;text-align:center}.fleet-trip-type.privat{background:#edf2f8;color:#60728d}.fleet-trip-row>.ic{color:#9aa7b9}.fleet-quick-card{padding:16px}.fleet-quick-card>header{margin-bottom:12px}.fleet-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px}.fleet-quick-grid>a{min-height:76px;display:grid;place-items:center;align-content:center;gap:7px;padding:8px;border:1px solid #e2e8f0;border-radius:7px;color:#30435f;text-decoration:none}.fleet-quick-grid>a:hover{border-color:#bdd0ee;background:#f7faff;text-decoration:none}.fleet-quick-grid>a span{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#edf4ff;color:#1765ed}.fleet-quick-grid>a strong{font-size:9px}.fleet-quick-card>.btn{min-height:40px}
.fleet-section-card{overflow:hidden}.fleet-section-card>header>div{min-width:0}.fleet-section-card>header>span{padding:5px 8px;border-radius:5px;background:#edf4ff;color:#1765ed;font-size:9px;font-weight:850;white-space:nowrap}.fleet-section-card>header .fleet-good{background:#e5f7ee;color:#078251}.fleet-vehicle-list>article{min-height:88px;display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 17px;border-bottom:1px solid #edf1f6}.fleet-vehicle-list>article:last-child{border-bottom:0}.fleet-vehicle-list img{width:100px;height:68px;object-fit:contain}.fleet-list-placeholder{width:56px;height:56px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1765ed}.fleet-vehicle-list small,.fleet-vehicle-list h3,.fleet-vehicle-list p{display:block;margin:0}.fleet-vehicle-list small{color:#7b8ba1;font-size:8px}.fleet-vehicle-list h3{margin:4px 0;font-size:12px}.fleet-vehicle-list p{color:#647591;font-size:9px}.fleet-muted-status{padding:5px 7px;border-radius:5px;background:#edf2f8;color:#647591;font-size:8px;font-weight:850}.fleet-simple-list>article,.fleet-documents>article{min-height:66px;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 17px;border-bottom:1px solid #edf1f6}.fleet-simple-list>article:last-child,.fleet-documents>article:last-child{border-bottom:0}.fleet-simple-list strong,.fleet-simple-list small,.fleet-documents strong,.fleet-documents small{display:block}.fleet-simple-list strong,.fleet-documents strong{font-size:10px}.fleet-simple-list small,.fleet-documents small{margin-top:3px;color:#7c8ba1;font-size:8px}.fleet-simple-list b{font-size:10px}.fleet-simple-list em{padding:5px 7px;border-radius:5px;background:#e5f7ee;color:#078251;font-size:8px;font-style:normal;font-weight:850}.fleet-documents>article{grid-template-columns:30px minmax(0,1fr) auto}.fleet-documents>article>.ic{color:#1765ed}.fleet-documents>article>span{color:#7c8ba1;font-size:9px}.fleet-maintenance,.fleet-provider{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:15px;padding:20px}.fleet-maintenance>span,.fleet-provider>span{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:#e5f7ee;color:#078251}.fleet-maintenance h3,.fleet-provider h3{margin:0 0 4px;font-size:12px}.fleet-maintenance p,.fleet-provider p{margin:0 0 10px;color:#71819a;font-size:9px}.fleet-maintenance progress{max-width:460px}.fleet-maintenance progress::-webkit-progress-value{border-radius:7px;background:#1765ed}.fleet-maintenance progress::-moz-progress-bar{border-radius:7px;background:#1765ed}.fleet-maintenance small{display:block;margin-top:4px;color:#7c8ba1;font-size:8px}.fleet-provider>span{background:#edf4ff;color:#1765ed}.fleet-provider p{max-width:720px;margin:0;line-height:1.6}
.fleet-dialog{position:fixed;inset:0;z-index:4000;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,15,35,.72)}.fleet-dialog form{position:absolute;top:50%;left:50%;width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto;transform:translate(-50%,-50%);border-radius:9px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.32)}.fleet-dialog header,.fleet-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #e3e9f1}.fleet-dialog footer{justify-content:flex-end;border-top:1px solid #e3e9f1;border-bottom:0}.fleet-dialog h2{margin:3px 0 0;font-size:18px}.fleet-dialog header small{color:#1765ed;font-size:9px;font-weight:900;text-transform:uppercase}.fleet-dialog header>a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dce4ee;border-radius:7px;color:#263a59;font-size:23px;text-decoration:none}.fleet-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.fleet-form-grid label{display:grid;gap:6px;color:#405983;font-size:10px;font-weight:800}.fleet-form-grid .span-2{grid-column:1/-1}.fleet-form-grid input,.fleet-form-grid textarea{width:100%;padding:10px 11px;border:1px solid #d7e1ec;border-radius:7px;background:#fff;color:#102044;font-size:14px}
@media(max-width:1450px) and (min-width:1001px){.fleet-shell{grid-template-columns:170px minmax(0,1fr)}.fleet-kpi{grid-template-columns:34px minmax(0,1fr);padding:12px}.fleet-kpi-icon{width:34px;height:34px}.fleet-kpi strong{font-size:16px}.fleet-primary-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr)}.fleet-vehicle-body{grid-template-columns:minmax(330px,1.1fr) minmax(225px,.72fr)}.fleet-vehicle-summary>img{height:160px}.fleet-map{height:190px}}
@media(max-width:1000px){.fleet-shell{grid-template-columns:1fr}.fleet-sidebar{position:static;padding:7px;overflow:hidden}.fleet-sidebar>small{display:none}.fleet-sidebar nav{display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain}.fleet-sidebar a{flex:0 0 auto;min-height:38px}.fleet-page-head{padding-inline:2px}.fleet-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-primary-grid{grid-template-columns:1fr}.fleet-vehicle-body{grid-template-columns:minmax(360px,1.15fr) minmax(260px,.8fr)}.fleet-lower-grid{grid-template-columns:minmax(0,1.45fr) minmax(250px,.65fr)}}
@media(max-width:700px){.fleet-shell{gap:12px}.fleet-sidebar{margin:0 -2px}.fleet-sidebar nav{padding-bottom:2px}.fleet-page{gap:12px}.fleet-page-head{display:grid;min-height:0;padding:5px 1px}.fleet-page-head h1{font-size:23px}.fleet-page-head>div:last-child{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:7px}.fleet-page-head .btn{min-width:0;justify-content:center;padding-inline:8px;font-size:10px}.fleet-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2px}.fleet-kpi{min-width:175px;min-height:88px;scroll-snap-align:start}.fleet-primary-grid,.fleet-lower-grid{grid-template-columns:1fr}.fleet-vehicle-card>header,.fleet-charge-card>header,.fleet-trips-card>header,.fleet-section-card>header{padding:13px 14px}.fleet-vehicle-card h2{font-size:14px}.fleet-vehicle-body{grid-template-columns:1fr}.fleet-vehicle-summary{padding:12px 14px}.fleet-vehicle-summary>img{height:158px}.fleet-location{border-top:1px solid #e6ecf3;border-left:0}.fleet-map{height:180px}.fleet-status-grid{grid-template-columns:1fr}.fleet-charge-date{margin:13px}.fleet-charge-card dl{margin-inline:13px}.fleet-charge-card>.btn{margin-inline:13px;width:calc(100% - 26px)}.fleet-trip-row{grid-template-columns:62px minmax(0,1fr) 17px;gap:8px;padding:11px 14px}.fleet-trip-energy,.fleet-trip-type{grid-row:2}.fleet-trip-energy{grid-column:2;text-align:left;display:flex;align-items:center;gap:4px}.fleet-trip-energy small{margin:0}.fleet-trip-type{grid-column:1}.fleet-trip-row>.ic{grid-column:3;grid-row:1/3}.fleet-quick-card{padding:14px}.fleet-vehicle-list>article{grid-template-columns:70px minmax(0,1fr);padding:11px 14px}.fleet-vehicle-list img{width:68px;height:52px}.fleet-vehicle-list>article>.fleet-online,.fleet-vehicle-list>article>.fleet-muted-status{grid-column:2;justify-self:start}.fleet-simple-list>article{grid-template-columns:40px minmax(0,1fr) auto;padding:11px 14px}.fleet-simple-list em{grid-column:2}.fleet-maintenance,.fleet-provider{grid-template-columns:42px minmax(0,1fr);padding:16px}.fleet-maintenance .btn,.fleet-provider .btn{grid-column:1/-1;justify-content:center}.fleet-form-grid{grid-template-columns:1fr;padding:15px}.fleet-form-grid .span-2{grid-column:auto}.fleet-dialog form{width:100%;max-height:100dvh;border-radius:0}.fleet-dialog footer .btn{flex:1;justify-content:center}}

/* Fahrzeugverwaltung: echte Daten- und Bearbeitungszustaende */
.fleet-switcher{display:flex;justify-content:flex-end;padding:10px 13px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.fleet-switcher label{display:flex;align-items:center;gap:9px;color:#536684;font-size:10px;font-weight:850}.fleet-switcher select,.fleet-form-grid select{min-height:39px;padding:0 34px 0 11px;border:1px solid #d7e1ec;border-radius:7px;background:#fff;color:#102044;font-size:12px}
.fleet-head-actions,.fleet-row-actions{display:flex;align-items:center;gap:7px}.fleet-head-actions>span{padding:5px 8px;border-radius:5px;background:#edf4ff;color:#1765ed;font-size:9px;font-weight:850;white-space:nowrap}.fleet-head-actions .btn{min-height:34px;padding:0 10px;font-size:9px}.icon-btn{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;display:inline-grid;place-items:center}.btn.danger,.icon-btn.danger{border-color:#fecaca;background:#fff;color:#dc2626}.fleet-online.offline,.fleet-location header span.offline{background:#edf2f8;color:#64748b}.fleet-online.offline i,.fleet-location header span.offline i{background:#94a3b8}
.fleet-empty{min-height:300px;display:grid;place-items:center;align-content:center;gap:9px;padding:30px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;text-align:center}.fleet-empty.compact{min-height:100%;border:0}.fleet-empty>span{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1765ed}.fleet-empty h2,.fleet-empty p{margin:0}.fleet-empty h2{font-size:16px}.fleet-empty p,.fleet-empty-copy{color:#71819a;font-size:10px}.fleet-empty-copy{margin:0;padding:24px;text-align:center}.fleet-vehicle-list>article.selected{background:#f7faff}.fleet-vehicle-list h3 a{color:#102044}.fleet-vehicle-list .fleet-row-actions{justify-content:flex-end;flex-wrap:wrap}
.fleet-maintenance-list>article{min-height:76px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 34px;align-items:center;gap:12px;padding:12px 17px;border-bottom:1px solid #edf1f6}.fleet-maintenance-list>article:last-child{border-bottom:0}.fleet-maintenance-list>article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#edf4ff;color:#1765ed}.fleet-maintenance-list h3,.fleet-maintenance-list p,.fleet-maintenance-list small{margin:0}.fleet-maintenance-list h3{font-size:11px}.fleet-maintenance-list p,.fleet-maintenance-list small{display:block;margin-top:3px;color:#71819a;font-size:9px}.fleet-maintenance-list b{padding:5px 7px;border-radius:5px;background:#fff0dd;color:#a65800;font-size:8px}.fleet-maintenance-list b.done{background:#e5f7ee;color:#078251}
.fleet-provider-form>footer{display:flex;justify-content:flex-end;padding:0 18px 18px}.fleet-check{display:flex!important;grid-template-columns:18px 1fr!important;align-items:center}.fleet-check input{width:18px!important;height:18px;margin:0}.fleet-documents form{margin:0}.fleet-live-modal{padding:18px}.fleet-live-modal .fleet-location{overflow:hidden;border:1px solid #e2e8f0;border-radius:8px}.fleet-live-modal dl{display:grid;grid-template-columns:repeat(3,1fr);margin:12px 0 0;border:1px solid #e2e8f0;border-radius:8px}.fleet-live-modal dl div{padding:12px;border-right:1px solid #e2e8f0}.fleet-live-modal dl div:last-child{border:0}.fleet-live-modal dt{color:#71819a;font-size:9px}.fleet-live-modal dd{margin:4px 0 0;font-size:11px;font-weight:800}

/* Mitarbeiterdokumente */
.employee-doc-card{scroll-margin-top:90px;padding:0;overflow:hidden}.employee-doc-card-head,.employee-doc-overview-head{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #edf1f6}.employee-doc-card-head small,.employee-doc-overview-head small{display:block;color:#71819a;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.employee-doc-card-head h2,.employee-doc-overview-head h2{margin:3px 0 0;font-size:17px}.employee-doc-card-head p{margin:5px 0 0;color:#71819a;font-size:10px}.employee-doc-card-head>span,.employee-doc-overview-head>span{min-width:32px;height:32px;padding:0 9px;display:grid;place-items:center;color:#1765ed;background:#edf4ff;border-radius:9px;font-size:11px;font-weight:900}.employee-doc-upload{padding:14px 20px;border-bottom:1px solid #edf1f6}.employee-doc-upload>summary{width:max-content;list-style:none;cursor:pointer}.employee-doc-upload>summary::-webkit-details-marker{display:none}.employee-doc-upload[open]>summary{margin-bottom:16px}.employee-doc-upload form{padding:17px;background:#f7f9fc;border:1px solid #e5ebf3;border-radius:9px}.employee-doc-upload form small{display:block;margin-top:5px;color:#7889a0;font-size:9px}.employee-doc-list>article{min-height:78px;padding:12px 20px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;border-bottom:1px solid #edf1f6}.employee-doc-list>article:last-child{border-bottom:0}.employee-doc-file{width:40px;height:40px;display:grid;place-items:center;color:#1765ed;background:#edf4ff;border-radius:9px}.employee-doc-list strong,.employee-doc-list small,.employee-doc-list time{display:block}.employee-doc-list strong{font-size:11px}.employee-doc-list small,.employee-doc-list time{margin-top:3px;color:#71819a;font-size:9px}.employee-doc-actions{display:flex;align-items:center;gap:7px}.employee-doc-actions form{margin:0}.employee-doc-empty{padding:32px 20px;display:grid;justify-items:center;gap:7px;color:#71819a;text-align:center}.employee-doc-empty svg{color:#1765ed}.employee-doc-empty strong{color:#203552}.employee-doc-overview{padding:0;overflow:hidden}.employee-doc-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#edf1f6}.employee-doc-people>a{min-width:0;padding:13px 15px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;color:#203552;background:#fff;text-decoration:none}.employee-doc-people span strong,.employee-doc-people span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-doc-people span strong{font-size:10px}.employee-doc-people span small{margin-top:2px;color:#71819a;font-size:8px}
.employee-doc-central-upload{margin-bottom:14px;border-bottom:0}
@media(max-width:700px){.employee-doc-card-head,.employee-doc-overview-head{align-items:flex-start;padding:15px}.employee-doc-upload{padding:12px 15px}.employee-doc-list>article{padding:13px 15px;grid-template-columns:38px minmax(0,1fr)}.employee-doc-file{width:36px;height:36px}.employee-doc-actions{grid-column:2;flex-wrap:wrap}.employee-doc-people{grid-template-columns:1fr}.employee-doc-upload .formular-raster{grid-template-columns:1fr}}

/* Portal-Mitteilungen und Self-Service-Team */
.portal-notice-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:14px}.portal-notice-compose,.portal-notice-history,.portal-team-card{padding:0;overflow:hidden}.portal-notice-compose>header,.portal-notice-history>header,.portal-team-card>header{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f6}.portal-notice-compose>header>span{width:40px;height:40px;display:grid;place-items:center;color:#1765ed;background:#edf4ff;border-radius:9px}.portal-notice-compose>header>div{margin-right:auto}.portal-notice-compose header small,.portal-notice-history header small,.portal-team-card header small{display:block;color:#71819a;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.portal-notice-compose h2,.portal-notice-history h2,.portal-team-card h2{margin:3px 0 0;font-size:15px}.portal-notice-compose>form{padding:18px}.portal-notice-options{display:flex;flex-wrap:wrap;gap:8px 18px}.portal-notice-options label,.portal-notice-recipients label{display:flex;grid-template-columns:17px 1fr;align-items:center;margin:0;font-size:10px}.portal-notice-options input,.portal-notice-recipients input{width:16px;height:16px;min-height:0}.portal-notice-compose fieldset{margin:14px 0;padding:12px;border:1px solid #e1e8f1;border-radius:8px}.portal-notice-compose legend{padding:0 5px;color:#71819a;font-size:9px;font-weight:800}.portal-notice-recipients{max-height:180px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-notice-history>header>span,.portal-team-card>header>span{min-width:31px;height:31px;padding:0 8px;display:grid;place-items:center;color:#1765ed;background:#edf4ff;border-radius:8px;font-size:10px;font-weight:900}.portal-notice-history article{padding:16px 19px;border-bottom:1px solid #edf1f6}.portal-notice-history article:last-child{border-bottom:0}.portal-notice-meta,.portal-notice-history footer{display:flex;align-items:center;justify-content:space-between;gap:9px}.portal-notice-meta time{color:#71819a;font-size:8px}.portal-notice-history h3{margin:10px 0 5px;font-size:12px}.portal-notice-history article p{margin:0;color:#647591;font-size:10px;line-height:1.55}.portal-notice-history footer{margin-top:11px;justify-content:flex-start;color:#71819a;font-size:8px}.portal-notice-history footer span{display:flex;align-items:center;gap:4px}.portal-notice-empty{padding:34px 18px;display:grid;justify-items:center;gap:7px;color:#71819a;text-align:center}.portal-notice-empty svg{color:#1765ed}.portal-notice-empty strong{color:#203552}.portal-notice-empty p{max-width:320px;margin:0;font-size:9px}.portal-team-card{margin-bottom:14px}.portal-team-availability>article{min-height:76px;padding:12px 18px;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:12px;border-bottom:1px solid #edf1f6}.portal-team-availability-icon{width:38px;height:38px;display:grid;place-items:center;color:#1765ed;background:#edf4ff;border-radius:9px}.portal-team-availability strong,.portal-team-availability small{display:block}.portal-team-availability strong{font-size:10px}.portal-team-availability small,.portal-team-availability p{margin:3px 0 0;color:#71819a;font-size:8px}.portal-team-card>footer{padding:14px 18px;display:flex;gap:8px}
@media(max-width:900px){.portal-notice-layout{grid-template-columns:1fr}.portal-notice-recipients{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.portal-notice-compose>header,.portal-notice-history>header,.portal-team-card>header{padding:14px}.portal-notice-compose>form{padding:14px}.portal-notice-recipients{grid-template-columns:1fr}.portal-team-availability>article{padding:13px 14px;grid-template-columns:36px minmax(0,1fr)}.portal-team-availability>article>.status-chip,.portal-team-availability>article>form{grid-column:2;justify-self:start}.portal-team-card>footer{padding:12px 14px;flex-wrap:wrap}}

/* Portal-Team CRM V2 */
.portal-team-heading{align-items:center}.portal-team-table-wrap{width:100%;overflow-x:auto}.portal-team-table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:auto}.portal-team-table th{padding:12px 13px;color:#71819a;background:#f7f9fc;border-bottom:1px solid #e5ebf3;font-size:8px;font-weight:850;letter-spacing:.045em;text-align:left;text-transform:uppercase;white-space:nowrap}.portal-team-table td{padding:14px 13px;border-bottom:1px solid #edf1f6;color:#52647e;font-size:9px;vertical-align:middle;white-space:nowrap}.portal-team-table tbody tr:last-child td{border-bottom:0}.portal-team-table td:first-child{min-width:145px}.portal-team-table td:first-child a{color:#203552;text-decoration:none}.portal-team-table td:first-child strong{font-size:10px}.portal-team-table th:not(:first-child):not(:last-child),.portal-team-table td.portal-team-number{text-align:center}.portal-team-empty-cell{text-align:center!important;color:#71819a!important}.portal-team-mobile-list{display:none}.portal-team-request-list>article,.portal-team-correction-list>article{padding:15px 18px;display:grid;grid-template-columns:40px minmax(180px,1fr) auto minmax(360px,.9fr);align-items:center;gap:13px;border-bottom:1px solid #edf1f6;scroll-margin-top:95px}.portal-team-request-list>article:last-child,.portal-team-correction-list>article:last-child{border-bottom:0}.portal-team-request-list>article.is-highlighted{background:#f1f7ff;box-shadow:inset 4px 0 #1765ed}.portal-team-request-icon,.portal-team-correction-list>article>span:first-child{width:40px;height:40px;display:grid;place-items:center;color:#1765ed;background:#edf4ff;border-radius:10px}.portal-team-request-copy strong,.portal-team-request-copy small,.portal-team-request-copy p,.portal-team-correction-list strong,.portal-team-correction-list small,.portal-team-correction-list p{display:block}.portal-team-request-copy strong,.portal-team-correction-list strong{color:#203552;font-size:10px}.portal-team-request-copy small,.portal-team-correction-list small{margin-top:3px;color:#71819a;font-size:8px}.portal-team-request-copy p,.portal-team-correction-list p{margin:5px 0 0;color:#52647e;font-size:9px;line-height:1.45}.portal-team-request-actions{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;align-items:center;gap:7px}.portal-team-request-actions input{min-width:0;margin:0}.portal-team-correction-list>article{grid-template-columns:40px minmax(0,1fr) auto}.portal-team-card+.portal-team-card{margin-top:14px}
@media(max-width:1180px){.portal-team-request-list>article{grid-template-columns:40px minmax(0,1fr) auto}.portal-team-request-actions{grid-column:2/-1;width:100%;grid-template-columns:minmax(160px,1fr) auto auto}}
@media(max-width:700px){.portal-team-heading{align-items:flex-start}.portal-team-table-wrap{display:none}.portal-team-mobile-list{display:grid}.portal-team-mobile-list>article{padding:15px 14px;border-bottom:1px solid #edf1f6}.portal-team-mobile-list>article:last-child{border-bottom:0}.portal-team-mobile-list article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-team-mobile-list article>header a{color:#203552;font-size:12px;font-weight:850;text-decoration:none}.portal-team-mobile-list dl{margin:13px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.portal-team-mobile-list dl div{padding:9px 10px;background:#f7f9fc;border-radius:8px}.portal-team-mobile-list dt{color:#71819a;font-size:8px}.portal-team-mobile-list dd{margin:3px 0 0;color:#203552;font-size:11px;font-weight:850}.portal-team-mobile-list article>footer{margin-top:12px;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf1f6}.portal-team-mobile-list footer span{color:#71819a;font-size:8px}.portal-team-mobile-list footer strong{color:#344a68;font-size:9px}.portal-team-request-list>article,.portal-team-correction-list>article{padding:14px;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px}.portal-team-request-icon,.portal-team-correction-list>article>span:first-child{width:36px;height:36px}.portal-team-request-list>article>.status-chip,.portal-team-correction-list>article>.status-chip{grid-column:2;justify-self:start}.portal-team-request-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.portal-team-request-actions input{grid-column:1/-1}.portal-team-request-actions .btn{width:100%;justify-content:center}.portal-team-availability>article{align-items:start}.portal-team-correction-list p{overflow-wrap:anywhere}}

/* Portal-Team V2: lesbare Antragsverwaltung, bewusst nur auf dieser Seite. */
.portal-team-card>header h2{font-size:18px}.portal-team-card>header small{font-size:10px}.portal-team-table th{font-size:10px}.portal-team-table td{font-size:12px}.portal-team-table td:first-child strong{font-size:13px}.portal-team-request-copy strong,.portal-team-correction-list strong{font-size:14px}.portal-team-request-copy small,.portal-team-correction-list small{font-size:11px}.portal-team-request-copy p,.portal-team-correction-list p{font-size:12px}.portal-team-request-actions input{font-size:13px}.portal-team-attachment{max-width:520px;margin-top:9px;padding:9px 11px;display:flex;align-items:center;gap:9px;color:#1765ed;background:#edf4ff;border-radius:8px;font-size:11px;font-weight:800;text-decoration:none}.portal-team-attachment>span{min-width:0;flex:1;display:grid;gap:2px}.portal-team-attachment b,.portal-team-attachment small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-team-attachment small{margin:0;color:#71819a;font-size:9px;font-weight:650}
.portal-team-availability strong{font-size:13px}.portal-team-availability small,.portal-team-availability p{font-size:11px}.portal-team-mobile-list article>header a{font-size:14px}.portal-team-mobile-list dt{font-size:10px}.portal-team-mobile-list dd{font-size:13px}.portal-team-mobile-list footer span{font-size:10px}.portal-team-mobile-list footer strong{font-size:11px}.portal-team-card .portal-notice-empty p{font-size:11px}
.portal-team-history-filters{padding:14px 18px;display:flex;align-items:end;gap:10px;border-bottom:1px solid #e5ebf3;background:#f8fafd}.portal-team-history-filters label{min-width:190px;margin:0;display:grid;gap:5px;color:#52647e;font-size:11px;font-weight:800}.portal-team-history-filters select{min-height:42px;margin:0;font-size:13px}.portal-team-history-list>article{padding:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;border-bottom:1px solid #e7edf4}.portal-team-history-list>article:last-child{border-bottom:0}.portal-team-history-main>header{display:flex;align-items:center;gap:10px}.portal-team-history-main>header strong{color:#203552;font-size:15px}.portal-team-history-main h3{margin:8px 0 0;color:#344a68;font-size:13px}.portal-team-history-main>p{margin:7px 0 0;color:#52647e;font-size:12px;line-height:1.5}.portal-team-history-main dl{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}.portal-team-history-main dl>div{min-width:130px;padding:8px 10px;background:#f7f9fc;border-radius:7px}.portal-team-history-main dt{color:#71819a;font-size:9px}.portal-team-history-main dd{margin:3px 0 0;color:#344a68;font-size:11px;font-weight:750}.portal-team-history-actions{display:grid;align-content:start;gap:9px}.portal-team-history-actions>form{display:flex;justify-content:flex-end}.portal-team-history-actions details{border:1px solid #dbe4ef;border-radius:8px;background:#fbfcfe}.portal-team-history-actions summary{padding:11px 12px;color:#1765ed;font-size:11px;font-weight:850;cursor:pointer}.portal-team-history-actions details form{padding:0 12px 12px}.portal-team-history-actions fieldset{margin:0 0 10px;padding:10px;border:1px solid #e2e8f0;border-radius:7px}.portal-team-history-actions legend{padding:0 5px;color:#52647e;font-size:10px;font-weight:800}.portal-team-history-actions fieldset label{margin:7px 0;display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;align-items:start;color:#344a68;font-size:11px}.portal-team-history-actions fieldset input,.portal-team-confirm input{width:16px;min-height:16px;margin:0}.portal-team-history-actions fieldset small{color:#8290a4}.portal-team-confirm{margin:8px 0!important;display:grid!important;grid-template-columns:18px minmax(0,1fr);gap:7px;font-size:10px!important}.portal-team-legacy-warning{margin-top:11px;padding:11px 12px;color:#8a4b00;background:#fff4df;border:1px solid #f1d194;border-radius:8px}.portal-team-legacy-warning strong{font-size:11px}.portal-team-legacy-warning p{margin:4px 0 0;font-size:10px;line-height:1.5}.portal-team-history-actions button:disabled{cursor:not-allowed;opacity:.48}
@media(max-width:850px){.portal-team-history-list>article{grid-template-columns:1fr}.portal-team-history-actions>form{justify-content:flex-start}.portal-team-history-filters{flex-wrap:wrap}.portal-team-history-filters label{min-width:min(100%,190px);flex:1}}
@media(max-width:700px){.portal-team-card>header h2{font-size:16px}.portal-team-history-filters{padding:13px;display:grid;grid-template-columns:1fr 1fr}.portal-team-history-filters label{width:100%}.portal-team-history-list>article{padding:14px}.portal-team-history-main>header{align-items:flex-start;justify-content:space-between}.portal-team-history-main dl{display:grid;grid-template-columns:1fr 1fr}.portal-team-history-filters .btn{justify-content:center}}

/* GPS-Karte und iPhone-Schnellaktion */
.fleet-real-map{background:#e9eef4}.fleet-real-map::before,.fleet-real-map::after{display:none}.fleet-google-map{position:absolute;inset:0;width:100%;height:100%;display:block;background:#e9eef4}.fleet-map-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;color:#71819a}.fleet-map-empty strong{font-size:10px}.fleet-map-actions{display:flex;align-items:center;gap:7px}.fleet-map-actions>button{width:29px;height:29px;display:grid;place-items:center;padding:0;border:1px solid #dbe4ef;border-radius:6px;background:#fff;color:#1765ed;cursor:pointer}.fleet-map-actions>button:hover{background:#edf4ff}.fleet-map-actions>button:disabled{cursor:wait;opacity:.55}.fleet-drive-action{display:none}

@media(max-width:700px){.fleet-shell{padding-bottom:72px}.fleet-drive-action{position:fixed;z-index:145;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));display:grid;pointer-events:none}.fleet-drive-action>button{min-height:58px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border:1px solid #0b4fca;border-radius:8px;background:#1765ed;color:#fff;box-shadow:0 13px 30px rgba(11,31,66,.28);font:inherit;text-align:left;pointer-events:auto;cursor:pointer}.fleet-drive-action>button.running{border-color:#b91c1c;background:#dc2626}.fleet-drive-action>button:disabled{opacity:.7;cursor:wait}.fleet-drive-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.16)}.fleet-drive-action button span:nth-child(2){min-width:0}.fleet-drive-action button small,.fleet-drive-action button strong{display:block;letter-spacing:0}.fleet-drive-action button small{margin-bottom:2px;color:rgba(255,255,255,.75);font-size:8px;font-weight:800;text-transform:uppercase}.fleet-drive-action button strong{font-size:13px}.fleet-drive-action button em{font-size:11px;font-style:normal;font-weight:850;white-space:nowrap}.fleet-drive-status{position:absolute;left:0;right:0;bottom:67px;padding:9px 11px;border:1px solid #bad5ff;border-radius:7px;background:#fff;color:#174b9c;box-shadow:0 8px 22px rgba(20,44,80,.16);font-size:10px;font-weight:750;text-align:center;pointer-events:auto}.fleet-drive-status.error{border-color:#fecaca;color:#b91c1c}.fleet-drive-status[hidden]{display:none}.fleet-map-actions>button{width:34px;height:34px}body:has(.fleet-drive-action) .pwa-update{bottom:calc(150px + env(safe-area-inset-bottom))}}
@media(max-width:700px){.fleet-switcher{justify-content:stretch}.fleet-switcher label,.fleet-switcher select{width:100%}.fleet-head-actions{align-items:flex-end;flex-direction:column}.fleet-section-card>header{align-items:flex-start}.fleet-simple-list>article{grid-template-columns:40px minmax(0,1fr) auto}.fleet-simple-list>article>.fleet-row-actions{grid-column:2/-1;justify-content:flex-start}.fleet-maintenance-list>article{grid-template-columns:40px minmax(0,1fr) 34px}.fleet-maintenance-list b{grid-column:2;justify-self:start}.fleet-live-modal{padding:12px}.fleet-live-modal dl{grid-template-columns:1fr}.fleet-live-modal dl div{border-right:0;border-bottom:1px solid #e2e8f0}}

/* Fahrzeugseite auf dem Smartphone: kompakt, ruhig und ohne Ueberlagerungen. */
@media(max-width:700px){
  .mobil-topbar .mobil-push{display:none!important}
  .fleet-shell{gap:10px;padding-bottom:68px}
  .fleet-sidebar{margin:0 -12px;padding:0 12px 8px;border:0;border-bottom:1px solid #dfe6ef;border-radius:0;background:transparent;box-shadow:none}
  .fleet-sidebar nav{gap:5px;padding:0;scroll-snap-type:x proximity;scrollbar-width:none}
  .fleet-sidebar nav::-webkit-scrollbar{display:none}
  .fleet-sidebar a{min-height:38px;padding:0 10px;scroll-snap-align:start;border:1px solid transparent;border-radius:7px;background:transparent;font-size:10px}
  .fleet-sidebar a.aktiv{border-color:#cfe0fa;background:#edf4ff}
  .fleet-page-head{display:block;padding:0}
  .fleet-page-head>div:first-child{display:none}
  .fleet-page-head>div:last-child{display:flex;justify-content:flex-end;gap:7px;width:100%;margin:0}
  .fleet-page-head .btn{width:auto;min-height:40px;flex:0 0 auto;padding:0 12px;border-radius:7px;font-size:10px}
  .fleet-page-head .btn:first-child{background:#fff;color:#1765ed}
  .fleet-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:0}
  .fleet-kpi{min-width:0;min-height:76px;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px;scroll-snap-align:none}
  .fleet-kpi-icon{width:34px;height:34px;border-radius:7px}
  .fleet-kpi small{font-size:8px;white-space:normal}
  .fleet-kpi strong{margin:3px 0 1px;font-size:16px;white-space:nowrap}
  .fleet-kpi em{font-size:8px}
  .fleet-kpi:last-child:nth-child(odd){grid-column:1/-1}
  .fleet-vehicle-card>header{min-height:60px;padding:11px 13px}
  .fleet-vehicle-card h2{font-size:13px}
  .fleet-vehicle-summary{padding:8px 13px 13px}
  .fleet-vehicle-summary>img{height:122px}
  .fleet-status-row{min-height:34px}
  .fleet-location{padding:12px 13px 14px}
  .fleet-map{height:170px}
  .fleet-drive-action{left:auto;right:12px;width:214px;bottom:calc(96px + env(safe-area-inset-bottom))}
  .fleet-drive-action>button{min-height:50px;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:7px 10px;border-radius:8px;box-shadow:0 10px 24px rgba(11,31,66,.24)}
  .fleet-drive-icon{width:34px;height:34px}
  .fleet-drive-action button small{display:none}
  .fleet-drive-action button strong{font-size:11px}
  .fleet-drive-action button em{font-size:9px}
  .fleet-drive-status{right:0;left:auto;bottom:59px;width:min(310px,calc(100vw - 24px))}
  body:has(.fleet-drive-action) .pwa-update{bottom:calc(152px + env(safe-area-inset-bottom))}
}

/* ====================================================================
   V3 Auftragsakte
   ==================================================================== */
.ad-page{
  --ad-text:#102044;
  --ad-muted:#6f809a;
  --ad-line:#dde5ef;
  width:100%;
  max-width:1800px;
  margin:0 auto;
  padding-bottom:44px;
  display:grid;
  gap:16px;
}
.ad-top{
  margin:0;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border:1px solid var(--ad-line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 4px 16px rgba(25,47,82,.035);
}
.ad-top-copy{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px}
.ad-top-copy .ad-back{grid-column:1/-1;width:max-content;margin:0 0 14px;color:#5e708d;font-size:11px}
.ad-eyebrow{grid-column:1/-1;margin-bottom:5px;color:#1765ed;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:0}
.ad-top h1{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;color:#102044;font-size:25px;line-height:1.18;letter-spacing:0}
.ad-top p{grid-column:1/-1;margin:5px 0 0;color:#71819a;font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-top-actions{flex:0 0 auto;gap:8px}
.ad-top-actions a,.ad-top-actions button,.ad-more summary{min-height:40px;padding:0 13px;border-radius:7px;font-size:11px;box-shadow:none}
.ad-top-actions a.primaer{box-shadow:0 5px 12px rgba(23,101,237,.14)}
.ad-more div{z-index:120;width:220px;border-radius:8px;box-shadow:0 16px 35px rgba(20,39,70,.15)}
.ad-status{min-height:23px;padding:0 8px;border-radius:5px;font-size:9px;letter-spacing:0}

.ad-brief{
  margin:0;
  display:grid;
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(185px,1fr));
  overflow:hidden;
  border:1px solid var(--ad-line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 4px 16px rgba(25,47,82,.03);
}
.ad-brief-main,.ad-brief-item{min-height:92px;padding:15px 18px}
.ad-brief-main{grid-template-columns:48px minmax(0,1fr);gap:13px;background:#fbfdff}
.ad-brief-item{grid-template-columns:34px minmax(0,1fr);gap:10px;border-left:1px solid var(--ad-line)}
.ad-brief-icon{width:48px;height:48px;border-radius:8px;font-size:20px}
.ad-brief-item i{width:34px;height:34px;border-radius:7px}
.ad-brief small{margin-bottom:3px;color:#7485a0;font-size:9px}
.ad-brief strong{font-size:14px}.ad-brief-main strong{font-size:16px}
.ad-brief p{min-height:0;margin-top:3px;color:#405370;font-size:10px}

.ad-mobile-quick{display:none}
.ad-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.ad-main,.ad-side{min-width:0}
.ad-main{display:grid;gap:16px}
.ad-side{position:sticky;top:90px;display:grid;gap:12px}
.ad-card{padding:18px;border:1px solid var(--ad-line);border-radius:8px;background:#fff;box-shadow:0 4px 15px rgba(25,47,82,.03)}
.ad-overview{padding:0;overflow:hidden}
.ad-detail-tabs{height:58px;padding:0 18px;display:flex;align-items:flex-end;gap:26px;overflow-x:auto;border-bottom:1px solid var(--ad-line);background:#fff}
.ad-detail-tabs a{height:58px;display:inline-flex;align-items:center;gap:7px;padding-top:2px;border-bottom:3px solid transparent;color:#435673;font-size:11px;font-weight:850;white-space:nowrap}
.ad-detail-tabs a.aktiv{border-color:#1765ed;color:#1765ed}
.ad-detail-tabs a:hover{text-decoration:none;color:#1765ed}
.ad-detail-tabs a span{min-width:21px;height:20px;padding:0 5px;border-radius:5px;display:inline-grid;place-items:center;background:#edf4ff;color:#1765ed;font-size:9px}

.ad-case{padding:18px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;background:#fff}
.ad-case-primary,.ad-case-next,.ad-case-grid section,.ad-meta-details,.ad-customer-notes{border:1px solid var(--ad-line);border-radius:8px;background:#fff}
.ad-case-primary,.ad-case-next{padding:18px}
.ad-case-primary>span,.ad-case-next>span{margin-bottom:6px;color:#72839e;font-size:9px;text-transform:uppercase}
.ad-case h3{margin:0 0 8px;color:#102044;font-size:18px;line-height:1.35}
.ad-case-primary p,.ad-case-next p,.ad-case-grid p,.ad-customer-notes li{color:#405370;font-size:11px;line-height:1.55}
.ad-case-tags{gap:6px;margin-top:14px}
.ad-case-tags b{min-height:25px;padding:0 8px;border-radius:5px;background:#edf4ff;color:#1765ed;font-size:9px}
.ad-case-next{background:#f8fbff;gap:9px}
.ad-case-next strong{font-size:14px}.ad-case-next a,.ad-case-grid a{min-height:34px;border-radius:6px;font-size:10px}
.ad-progress{height:5px}
.ad-case-grid{padding:16px 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid var(--ad-line);background:#fafcff}
.ad-case-grid section{min-height:150px;padding:14px;gap:8px}
.ad-case-grid h3,.ad-customer-notes h3{margin:0 0 4px;font-size:13px}
.ad-case-grid p{gap:7px;align-items:flex-start}
.ad-gallery-preview{gap:6px!important}.ad-gallery-preview a{min-height:0;aspect-ratio:1.55;border-radius:6px}
.ad-meta-details{margin:0 18px 16px;border-radius:7px}
.ad-meta-details summary{min-height:42px;padding:0 14px;font-size:11px}
.ad-meta-details dl{grid-template-columns:120px minmax(0,1fr) 120px minmax(0,1fr);gap:11px 16px;padding:14px}
.ad-meta-details dt{font-size:9px}.ad-meta-details dd{font-size:10px}
.ad-customer-notes{margin:0 18px 16px;padding:15px}
.ad-activity{margin:0 18px 18px;border-radius:8px}

.ad-plan{margin:0;padding:17px 18px}
.ad-plan>h3{margin:0 0 14px;font-size:14px}
.ad-plan-grid{grid-template-columns:minmax(200px,.8fr) minmax(240px,1.3fr) 140px 34px;gap:14px}
.ad-plan-grid strong,.ad-plan-grid span{font-size:10px}
.ad-plan-grid i{width:28px;height:28px;border-radius:6px}

.ad-side .ad-card{padding:16px}
.ad-side h3{margin:0 0 14px;font-size:13px}
.ad-customer-head{grid-template-columns:44px minmax(0,1fr);gap:10px;margin-bottom:14px}
.ad-customer-head>span{width:44px;height:44px;border-radius:7px;font-size:19px}
.ad-customer-head strong{font-size:12px}.ad-customer-head small,.ad-customer p,.ad-notes p{font-size:10px}
.ad-customer p{margin:9px 0;align-items:flex-start}
.ad-customer>a,.ad-notes>a,.ad-quality-side>a{min-height:35px;margin-top:13px;border-radius:6px;font-size:10px}
.ad-quality-side{gap:8px}.ad-quality-side>strong{font-size:13px}.ad-quality-side>p{font-size:10px}
.ad-quality-side-head span{min-width:24px;height:24px;border-radius:5px;font-size:9px}
.ad-files{gap:8px}.ad-files h3{margin-bottom:4px;font-size:12px}.ad-files a{font-size:10px}.ad-files a span{font-size:10px}.ad-files a small{font-size:9px}

.ad-quality-page,.ad-files-page,.ad-notes-page{padding:20px}
.ad-quality-head,.ad-content-head{padding-bottom:16px}
.ad-quality-head h3,.ad-content-head h3{font-size:17px}
.ad-quality-kpis{gap:10px}.ad-quality-kpis article{border-radius:7px;background:#fafcff}
.ad-quality-list,.ad-comparison-item,.ad-gallery-section{border-radius:8px}
.ad-upload-grid{gap:12px}.ad-upload{border-radius:8px}
.ad-comparison-list{gap:14px}.ad-comparison-item>header{padding:14px 16px}
.ad-comparison-side{padding:14px}.ad-gallery-card{border-radius:7px}

@media(max-width:1450px){
  .ad-page{max-width:none}
  .ad-layout{grid-template-columns:minmax(0,1fr) 300px}
  .ad-brief{grid-template-columns:minmax(250px,1.25fr) repeat(3,minmax(155px,1fr))}
  .ad-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1180px){
  .ad-layout{grid-template-columns:1fr}
  .ad-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-brief{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-brief-item:nth-child(3){border-left:0;border-top:1px solid var(--ad-line)}.ad-brief-item:nth-child(4){border-top:1px solid var(--ad-line)}
}
@media(max-width:700px){
  .ad-page{gap:10px;padding-bottom:16px}.ad-top{display:grid;padding:14px}.ad-top-copy .ad-back{margin-bottom:10px}.ad-top h1{font-size:21px}.ad-top p{white-space:normal}.ad-top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.ad-top-actions>a,.ad-top-actions>details{width:100%}.ad-top-actions a.primaer{grid-column:1/-1}.ad-more summary{width:100%}
  .ad-brief{grid-template-columns:1fr}.ad-brief-main,.ad-brief-item{min-height:78px;border-left:0;border-top:1px solid var(--ad-line)}.ad-brief-main{border-top:0}
  .ad-mobile-quick{display:flex;position:sticky;top:62px;z-index:35;gap:3px;padding:5px;overflow-x:auto;border:1px solid var(--ad-line);border-radius:7px;background:#fff}.ad-mobile-quick a{min-width:max-content;min-height:38px;padding:0 10px;border-radius:5px;display:flex;align-items:center;gap:5px;color:#52647f;font-size:9px;font-weight:850}.ad-mobile-quick a.aktiv{background:#edf4ff;color:#1765ed}
  .ad-detail-tabs{display:none}.ad-case{grid-template-columns:1fr;padding:12px}.ad-case-grid{grid-template-columns:1fr;padding:12px}.ad-case-grid section{min-height:0}.ad-meta-details{margin:0 12px 12px}.ad-meta-details dl{grid-template-columns:1fr}.ad-meta-details dt{padding-top:4px}.ad-customer-notes,.ad-activity{margin:0 12px 12px}
  .ad-plan-grid{grid-template-columns:1fr}.ad-side{grid-template-columns:1fr}.ad-quality-page,.ad-files-page,.ad-notes-page{padding:14px}.ad-quality-head{display:grid}.ad-quality-head>a{width:100%}.ad-upload-grid{grid-template-columns:1fr}.ad-comparison-pair{grid-template-columns:1fr}
}
