/* Hermann-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;} }
