/* Energy-United GmbH Projects – V27 Oberfläche */
:root{
  --night:#000;--night2:#0b1120;--nav:#0b1120;
  --bg:#eef3f9;--surface:#fff;--surface2:#f7f9fd;--ink:#0f172a;--muted:#5b6b82;--line:#e2e8f0;--line2:#cbd5e1;
  --blue:#1d6cf2;--blue2:#0b4fd6;--green:#16a34a;--lime:#84cc16;--yellow:#facc15;--orange:#ea580c;--red:#dc2626;--violet:#7c3aed;--cyan:#0891b2;
  --radius:16px;--shadow:0 10px 30px rgba(15,23,42,.07);--shadow-s:0 4px 14px rgba(15,23,42,.06);
  --navh:58px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);font:15px/1.5 Inter,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--ink)}
a{color:var(--blue2)}
img{max-width:100%}

/* Kopfbereich mit großem Logo */
.site-head{background:#000;color:#fff}
.site-head .inner{max-width:1600px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo-link{display:block;line-height:0}
.logo-link img{height:84px;width:auto;display:block}
.head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.version-chip{font-size:11px;font-weight:800;letter-spacing:.06em;color:#0b1120;background:var(--yellow);border-radius:999px;padding:4px 10px}
.user-chip{display:flex;align-items:center;gap:10px;background:#111827;border:1px solid #1f2937;border-radius:999px;padding:5px 6px 5px 14px}
.user-chip .who{font-size:13px;color:#e2e8f0;line-height:1.25}
.user-chip .who small{display:block;color:#94a3b8;font-size:11px}
.user-chip form{margin:0}
.btn-logout{background:#1f2937!important;color:#e2e8f0!important;border:1px solid #334155!important;box-shadow:none!important;padding:7px 12px!important;border-radius:999px!important;font-size:13px!important}
.brand-strip{height:4px;background:linear-gradient(90deg,#16a34a,#84cc16 25%,#facc15 50%,#0ea5e9 75%,#1d6cf2)}

/* Navigation */
.main-nav{position:sticky;top:0;z-index:60;background:var(--nav);box-shadow:0 6px 18px rgba(2,6,23,.25)}
.main-nav .inner{max-width:1600px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:4px;min-height:var(--navh)}
.main-nav a.nav-item{color:#cbd5e1;text-decoration:none;font-weight:650;font-size:14px;padding:9px 13px;border-radius:11px;display:flex;align-items:center;gap:7px;white-space:nowrap}
.main-nav a.nav-item:hover{background:#1e293b;color:#fff}
.main-nav a.nav-item.active{background:linear-gradient(135deg,var(--blue),#0ea5e9);color:#fff;box-shadow:0 6px 16px rgba(29,108,242,.35)}
.main-nav .nav-icon{font-size:16px;line-height:1}
.main-nav .nav-toggle{display:none!important;background:none!important;border:1px solid #334155!important;color:#fff!important;box-shadow:none!important;padding:8px 12px!important;border-radius:10px!important;font-size:15px!important}
.nav-links{display:flex;gap:4px;align-items:center;flex-wrap:wrap}

main{max-width:1600px;margin:24px auto 90px;padding:0 20px}
.bigcalendar main{max-width:1900px}
h1{margin:0 0 6px;font-size:28px;letter-spacing:-.02em;line-height:1.2}
h2{margin:0 0 14px;font-size:19px;letter-spacing:-.01em}
h3{margin:6px 0 10px;font-size:15px}
.muted,p.muted{color:var(--muted)}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.page-head p{margin:0}
.breadcrumb{font-size:13px;margin-bottom:6px}
.breadcrumb a{text-decoration:none}

/* Bausteine */
.panel{background:var(--surface);padding:22px;border-radius:var(--radius);box-shadow:var(--shadow);margin:14px 0;border:1px solid #e8eef6}
.panel.soft{box-shadow:var(--shadow-s)}
.panel.tight{padding:14px 16px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.panel-head h2{margin:0}
.flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.cards>.panel{margin:0}
.metric{font-size:30px;font-weight:800;letter-spacing:-.03em}
.v26-grid,.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.grid2>.panel{margin:0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0}
.kpi{display:block;text-decoration:none;color:#fff;border-radius:16px;padding:16px 18px;position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.12);background:var(--c,#334155);transition:transform .15s}
.kpi:hover{transform:translateY(-2px)}
.kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.14)}
.kpi .k-label{font-size:13px;font-weight:700;opacity:.92}
.kpi .k-value{font-size:32px;font-weight:850;letter-spacing:-.03em;line-height:1.1;margin-top:4px}
.kpi .k-icon{position:absolute;right:16px;bottom:12px;font-size:24px;opacity:.85}
.kpi.dark{--c:linear-gradient(135deg,#0b1120,#1e3a5f)}

.btn,button:not(.link):not(.plain){background:linear-gradient(135deg,var(--blue),var(--blue2));border:0;border-radius:12px;color:#fff;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;box-shadow:0 8px 18px rgba(29,108,242,.22);transition:transform .12s,box-shadow .12s;line-height:1.3}
.btn:hover,button:not(.link):not(.plain):hover{transform:translateY(-1px)}
button.secondary:not(.link):not(.plain),.btn.secondary{background:#eef3fb;color:#1e3a5f;box-shadow:none;border:1px solid var(--line)}
.btn.ghost,button.ghost:not(.link):not(.plain){background:transparent;color:#334155;border:1px solid var(--line2);box-shadow:none}
.btn.green,button.green:not(.link):not(.plain){background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 8px 18px rgba(22,163,74,.22)}
.btn.red,button.red:not(.link):not(.plain){background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 8px 18px rgba(220,38,38,.2)}
.btn.orange,button.orange:not(.link):not(.plain){background:linear-gradient(135deg,#f97316,#c2410c);box-shadow:0 8px 18px rgba(234,88,12,.2)}
.btn.small,button.small:not(.link):not(.plain){padding:6px 11px;font-size:13px;border-radius:10px}
button.link{background:none;border:0;color:var(--blue2);cursor:pointer;font:inherit;padding:0}
button.plain{background:none;border:0;font:inherit;cursor:pointer;padding:0}
.btn:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #facc15;outline-offset:2px}
label{font-weight:700;display:block;margin:10px 0 4px;font-size:14px}
label.inline{display:inline-flex;align-items:center;gap:7px;font-weight:500;margin:6px 14px 6px 0}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--line2);border-radius:11px;max-width:100%;width:100%;background:#fff;color:var(--ink)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--blue)}
input[type=color]{padding:2px;height:40px;width:64px}
input:focus,select:focus,textarea:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 4px rgba(29,108,242,.13)}
textarea{min-height:96px}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 16px}
.form-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse}
th,td{padding:11px 10px;text-align:left;border-bottom:1px solid #edf1f7;vertical-align:top}
th{color:#475569;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc}
tr:hover td{background:#fbfcff}
.scroll{overflow-x:auto}
.pill{border-radius:999px;padding:4px 10px;display:inline-block;background:#e9edf6;font-size:12px;font-weight:800}
.dc{background:#dbeafe;color:#1e40af}.ac{background:#fde047;color:#422006}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;color:#fff;background:var(--c,#64748b);white-space:nowrap}
.badge.outline{background:#fff;color:var(--c,#64748b);border:1.5px solid var(--c,#64748b)}
.work-tag{display:inline-block;border-radius:999px;padding:4px 9px;color:#fff;font-weight:800;font-size:11px;margin-top:5px}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);vertical-align:middle}
.error{color:#b91c1c}
.notice{background:#ecfdf5;border:1px solid #a7f3d0;padding:11px 14px;border-radius:12px}
.warnbox{background:#fff7ed;border:1px solid #fed7aa;padding:11px 14px;border-radius:12px;color:#7c2d12}
.infobox{background:#eff6ff;border:1px solid #bfdbfe;padding:11px 14px;border-radius:12px;color:#1e3a8a}
.docs{display:grid;gap:8px}
.small-list{margin:0;padding-left:18px}.small-list li{margin:5px 0}
.v26-tag{padding:4px 10px;border-radius:30px;background:#eef4ff;color:#1e40af;font-weight:800;font-size:12px;vertical-align:middle}
.empty-state{padding:26px;text-align:center;color:var(--muted)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line2);background:#fff;color:#334155;text-decoration:none;font-weight:700;font-size:13px}
.chip.active{background:var(--c,#0b1120);border-color:transparent;color:#fff}
.chip .count{background:rgba(0,0,0,.08);border-radius:999px;padding:0 7px;font-size:12px}
.chip.active .count{background:rgba(255,255,255,.25)}
.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:14px 0}
.hub a{display:block;text-decoration:none;color:#fff;border-radius:18px;padding:20px;min-height:128px;background:var(--c);box-shadow:0 12px 26px rgba(15,23,42,.14);position:relative;overflow:hidden}
.hub a b{font-size:18px;display:block;margin-bottom:4px}
.hub a span{opacity:.9;font-size:13px}
.hub a i{position:absolute;right:16px;top:14px;font-style:normal;font-size:30px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}
.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0}
details.box{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--surface2);margin:10px 0}
details.box summary{cursor:pointer;font-weight:750}
.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.actions form{margin:0}

/* Statusauswahl direkt in Listen */
.status-select{width:auto;min-width:178px;font-weight:800;font-size:13px;color:#fff;border:0;border-radius:999px;padding:7px 30px 7px 12px;cursor:pointer;background-color:var(--c,#64748b);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
.status-select option{color:#0f172a;background:#fff}
.status-select:disabled{opacity:.6;cursor:wait}
.legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px}

/* Auftragsliste: auf dem Handy als Karten */
.order-row .addr{display:block;color:var(--muted);font-size:12px}
@media(max-width:820px){
  table.responsive thead{display:none}
  table.responsive,table.responsive tbody,table.responsive tr,table.responsive td{display:block;width:100%}
  table.responsive tr{border:1px solid var(--line);border-radius:14px;margin:0 0 10px;padding:6px 10px;background:#fff}
  table.responsive td{border:0;padding:6px 0;display:flex;gap:10px;justify-content:space-between;align-items:center}
  table.responsive td::before{content:attr(data-label);font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase}
  table.responsive td[data-label=""]::before{content:none}
}

/* Toast-Meldungen */
#eu-toasts{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100vw - 24px))}
.toast{background:#0f172a;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.25);font-weight:600;animation:toastin .2s ease}
.toast.ok{background:#15803d}.toast.err{background:#b91c1c}
@keyframes toastin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Login */
.login-wrap{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:20px}
.login-card{width:min(470px,100%);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px rgba(2,6,23,.18)}
.login-card .logo-box{background:#000;padding:22px;text-align:center}
.login-card .logo-box img{width:100%;max-width:380px}
.login-card .body{padding:24px 26px 28px}

/* Monats-Plantafel */
.cal-bar{position:sticky;top:var(--navh);z-index:40;background:rgba(238,243,249,.94);backdrop-filter:blur(8px);margin:0 -20px;padding:10px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid #dbe4f0}
.cal-bar h1{font-size:22px;margin:0;min-width:180px}
.cal-bar .spacer{flex:1}
.btn-today{background:linear-gradient(135deg,#facc15,#f59e0b)!important;color:#1c1917!important;box-shadow:0 8px 18px rgba(245,158,11,.3)!important}
.today-fab{position:fixed;left:18px;bottom:18px;z-index:95;border-radius:999px!important;padding:12px 18px!important;font-size:15px!important}
.calendar-scroll{border-radius:14px;background:var(--surface);border:1px solid var(--line);position:relative}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 8px 8px}
.weekday{position:sticky;top:calc(var(--navh) + var(--calbar,62px));z-index:6;text-align:center;font-weight:850;color:#fff;padding:10px 6px;background:#0b1120;border-radius:0 0 12px 12px;box-shadow:0 0 0 4px var(--surface),0 6px 12px rgba(15,23,42,.12);letter-spacing:.02em}
.weekday.we{background:#334155}
.weekday .short{display:none}
.day{border:1px solid #e1e8f2;border-radius:14px;min-height:170px;background:#fff;padding:9px;position:relative;transition:border-color .15s,box-shadow .15s;cursor:pointer}
.day:hover{border-color:#93c5fd}
.day.empty{background:#f5f7fb;border-style:dashed;cursor:default}
.day.weekend{background:#fafbfe}
.day.selected{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}
.day.today{border:2px solid #f59e0b;background:linear-gradient(180deg,#fffbeb 0,#fff 90px)}
.day.today .n{color:#b45309}
.day.today .n::after{content:"HEUTE";margin-left:8px;font-size:10px;letter-spacing:.06em;background:#f59e0b;color:#fff;border-radius:999px;padding:2px 7px;vertical-align:middle}
.day.flash{animation:flash 1.6s ease 2}
@keyframes flash{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 0 8px rgba(245,158,11,.45)}}
.n{font-weight:850;font-size:14px;margin-bottom:6px;color:#1e293b}
.holiday{font-size:11px;font-weight:700;color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8;border-radius:8px;padding:2px 6px;margin-bottom:5px}
.day.drop-target,.backlog.drop-target,.trash-zone.drop-target{background:#ecfdf5!important;outline:2px dashed #16a34a}
.event{display:block;text-decoration:none;font-size:12px;border-radius:11px;margin:6px 0;padding:8px 9px;background:#f8fafc;color:#0f172a;overflow-wrap:anywhere;border:1px solid #e2e8f0;border-left:6px solid transparent!important;box-shadow:0 3px 8px rgba(15,23,42,.05)}
.event:hover{background:#eff6ff}
.event[draggable=true]{cursor:grab}
.event strong{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:4px}
.event small{display:block;line-height:1.4}
.type-chip{font-size:11px;font-weight:800;border-radius:999px;color:#fff;padding:3px 7px}
.team-chip{display:inline-block;border-radius:999px;padding:3px 7px;color:#fff;font-size:11px;font-weight:800}
.planning-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin-top:12px;align-items:start}
.backlog{padding:14px;margin:0;max-height:calc(100vh - var(--navh) - 92px);overflow:auto;position:sticky;top:calc(var(--navh) + 70px)}
.team-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.team-filter select{width:auto}.team-filter label{margin:0}
.calendar-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.tool-btn{padding:8px 13px;border-radius:11px;border:1px solid var(--line2)!important;background:#fff!important;color:#1e3a5f!important;cursor:pointer;font-weight:750;box-shadow:none!important}
.tool-btn.active{background:linear-gradient(135deg,var(--blue),var(--blue2))!important;color:#fff!important;border-color:transparent!important}
.trash-zone{border:1.5px dashed #fca5a5;background:#fef2f2;padding:12px 14px;border-radius:14px;color:#991b1b;font-size:13px}
.trash-zone strong{display:block}
.toolbar-note{font-size:12px;color:var(--muted)}
.toolbar-wrap{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.calendar-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}
.calendar-search label{margin:0}
.calendar-search input{max-width:380px}
.availability-top{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 11px;border:1px solid #dbe5f0;border-radius:11px;background:#fff;flex-wrap:wrap}
.availability-label{font-size:12px;font-weight:800;white-space:nowrap;color:#1e3a5f}
.availability-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.availability-chip{font-size:12px;border-radius:8px;padding:3px 7px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0}
.availability-chip .dot{height:8px;width:8px}
.no-free-teams{font-size:12px;color:#64748b}

/* Auftragschat */
.chat-launch{position:fixed;right:18px;bottom:18px;border-radius:999px!important;z-index:100;padding:12px 18px!important;background:linear-gradient(135deg,#16a34a,#0ea5e9)!important;box-shadow:0 14px 30px rgba(2,6,23,.25)!important}
.chat-window{position:fixed;right:18px;bottom:78px;width:min(440px,calc(100vw - 24px));height:min(640px,calc(100vh - 110px));background:#fff;border:1px solid #cbd5e1;border-radius:20px;z-index:101;box-shadow:0 24px 60px rgba(2,6,23,.3);display:none;flex-direction:column;overflow:hidden}
.chat-window.open{display:flex}
.chat-window .head{background:#0b1120;color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.chat-window .head button{background:#334155!important;box-shadow:none!important;padding:4px 11px!important}
.chat-window .orderpick{padding:9px 12px;border-bottom:1px solid var(--line);background:#f8fafc}
.chat-window .messages{overflow:auto;flex:1;padding:12px;background:#f1f5f9}
.msg{max-width:88%;margin:0 0 10px;padding:9px 12px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 6px rgba(15,23,42,.05)}
.msg.mine{margin-left:auto;background:#dbeafe;border-color:#bfdbfe}
.msg .meta{font-size:11px;color:#475569;margin-bottom:3px}
.msg .meta b{color:#0f172a}
.msg .to{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}
.msg .to span{font-size:10px;font-weight:800;border-radius:999px;padding:1px 7px;background:#e2e8f0;color:#334155}
.msg .text{white-space:pre-wrap;overflow-wrap:anywhere}
.msg .files{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.msg .files img{max-width:220px;max-height:180px;border-radius:10px;border:1px solid #cbd5e1;display:block}
.msg .files a{font-size:13px}
.chat-compose{border-top:1px solid var(--line);padding:9px 10px;background:#fff}
.rcpts{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}
.rcpt{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--line2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:750;cursor:pointer;user-select:none;margin:0;background:#fff}
.rcpt input{display:none}
.rcpt.on{background:#0b1120;color:#fff;border-color:#0b1120}
.rcpt.disabled{opacity:.45;cursor:not-allowed}
.rcpt .cnt{font-size:10px;background:rgba(100,116,139,.18);border-radius:999px;padding:0 6px}
.chat-compose .line{display:flex;gap:6px;align-items:flex-end}
.chat-compose textarea{min-height:42px;max-height:120px;resize:vertical;padding:8px 10px}
.chat-compose .attach{background:#eef3fb!important;color:#1e3a5f!important;box-shadow:none!important;border:1px solid var(--line)!important;padding:9px 11px!important}
.chat-hint{font-size:11px;color:#64748b;margin-top:5px}
.chat-files{font-size:12px;color:#334155;margin-top:4px}

/* Druck / Fußzeile */
.site-foot{text-align:center;color:#64748b;font-size:12px;padding:10px 0 80px}

/* Tablet / Handy */
@media(max-width:1180px){.planning-layout{grid-template-columns:1fr}.backlog{position:static;max-height:420px}}
/* Tablet/Handy: eigener Scrollbereich (waagerecht + senkrecht), Wochentage kleben oben darin */
@media(max-width:1000px){
  .cal-bar{position:static}
  .calendar-scroll{overflow:auto;max-height:calc(100vh - var(--navh) - 16px);min-height:420px;overscroll-behavior:contain}
  .calendar{grid-template-columns:repeat(7,minmax(128px,1fr));min-width:920px}
  .weekday{top:var(--wdtop,0px)}
}
@media(max-width:980px){
  .main-nav .nav-toggle{display:inline-flex!important}
  .nav-links{display:none;position:absolute;left:0;right:0;top:var(--navh);background:var(--nav);flex-direction:column;align-items:stretch;padding:8px 12px 14px;box-shadow:0 18px 30px rgba(2,6,23,.35)}
  .main-nav.open .nav-links{display:flex}
  .main-nav .inner{justify-content:space-between}
  .main-nav a.nav-item{padding:12px 14px;font-size:15px}
}
@media(max-width:760px){
  .site-head .inner{padding:10px 14px}
  .logo-link img{height:52px}
  .user-chip .who{display:none}
  .user-chip{padding:4px}
  .version-chip{display:none}
  main{padding:0 12px;margin-top:14px}
  h1{font-size:23px}
  .panel{padding:16px;border-radius:14px}
  .cal-bar{margin:0 -12px;padding:8px 12px}
  .cal-bar h1{font-size:18px;min-width:0}
  .weekday .long{display:none}.weekday .short{display:inline}
  .kpi .k-value{font-size:26px}
  .chat-window{right:6px;left:6px;width:auto;bottom:70px;height:calc(100vh - 90px)}
  .today-fab{left:12px;bottom:14px}
  .chat-launch{right:12px;bottom:14px}
}
@media print{.main-nav,.chat-launch,.chat-window,.today-fab,.site-foot{display:none!important}}
.panel>h2:not(:first-child){margin-top:24px}
/* Freigaben im Auftrag */
.acc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.acc-group{border:1px solid var(--line);border-radius:14px;padding:8px 12px 10px;margin:0;background:var(--surface2)}
.acc-group legend{font-weight:800;padding:0 6px}
.acc-group legend .count{font-size:12px;background:#e2e8f0;border-radius:999px;padding:1px 8px;margin-left:4px}
.acc-row{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #e9eef5;padding:4px 0}
.acc-row .acc-main{flex:1;margin:4px 0;align-items:flex-start}
.acc-row .acc-st{margin:4px 0;font-size:13px;white-space:nowrap}
.acc-all{font-size:12px;color:var(--muted);margin:2px 0 6px}
.acc-row[hidden]{display:none}
/* Auftragsseite: Inhalt links, Seitenleiste rechts */
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px;align-items:start}
.order-main>.panel:first-child{margin-top:0}
.order-side{position:sticky;top:calc(var(--navh) + 14px);display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - var(--navh) - 28px);overflow:auto;padding-bottom:4px}
.order-side .panel{margin:0}
.side-card{padding:16px}
.side-card h3{margin:0 0 10px;font-size:16px}
.side-field{margin-bottom:10px}
.side-field label{margin:0 0 5px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475569}
.side-field .status-select,.side-field select{width:100%}
.side-kv{font-size:14px;margin:8px 0 12px;grid-template-columns:auto 1fr}
.side-actions{display:flex;flex-direction:column;gap:8px}
.side-actions .btn,.side-actions button{justify-content:center;width:100%}
.mat-list{list-style:none;margin:0;padding:0;font-size:14px}
.mat-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #eef2f7}
.mat-list li b{background:#eef3fb;border-radius:8px;padding:0 8px}
.note-form textarea{min-height:64px;margin-bottom:6px}
.notes-list{margin-top:10px;max-height:380px;overflow:auto}
.note{border-left:4px solid #93c5fd;background:#f8fafc;border-radius:10px;padding:8px 10px;margin:0 0 8px}
.note.sub{border-left-color:#c084fc}
.note .meta{font-size:12px;color:#475569}
.note .text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin-top:3px}
.file-row{padding:7px 0;border-bottom:1px solid #eef2f7}
@media(max-width:1100px){.order-layout{grid-template-columns:1fr}.order-side{position:static;max-height:none;order:-1}}
/* Plantafel: freie Teams größer und mittig */
.cal-bar .availability-top{padding:9px 16px;border:2px solid #86efac;background:#f0fdf4;border-radius:14px;box-shadow:0 6px 16px rgba(22,163,74,.12)}
.cal-bar .availability-label{font-size:15px;color:#14532d}
.cal-bar .availability-chip{font-size:15px;padding:5px 11px;border-radius:10px;background:#fff;border:1.5px solid #86efac}
.cal-bar .availability-chip .dot{width:12px;height:12px}
.cal-bar .no-free-teams{font-size:14px}
.cal-bar-balance{width:120px}
@media(max-width:1000px){.cal-bar-balance{display:none}}
/* Upload fürs Handy */
.media-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:8px 0}
.btn.big,button.big:not(.link):not(.plain){padding:14px 18px;font-size:16px;justify-content:center;border-radius:14px}
.media-buttons label.btn{margin:0;cursor:pointer;text-align:center}
.media-chosen{font-size:13px;margin:4px 0}
.media-prev{display:block;max-width:100%;width:320px;max-height:240px;object-fit:cover;border-radius:12px;border:1px solid var(--line);margin:4px 0 6px;background:#000}
/* Abnahmeprotokoll */
.check-big{display:flex;align-items:center;gap:12px;font-weight:600;font-size:16px;border:1.5px solid var(--line2);border-radius:14px;padding:12px 14px;margin:8px 0;background:#fff;cursor:pointer}
.check-big input{width:24px;height:24px}
.sig-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:10px}
.sig-wrap{position:relative;margin-top:8px}
canvas.sig{width:100%;height:190px;border:2px dashed #94a3b8;border-radius:14px;background:#fff;touch-action:none;display:block}
.sig-wrap .sig-clear{position:absolute;right:8px;top:8px}
/* Meine Einsätze (Teams, Monteure, Bauleiter) */
.field-route{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.field-h{font-size:19px;margin:22px 0 10px;display:flex;align-items:center;gap:8px}
.field-h .count,summary.field-h .count{font-size:13px;background:#e2e8f0;border-radius:999px;padding:1px 9px}
.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.field-card{background:#fff;border:1px solid var(--line);border-left:7px solid var(--c);border-radius:16px;padding:14px;box-shadow:var(--shadow-s)}
.fc-top{font-size:13px;color:#334155}
.fc-title{display:block;font-size:19px;font-weight:800;color:var(--ink);text-decoration:none;margin:6px 0 2px}
.fc-addr{color:#334155;margin-bottom:10px}
.fc-status{margin-bottom:10px}.fc-status .status-select{width:100%}
.fc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fc-actions .btn{justify-content:center;padding:12px 10px;font-size:15px}
/* Meldungen */
.bell{position:relative;font-size:22px;text-decoration:none;line-height:1;padding:6px 8px;border-radius:12px;background:#111827;border:1px solid #1f2937}
.bell-count{position:absolute;top:-6px;right:-6px;background:#dc2626;color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:2px 6px;border:2px solid #000}
.bell-count[hidden]{display:none}
.bell.ring{animation:ring .9s ease 2}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-18deg)}40%{transform:rotate(16deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(6deg)}}
.notif-row{display:flex;gap:12px;align-items:flex-start;padding:12px 10px;border-bottom:1px solid #eef2f7;text-decoration:none;color:var(--ink);border-radius:10px}
.notif-row.unread{background:#eff6ff}
.notif-row .ni{font-size:22px}
.toast.link{cursor:pointer;background:#0b1120;border-left:6px solid #facc15}
/* Adresse mit Vorschlägen + Mini-Karte */
.addr-widget{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);gap:16px;align-items:stretch}
.addr-street{position:relative}
.addr-row{display:grid;grid-template-columns:140px 1fr;gap:12px}
.addr-suggest{position:absolute;left:0;right:0;top:100%;z-index:500;background:#fff;border:1px solid var(--line2);border-radius:12px;box-shadow:0 18px 40px rgba(15,23,42,.18);overflow:hidden;margin-top:4px}
.addr-suggest[hidden]{display:none}
.addr-opt{display:block!important;width:100%;text-align:left;background:#fff!important;color:var(--ink)!important;border:0!important;border-bottom:1px solid #eef2f7!important;border-radius:0!important;box-shadow:none!important;padding:10px 12px!important;font-weight:400!important;transform:none!important}
.addr-opt b{display:block;font-weight:700}.addr-opt small{color:var(--muted);font-size:12px}
.addr-opt:hover,.addr-opt.active{background:#eff6ff!important}
.addr-map{min-height:230px;border-radius:14px;border:1px solid var(--line);background:#eef3f9;overflow:hidden;margin-top:10px}
.addr-hint{display:block;margin-top:6px;font-size:12px}
.order-map{height:220px;border-radius:14px;border:1px solid var(--line);overflow:hidden;margin:6px 0 12px}
@media(max-width:820px){.addr-widget{grid-template-columns:1fr}.addr-map{min-height:200px}.addr-row{grid-template-columns:110px 1fr}}
/* Wetter */
.wx-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;color:#fff;background:var(--c)}
.wx-badge.sm{font-size:10.5px;padding:2px 7px;margin-top:4px}
.wx-panel{border:2px solid #fde68a;background:linear-gradient(180deg,#fffbeb,#fff 70px)}
.wx-panel h2 .count{font-size:12px;background:#fde68a;border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:middle}
.wx-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-left:5px solid var(--c);background:#fff;border-radius:10px;margin:6px 0;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-s)}
.wx-row .wx-ic{font-size:22px}
.wx-day{font-size:13px;padding:6px 8px;border-radius:8px;margin:4px 0;background:#f1f5f9}
.wx-day.mittel{background:#fff7ed;border-left:4px solid #ea580c}.wx-day.hoch{background:#fef2f2;border-left:4px solid #b91c1c}
.wx-alert{font-size:13px;padding:7px 9px;border-radius:8px;margin:4px 0;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}
.wx-banner{background:#fef2f2;border:2px solid #fca5a5;color:#7f1d1d;border-radius:14px;padding:12px 14px;margin:10px 0;font-size:15px}
.fc-wx{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.fc-wx small{color:#7c2d12;font-size:12px}

/* Planungs-Assistent */
.plan-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
.plan-layout>.panel:first-child{position:sticky;top:calc(var(--navh,70px) + 12px)}
@media(max-width:1000px){.plan-layout{grid-template-columns:1fr}.plan-layout>.panel:first-child{position:static}}
.plan-card{border-left:6px solid var(--c)}
.plan-card .dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle}
.plan-stops{list-style:none;padding:0;margin:10px 0}
.plan-stops li{padding:6px 0}
.plan-stops li>b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;font-size:12px;margin-right:6px}
.plan-leg{margin:6px 0 0 9px;padding-left:18px;border-left:2px dashed var(--c);color:#64748b;font-size:13px}
.plan-pin span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;font-weight:700;font-size:13px;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}

/* Laufschrift */
.ticker{display:flex;align-items:center;gap:0;margin:0 0 16px;border-radius:14px;overflow:hidden;background:linear-gradient(90deg,#0b1120,#1e293b);color:#fff;box-shadow:0 6px 18px rgba(15,23,42,.18)}
.ticker-label{flex:none;padding:11px 16px;background:linear-gradient(135deg,#f59e0b,#ea580c);font-weight:800;letter-spacing:.02em;z-index:1}
.ticker-track{flex:1;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-move{display:inline-flex;gap:120px;padding-left:100%;animation:ticker 26s linear infinite;font-weight:600;font-size:16px}
.ticker:hover .ticker-move{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){.ticker-move{animation:none;padding-left:16px}.ticker-move span+span{display:none}}
.ticker-edit{margin:-6px 0 16px}.ticker-edit summary{cursor:pointer;color:#1d6cf2;font-weight:600;font-size:14px}
/* Automatische Zeiterfassung */
.track-card{border-left:6px solid #16a34a}
.track-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.track-head button{min-width:140px;font-size:16px;padding:12px 18px}
.track-hint{font-size:13px;margin:8px 0 0}

/* Lager: Scan-Station */
.scan-modes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.scan-mode input{position:absolute;opacity:0;pointer-events:none}
.scan-mode span{display:inline-block;padding:10px 14px;border-radius:12px;border:2px solid #cbd5e1;background:#fff;font-weight:700;cursor:pointer}
.scan-mode input:checked+span{border-color:#1d6cf2;background:#1d6cf2;color:#fff}
.scan-mode input:disabled+span{opacity:.4;cursor:not-allowed}
.scan-input{font-size:22px!important;padding:16px!important;border:3px solid #1d6cf2!important;border-radius:14px!important;letter-spacing:.04em}
.scan-result{margin:14px 0;padding:14px 16px;border-radius:14px;background:#f1f5f9;min-height:64px}
.scan-result.ok{background:#dcfce7;border:2px solid #16a34a}.scan-result.err{background:#fee2e2;border:2px solid #dc2626}
.scan-result a{font-size:18px;font-weight:800}
.scan-big{font-size:20px;font-weight:800;margin-top:6px}
.scan-log{list-style:none;padding:0;margin:0}.scan-log li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0;font-size:14px}
.scan-log li.undone span{text-decoration:line-through;opacity:.6}
.steps{padding-left:20px}.steps li{margin:6px 0}
.inline-print{display:inline-flex;gap:6px;align-items:center;margin:0}
body:has([data-scan-station]) #eu-chat-launch{display:none}

/* Lager: Artikelfotos */
.art-cell{display:flex;gap:12px;align-items:center}
.art-thumb{border-radius:10px;object-fit:cover;flex:none;background:#f1f5f9;border:1px solid #e2e8f0}
.art-thumb.empty{display:inline-grid;place-items:center;font-size:24px;color:#94a3b8}
.art-head{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.art-photo{width:220px;height:220px;object-fit:cover;border-radius:14px;border:1px solid #e2e8f0;display:block}
.art-photo.empty{display:grid;place-content:center;text-align:center;font-size:42px;color:#94a3b8;background:#f8fafc}
.art-photo.empty small{font-size:13px}
.art-photo-form{display:flex;gap:8px;align-items:center;margin-top:8px}
.art-info{flex:1;min-width:220px}
.scan-photo{width:96px;height:96px;object-fit:cover;border-radius:12px;float:right;margin-left:12px}

/* Kamera-Scan */
.cam-ov{position:fixed;inset:0;background:rgba(2,6,23,.82);z-index:9999;display:grid;place-items:center;padding:12px}
.cam-box{background:#0b1120;color:#fff;border-radius:18px;width:min(560px,100%);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.cam-top{display:flex;justify-content:space-between;align-items:center;padding:12px 14px}
.cam-x{background:#334155!important;color:#fff!important;border:0;border-radius:10px;font-size:18px;padding:6px 12px}
.cam-view{position:relative;background:#000;aspect-ratio:4/3}
.cam-view video{width:100%;height:100%;object-fit:cover;display:block}
.cam-frame{position:absolute;left:12%;right:12%;top:30%;bottom:30%;border:3px solid #22c55e;border-radius:12px;box-shadow:0 0 0 2000px rgba(0,0,0,.25)}
.cam-msg{margin:0;padding:12px 14px;font-weight:600}
.cam-btn{white-space:nowrap}

/* Anfragen & Terminbestätigung */
.req-panel{border-left:5px solid #f59e0b;background:#fffbeb}
.ok-panel{border-left:5px solid #16a34a;background:#f0fdf4}
.req-item{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #e5e7eb}
.req-item:first-of-type{border-top:0}
.req-badge{--c:#f59e0b;background:#f59e0b;color:#fff;white-space:nowrap}
.event .req-badge{font-size:10px;padding:1px 5px}

.toast.status{border-left:5px solid #2563eb}

.erd-len{margin:2px 0 10px 26px;max-width:260px}
.erd-len label{font-size:13px}

.event .from-tag{color:#b45309;font-weight:700}
.event .bl-tag{color:#334155;font-weight:600}
.event .inv-tag{display:inline-block;margin:2px 4px 2px 0;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:800;color:#fff}
.event .inv-tag.billed{background:#ea580c}
.event .inv-tag.paid{background:#16a34a}
.assign-box{border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin:6px 0 14px;background:#f8fafc}
.assign-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;margin:4px 0 10px}
.assign-team{font-weight:400}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:900;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-box{max-width:560px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}

/* Profilbilder */
.avatar{border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:middle;background:#e2e8f0}
.avatar.ini{color:#fff;font-weight:800;letter-spacing:.5px}
.user-chip .chip-avatar{display:inline-flex;margin-right:8px;text-decoration:none}
.user-chip .chip-avatar .avatar{box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.acc-av{display:inline-flex;margin-right:8px;vertical-align:middle}
.msg .meta .avatar{width:22px;height:22px;margin-right:6px}
.avatar-big .avatar{box-shadow:0 4px 14px rgba(15,23,42,.18)}

/* Verknüpfter DC-/AC-Auftrag */
.linked-order>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.linked-order>summary::-webkit-details-marker{display:none}
.linked-order .linked-btn{display:inline-block;background:linear-gradient(135deg,#1d4ed8,#1e3a8a);color:#fff;font-weight:800;padding:10px 16px;border-radius:12px}
.linked-order[open] .linked-btn{background:linear-gradient(135deg,#334155,#0f172a)}

/* Endlos-Plantafel */
.month-sep{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin:14px 0 2px;font-weight:900;font-size:18px;color:#0b1120}
.month-sep::before,.month-sep::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,#cbd5e1,transparent)}
.month-sep span{background:#0b1120;color:#fff;padding:4px 14px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.calendar>.month-sep:nth-child(8){margin-top:6px}
.month-more{display:block;margin:8px auto}

/* Plantafel-Suche */
.order-finder{position:relative;flex:1 1 300px;max-width:440px}
.order-finder input{margin:0;width:100%;border-radius:999px;padding-left:16px}
.finder-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.18);max-height:60vh;overflow:auto;padding:6px}
.finder-item{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:8px 10px;cursor:pointer;color:#0f172a;box-shadow:none}
.finder-item:hover,.finder-item.active{background:#eff6ff}
.finder-item small{grid-column:2;color:#64748b}
.finder-type{grid-row:span 2;font-size:11px;font-weight:800;border-radius:999px;padding:3px 7px;color:#fff;background:#475569}
.finder-type.t-dc{background:#1d4ed8}.finder-type.t-ac{background:#facc15;color:#422006}.finder-type.t-reklamation{background:#7e22ce}.finder-type.t-mehraufwand{background:#ea580c}
.finder-empty{padding:10px;color:#64748b}
.event.found{outline:3px solid #f59e0b;outline-offset:2px;animation:foundpulse 1s ease-in-out 3}
@keyframes foundpulse{50%{outline-color:transparent}}
.finder-results .finder-item{background:transparent!important;color:#0f172a!important;box-shadow:none!important;font-weight:400;min-height:0;transform:none!important}
.finder-results .finder-item b{color:#0f172a}
.finder-results .finder-item:hover,.finder-results .finder-item.active{background:#eff6ff!important}
.finder-results .finder-item{padding:8px 10px!important;border-radius:10px!important}

/* Neue Chat-Nachricht */
.toast.chat{border-left:5px solid #16a34a}
.chat-launch.has-new{animation:chatpulse 1.2s ease-in-out infinite}
.chat-launch.has-new::after{content:"";position:absolute;top:-4px;right:-4px;width:14px;height:14px;border-radius:50%;background:#ef4444;border:2px solid #fff}
@keyframes chatpulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}50%{box-shadow:0 0 0 12px rgba(34,197,94,0)}}

/* Löschen */
.inline-del{display:inline;margin:0}
.del-x{font-size:18px;opacity:.55;padding:4px!important}
.del-x:hover{opacity:1}
.danger-zone{border:1px solid #fecaca;background:#fff5f5}
button.danger,.btn.danger{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important}

/* Chat: Empfänger-Auswahl je Gruppe */
.rcpts{display:flex;flex-wrap:wrap;gap:6px;position:relative}
.rcpt-dd{position:relative}
.rcpt-dd>summary{list-style:none;cursor:pointer}
.rcpt-dd>summary::-webkit-details-marker{display:none}
.rcpt-dd>summary::after{content:"▾";margin-left:4px;opacity:.6}
.rcpt-dd.on>summary{background:#16a34a;color:#fff;border-color:#16a34a}
.rcpt-dd.disabled>summary{opacity:.45;cursor:not-allowed}
.rcpt-dd .sel{font-weight:700;margin-left:4px}
.rcpt-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;min-width:230px;max-height:260px;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 14px 34px rgba(15,23,42,.2);padding:6px}
.rcpt-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-weight:400;margin:0;cursor:pointer;color:#0f172a}
.rcpt-opt:hover{background:#f1f5f9}
.rcpt-opt.all{font-weight:800;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0}
.rcpt-opt input{width:auto;margin:0}

/* Karte meiner Aufträge */
.sites-map{height:min(62vh,560px);border-radius:14px;overflow:hidden;border:1px solid var(--line);margin:10px 0}
.map-pin{display:block;width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--c);transform:rotate(-45deg);box-shadow:0 3px 8px rgba(0,0,0,.35);border:2px solid #fff;position:relative;margin:2px}
.map-pin b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(45deg);color:#fff;font-size:13px;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.map-pin:not(.done){opacity:.72}
.map-pop a{font-weight:800}
.map-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#475569}
.map-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.map-filter button.chip{border:1px solid var(--line)!important}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:8px 0}
.stat-grid.small .stat-tile b{font-size:22px}
.stat-tile{border-radius:14px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--c);display:flex;flex-direction:column;gap:4px}
.stat-tile span{font-size:12px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.stat-tile b{font-size:30px;color:#0f172a}
.map-filter button.chip{background:#fff!important;color:#334155!important;padding:7px 12px!important;box-shadow:none!important;font-weight:700}
.map-filter button.chip.active{background:#0b1120!important;color:#fff!important}
/* Rechnungsstatus in der Auftragsliste (nur Admin) */
td .inv-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;color:#fff;white-space:nowrap}
td .inv-tag.billed{background:#ea580c}
td .inv-tag.paid{background:#16a34a}
.inv-filter{border-top:1px dashed #e2e8f0;padding-top:8px;margin-top:4px}
/* Ausgefüllte Packliste im Auftrag */
#packliste .panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#packliste .count{font-size:13px;font-weight:700;background:#fff7ed;color:#9a3412;border-radius:999px;padding:2px 10px;vertical-align:middle;margin-left:6px}
.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pack-group{border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;background:#fbfdff}
.pack-group h4{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#475569}
.pack-group .mat-list li:last-child{border-bottom:0}
.pack-note{margin-top:12px;border-left:4px solid #f59e0b;background:#fffbeb;border-radius:8px;padding:10px 14px}
.pack-meta{margin:10px 0 0;font-size:12px}
/* Feststehender Papierkorb unten links (Plantafel + Auftragsliste) */
.trash-fab{position:fixed;left:18px;bottom:18px;z-index:96;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:999px;
  background:#fff;border:2px dashed #cbd5e1;box-shadow:0 8px 24px rgba(15,23,42,.18);color:#334155;transition:all .15s ease;user-select:none}
.trash-fab .trash-ico{font-size:26px;line-height:1}
.trash-fab .trash-lbl{display:flex;flex-direction:column;line-height:1.15}
.trash-fab .trash-lbl small{font-size:11px;color:#64748b}
body.eu-dragging .trash-fab{border-color:#dc2626;background:#fef2f2;color:#991b1b;transform:scale(1.08);box-shadow:0 10px 30px rgba(220,38,38,.35)}
.trash-fab.drop-target{border-style:solid!important;border-color:#dc2626!important;background:#dc2626!important;color:#fff!important;transform:scale(1.18)!important}
.trash-fab.drop-target small{color:#fee2e2}
tr[data-trash-order]{cursor:grab}
tr.dragging{opacity:.45}
body:has(.today-fab) .trash-fab{bottom:80px}
@media (max-width:700px){.trash-fab{left:10px;bottom:10px;padding:8px}.trash-fab .trash-lbl{display:none}body:has(.today-fab) .trash-fab{bottom:72px}}
/* Mehrtägige Aufträge: eine durchgehende Leiste */
.span-slot{position:relative}
.span-slot .event.span-card{position:relative;z-index:4;box-sizing:border-box}
.span-card.span-on{background:linear-gradient(90deg,#f8fafc,#eef4ff)}
.span-card .span-range{display:block;font-weight:700;color:#1e3a8a;margin:2px 0}
.span-cont{display:block;font-size:11px;color:#475569;text-decoration:none;background:#eef2f7;border-radius:8px;padding:4px 6px;margin:6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.span-slot.span-sized .span-cont{visibility:hidden}
.span-slot:empty{display:none}
.span-slot.span-sized:empty{display:block}
body.eu-drag-pass .span-card{pointer-events:none}
/* Auftraggeber: festgeschriebene Angaben */
.locked-box{border:1px solid #cbd5e1;background:#f8fafc;border-radius:14px;padding:12px 14px;margin:6px 0 14px}
.locked-head{font-weight:800;margin-bottom:6px}.locked-head small{font-weight:400;color:#64748b}
.locked-val{background:#eef2f7;border:1px solid #dbe3ee;border-radius:10px;padding:9px 11px;color:#334155;min-height:20px;cursor:not-allowed}
.locked-val.pre{white-space:pre-wrap;margin-bottom:8px}
.locked-check{color:#334155}
/* Rückfrage beim Zurücklegen in „Nicht terminiert“ */
.backlog-ask{max-width:460px}
.ask-opts{display:grid;gap:8px;margin:10px 0}
.ask-opt{display:flex;align-items:center;gap:10px;border:1.5px solid #e2e8f0;border-radius:12px;padding:10px 12px;font-weight:700;cursor:pointer;margin:0}
.ask-opt input{width:auto;margin:0}
.ask-opt:has(input:checked){border-color:#2563eb;background:#eff6ff}
/* Plantafel: Statusfilter */
.team-filter select.filter-on{border-color:#2563eb;background:#eff6ff;font-weight:700}
.team-filter label[for=statusfilter]{margin-left:8px}
