/* App – im Stil des Logos: Nachtblau, links Wasser (blau), rechts Feuer (orange), leuchtender Ring, Glas-Kacheln */
:root{
  --night:#05071F; --deep:#0B0E3A; --indigo:#1A1670;
  --water:#3D8BFF; --water2:#7CC4FF; --fire:#FF7A1A; --fire2:#FFB347;
  --ink:#F2F4FF; --muted:#A9B0D6; --line:rgba(255,255,255,0.14);
  --glass:rgba(255,255,255,0.07); --glass2:rgba(255,255,255,0.12);
  --danger:#FF5A4E; --ok:#55D6A5; --accent:#7CC4FF; --radius:18px;
  --safe-t:env(safe-area-inset-top); --safe-b:env(safe-area-inset-bottom);
  color-scheme:dark;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color:var(--ink);
  -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent; min-height:100vh;
  background:
    radial-gradient(60% 45% at 0% 70%, rgba(61,139,255,0.45), transparent 70%),
    radial-gradient(50% 40% at 100% 30%, rgba(255,122,26,0.42), transparent 70%),
    radial-gradient(45% 35% at 85% 95%, rgba(255,80,20,0.25), transparent 70%),
    radial-gradient(55% 40% at 10% 100%, rgba(30,80,230,0.40), transparent 70%),
    radial-gradient(80% 60% at 50% 35%, var(--indigo), var(--deep) 55%, var(--night) 100%);
  background-color:var(--night); background-attachment:fixed;
}
/* Funken (rechts) und Wassertropfen (links) als dezente Ebene */
body::before{content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:0.6;
  background-image:
    radial-gradient(2px 2px at 88% 18%, #FFC27A, transparent), radial-gradient(1.5px 1.5px at 93% 42%, #FF9A3C, transparent),
    radial-gradient(2px 2px at 80% 65%, #FFB347, transparent), radial-gradient(1.5px 1.5px at 96% 78%, #FF8A2A, transparent),
    radial-gradient(1.5px 1.5px at 74% 8%, #FFD08A, transparent), radial-gradient(2px 2px at 90% 92%, #FF7A1A, transparent),
    radial-gradient(4px 4px at 6% 30%, rgba(180,220,255,0.9), transparent), radial-gradient(3px 3px at 12% 55%, rgba(160,210,255,0.8), transparent),
    radial-gradient(5px 5px at 4% 82%, rgba(190,225,255,0.8), transparent), radial-gradient(3px 3px at 18% 12%, rgba(170,215,255,0.7), transparent);}
body > *{position:relative; z-index:1;}
a{color:var(--water2);}
input, select, button{font:inherit;}
input[type=text], input[type=search], input[type=password], input[type=number], input:not([type]), select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:rgba(5,7,31,0.55);
  color:var(--ink); font-size:1rem; outline:none;}
input:focus, select:focus{border-color:var(--water2); box-shadow:0 0 0 3px rgba(124,196,255,0.25);}
select option{background:#0B0E3A;}
label{display:block; font-size:0.85rem; color:var(--muted); margin:14px 0 6px;}
.p-muted{color:var(--muted); font-size:0.9rem; margin:4px 0 10px;}
.p-upper{text-transform:uppercase; margin-top:8px;}
.p-btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:11px 18px; border-radius:12px;
  border:1px solid var(--line); background:var(--glass2); color:var(--ink); font-weight:600; text-decoration:none; cursor:pointer; min-height:44px;}
.p-btn-primary{border:0; color:#fff; background:linear-gradient(100deg, var(--water) 0%, #5B5BE0 45%, var(--fire) 100%);
  box-shadow:0 6px 22px rgba(61,139,255,0.35), 0 6px 22px rgba(255,122,26,0.25);}
.p-btn-ghost{background:transparent;}
.p-danger{color:var(--danger); border-color:rgba(255,90,78,0.5);}
.p-wide{width:100%; margin-top:22px;}
.p-status{font-size:0.88rem; margin-top:8px; min-height:1.2em;}
.p-status.ok{color:var(--ok);} .p-status.err{color:var(--danger);}
.p-error{background:rgba(255,90,78,0.14); border:1px solid rgba(255,90,78,0.4); color:#FFB3AD; border-radius:12px; padding:10px 12px; font-size:0.92rem;}

/* Logo mit leuchtendem Ring (links Wasser, rechts Feuer) */
.p-logo{border-radius:24px; box-shadow:-12px 6px 34px rgba(61,139,255,0.55), 12px -6px 34px rgba(255,122,26,0.55),
  0 0 0 1px rgba(255,255,255,0.12);}

/* Anmelden */
.p-login-wrap{min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:calc(24px + var(--safe-t)) 16px calc(24px + var(--safe-b));}
.p-login-card{width:100%; max-width:400px; background:rgba(11,14,58,0.62); border:1px solid var(--line); border-radius:24px;
  padding:26px 22px; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); box-shadow:0 30px 70px rgba(0,0,0,0.55);}
.p-login-icon{display:block; width:104px; height:104px; margin:0 auto 6px;}
.p-login-card h1{text-align:center; margin:12px 0 0; font-size:1.6rem; letter-spacing:0.08em; font-style:italic; font-weight:800;}
.p-login-card .p-muted{text-align:center;}
.p-captcha{display:flex; align-items:center; gap:10px;}
.p-captcha img{border-radius:10px; border:1px solid var(--line); width:180px; height:60px; background:#fff;}
.p-captcha button{background:var(--glass); border:1px solid var(--line); border-radius:10px; color:var(--ink); padding:10px 12px; cursor:pointer;}
.p-remember{display:flex !important; align-items:center; gap:8px; color:var(--ink) !important; font-size:0.92rem !important;}
.p-remember input{width:auto; accent-color:var(--fire);}
.p-foot{color:rgba(255,255,255,0.5); font-size:0.8rem; margin-top:18px;}

/* Startseite */
.p-home{padding-bottom:calc(88px + var(--safe-b));}
.p-hero{padding:calc(26px + var(--safe-t)) 18px 14px; text-align:center;}
.p-hero-in{display:flex; flex-direction:column; align-items:center; gap:14px; max-width:900px; margin:0 auto;}
.p-hero-icon{width:96px; height:96px;}
.p-hello{font-size:1.5rem; font-weight:800; text-shadow:0 2px 18px rgba(0,0,0,0.45);}
.p-hero-sub{color:var(--muted); font-size:0.9rem; margin-top:2px;}
.p-main{max-width:900px; margin:0 auto; padding:8px 16px 16px;}
.p-group{font-size:0.78rem; text-transform:uppercase; letter-spacing:0.14em; color:var(--muted); margin:22px 4px 10px; font-weight:700;}
.p-group:first-of-type{margin-top:4px;}
.p-tiles{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px;}
@media (min-width:640px){ .p-tiles{grid-template-columns:repeat(3, minmax(0, 1fr));} }
.p-tile{position:relative; display:flex; flex-direction:column; gap:6px; padding:16px 14px 14px; border-radius:var(--radius);
  background:linear-gradient(160deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04)); border:1px solid var(--line);
  color:var(--ink); text-decoration:none; min-height:150px; overflow:hidden;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 10px 30px rgba(0,0,0,0.35);
  transition:transform .12s ease, box-shadow .2s ease, border-color .2s ease;}
.p-tile::after{content:""; position:absolute; right:-40px; bottom:-60px; width:130px; height:130px; border-radius:50%;
  background:radial-gradient(circle, var(--tile), transparent 70%); opacity:0.45; pointer-events:none;}
.p-tile:hover{border-color:rgba(255,255,255,0.28); box-shadow:-6px 8px 28px rgba(61,139,255,0.3), 6px 8px 28px rgba(255,122,26,0.25);}
.p-tile:active{transform:scale(0.97);}
.p-tile-ico{width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.5rem;
  background:linear-gradient(145deg, color-mix(in srgb, var(--tile) 85%, #fff 15%), color-mix(in srgb, var(--tile) 70%, #000 30%));
  box-shadow:0 6px 16px color-mix(in srgb, var(--tile) 55%, transparent), inset 0 1px 0 rgba(255,255,255,0.35);}
.p-tile-name{font-weight:700; font-size:1.02rem; margin-top:4px;}
.p-tile-desc{color:var(--muted); font-size:0.8rem; line-height:1.3;}
.p-badge{position:absolute; top:10px; right:10px; min-width:24px; height:24px; padding:0 7px; border-radius:12px;
  background:linear-gradient(135deg, #FF5A4E, var(--fire)); color:#fff; font-size:0.8rem; font-weight:800;
  display:flex; align-items:center; justify-content:center; box-shadow:0 0 14px rgba(255,90,78,0.7);}
.p-badge[hidden]{display:none;}
.p-soon{opacity:0.55; filter:saturate(0.6);}
.p-soon-tag{position:absolute; top:12px; right:12px; font-size:0.68rem; padding:2px 8px; border-radius:10px; border:1px solid var(--line); color:var(--muted);}
.p-empty{grid-column:1/-1; text-align:center; color:var(--muted); padding:30px;}
.p-tiles-small{grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px;}
.p-tiles-small .p-tile{min-height:0; padding:12px 8px; align-items:center; text-align:center;}
.p-tiles-small .p-tile-desc{display:none;}
.p-tiles-small .p-tile-ico{width:42px; height:42px; font-size:1.2rem;}
.p-tiles-small .p-tile-name{font-size:0.8rem; margin-top:2px;}
@media (min-width:640px){ .p-tiles-small{grid-template-columns:repeat(6, minmax(0, 1fr));} }
.p-install{background:var(--glass); border:1px dashed rgba(124,196,255,0.5); border-radius:14px; padding:12px 14px; margin-bottom:12px; font-size:0.9rem;}
.p-install b{color:var(--water2);}
.p-users[hidden], .p-install[hidden]{display:none !important;}
.p-bar{position:fixed; left:0; right:0; bottom:0; display:flex; justify-content:center; gap:6px; padding:8px 12px calc(8px + var(--safe-b));
  background:rgba(5,7,31,0.72); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-top:1px solid var(--line); z-index:10;}
.p-bar form{margin:0;}
.p-bar-btn{display:flex; flex-direction:column; align-items:center; gap:2px; min-width:86px; padding:6px 10px; border:0; background:none;
  color:var(--muted); font-size:0.75rem; text-decoration:none; cursor:pointer;}
.p-bar-btn span{font-size:1.25rem;}
.p-bar-btn:hover{color:var(--ink);}

/* Unterseiten */
.p-page{padding-bottom:calc(24px + var(--safe-b));}
.p-top{display:flex; align-items:center; gap:12px; padding:calc(14px + var(--safe-t)) 16px 14px;
  background:rgba(5,7,31,0.55); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line);}
.p-top h1{margin:0; font-size:1.2rem;}
.p-back{color:var(--ink); text-decoration:none; font-weight:600; padding:6px 0;}
.p-card{background:linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04)); border:1px solid var(--line);
  border-radius:var(--radius); padding:16px; margin:14px 0; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);}
.p-card h2{margin:0 0 4px; font-size:1.05rem; color:var(--water2);
  background:linear-gradient(90deg, var(--water2), var(--fire2)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.p-row{display:flex; gap:8px; align-items:center;}
.p-row input{flex:1;}
.p-card form .p-btn{margin-top:16px;}
.p-dev, .p-app{display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); font-size:0.9rem;}
.p-dev:last-child, .p-app:last-child{border-bottom:0;}
.p-app{cursor:pointer;}
.p-dev-main, .p-app-main{flex:1; min-width:0;}
.p-dev-sub, .p-app-sub{color:var(--muted); font-size:0.78rem;}
.p-app .p-tile-ico{width:38px; height:38px; font-size:1.2rem; border-radius:11px; flex:0 0 auto;}
.p-pill{font-size:0.72rem; padding:2px 8px; border-radius:10px; border:1px solid var(--line); color:var(--muted); white-space:nowrap;}
.p-pill.on{border-color:var(--ok); color:var(--ok);}
.p-dlg{border:1px solid var(--line); border-radius:22px; padding:18px; width:min(520px, calc(100% - 24px));
  background:rgba(11,14,58,0.96); color:var(--ink); box-shadow:0 30px 80px rgba(0,0,0,0.6);}
.p-dlg::backdrop{background:rgba(2,3,15,0.65); backdrop-filter:blur(4px);}
.p-dlg h3{margin:0 0 6px;}
.p-grid2{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.p-chk{display:flex !important; align-items:center; gap:8px; margin-top:38px !important; color:var(--ink) !important;}
.p-chk input{width:auto; accent-color:var(--fire);}
input[type=color]{width:100%; height:46px; border:1px solid var(--line); border-radius:12px; background:rgba(5,7,31,0.55); padding:4px;}
.p-users{display:flex; flex-direction:column; gap:4px; max-height:200px; overflow:auto; margin-top:8px; padding:8px; border:1px solid var(--line); border-radius:12px;}
.p-users label{display:flex; align-items:center; gap:8px; margin:0; color:var(--ink); font-size:0.9rem;}
.p-users input{width:auto;}
.p-dlg-actions{display:flex; gap:8px; margin-top:16px; flex-wrap:wrap;}
.p-spacer{flex:1;}

/* ---------- Kollege Eckbert ---------- */
.e-page{padding-bottom:calc(150px + var(--safe-b));}
.e-top{position:sticky; top:0; z-index:5; gap:10px;}
.e-who{display:flex; align-items:center; gap:10px; flex:1; min-width:0;}
.e-ava{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; font-size:1.4rem;
  background:linear-gradient(145deg, var(--fire2), var(--fire)); box-shadow:0 0 16px rgba(255,122,26,0.55);}
.e-top h1{font-size:1.05rem;}
.e-sub{font-size:0.75rem; color:var(--muted);}
.e-icon-btn{background:var(--glass); border:1px solid var(--line); color:var(--ink); border-radius:12px; min-width:42px; height:42px;
  display:inline-grid; place-items:center; font-size:1.1rem; cursor:pointer;}
.e-hello{font-size:1.05rem; margin:8px 2px 14px;}
.e-choice{display:grid; gap:12px;}
.e-big{display:grid; grid-template-columns:52px 1fr; grid-template-rows:auto auto; column-gap:12px; text-align:left; padding:16px;
  border-radius:var(--radius); border:1px solid var(--line); color:var(--ink); cursor:pointer;
  background:linear-gradient(160deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04)); backdrop-filter:blur(14px);}
.e-big b{font-size:1.1rem; align-self:end;}
.e-big span:last-child{grid-column:2; color:var(--muted); font-size:0.85rem;}
.e-big-ico{grid-row:1 / span 2; width:52px; height:52px; border-radius:16px; display:grid; place-items:center; font-size:1.6rem;
  background:linear-gradient(145deg, var(--water), #5B5BE0);}
.e-big[data-mode="stoerung"] .e-big-ico{background:linear-gradient(145deg, var(--fire2), var(--fire));}
.e-form textarea, .e-solve textarea, #eLoesung, .p-dlg textarea, .p-card textarea{width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:12px;
  background:rgba(5,7,31,0.55); color:var(--ink); font:inherit; font-size:1rem; resize:vertical;}
.e-photo-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:12px;}
.e-photo-btn{cursor:pointer;}
.e-thumbs{display:flex; gap:8px; flex-wrap:wrap;}
.e-thumbs:empty{display:none;}
.e-thumb{position:relative;}
.e-thumb img{width:64px; height:64px; object-fit:cover; border-radius:10px; border:1px solid var(--line);}
.e-thumb button{position:absolute; top:-6px; right:-6px; width:22px; height:22px; border-radius:50%; border:0; background:var(--danger); color:#fff; font-size:0.7rem; cursor:pointer;}
.e-usage{text-align:center; margin-top:18px; font-size:0.8rem;}
.e-chat{max-width:900px; margin:0 auto; padding:10px 12px;}
.e-ctx{font-size:0.82rem; color:var(--muted); text-align:center; margin:4px 0 10px;}
.e-msgs{display:flex; flex-direction:column; gap:10px;}
.e-msg{max-width:88%; padding:10px 13px; border-radius:18px; line-height:1.45; font-size:0.95rem; word-wrap:break-word;}
.e-me{align-self:flex-end; background:linear-gradient(120deg, var(--water), #5B5BE0); color:#fff; border-bottom-right-radius:6px;}
.e-bot{align-self:flex-start; background:rgba(255,255,255,0.09); border:1px solid var(--line); border-bottom-left-radius:6px;}
.e-bot p{margin:0 0 8px;} .e-bot p:last-child{margin-bottom:0;}
.e-bot ul, .e-bot ol{margin:4px 0 8px; padding-left:22px;} .e-bot li{margin:3px 0;}
.e-bot h4{margin:8px 0 4px; font-size:0.95rem; color:var(--fire2);}
.e-bot b{color:#fff;}
.e-bot code{background:rgba(0,0,0,0.3); padding:1px 5px; border-radius:5px;}
.e-err{border-color:rgba(255,90,78,0.5); color:#FFB3AD;}
.e-imgs{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:6px;}
.e-imgs img{max-width:160px; max-height:160px; border-radius:12px; object-fit:cover;}
.e-dots{display:inline-flex; gap:4px; vertical-align:middle;}
.e-dots i{width:7px; height:7px; border-radius:50%; background:var(--fire2); animation:edot 1.2s infinite ease-in-out;}
.e-dots i:nth-child(2){animation-delay:.2s; background:#C9A7FF;} .e-dots i:nth-child(3){animation-delay:.4s; background:var(--water2);}
@keyframes edot{0%,80%,100%{transform:scale(0.5); opacity:.5} 40%{transform:scale(1); opacity:1}}
.e-think{color:var(--muted); font-size:0.85rem;}
.e-solved{margin:12px auto; max-width:88%; padding:10px 13px; border-radius:14px; border:1px solid rgba(85,214,165,0.5); background:rgba(85,214,165,0.1); font-size:0.9rem;}
.e-composer{position:fixed; left:0; right:0; bottom:0; z-index:6; padding:8px 10px calc(8px + var(--safe-b));
  background:rgba(5,7,31,0.85); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-top:1px solid var(--line);}
.e-composer .e-thumbs{margin:0 4px 8px;}
.e-row{display:flex; align-items:flex-end; gap:8px; max-width:900px; margin:0 auto;}
.e-row textarea{flex:1; resize:none; padding:11px 14px; border-radius:22px; border:1px solid var(--line); background:rgba(255,255,255,0.08);
  color:var(--ink); font:inherit; font-size:1rem; max-height:140px; outline:none;}
.e-send{width:44px; height:44px; border-radius:50%; border:0; color:#fff; font-size:1.1rem; cursor:pointer;
  background:linear-gradient(135deg, var(--water), var(--fire)); box-shadow:0 4px 14px rgba(255,122,26,0.35);}
.e-send:disabled{opacity:0.5;}
.e-tools{display:flex; justify-content:space-between; align-items:center; gap:10px; max-width:900px; margin:6px auto 0; font-size:0.8rem; flex-wrap:wrap;}
.e-deep{display:flex !important; align-items:center; gap:6px; margin:0 !important; color:var(--muted) !important; font-size:0.8rem !important;}
.e-deep[hidden]{display:none !important;}
.e-deep input{width:auto; accent-color:var(--fire);}
.e-link{background:none; border:0; color:var(--ok); font-weight:600; cursor:pointer; font-size:0.85rem;}
.e-link[hidden]{display:none;}
.e-hrow{display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); cursor:pointer;}
.e-hrow:last-child{border-bottom:0;}
.e-hist #eHistList{max-height:60vh; overflow:auto;}
.e-note{position:fixed; bottom:calc(112px + var(--safe-b)); left:0; right:0; text-align:center; font-size:0.66rem; color:rgba(169,176,214,0.7); pointer-events:none; padding:0 16px;}
#eStart:not([hidden]) ~ .e-note{bottom:calc(14px + var(--safe-b));}
/* Etappe 2: Fundstellen aus den Unterlagen */
.e-qref{display:inline-block; border:0; padding:0 6px; margin:0 1px; border-radius:9px; font-size:0.72rem; line-height:1.5; vertical-align:2px;
  background:rgba(124,196,255,0.22); color:var(--water2); cursor:pointer; font-weight:700;}
.e-qwait{cursor:default; opacity:0.7;}
.e-src{margin-top:10px; padding-top:8px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:5px;}
.e-src-h{font-size:0.75rem; color:var(--muted); font-weight:600;}
.e-src-item{text-align:left; border:1px solid var(--line); background:rgba(255,255,255,0.05); color:var(--ink); border-radius:10px;
  padding:7px 10px; font:inherit; font-size:0.82rem; cursor:pointer;}
.e-src-item b{display:inline-block; min-width:18px; color:var(--water2);}
.e-ws{margin-top:16px;}
.e-ws h2{font-size:1rem;}
.e-ws-res{display:flex; flex-direction:column; gap:6px; margin-top:8px; max-height:50vh; overflow:auto;}
.e-ws-hit{text-align:left; border:1px solid var(--line); background:rgba(255,255,255,0.05); color:var(--ink); border-radius:12px;
  padding:9px 11px; font:inherit; font-size:0.85rem; cursor:pointer;}
.e-ws-hit div{margin-top:3px; color:var(--muted); font-size:0.8rem;}
.e-ws-hit mark{background:rgba(255,179,71,0.35); color:#fff; border-radius:3px; padding:0 2px;}
.e-doc{width:min(96vw, 900px); max-width:96vw; padding:10px;}
.e-doc-head{display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:8px;}
.e-doc-body{max-height:72vh; overflow:auto; background:#fff; border-radius:10px;}
.e-doc-body img{display:block; width:100%; height:auto;}
.e-doc-nav{display:flex; align-items:center; justify-content:center; gap:10px; margin-top:8px;}
.e-doc-nav .p-btn{min-width:44px;}
/* Admin: Wissensdatenbank (große Bestände) */
.wk-stats{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 6px;}
.wk-stats div{padding:6px 10px; border-radius:10px; background:rgba(255,255,255,0.06); border:1px solid var(--line); font-size:0.82rem; color:var(--muted);}
.wk-stats b{color:var(--ink);}
.wk-stats .warn{border-color:rgba(255,179,71,0.5);} .wk-stats .err{border-color:rgba(255,90,78,0.5);} .wk-stats .busy{border-color:rgba(124,196,255,0.6);}
.wk-sec{margin-top:10px; border:1px solid var(--line); border-radius:14px; padding:4px 12px; background:rgba(255,255,255,0.03);}
.wk-sec > summary{cursor:pointer; padding:9px 0; font-weight:600; list-style:none;}
.wk-sec > summary::-webkit-details-marker{display:none;}
.wk-sec > summary::after{content:"▾"; float:right; color:var(--muted); transition:transform .2s;}
.wk-sec:not([open]) > summary::after{transform:rotate(-90deg);}
.wk-sec[open]{padding-bottom:12px;}
.wk-sec code, .wk-path code{background:rgba(0,0,0,0.3); padding:1px 6px; border-radius:6px; font-size:0.8rem; word-break:break-all;}
.wk-path{margin:8px 0; font-size:0.85rem;}
.wk-msgs{margin-top:6px; font-size:0.78rem; color:var(--fire2); max-height:120px; overflow:auto;}
.wk-prog{display:flex; align-items:center; gap:10px; margin-top:10px; font-size:0.8rem; color:var(--muted);}
.wk-bar{flex:0 0 40%; height:8px; border-radius:6px; background:rgba(255,255,255,0.1); overflow:hidden;}
.wk-bar i{display:block; height:100%; width:0; background:linear-gradient(90deg, var(--water), var(--fire)); transition:width .3s;}
.wk-folder{padding:8px 0; border-bottom:1px solid var(--line);}
.wk-frow{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.wk-frow b{flex:1; min-width:140px;}
.wk-frow select{width:auto; padding:7px 10px; font-size:0.82rem;}
.wk-rights{display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:6px; font-size:0.85rem; align-items:center;}
.wk-rights label{display:inline-flex; align-items:center; gap:5px; margin:0; color:var(--ink);}
.wk-rights input{width:auto; accent-color:var(--fire);}
.wk-people summary{cursor:pointer; font-size:0.8rem; color:var(--muted); margin-top:6px;}
.wk-newf{display:flex; gap:8px; margin-top:10px;} .wk-newf .p-btn{margin:0;}
.wk-filter{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:8px; margin-top:6px;}
.wk-filter select, .wk-filter input{padding:9px 10px; font-size:0.85rem;}
@media (max-width:700px){ .wk-filter{grid-template-columns:1fr 1fr;} .wk-filter input{grid-column:1 / -1;} }
.wk-bulk{position:sticky; top:0; z-index:3; display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 0; padding:8px 10px;
  border-radius:12px; background:rgba(26,22,112,0.95); border:1px solid var(--water2);}
.wk-bulk .p-btn{margin:0; padding:6px 10px; font-size:0.8rem;}
.wk-head{display:flex; justify-content:space-between; align-items:center; margin-top:8px; font-size:0.82rem;}
.wk-all{display:flex !important; align-items:center; gap:6px; margin:0 !important; font-size:0.82rem !important;}
.wk-all input{width:auto;}
.wk-doc{display:flex; align-items:center; gap:8px; padding:7px 4px; border-bottom:1px solid var(--line); font-size:0.86rem; border-radius:8px;}
.wk-doc.sel{background:rgba(124,196,255,0.08);}
.wk-doc > input{width:auto; accent-color:var(--fire);}
.wk-doc .p-dev-main{flex:1; min-width:0;}
.wk-doc .p-dev-sub{overflow:hidden; text-overflow:ellipsis;}
.wk-err{color:#FFB3AD;}
.wk-badge{font-size:0.72rem; padding:2px 8px; border-radius:9px; background:rgba(255,255,255,0.1); color:var(--muted); white-space:nowrap;}
.wk-badge.warn{background:rgba(255,179,71,0.2); color:var(--fire2);} .wk-badge.err{background:rgba(255,90,78,0.2); color:#FFB3AD;}
.wk-pager{display:flex; justify-content:center; align-items:center; gap:6px; margin-top:10px; font-size:0.85rem;}
.wk-pager .p-btn{margin:0; min-width:40px; padding:6px 10px;}
/* Einklappbare Bereiche (alle Karten; die erste offen) */
.p-card.p-fold > h2{cursor:pointer; user-select:none; padding-right:26px; position:relative;}
.p-card.p-fold > h2::after{content:"▾"; position:absolute; right:2px; top:0; color:var(--muted); transition:transform .2s;}
.p-card.p-fold.p-folded > h2::after{transform:rotate(-90deg);}
.p-card.p-fold.p-folded > :not(h2){display:none !important;}
.p-card.p-fold.p-folded > h2{margin-bottom:0;}
/* Benutzerverwaltung */
.p-pill.warn{background:rgba(255,179,71,0.2); color:var(--fire2);}
.p-linkbox{margin-top:12px; padding:12px; border-radius:12px; border:1px solid rgba(85,214,165,0.5); background:rgba(85,214,165,0.08); font-size:0.88rem;}
.p-linkbox input{margin-top:8px; font-size:0.8rem;}
.u-row{gap:8px;}
.u-row select{max-width:46%; padding:8px 10px; font-size:0.85rem;}
/* Eckbert: Unterlagen-Bibliothek */
.e-lib-folders{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
.e-chip{border:1px solid var(--line); background:rgba(255,255,255,0.06); color:var(--ink); border-radius:16px; padding:6px 11px; font:inherit; font-size:0.82rem; cursor:pointer;}
.e-chip span{color:var(--muted); font-size:0.75rem; margin-left:3px;}
.e-chip.on{border-color:var(--water2); background:rgba(124,196,255,0.18);}
.e-lib-bar{display:flex; align-items:center; gap:10px; margin-top:10px;}
.e-lib-bar select{width:auto; max-width:65%; padding:8px 10px; font-size:0.85rem;}
.e-lib-h{font-size:0.75rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; margin:10px 0 2px;}
.e-doc-row{display:flex; gap:10px; align-items:center; text-align:left; border:1px solid var(--line); background:rgba(255,255,255,0.04); color:var(--ink);
  border-radius:12px; padding:8px 11px; font:inherit; font-size:0.86rem; cursor:pointer;}
.e-doc-row .p-muted{font-size:0.78rem;}

[hidden]{display:none !important;}
#eLib .e-ws-res{max-height:none; overflow:visible;}
/* Eckbert Etappe 3: Erfahrungsspeicher + Auswertungen */
.e-count{font-size:0.75rem; background:rgba(124,196,255,0.2); color:var(--water2); border-radius:9px; padding:1px 8px; margin-left:4px; vertical-align:2px;}
.e-case{display:block; width:100%; text-align:left; border:1px solid rgba(85,214,165,0.35); background:rgba(85,214,165,0.07); color:var(--ink);
  border-radius:12px; padding:9px 11px; font:inherit; font-size:0.85rem; cursor:pointer; margin-top:6px; line-height:1.4;}
.e-case-h{display:flex; flex-wrap:wrap; gap:6px; align-items:baseline; margin-bottom:3px;}
.e-case-h .p-muted{font-size:0.75rem; margin-left:auto;}
.e-code{display:inline-block; font-size:0.72rem; font-weight:700; padding:0 6px; border-radius:6px; background:rgba(255,179,71,0.22); color:var(--fire2);}
.e-cases-chat{align-self:stretch; max-width:100%; padding:10px 12px; border-radius:16px; border:1px solid rgba(85,214,165,0.45); background:rgba(85,214,165,0.06);}
.e-eref{background:rgba(85,214,165,0.22); color:var(--ok);}
.e-case-body p{margin:6px 0; line-height:1.45;}
.er-row{display:grid; grid-template-columns:1fr 30% 34px; gap:8px; align-items:center; padding:5px 0; border-bottom:1px solid var(--line); font-size:0.85rem;}
.er-row b{text-align:right;}
.er-bar{height:8px; border-radius:5px; background:rgba(255,255,255,0.08); overflow:hidden;}
.er-bar i{display:block; height:100%; background:linear-gradient(90deg, var(--water), var(--fire)); border-radius:5px;}
#erCard .wk-filter{margin-top:0;}
/* Maschinenpark */
.m-tabs{display:flex; gap:6px; margin-bottom:12px; overflow-x:auto;}
.m-tab{flex:1; white-space:nowrap; border:1px solid var(--line); background:rgba(255,255,255,0.05); color:var(--ink); border-radius:14px; padding:10px 12px;
  font:inherit; font-size:0.9rem; font-weight:600; cursor:pointer;}
.m-tab.on{background:linear-gradient(120deg, rgba(61,139,255,0.35), rgba(255,122,26,0.3)); border-color:var(--water2);}
.m-n{display:inline-block; min-width:20px; padding:0 6px; border-radius:10px; background:rgba(124,196,255,0.3); font-size:0.75rem;}
.m-n:empty{display:none;} .m-n.warn{background:rgba(255,90,78,0.45);}
.m-filter{display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; margin-bottom:10px;}
.m-filter input, .m-filter select{padding:10px; font-size:0.88rem;}
@media (max-width:640px){ .m-filter{grid-template-columns:1fr 1fr;} .m-filter input{grid-column:1 / -1;} }
.m-row{display:flex; align-items:center; gap:10px; padding:11px 12px; margin-bottom:8px; border-radius:14px; border:1px solid var(--line);
  background:linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03)); cursor:pointer;}
.m-main{flex:1; min-width:0;}
.m-main b{font-size:0.95rem;}
.m-sub{font-size:0.78rem; color:var(--muted); margin-top:2px; overflow:hidden; text-overflow:ellipsis;}
.m-btn{margin:0 !important; padding:9px 12px !important; font-size:0.85rem !important; white-space:nowrap;}
.m-st{display:inline-block; font-size:0.7rem; font-weight:700; padding:1px 7px; border-radius:8px; vertical-align:1px; background:rgba(255,255,255,0.1); color:var(--muted);}
.m-st.ok{background:rgba(85,214,165,0.18); color:var(--ok);} .m-st.bad{background:rgba(255,90,78,0.22); color:#FFB3AD;}
.m-st.me{background:rgba(124,196,255,0.22); color:var(--water2);} .m-st.out{background:rgba(255,179,71,0.18); color:var(--fire2);}
.m-st.over{background:rgba(255,90,78,0.3); color:#FFD0CC;}
.m-empty{text-align:center; color:var(--muted);}
.m-hint{font-size:0.82rem; text-align:center; margin-top:14px;}
.m-actions{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 4px;} .m-actions .p-btn{margin:0;}
.m-h{font-size:0.95rem; margin:18px 0 8px; color:var(--water2);}
.m-none{padding:4px 0 8px; font-size:0.85rem;}
.m-dlg{width:min(96vw, 560px);}
.m-dl{display:grid; grid-template-columns:auto 1fr; gap:4px 12px; margin:10px 0; font-size:0.88rem;}
.m-dl dt{color:var(--muted);} .m-dl dd{margin:0;}
.m-dacts{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0;} .m-dacts .p-btn{margin:0;}
.m-h-row{padding:7px 0; border-bottom:1px solid var(--line); font-size:0.83rem;}
.m-foto{display:block; max-width:160px; border-radius:10px; margin-top:6px;}
.m-q{font-weight:600; margin:6px 0 10px;}
.m-okrow{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.m-okrow button{display:flex; flex-direction:column; align-items:center; gap:4px; padding:16px 8px; border-radius:16px; font:inherit; font-size:1.6rem;
  cursor:pointer; color:var(--ink); background:rgba(255,255,255,0.05); border:2px solid var(--line);}
.m-okrow b{font-size:0.95rem;}
.m-ok.on{border-color:var(--ok); background:rgba(85,214,165,0.18);} .m-nok.on{border-color:var(--danger); background:rgba(255,90,78,0.18);}
/* Kundendienst-Tool */
.k-note{font-size:0.8rem;}
.k-stop{display:flex; align-items:center; gap:14px; margin-top:12px;}
.k-stop .p-btn{margin:0 !important;}
.k-stop .run{background:linear-gradient(135deg, var(--danger), var(--fire)) !important;}
#gClock{font-size:1.4rem; font-weight:700; font-variant-numeric:tabular-nums;}
.k-res{display:flex; flex-direction:column; gap:4px; margin-top:12px;}
.k-res > div{display:flex; justify-content:space-between; gap:10px; padding:7px 10px; border-radius:10px; background:rgba(255,255,255,0.05); font-size:0.9rem;}
.k-res > div span{color:var(--muted);}
.k-res .big{background:linear-gradient(120deg, rgba(61,139,255,0.22), rgba(255,122,26,0.18)); font-size:1.05rem;}
.k-res .big b{font-size:1.25rem;}
.k-res .ok{border:1px solid var(--ok);} .k-res .warn{border:1px solid var(--fire2);} .k-res .bad{border:1px solid var(--danger);}
.k-mode{display:flex; gap:16px; flex-wrap:wrap; margin:6px 0;}
.k-mode label{display:flex !important; align-items:center; gap:6px; margin:0 !important; color:var(--ink) !important; font-size:0.9rem !important;}
.k-mode input{width:auto; accent-color:var(--fire);}
.k-range{width:100%; accent-color:var(--fire); margin:6px 0 4px;}
.k-noz{display:flex; flex-direction:column; gap:2px; padding:9px 11px; margin-top:6px; border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,0.04); font-size:0.86rem;}
.k-noz span{color:var(--muted);} .k-bad{color:#FFB3AD !important;}
.k-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(92px, 1fr)); gap:6px; margin-top:6px;}
.k-grid div{display:flex; flex-direction:column; align-items:center; padding:8px 4px; border-radius:10px; background:rgba(255,255,255,0.05); font-size:0.82rem;}
.k-grid span{color:var(--muted);} .k-grid small{color:var(--water2);}
.k-apps{display:flex; flex-direction:column; gap:8px;}
.k-app{border-radius:14px; border:1px solid var(--line); background:linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));}
.k-app-main{display:flex; align-items:center; gap:12px; padding:12px; color:var(--ink); text-decoration:none;}
.k-app-main > div{flex:1; min-width:0;}
.k-ico{font-size:1.6rem; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(255,255,255,0.08);}
.k-open{font-size:0.8rem; color:var(--water2); white-space:nowrap;}
.k-stores{display:flex; gap:12px; padding:0 12px 10px 68px; font-size:0.8rem;}
.k-stores a{color:var(--water2);}
/* Nachweise & Kontrollen */
.n-item{margin-bottom:10px;}
.n-item.n-ueberfaellig, .n-item.n-faellig{border-color:rgba(255,90,78,0.55);}
.n-item.n-bald{border-color:rgba(255,179,71,0.5);}
.n-head{display:flex; gap:12px; align-items:center;}
.n-ico{font-size:1.8rem;}
.n-act{display:flex; align-items:center; gap:10px; margin-top:10px; flex-wrap:wrap;} .n-act .p-btn{margin:0;}
.n-wait{margin-top:10px; padding:8px 10px; border-radius:10px; background:rgba(124,196,255,0.12); font-size:0.88rem;}
.n-fotos{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:6px;}
.n-fotos img{max-width:46%; max-height:220px; border-radius:10px; border:1px solid var(--line);}
.e-thumb small{display:block; font-size:0.7rem; color:var(--muted); text-align:center;}
/* Ordner auf der Startseite */
.p-folder{cursor:pointer; font:inherit; color:inherit; text-align:left;}
.p-folder-ico{display:grid; grid-template-columns:1fr 1fr; gap:3px; width:52px; height:52px; padding:5px; border-radius:14px; background:rgba(255,255,255,0.12);}
.p-folder-ico i{font-style:normal; font-size:0.95rem; display:flex; align-items:center; justify-content:center;}
.p-folder-dlg{width:min(96vw, 640px);}
.p-folder-dlg .p-tiles{margin-top:10px;}
.p-folder .p-tile-name{font-size:0.92rem; overflow-wrap:anywhere; hyphens:auto; -webkit-hyphens:auto; white-space:normal;}
a.e-src-item{display:block; text-decoration:none;}
a.e-src-item .p-muted{font-size:0.75rem;}
/* SHK-Rechner */
.m-tabs .m-tab{min-width:0;}
.k-tab{display:flex; flex-direction:column; gap:2px; margin-top:6px; font-size:0.85rem;}
.k-tab > div{display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; padding:5px 8px; border-radius:8px; background:rgba(255,255,255,0.04);}
.k-tab .k-th{background:none; color:var(--muted); font-size:0.75rem;}
.k-tab .k-best{background:rgba(85,214,165,0.18); border:1px solid var(--ok);}
.k-tab .k-bad{color:var(--muted);}
#kShk select{margin-bottom:4px;}
.k-page .m-tabs{display:grid; grid-template-columns:repeat(4, 1fr);}
.k-page .m-tab{white-space:normal; padding:9px 6px; font-size:0.85rem;}
@media (max-width:560px){ .k-page .m-tabs{grid-template-columns:1fr 1fr;} }
/* Revisionsunterlagen */
.r-bar{height:7px; border-radius:5px; background:rgba(255,255,255,0.1); overflow:hidden; margin:6px 0 3px;}
.r-bar.big{height:10px;}
.r-bar i{display:block; height:100%; background:linear-gradient(90deg, var(--water), var(--ok)); border-radius:5px;}
.r-head{margin-bottom:10px;}
.r-add{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:6px 0 10px;}
.r-addbtn{margin:0 !important;}
.r-tabs{display:grid; grid-template-columns:repeat(5, 1fr);}
.r-tabs .m-tab{white-space:normal; padding:8px 4px; font-size:0.8rem;}
@media (max-width:560px){ .r-tabs{grid-template-columns:repeat(3, 1fr);} }
.r-k{border-bottom:1px solid var(--line);}
.r-krow{display:flex; align-items:center; gap:8px; padding:9px 4px; cursor:pointer;}
.r-k.d0 > .r-krow{font-weight:700; font-size:0.98rem; padding-top:14px;}
.r-k.d1 > .r-krow{padding-left:16px; font-size:0.9rem;} .r-k.d2 > .r-krow{padding-left:30px; font-size:0.86rem;} .r-k.d3 > .r-krow{padding-left:44px; font-size:0.84rem;}
.r-nr{color:var(--water2); min-width:34px; font-variant-numeric:tabular-nums;}
.r-kt{flex:1; min-width:0;}
.r-pill{font-size:0.72rem; font-weight:700; padding:2px 8px; border-radius:9px; background:rgba(255,255,255,0.1); color:var(--muted); white-space:nowrap;}
.r-pill.ok{background:rgba(85,214,165,0.2); color:var(--ok);} .r-pill.half{background:rgba(255,179,71,0.2); color:var(--fire2);} .r-pill.none{background:rgba(255,90,78,0.2); color:#FFB3AD;}
.r-kin{padding:4px 6px 12px 30px;}
.r-soll{display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px;}
.r-s{font-size:0.75rem; padding:2px 8px; border-radius:8px; background:rgba(255,255,255,0.06);}
.r-s.ok{color:var(--ok);} .r-s.pruefen{color:var(--fire2);} .r-s.fehlt{color:#FFB3AD;}
.r-doc{padding:6px 0; border-top:1px dashed var(--line); font-size:0.86rem;}
.r-doc a{color:var(--ink); text-decoration:none;}
.r-up{margin-top:8px !important; padding:6px 10px !important; font-size:0.8rem !important;}
.r-ed{display:flex; gap:2px;} .r-ed button{border:0; background:rgba(255,255,255,0.08); color:var(--ink); border-radius:6px; padding:3px 6px; cursor:pointer; font-size:0.8rem;}
.r-pr{margin-bottom:10px;}
.r-prh{display:flex; flex-direction:column; gap:2px; margin-bottom:6px;} .r-prh a{color:var(--water2); text-decoration:none; font-weight:600; word-break:break-all;}
.r-gap{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 4px; border-bottom:1px solid var(--line); font-size:0.88rem;}
.r-gap.fehlt{color:#FFD0CC;} .r-gap.ok{color:var(--muted);}
.r-big{width:min(96vw, 680px);}
.r-prev{max-height:60vh; overflow:auto;}
.r-pv{padding:5px 0; border-bottom:1px solid var(--line); font-size:0.88rem;}
.r-pv.d0{font-weight:700;} .r-pv.d1{padding-left:16px;} .r-pv.d2{padding-left:30px;} .r-pv.d3{padding-left:44px;}
.r-pvg{display:flex !important; gap:10px; align-items:flex-start; padding:7px 0; margin:0 !important; border-bottom:1px solid var(--line); color:var(--ink) !important;}
.r-pvg input{width:auto; margin-top:4px; accent-color:var(--fire);} .r-pvg .m-sub{display:block;}
.r-tabs{grid-template-columns:repeat(6, 1fr);}
@media (max-width:560px){ .r-tabs{grid-template-columns:repeat(3, 1fr);} }
.r-sig{position:relative; background:#fff; border-radius:12px; border:1px solid var(--line); margin-bottom:6px;}
.r-sig canvas{display:block; width:100%; height:140px; border-radius:12px; touch-action:none;}
.r-sig button{position:absolute; top:6px; right:6px; background:rgba(0,0,0,0.08); color:#333;}
.r-chg{font-size:0.8rem; padding:4px 8px; margin-top:4px; border-radius:8px; background:rgba(255,255,255,0.05); border-left:3px solid var(--muted);}
.r-chg.hoch{border-left-color:var(--danger);} .r-chg.mittel{border-left-color:var(--fire2);} .r-chg.gering{border-left-color:var(--water2);}
.r-job .m-main{min-width:0;}
/* Mitteilungen */
.mt-push-row{display:flex; gap:12px; align-items:center;}
.mt-bell{font-size:1.8rem;}
.mt-ziel{display:flex; gap:16px; flex-wrap:wrap;}
.mt-ziel label{display:flex !important; align-items:center; gap:6px; margin:0 !important; color:var(--ink) !important;}
.mt-ziel input{width:auto; accent-color:var(--fire);}
.mt-msg{margin-bottom:10px;} .mt-msg.neu{border-color:var(--water2);}
.mt-new{color:var(--water2);}
.mt-text{margin-top:6px; font-size:0.92rem; line-height:1.45;}
.mt-link{margin-top:8px !important;}
/* Auftragseingang */
.ae-drop{border:2px dashed rgba(124,196,255,0.4); transition:background .15s;}
.ae-drop.over{background:rgba(124,196,255,0.15); border-color:var(--water2);}
.ae-drop-in{display:flex; gap:14px; align-items:center;}
.ae-drop-ico{font-size:2rem;}
.ae-pick{display:inline !important; margin:0 !important; color:var(--water2) !important; text-decoration:underline; cursor:pointer; font-size:inherit !important;}
.ae-pa{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px;} .ae-pa select{flex:1; min-width:200px;} .ae-pa .p-btn{margin:0;}
.ae-col{margin-bottom:12px; border:1px solid var(--line); border-radius:14px; padding:4px 10px 8px; background:rgba(255,255,255,0.03);}
.ae-col > summary{cursor:pointer; padding:8px 0; display:flex; align-items:center; gap:8px; list-style:none;}
.ae-col > summary::-webkit-details-marker{display:none;}
.ae-cnt{font-size:0.75rem; padding:1px 8px; border-radius:9px; background:rgba(255,255,255,0.1);}
.ae-sum{margin-left:auto; font-weight:700;}
.ae-kalkulation{border-left:4px solid var(--water2);} .ae-abgegeben{border-left:4px solid var(--fire2);}
.ae-beauftragt{border-left:4px solid var(--ok);} .ae-verloren{border-left:4px solid var(--danger);} .ae-kein_angebot{border-left:4px solid var(--muted);}
.ae-row{margin-bottom:6px;}
.ae-amt{display:flex; flex-direction:column; align-items:flex-end; white-space:nowrap;}
.ae-late{color:#FFB3AD; font-weight:700;}
.ae-kpis{display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin-bottom:12px;}
@media (max-width:600px){ .ae-kpis{grid-template-columns:1fr 1fr;} }
.ae-kpis > div{display:flex; flex-direction:column; padding:10px 12px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,0.05);}
.ae-kpis span{font-size:0.75rem; color:var(--muted);} .ae-kpis b{font-size:1.3rem;} .ae-kpis small{font-size:0.72rem; color:var(--muted);}

/* Revision: „Eckbert arbeitet …“ – laufende/fertige Aufträge live */
.r-eck { margin: 10px 0; display: grid; gap: 6px; }
.r-eck-row, .r-eck-s { padding: 10px 12px; border-radius: 10px; background: color-mix(in srgb, var(--accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); font-size: 14px; line-height: 1.35; }
.r-eck-s { margin-top: 8px; padding: 7px 10px; font-size: 13px; }
.r-eck-row.fertig, .r-eck-s.fertig { background: color-mix(in srgb, var(--ok) 10%, transparent); border-color: color-mix(in srgb, var(--ok) 35%, transparent); }
.r-eck-row.fehler, .r-eck-s.fehler { background: color-mix(in srgb, var(--danger) 10%, transparent); border-color: color-mix(in srgb, var(--danger) 35%, transparent); }
.r-spin { display: inline-block; width: 12px; height: 12px; margin-right: 6px; vertical-align: -1px; border-radius: 50%;
  border: 2px solid currentColor; border-right-color: transparent; animation: r-spin .9s linear infinite; }
@keyframes r-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .r-spin { animation: none; border-right-color: currentColor; opacity: .6; } }

/* Verwalten: IP-Sperren, Sicherheitsprotokoll, Server-Überwachung (portal_security.js) */
.sx-pill{font-size:0.72rem; font-weight:700; padding:2px 9px; border-radius:10px; margin-left:6px; vertical-align:2px; border:1px solid var(--line);}
.sx-pill[hidden]{display:none;}
.sx-pill.ok, .sx-tag.ok{color:var(--ok); border-color:rgba(85,214,165,0.5);}
.sx-pill.warn, .sx-tag.warn{color:var(--fire2); border-color:rgba(255,179,71,0.5);}
.sx-pill.bad, .sx-tag.bad{color:#FFB3AD; border-color:rgba(255,90,78,0.6);}
.sx-tag{display:inline-block; font-size:0.72rem; padding:1px 8px; border-radius:9px; border:1px solid var(--line); margin-left:4px;}
.sx-mono{font-family:ui-monospace, SFMono-Regular, Consolas, monospace; font-size:0.85em; overflow-wrap:anywhere;}
.sx-chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;}
.sx-chip{font:inherit; font-size:0.82rem; padding:6px 12px; border-radius:16px; border:1px solid var(--line); background:transparent; color:var(--muted); cursor:pointer;}
.sx-chip.on{color:var(--ink); border-color:var(--water2); background:rgba(124,196,255,0.14);}
#slLog{margin-top:8px; max-height:520px; overflow:auto;}
.sx-row{display:grid; grid-template-columns:auto 1fr auto; gap:2px 10px; padding:7px 4px 7px 8px; border-bottom:1px solid var(--line); font-size:0.85rem; border-left:3px solid transparent;}
.sx-row.warn{border-left-color:var(--fire2);} .sx-row.bad{border-left-color:var(--danger);}
.sx-when{color:var(--muted); white-space:nowrap;}
.sx-ip{color:var(--muted); white-space:nowrap;}
.sx-detail{grid-column:2 / -1; color:var(--muted); font-size:0.78rem; overflow-wrap:anywhere;}
.sx-iplink{font:inherit; color:var(--water2); background:none; border:0; padding:0; cursor:pointer; text-decoration:underline dotted;}
@media (max-width:600px){ .sx-row{grid-template-columns:1fr;} .sx-detail{grid-column:1;} .sx-ip{white-space:normal;} }
.sx-bar{height:10px; border-radius:6px; background:rgba(255,255,255,0.1); overflow:hidden; margin:6px 0 4px;}
.sx-bar i{display:block; height:100%; background:var(--ok);} .sx-bar i.warn{background:var(--fire2);} .sx-bar i.bad{background:var(--danger);}
.sx-check{display:grid; grid-template-columns:22px minmax(110px, auto) 1fr; gap:8px; align-items:baseline; padding:7px 0; border-bottom:1px solid var(--line); font-size:0.88rem;}
.sx-check:last-child{border-bottom:0;}
.sx-check span:last-child{color:var(--muted);}
.sx-ico{font-weight:800; text-align:center;}
.sx-check.ok .sx-ico{color:var(--ok);} .sx-check.warn .sx-ico{color:var(--fire2);} .sx-check.bad .sx-ico{color:var(--danger);}
@media (max-width:600px){ .sx-check{grid-template-columns:22px 1fr;} .sx-check span:last-child{grid-column:2;} }
.sx-dir{display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:center; padding:5px 0; font-size:0.85rem; border-bottom:1px solid var(--line);}
.sx-mini{display:block; width:80px; height:6px; border-radius:4px; background:rgba(255,255,255,0.1); overflow:hidden;}
.sx-mini i{display:block; height:100%; background:var(--water2);}
.r-such { opacity: .85; font-size: 12.5px; }

/* Admin: Hersteller – Zugang zu Unterlagen */
.hz-tab { width: 100%; border-collapse: collapse; font-size: .9rem; }
.hz-tab th, .hz-tab td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line, #e5e7eb); vertical-align: top; }
.hz-tab th { position: sticky; top: 0; background: var(--night, #0f172a); color: var(--muted, #cbd5e1); font-weight: 600; }
.hz-tab td:nth-child(4) { text-align: right; }
.hz-tab td:nth-child(5) { max-width: 220px; overflow-wrap: anywhere; }

/* Auftragseingang: Geräte anhand LV oder Rechnungen */
.ae-quelle{display:flex;flex-direction:column;gap:4px;margin:2px 0 8px}
.ae-quelle label{font-weight:normal;display:flex;gap:6px;align-items:baseline}
/* Revision: Rechnungen */
.r-re{margin-bottom:8px}
.r-re-tab{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:6px}
.r-re-tab th,.r-re-tab td{border-top:1px solid var(--line,#ddd);padding:4px;text-align:left;vertical-align:top}
.r-re-tab input,.r-re-tab select{width:100%;min-width:70px}
@media (max-width:640px){.r-re-tab{display:block;overflow-x:auto}}

/* Gisela: Vorschläge bestätigen */
.g-vor{max-width:900px;margin:10px auto 90px;padding:12px 14px;border-radius:16px;border:1px solid rgba(196,167,255,0.55);background:rgba(124,58,237,0.12)}
.g-vor-h{font-weight:700;margin-bottom:8px}
.g-vor-row{display:flex !important;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);font-weight:normal !important}
.g-vor-row input{width:auto;margin-top:4px}
.g-del{color:#FFB3AD}
.g-felder{margin:4px 0 0;padding-left:18px;font-size:.85rem;color:var(--muted)}
.g-vor-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.g-prot{font-size:.8rem;max-height:160px;overflow:auto;margin-top:8px}

/* Admin-Hinweis auf der Startseite (Gesundheitscheck / Server-Warnungen) */
.sys-banner{margin:0 0 14px;padding:10px 14px;border-radius:12px;border:1px solid;font-size:.88rem;display:flex;flex-direction:column;gap:3px}
.sys-banner[hidden]{display:none}
.sys-banner.warn{background:rgba(255,196,0,.12);border-color:rgba(255,196,0,.5);color:#FFE3A0}
.sys-banner.bad{background:rgba(255,80,80,.14);border-color:rgba(255,110,110,.6);color:#FFC2BD}
.sys-banner a{color:inherit;font-weight:700}

/* Auftragseingang: Ausschreibung / eigenes Angebot */
.ae-art{display:inline-block;font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:9px;margin-left:4px;vertical-align:middle;white-space:nowrap}
.ae-art-ausschreibung{background:rgba(124,196,255,.16);color:#BFE2FF}
.ae-art-eigen{background:rgba(255,196,0,.16);color:#FFE3A0}

/* Auftragseingang: Zeitplan – kompakt (100+ Bauvorhaben je Jahr), Titelspalte fest, Raster + heute durchgehend */
.ae-zfilter{grid-template-columns:repeat(5,1fr)} @media (max-width:700px){.ae-zfilter{grid-template-columns:1fr 1fr}}
#aeZeit{width:min(1500px,calc(100vw - 24px));margin-left:calc(50% - min(750px,50vw - 12px))}
.ae-zeit{--tw:210px;padding:6px 8px 10px;overflow-x:auto;max-height:78vh;overflow-y:auto}
@media (max-width:700px){.ae-zeit{--tw:120px}}
.ae-zeit .zkopf,.ae-zeit .zr{display:grid;grid-template-columns:var(--tw) 1fr;min-width:560px}
.ae-zeit .zkopf{position:sticky;top:-6px;z-index:3;background:#151a3a;border-bottom:1px solid var(--line);height:22px}
.ae-zeit .zbody{position:relative;min-width:560px}
.ae-zeit .zraster{position:absolute;top:0;bottom:0;left:var(--tw);right:0;pointer-events:none;z-index:0}
.ae-zeit .zg{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.07)} .ae-zeit .zg-jahr{background:rgba(255,255,255,.22)}
.ae-zeit .zh{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#FF7A6B;opacity:.8}
.ae-zeit .zl{position:relative;height:16px}
.ae-zeit .zkopf .zl{height:22px}
.ae-zeit .zm{position:absolute;top:4px;font-size:.66rem;color:var(--muted);padding-left:3px;white-space:nowrap}
.ae-zeit .zm-heute{color:#FF7A6B;font-weight:700;top:auto;bottom:-1px;transform:translateX(-50%);padding:0;font-size:.6rem}
.ae-zeit .zgrp{position:relative;z-index:1}
.ae-zeit .zgrp > summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:.78rem;font-weight:700;padding:5px 2px 3px;position:relative;z-index:1}
.ae-zeit .zgrp > summary::-webkit-details-marker{display:none}
.ae-zeit .zgrp > summary .ae-sum{margin-left:auto;font-size:.75rem}
.ae-zeit .zr{cursor:pointer;position:relative;z-index:1}
.ae-zeit .zr:hover{background:rgba(255,255,255,.06)}
.ae-zeit .zr .zt{font-size:.72rem;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:6px}
.ae-zeit .zd{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle}
.ae-zeit .zb{position:absolute;top:3px;height:10px;border-radius:5px}
.ae-zeit .zb-li{border-top-left-radius:0;border-bottom-left-radius:0} .ae-zeit .zb-re{border-top-right-radius:0;border-bottom-right-radius:0}
.zb-kalkulation,.zl-k,.zd-kalkulation{background:rgba(124,196,255,.6)} .zb-abgegeben,.zl-a,.zd-abgegeben{background:rgba(255,170,90,.8)}
.zb-beauftragt,.zl-b,.zd-beauftragt{background:rgba(80,200,120,.85)} .zb-verloren,.zl-v,.zb-kein_angebot,.zd-verloren,.zd-kein_angebot{background:rgba(255,255,255,.22)}
.ae-zeit .zb-offen{background-image:repeating-linear-gradient(45deg,transparent 0 4px,rgba(0,0,0,.3) 4px 7px)}
.ae-zeit .zf{position:absolute;top:0;transform:translateX(-50%);font-size:.8rem;line-height:16px;color:#FFD36E;text-shadow:0 0 2px #000}
.ae-zeit .zf-eilig{color:#FF7A6B}
.ae-zlegende{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--muted);margin:0 0 8px}
.ae-zlegende i{display:inline-block;width:14px;height:8px;border-radius:4px;margin-right:4px;vertical-align:middle}
.zl-h{background:#FF7A6B !important;width:3px !important}
#zInfo{margin-left:auto}
.ae-zeit-kompakt{max-height:calc(100vh - 16px)}
.ae-zeit-kompakt .zl{height:9px} .ae-zeit-kompakt .zr .zt{font-size:.56rem;line-height:9px}
.ae-zeit-kompakt .zb{top:2px;height:5px;border-radius:3px} .ae-zeit-kompakt .zf{font-size:.5rem;line-height:9px}
.ae-zeit-kompakt .zd{width:5px;height:5px;margin-right:3px} .ae-zeit-kompakt .zgrp > summary{padding:3px 2px 1px;font-size:.72rem}
/* Kaufmännisch */
.kq{display:grid;grid-template-columns:1fr 60px 80px 70px 70px 80px;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line);font-size:.82rem}
.kq b,.kq span:not(.er-l){text-align:right}
.kq-kopf{font-size:.7rem;color:var(--muted)}
@media (max-width:600px){.kq{grid-template-columns:1fr 46px 60px 54px 54px 64px;font-size:.74rem}}
.kv-bar{display:flex} .kv-bar i{border-radius:0} .kv-bar i:first-child{border-radius:5px 0 0 5px}
.kv-f{background:rgba(80,200,120,.85) !important;color:rgba(80,200,120,.85)} .kv-c{background:rgba(255,170,90,.6) !important;color:rgba(255,170,90,.8)}
.kv-row{grid-template-columns:70px 1fr 80px}

/* Auftragseingang: pds-Angebote */
.ae-pds{margin-bottom:12px} .ae-pds > summary{cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none}
.ae-pds > summary::-webkit-details-marker{display:none}
.ae-pds .m-actions input{flex:1;min-width:180px}
.ae-pdsrow .ae-amt{gap:4px}
.ae-pdsact{display:flex;flex-direction:column;align-items:flex-end;gap:4px} .ae-pdsact select{max-width:240px;font-size:.8rem}
.ae-fpds .ae-pa{margin-top:0}

/* Startseite: Ampel Schnittstellen (pds, KI) */
.p-api{margin:12px auto 0;max-width:340px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));backdrop-filter:blur(8px);text-align:left}
.p-api[hidden]{display:none}
.p-api-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.p-api-kopf>span:first-child{font-weight:700}
.p-api-zeit{text-transform:none;letter-spacing:0}
.p-api-reihe{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.p-api-l{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(0,0,0,.18);
  color:inherit;font:inherit;cursor:pointer;text-align:left;min-width:0}
.p-api-l i{flex:none;width:11px;height:11px;border-radius:50%;background:#8a8fa8}
.p-api-n{font-weight:700;font-size:.85rem}
.p-api-s{margin-left:auto;font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:999px;white-space:nowrap;background:rgba(138,143,168,.18);color:#c3c7d8}
.p-api-gruen{border-color:rgba(61,220,132,.45)}
.p-api-gruen i{background:#3DDC84;box-shadow:0 0 8px #3DDC84;animation:pApiPuls 2.4s ease-in-out infinite}
.p-api-gruen .p-api-s{background:rgba(61,220,132,.16);color:#3DDC84}
.p-api-rot{border-color:rgba(255,90,79,.55);background:rgba(255,90,79,.08)}
.p-api-rot i{background:#FF5A4F;box-shadow:0 0 8px #FF5A4F}
.p-api-rot .p-api-s{background:rgba(255,90,79,.18);color:#FF8A82}
.p-api-l.is-offen{outline:2px solid rgba(255,255,255,.25);outline-offset:1px}
.p-api-detail{margin-top:8px;font-size:.75rem;line-height:1.4;color:var(--muted);padding:7px 9px;border-radius:8px;background:rgba(0,0,0,.2)}
.p-api-detail b{color:inherit}
@keyframes pApiPuls{50%{box-shadow:0 0 2px #3DDC84}}
@media (prefers-reduced-motion:reduce){.p-api-gruen i{animation:none}}

/* Startseite anordnen (startseite.js): Bearbeiten-Modus, Ziehen mit Maus/Touch, Standardaufbau im Adminbereich */
.st-edit{position:sticky; top:calc(6px + var(--safe-t)); z-index:20; display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 12px;
  padding:10px 12px; border-radius:14px; background:rgba(11,14,58,0.92); border:1px solid var(--line); font-size:0.85rem; color:var(--muted);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);}
.st-edit span{flex:1 1 180px;} .st-edit .p-btn{padding:8px 14px; margin:0;}
.st-on .p-tile[data-id]{cursor:grab; -webkit-touch-callout:none; user-select:none; -webkit-user-select:none; animation:stWackel .32s ease-in-out infinite alternate;}
.st-on .p-tile[data-id]:nth-child(2n){animation-delay:-.16s;}
.st-on .p-tile[data-id]::before{content:"⠿"; position:absolute; top:6px; right:9px; color:var(--muted); font-size:0.9rem; z-index:1;}
@keyframes stWackel{from{transform:rotate(-0.7deg);} to{transform:rotate(0.7deg);}}
.st-ph{opacity:0.25; animation:none !important;}
.st-ghost{position:fixed; z-index:1000; pointer-events:none; margin:0; opacity:0.92; transform-origin:center; box-shadow:0 18px 40px rgba(0,0,0,0.55) !important;
  animation:none !important; rotate:2deg;}
.st-dragging, .st-dragging *{cursor:grabbing !important; user-select:none; -webkit-user-select:none;}
@media (prefers-reduced-motion:reduce){ .st-on .p-tile[data-id]{animation:none; outline:1px dashed var(--line);} }
/* Admin: Standardaufbau */
.st-sec{margin-top:12px;} .st-sec h3{font-size:0.78rem; text-transform:uppercase; letter-spacing:0.12em; color:var(--muted); margin:0 0 6px;}
.st-list{display:flex; flex-wrap:wrap; gap:6px; min-height:44px; padding:6px; border-radius:12px; border:1px dashed var(--line); background:rgba(0,0,0,0.12);}
.st-chip{display:flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; background:var(--glass2); border:1px solid var(--line);
  font-size:0.84rem; cursor:grab; touch-action:manipulation; -webkit-touch-callout:none; user-select:none; -webkit-user-select:none;}
.st-chip small{color:var(--muted); font-size:0.72rem;}
.st-chip.st-dim{opacity:0.55;}
.st-fchip{flex:1 1 100%; flex-direction:column; align-items:stretch; background:rgba(59,63,143,0.35);}
.st-fhead{display:flex; align-items:center; gap:6px; font-weight:700;} .st-fhead b{flex:1;}
.st-fchip .st-list{min-height:40px; background:rgba(0,0,0,0.18);}
.st-empty{color:var(--muted); font-size:0.78rem; padding:6px;}
/* Hinweis auf Kacheln offline-fähiger Apps (startseite.OFFLINE) */
.p-off{align-self:flex-start; margin-top:auto; padding:2px 8px; border-radius:999px; font-size:0.7rem; font-weight:600; line-height:1.5;
  color:#c9f5dc; background:rgba(15,77,44,0.75); border:1px solid rgba(85,214,165,0.45); position:relative; z-index:1; white-space:nowrap;}
.p-tiles-small .p-off{align-self:center; margin-top:2px; font-size:0.62rem; padding:1px 6px;}
.p-off-n{color:#9ee8c4; white-space:nowrap;}

/* Startseite lebendig (startseite.js): Suche, Heute, Zuletzt, Live-Kacheln, Favoriten-Leiste, Kompakt-Ansicht, Ziehen zum Aktualisieren */
@view-transition{navigation:auto;}
.st-such{position:relative; margin:0 0 12px;}
.st-such input{width:100%; padding:12px 16px; border-radius:14px; border:1px solid var(--line); background:var(--glass); color:var(--ink);
  font:inherit; font-size:0.95rem; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);}
.st-such input:focus{outline:2px solid var(--accent); outline-offset:1px;}
.st-treffer{position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:30; max-height:60vh; overflow:auto; padding:6px; border-radius:14px;
  background:rgba(11,14,58,0.97); border:1px solid var(--line); box-shadow:0 16px 40px rgba(0,0,0,0.5);}
.st-tgr{font-size:0.7rem; text-transform:uppercase; letter-spacing:0.12em; color:var(--muted); margin:8px 8px 2px;}
.st-zeile{display:flex; align-items:flex-start; gap:10px; width:100%; padding:9px 10px; border-radius:10px; color:var(--ink); text-decoration:none;
  font:inherit; font-size:0.9rem; text-align:left; background:none; border:0; cursor:pointer;}
.st-zeile:hover, .st-zeile:focus-visible{background:var(--glass2);}
.st-zeile > span:first-child{flex:0 0 auto; width:1.4em; text-align:center;}
.st-zeile small{display:block; color:var(--muted); font-size:0.76rem;}
.st-zeile.st-warn{color:#FFD9A8;}
.st-eckbert{border-top:1px solid var(--line); border-radius:0 0 10px 10px; margin-top:4px;}
.st-leer{color:var(--muted); font-size:0.85rem; padding:8px 10px;}
.st-heute{margin:0 0 14px; padding:10px 8px 8px; border-radius:var(--radius); border:1px solid var(--line);
  background:linear-gradient(160deg, rgba(255,255,255,0.10), rgba(255,255,255,0.03)); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  animation:stRein .35s ease both;}
.st-heute-kopf{display:flex; align-items:baseline; justify-content:space-between; padding:0 10px 4px;}
.st-heute-kopf b{font-size:1.05rem;} .st-heute-kopf span{color:var(--muted); font-size:0.8rem;}
.st-zu-kopf{font-size:0.7rem; text-transform:uppercase; letter-spacing:0.12em; color:var(--muted); margin:8px 10px 6px;}
.st-zu-reihe{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:6px; padding:0 4px;}
.st-zu, .st-dock a{display:flex; flex-direction:column; align-items:center; gap:4px; color:var(--ink); text-decoration:none; font-size:0.7rem;
  text-align:center; min-width:0;}
.st-zu span:last-child, .st-dock b{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600;}
.st-zu .p-tile-ico, .st-dock .p-tile-ico{width:40px; height:40px; font-size:1.15rem; border-radius:12px;}
.st-zu:active, .st-dock a:active{transform:scale(0.93);}
@keyframes stRein{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
.p-tile.st-live .p-tile-desc{color:#BFE3FF; font-weight:600;}
/* Favoriten-Leiste über der unteren Leiste */
.st-dock{position:fixed; left:50%; transform:translateX(-50%); bottom:calc(68px + var(--safe-b)); z-index:15; display:flex; gap:14px;
  padding:8px 16px; border-radius:20px; background:rgba(11,14,58,0.85); border:1px solid var(--line); box-shadow:0 10px 30px rgba(0,0,0,0.45);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); max-width:calc(100vw - 24px);}
.st-dock a{width:62px;}
body.st-mit-dock .p-main{padding-bottom:180px;}
.st-stern{display:none; position:absolute; top:4px; left:6px; z-index:3; width:32px; height:32px; border:0; border-radius:50%; background:rgba(0,0,0,0.35);
  color:var(--fire2); font-size:1.05rem; cursor:pointer;}
.st-on .st-stern{display:block;} .st-stern.an{background:rgba(255,122,26,0.25);}
/* Kompakt: wie Symbole am Handy */
.st-kompakt .p-tiles{grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px;}
@media (min-width:640px){ .st-kompakt .p-tiles{grid-template-columns:repeat(6, minmax(0, 1fr));} }
.st-kompakt .p-tile{min-height:0; padding:10px 4px; align-items:center; text-align:center; gap:4px;}
.st-kompakt .p-tile-desc, .st-kompakt .p-off{display:none;}
.st-kompakt .p-tile-ico, .st-kompakt .p-folder-ico{width:44px; height:44px; font-size:1.25rem;}
.st-kompakt .p-tile-name, .st-kompakt .p-folder .p-tile-name{font-size:0.74rem; margin-top:0; overflow:hidden; text-overflow:ellipsis;
  max-width:100%; white-space:nowrap; hyphens:none; -webkit-hyphens:none;}
.st-kompakt .p-badge{top:4px; right:4px;}
/* Ordner öffnen sanft */
.p-folder-dlg[open]{animation:stOrdner .22s ease-out;}
@keyframes stOrdner{from{opacity:0; transform:scale(0.94);} to{opacity:1; transform:none;}}
/* Ziehen zum Aktualisieren */
.st-ptr{position:fixed; top:calc(-44px + var(--safe-t)); left:50%; margin-left:-20px; z-index:60; width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; background:rgba(11,14,58,0.95); border:1px solid var(--line); color:var(--muted);
  font-size:1.3rem; pointer-events:none; transition:color .15s;}
.st-ptr.bereit{color:var(--fire2);} .st-ptr.laedt span{animation:stDreh .8s linear infinite;} .st-ptr span{display:block;}
@keyframes stDreh{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){ .st-heute, .p-folder-dlg[open]{animation:none;} @view-transition{navigation:none;} }
/* Admin: Standard je Gruppe */
.st-gruppe{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:6px 0;} .st-gruppe select{width:auto; flex:1 1 220px;}
.st-gruppe .p-btn{margin:0; padding:8px 12px;}
/* Teilen mit der App */
.st-teilen-dateien{display:grid; grid-template-columns:repeat(auto-fill, minmax(96px, 1fr)); gap:8px;}
.st-teilen-dateien img{width:100%; aspect-ratio:1; object-fit:cover; border-radius:10px; border:1px solid var(--line);}
.st-teilen-pdf{display:flex; align-items:center; padding:10px; border-radius:10px; background:var(--glass2); color:var(--ink); font-size:0.8rem; word-break:break-all;}
.st-teilen-text{white-space:pre-wrap; color:var(--muted); font-size:0.85rem;}

/* Einrichtungsassistent neuer Firmen-Apps (einrichtung.html) */
.ei-karte{max-width:560px}
.ei-schritte{display:flex;gap:6px;list-style:none;padding:0;margin:12px 0 18px;counter-reset:ei}
.ei-schritte li{flex:1;text-align:center;font-size:.8rem;padding:6px 2px;border-radius:10px;background:var(--glass);color:var(--muted)}
.ei-schritte li.ei-akt{background:var(--glass2);color:var(--ink);font-weight:600}
.ei-schritte li.ei-ok{color:var(--ok)}
.ei-logo{background:#fff;border-radius:12px;padding:12px;margin:8px 0;text-align:center}
.ei-logo img{max-width:100%;max-height:90px}
.ei-paletten{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0 12px}
.ei-palette{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;border:2px solid transparent;background:var(--glass);color:var(--ink);cursor:pointer}
.ei-palette span{width:44px;height:28px;border-radius:8px;flex:none;background:linear-gradient(90deg,var(--c) 0 33%,var(--b) 33% 66%,var(--d) 66%)}
.ei-palette.ei-gewaehlt{border-color:var(--a);box-shadow:0 0 0 2px var(--c)}
