:root{
    --bg:#050912;
    --panel:#101826;
    --panel2:#121d2e;
    --text:#f7fbff;
    --muted:#94a3b8;
    --line:#27364f;
    --blue:#3b82f6;
    --blue2:#60a5fa;
    --blue3:#93c5fd;
    --blue-dark:#2563eb;
    --blue-rgb:59,130,246;
    --blue2-rgb:96,165,250;
    --blue-dark-rgb:37,99,235;
    --blue-soft-text:#bfdbfe;
    --primary:var(--blue);
    --primary-2:var(--blue2);
    --primary-3:var(--blue3);
    --primary-dark:var(--blue-dark);
    --primary-rgb:var(--blue-rgb);
    --primary2-rgb:var(--blue2-rgb);
    --primary-dark-rgb:var(--blue-dark-rgb);
    --glass-bg:rgba(10,16,28,.58);
    --glass-border:rgba(255,255,255,.10);
    --green:#22c55e;
    --red:#ef4444;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
    margin:0;
    font-family:Inter,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
}
.login-page{
    position:relative;
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(360px,590px) minmax(360px,450px);
    align-items:center;
    justify-content:center;
    gap:72px;
    padding:54px 28px 104px;
    isolation:isolate;
    overflow:hidden;
}
.bg-grid{
    position:absolute;
    inset:0;
    z-index:-6;
    background:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
        radial-gradient(circle at 18% 22%, rgba(var(--blue-rgb),.28), transparent 34%),
        radial-gradient(circle at 82% 74%, rgba(var(--blue-dark-rgb),.20), transparent 36%),
        linear-gradient(135deg,#07101d,#04070d 58%,#0c1220);
    background-size:62px 62px,62px 62px,auto,auto,auto;
    mask-image:radial-gradient(circle at center, black, transparent 91%);
}
.noise{
    position:absolute;inset:0;z-index:-5;opacity:.06;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}
.cursor-glow{
    position:absolute;
    width:420px;height:420px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(var(--blue2-rgb),.16), transparent 62%);
    z-index:-4;
    pointer-events:none;
    transition:transform .12s ease-out;
}
.orb{
    position:absolute;
    border-radius:999px;
    filter:blur(36px);
    opacity:.55;
    z-index:-4;
    animation:float 9s ease-in-out infinite;
}
.orb-one{width:260px;height:260px;background:rgba(var(--blue-rgb),.42);left:10%;top:17%}
.orb-two{width:210px;height:210px;background:rgba(var(--blue2-rgb),.17);right:12%;bottom:17%;animation-delay:-3s}
.orb-three{width:150px;height:150px;background:rgba(255,255,255,.08);left:48%;bottom:9%;animation-delay:-5s}
@keyframes float{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-20px,0) scale(1.05)}}
.top-clock{
    position:absolute;
    top:26px;
    right:30px;
    padding:10px 14px;
    border:1px solid var(--glass-border);
    border-radius:999px;
    background:rgba(10,16,28,.45);
    backdrop-filter:blur(14px);
    color:#cbd5e1;
    font-size:13px;
    font-weight:700;
    box-shadow:0 16px 40px rgba(0,0,0,.24);
}
.hero-panel{animation:fadeUp .7s ease both}
.hero-topline{
    display:inline-flex;align-items:center;gap:10px;
    padding:9px 13px;
    border:1px solid rgba(var(--blue2-rgb),.36);
    border-radius:999px;
    background:rgba(var(--blue-rgb),.11);
    color:var(--blue-soft-text);
    font-size:13px;
    font-weight:900;
    letter-spacing:.45px;
    text-transform:uppercase;
}
.hero-topline:before{
    content:"";width:8px;height:8px;border-radius:999px;background:var(--blue2);
    box-shadow:0 0 24px var(--blue2);
}
.hero-panel h2{
    margin:24px 0 17px;
    font-size:clamp(48px,6vw,80px);
    line-height:.91;
    letter-spacing:-4.5px;
    text-shadow:0 22px 60px rgba(0,0,0,.42);
}
.hero-panel p{
    margin:0;
    max-width:540px;
    color:var(--muted);
    font-size:17px;
    line-height:1.75;
}
.visual-board{
    position:relative;
    width:min(560px,100%);
    height:300px;
    margin-top:36px;
}
.map-card{
    position:absolute;inset:24px 48px 26px 10px;
    border:1px solid var(--glass-border);
    border-radius:34px;
    background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
    backdrop-filter:blur(18px);
    box-shadow:0 30px 90px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08);
    overflow:hidden;
}
.map-card:before{
    content:"";position:absolute;inset:0;
    background:
        radial-gradient(circle at 25% 28%, rgba(var(--blue2-rgb),.22), transparent 16%),
        radial-gradient(circle at 76% 60%, rgba(var(--blue2-rgb),.15), transparent 18%),
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size:auto,auto,34px 34px,34px 34px;
}
.map-lines{
    position:absolute;inset:0;
    background:
      linear-gradient(38deg, transparent 20%, rgba(var(--blue2-rgb),.40) 20.5%, transparent 21.2% 52%, rgba(var(--blue2-rgb),.28) 52.7%, transparent 53.5%),
      linear-gradient(150deg, transparent 28%, rgba(var(--blue2-rgb),.26) 28.7%, transparent 29.5% 62%, rgba(var(--blue2-rgb),.22) 62.6%, transparent 63.4%);
    opacity:.72;
    animation:pulseLines 3.2s ease-in-out infinite;
}
@keyframes pulseLines{0%,100%{opacity:.45}50%{opacity:.9}}
.pin{position:absolute;width:15px;height:15px;border-radius:999px;background:var(--blue-soft-text);box-shadow:0 0 0 8px rgba(var(--blue2-rgb),.15),0 0 30px rgba(var(--blue2-rgb),.85);animation:pinPulse 1.8s infinite}
.pin-a{left:22%;top:36%}.pin-b{left:63%;top:31%;animation-delay:.35s}.pin-c{left:78%;top:66%;animation-delay:.7s}.pin-d{left:39%;top:72%;animation-delay:1.05s}
@keyframes pinPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.floating-card{
    position:absolute;
    min-width:170px;
    padding:15px 16px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(9,15,27,.72);
    backdrop-filter:blur(16px);
    box-shadow:0 22px 60px rgba(0,0,0,.35);
    animation:cardFloat 5s ease-in-out infinite;
}
.floating-card:before{content:"";display:inline-block;width:10px;height:10px;border-radius:999px;background:var(--blue2);box-shadow:0 0 20px rgba(var(--blue2-rgb),.7);margin-right:9px}
.floating-card b{font-size:14px}.floating-card span{display:block;margin-top:7px;color:#9fb0c7;font-size:13px}
.card-a{left:0;top:18px}.card-b{right:0;top:106px;animation-delay:-1.5s}.card-c{left:72px;bottom:0;animation-delay:-3s}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.login-card{
    width:100%;max-width:450px;
    position:relative;overflow:hidden;
    padding:32px;
    border-radius:32px;
    border:1px solid rgba(255,255,255,.13);
    background:linear-gradient(180deg,rgba(18,28,44,.88),rgba(10,16,27,.82));
    box-shadow:0 40px 120px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.09);
    backdrop-filter:blur(24px);
    animation:fadeUp .7s ease .12s both;
    transform-style:preserve-3d;
    transition:transform .18s ease, box-shadow .22s ease, border-color .22s ease;
}
.login-card:hover{border-color:rgba(var(--blue2-rgb),.34);box-shadow:0 48px 140px rgba(0,0,0,.60),0 0 65px rgba(var(--blue-rgb),.12), inset 0 1px 0 rgba(255,255,255,.1)}
.login-card:before{content:"";position:absolute;inset:-2px;z-index:-1;background:radial-gradient(circle at 20% 0%,rgba(var(--blue2-rgb),.35),transparent 38%)}
.login-card:after{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-18deg);animation:shine 5.5s ease-in-out infinite;pointer-events:none}
@keyframes shine{0%,55%{left:-120%}100%{left:140%}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.brand{display:flex;gap:13px;align-items:center;margin-bottom:24px;position:relative;z-index:1}
.brand strong{display:block;font-size:16px}.brand span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.logo{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--blue3),var(--blue-dark));display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.5px;box-shadow:0 15px 38px rgba(var(--blue-rgb),.38);animation:logoPulse 3.5s ease-in-out infinite}
@keyframes logoPulse{0%,100%{box-shadow:0 15px 38px rgba(var(--blue-rgb),.34)}50%{box-shadow:0 15px 52px rgba(var(--blue2-rgb),.55)}}
.headline p{margin:0 0 4px;color:var(--muted);font-size:14px;font-weight:800}h1{font-size:39px;line-height:1;margin:0 0 24px;letter-spacing:-1.9px}
.alert{position:relative;z-index:1;padding:14px 15px;border-radius:16px;margin:0 0 18px;font-weight:700;line-height:1.35}.error{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.45);color:#ffe6e8}.success{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.52);color:#dcffe7}
form{position:relative;z-index:1}label{display:block;margin:15px 0 8px;color:#dce7f7;font-size:14px;font-weight:800}.input-wrap{position:relative}.input-wrap svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#718099;pointer-events:none;transition:.2s ease}
input{width:100%;height:54px;border-radius:17px;border:1px solid var(--line);background:rgba(5,9,16,.80);color:#fff;padding:0 48px 0 48px;outline:none;font-size:15px;transition:.2s ease}input::placeholder{color:#64748b}input:focus{border-color:rgba(var(--blue2-rgb),.95);box-shadow:0 0 0 5px rgba(var(--blue-rgb),.14),0 17px 34px rgba(0,0,0,.22);transform:translateY(-1px)}.input-wrap:focus-within svg{color:var(--blue2)}.eye-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:39px;height:39px;border:0;border-radius:13px;background:transparent;color:#93a4bd;cursor:pointer;font-size:15px;transition:.2s ease}.eye-btn:hover{background:rgba(var(--blue2-rgb),.10);color:var(--blue-soft-text)}.login-btn{position:relative;overflow:hidden;width:100%;height:56px;margin-top:22px;border:0;border-radius:17px;background:linear-gradient(135deg,var(--blue2),var(--blue),var(--blue-dark));background-size:180% 180%;color:#fff;font-weight:900;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 20px 42px rgba(var(--blue-rgb),.31);transition:.22s ease;animation:gradMove 4s ease infinite}.login-btn:before{content:"";position:absolute;inset:0;left:-120%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);transform:skewX(-18deg);transition:.55s ease}.login-btn:hover:before{left:125%}@keyframes gradMove{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.login-btn svg{width:20px;height:20px;transition:.22s ease}.login-btn:hover{transform:translateY(-2px);box-shadow:0 26px 54px rgba(var(--blue-rgb),.42);filter:saturate(1.15)}.login-btn:hover svg{transform:translateX(4px)}.login-btn:active{transform:translateY(0) scale(.99)}.btn-loader{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:999px;animation:spin .75s linear infinite}.login-btn.loading svg{display:none}.login-btn.loading .btn-loader{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.secure-line{position:relative;z-index:1;margin-top:18px;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:#aab8cc;font-size:13px;font-weight:700;text-align:center}
@media(max-width:980px){.login-page{grid-template-columns:1fr;gap:28px;padding:78px 18px 32px}.hero-panel{text-align:center;max-width:620px;margin:0 auto}.hero-panel p{margin:0 auto}.visual-board{display:none}.top-clock{right:18px;top:18px}}
@media(max-width:520px){.login-card{padding:24px;border-radius:26px}.hero-panel h2{font-size:42px;letter-spacing:-2.2px}h1{font-size:34px}.top-clock{display:none}}

/* Premium-Feinschliff v5 */
.particle-layer{position:absolute;inset:0;z-index:-4;pointer-events:none;overflow:hidden}
.particle-layer span{position:absolute;width:3px;height:3px;border-radius:999px;background:rgba(var(--blue2-rgb),.75);box-shadow:0 0 18px rgba(var(--blue2-rgb),.9);animation:particleDrift 11s linear infinite;opacity:.55}
.particle-layer span:nth-child(1){left:18%;top:74%;animation-duration:13s}.particle-layer span:nth-child(2){left:31%;top:18%;animation-duration:16s;animation-delay:-4s}.particle-layer span:nth-child(3){left:55%;top:64%;animation-duration:14s;animation-delay:-7s}.particle-layer span:nth-child(4){left:72%;top:28%;animation-duration:18s;animation-delay:-2s}.particle-layer span:nth-child(5){left:83%;top:80%;animation-duration:15s;animation-delay:-9s}.particle-layer span:nth-child(6){left:9%;top:35%;animation-duration:17s;animation-delay:-5s}
@keyframes particleDrift{0%{transform:translate3d(0,40px,0);opacity:0}12%,82%{opacity:.65}100%{transform:translate3d(50px,-120px,0);opacity:0}}
.top-clock{min-width:172px;text-align:center;line-height:1.25}.top-clock .day{display:block;color:#fff}.top-clock .date{display:block;color:#9fb0c7;font-weight:600;margin-top:2px}
.map-card{background:linear-gradient(180deg,rgba(25,38,58,.62),rgba(9,15,27,.28));}
.route{position:absolute;height:2px;width:62%;left:14%;top:48%;background:linear-gradient(90deg,transparent,rgba(var(--blue2-rgb),.75),transparent);filter:drop-shadow(0 0 8px rgba(var(--blue2-rgb),.6));transform-origin:center;animation:routeMove 4.8s ease-in-out infinite;opacity:.55}.route-one{transform:rotate(-28deg)}.route-two{top:58%;left:24%;width:50%;transform:rotate(31deg);animation-delay:-2s}
@keyframes routeMove{0%,100%{opacity:.18;clip-path:inset(0 100% 0 0)}45%,65%{opacity:.85;clip-path:inset(0 0 0 0)}}
.building{position:absolute;z-index:2;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:15px;background:rgba(9,15,27,.72);border:1px solid rgba(var(--blue2-rgb),.18);box-shadow:0 14px 38px rgba(0,0,0,.35),0 0 32px rgba(var(--blue-rgb),.12);backdrop-filter:blur(14px);font-size:18px;animation:buildingFloat 5.8s ease-in-out infinite}.building-a{left:13%;bottom:24%}.building-b{right:18%;top:21%;animation-delay:-2.4s}@keyframes buildingFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.login-card{animation:fadeUp .7s ease .12s both, idleFloat 7s ease-in-out 1.2s infinite}.login-card:hover{animation-play-state:running,paused}@keyframes idleFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}
.login-card:before{background:radial-gradient(circle at 18% 0%,rgba(var(--blue2-rgb),.42),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.11),transparent 20%)}
.logo{position:relative;overflow:hidden}.logo:after{content:"";position:absolute;inset:9px;border-radius:12px;border:1px solid rgba(255,255,255,.24);opacity:.45}.logo:hover{transform:translateY(-1px) scale(1.02)}
.input-wrap:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--blue2-rgb),.9),transparent);transform:scaleX(0);transition:transform .22s ease}.input-wrap:focus-within:after{transform:scaleX(1)}
.login-btn.loading{cursor:wait;filter:saturate(1.2)}
.secure-line{min-height:46px;transition:opacity .25s ease, transform .25s ease}.secure-line.swap{opacity:0;transform:translateY(4px)}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}


/* Feste Premium-Fußzeile + Rechtliches Modal */
.site-footer{
    position:fixed;
    left:18px;
    right:18px;
    bottom:14px;
    z-index:30;
    border:1px solid var(--glass-border);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(16,24,39,.68),rgba(7,12,22,.58));
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 22px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
    overflow:hidden;
    animation:footerIn .65s ease .35s both;
}
.site-footer:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(var(--blue2-rgb),.72),transparent);
}
.footer-inner{
    min-height:58px;
    max-width:1160px;
    margin:0 auto;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.footer-copy{
    color:#cbd5e1;
    font-size:13px;
    font-weight:800;
    letter-spacing:.02em;
}
.footer-links{
    display:flex;
    align-items:center;
    gap:12px;
    color:#64748b;
}
.footer-links button{
    position:relative;
    border:0;
    background:transparent;
    color:#a9b8cf;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    padding:8px 2px;
    transition:color .2s ease, transform .2s ease;
}
.footer-links button:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:3px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--blue2),var(--blue));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .22s ease;
}
.footer-links button:hover,
.footer-links button:focus-visible{
    color:var(--blue-soft-text);
    transform:translateY(-1px);
    outline:none;
}
.footer-links button:hover:after,
.footer-links button:focus-visible:after{transform:scaleX(1)}
@keyframes footerIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.legal-modal-backdrop{
    position:fixed;
    inset:0;
    z-index:80;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(2,6,15,.62);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
.legal-modal-backdrop[hidden]{display:none}
.legal-modal{
    width:min(640px,100%);
    max-height:min(76vh,720px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    background:linear-gradient(180deg,rgba(17,27,44,.96),rgba(8,13,24,.94));
    box-shadow:0 34px 110px rgba(0,0,0,.62),0 0 80px rgba(var(--blue-rgb),.14), inset 0 1px 0 rgba(255,255,255,.09);
    animation:modalPop .22s ease both;
}
.legal-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:24px 24px 18px;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.legal-modal-head p{
    margin:0 0 6px;
    color:var(--blue2);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.legal-modal-head h2{
    margin:0;
    font-size:28px;
    letter-spacing:-.8px;
}
.modal-close{
    width:42px;
    height:42px;
    border:1px solid var(--glass-border);
    border-radius:15px;
    background:rgba(255,255,255,.04);
    color:var(--blue-soft-text);
    font-size:26px;
    line-height:1;
    cursor:pointer;
    transition:.2s ease;
}
.modal-close:hover{background:rgba(var(--blue2-rgb),.13);border-color:rgba(var(--blue2-rgb),.35);transform:rotate(3deg) scale(1.03)}
.legal-modal-body{
    padding:22px 24px 26px;
    overflow:auto;
    max-height:calc(min(76vh,720px) - 104px);
    color:#b9c8dd;
    line-height:1.7;
    font-size:14px;
}
.legal-modal-body p{margin:0 0 14px}
.legal-modal-body b{color:#fff}
.legal-modal-body ul{margin:0 0 14px 20px;padding:0}
@keyframes modalPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:720px){
    .login-page{padding-bottom:128px}
    .site-footer{left:10px;right:10px;bottom:10px;border-radius:18px}
    .footer-inner{min-height:78px;flex-direction:column;justify-content:center;gap:2px;padding:10px 14px;text-align:center}
    .footer-links{gap:9px;flex-wrap:wrap;justify-content:center}
}

.legal-section{
  padding: 14px 0;
  border-bottom: 1px solid rgba(148, 163, 184, .14);
}
.legal-section:first-child{padding-top:0;}
.legal-section:last-child{border-bottom:0; padding-bottom:0;}
.legal-section h3{
  margin: 0 0 8px;
  font-size: 14px;
  color: var(--blue-soft-text);
  letter-spacing: .01em;
}
.legal-section p{
  margin: 0 0 8px;
  line-height: 1.65;
}
.legal-section p:last-child{margin-bottom:0;}
.legal-section a{
  color: var(--blue2);
  text-decoration: none;
  border-bottom: 1px solid rgba(121,184,255,.28);
}
.legal-section a:hover{
  color: var(--blue-soft-text);
  border-bottom-color: rgba(121,184,255,.7);
}
.legal-note{
  background: rgba(var(--blue-rgb),.07);
  border: 1px solid rgba(var(--blue-rgb),.16);
  border-radius: 16px;
  padding: 14px 16px !important;
  margin-top: 14px;
}

/* Dashboard Basis */
.dashboard-body{
    min-height:100vh;
    margin:0;
    font-family:Inter,Arial,sans-serif;
    background:#050912;
    color:var(--text);
    overflow-x:hidden;
}
.dashboard-bg{
    position:fixed;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px),
        radial-gradient(circle at 20% 18%, rgba(var(--blue-rgb),.28), transparent 34%),
        radial-gradient(circle at 78% 78%, rgba(var(--blue2-rgb),.18), transparent 38%),
        linear-gradient(135deg,#07101d,#04070d 58%,#0c1220);
    background-size:62px 62px,62px 62px,auto,auto,auto;
}
.dashboard-topbar{
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:22px 32px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(5,9,18,.58);
    backdrop-filter:blur(20px);
}
.dash-brand{
    display:flex;
    gap:14px;
    align-items:center;
}
.dash-brand strong{display:block;font-size:16px;letter-spacing:.2px}
.dash-brand span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.logout-btn{
    color:var(--blue-soft-text);
    text-decoration:none;
    font-weight:800;
    border:1px solid rgba(var(--blue2-rgb),.24);
    background:rgba(var(--blue-rgb),.10);
    padding:11px 16px;
    border-radius:14px;
    transition:.2s ease;
}
.logout-btn:hover{transform:translateY(-1px);background:rgba(var(--blue-rgb),.18);border-color:rgba(var(--blue2-rgb),.45)}
.dashboard-shell{
    width:min(1120px, calc(100% - 40px));
    margin:70px auto;
}
.dashboard-hero-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.11);
    border-radius:32px;
    background:linear-gradient(145deg, rgba(17,24,39,.82), rgba(11,18,32,.64));
    box-shadow:0 28px 80px rgba(0,0,0,.45), 0 0 70px rgba(var(--blue-rgb),.12);
    backdrop-filter:blur(22px);
    padding:42px;
}
.dashboard-hero-card:before{
    content:"";
    position:absolute;
    inset:-1px;
    background:radial-gradient(circle at 20% 0%, rgba(var(--blue2-rgb),.22), transparent 42%);
    pointer-events:none;
}
.dash-kicker{
    position:relative;
    display:inline-flex;
    color:var(--blue-soft-text);
    background:rgba(var(--blue-rgb),.12);
    border:1px solid rgba(var(--blue2-rgb),.20);
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
    margin-bottom:18px;
}
.dashboard-hero-card h1{
    position:relative;
    margin:0;
    font-size:clamp(42px, 7vw, 78px);
    letter-spacing:-.06em;
    line-height:.92;
}
.dashboard-hero-card p{
    position:relative;
    color:#cbd5e1;
    font-size:19px;
    margin:18px 0 30px;
}
.dash-meta-grid{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.dash-meta-grid div{
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.045);
    border-radius:20px;
    padding:18px;
}
.dash-meta-grid span{display:block;color:var(--muted);font-size:13px;font-weight:800;margin-bottom:7px}
.dash-meta-grid strong{display:block;color:#fff;font-size:15px;overflow-wrap:anywhere}
@media(max-width:800px){
    .dashboard-topbar{padding:18px 18px}
    .dashboard-shell{margin:36px auto;width:min(100% - 24px, 1120px)}
    .dashboard-hero-card{padding:28px;border-radius:26px}
    .dash-meta-grid{grid-template-columns:1fr}
}

/* =========================================================
   DDL Einsatzpanel - Firmen-Dashboard v1
   ========================================================= */
.app-body{
    min-height:100vh;
    margin:0;
    font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:#f8fafc;
    background:#050914;
    overflow-x:hidden;
}
.app-background{position:fixed;inset:0;z-index:-3;background:
    radial-gradient(circle at 18% 16%, rgba(var(--blue-rgb),.30), transparent 32%),
    radial-gradient(circle at 82% 70%, rgba(var(--blue-dark-rgb),.18), transparent 34%),
    linear-gradient(135deg,#050914,#090f1d 48%,#050914);
}
.app-background:before{content:"";position:absolute;inset:0;background-image:
    linear-gradient(rgba(148,163,184,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.055) 1px, transparent 1px);
    background-size:58px 58px;mask-image:radial-gradient(circle at center, black 0 52%, transparent 80%);opacity:.8}
.app-background span{position:absolute;width:4px;height:4px;background:var(--blue3);border-radius:50%;box-shadow:0 0 24px var(--blue2);animation:starFloat 7s ease-in-out infinite;opacity:.7}
.app-background span:nth-child(1){left:20%;top:22%}.app-background span:nth-child(2){left:74%;top:78%;animation-delay:1.3s}.app-background span:nth-child(3){left:56%;top:36%;animation-delay:2.6s}
@keyframes starFloat{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-18px);opacity:.95}}
.app-sidebar{position:fixed;left:18px;top:18px;bottom:18px;width:286px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(145deg,rgba(15,23,42,.82),rgba(2,6,23,.72));backdrop-filter:blur(26px);border-radius:30px;box-shadow:0 32px 90px rgba(0,0,0,.42),0 0 80px rgba(var(--blue-rgb),.12);padding:22px;display:flex;flex-direction:column;z-index:10;animation:slideIn .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes slideIn{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:translateX(0)}}
.sidebar-brand{display:flex;align-items:center;gap:14px;padding:8px 6px 24px;border-bottom:1px solid rgba(148,163,184,.12)}
.app-logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-weight:950;letter-spacing:-.06em;color:white;background:linear-gradient(135deg,var(--blue2),var(--blue-dark));box-shadow:0 0 35px rgba(var(--blue-rgb),.42)}
.sidebar-brand strong{display:block;font-size:18px;letter-spacing:-.02em}.sidebar-brand small{display:block;color:#94a3b8;font-weight:700;margin-top:3px}
.sidebar-nav{display:flex;flex-direction:column;gap:8px;margin-top:22px}.sidebar-nav a{display:flex;align-items:center;gap:12px;color:#aab7cc;text-decoration:none;font-weight:850;padding:14px 14px;border-radius:17px;border:1px solid transparent;transition:.22s ease}.sidebar-nav a span{width:24px;text-align:center;filter:saturate(1.2)}
.sidebar-nav a:hover{color:#fff;background:rgba(var(--blue-rgb),.10);border-color:rgba(var(--blue2-rgb),.18);transform:translateX(3px)}.sidebar-nav a.active{color:#fff;background:linear-gradient(135deg,rgba(var(--blue-rgb),.28),rgba(var(--blue2-rgb),.10));border-color:rgba(var(--blue2-rgb),.30);box-shadow:0 0 30px rgba(var(--blue-rgb),.15)}
.sidebar-footer{margin-top:auto;border:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.045);border-radius:20px;padding:16px}.sidebar-footer strong{display:block;font-size:14px}.sidebar-footer span{display:block;color:#94a3b8;font-size:13px;margin-top:4px;font-weight:700}
.app-main{margin-left:334px;padding:30px 32px 48px;min-height:100vh;box-sizing:border-box}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px;animation:fadeUp .48s ease both}.eyebrow{margin:0 0 7px;color:var(--blue3);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.14em}.app-header h1{font-size:clamp(30px,4vw,54px);line-height:1;letter-spacing:-.055em;margin:0;max-width:850px}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.live-pill,.clock-pill,.profile-pill,.app-logout{border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.72);backdrop-filter:blur(18px);box-shadow:0 12px 38px rgba(0,0,0,.20)}.live-pill,.clock-pill{border-radius:999px;padding:12px 14px;color:var(--blue-soft-text);font-size:13px;font-weight:900}.live-pill{display:flex;align-items:center;gap:8px}.live-pill span{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 16px #22c55e}.profile-pill{display:flex;align-items:center;gap:12px;border-radius:20px;padding:9px 12px}.profile-avatar{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue2),var(--blue-dark));font-weight:950}.profile-pill strong{display:block;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-pill small{display:block;color:#94a3b8;font-weight:800;margin-top:2px}.app-logout{color:var(--blue-soft-text);text-decoration:none;font-weight:950;border-radius:16px;padding:14px 16px;transition:.2s ease}.app-logout:hover{transform:translateY(-2px);background:rgba(var(--blue-rgb),.16);border-color:rgba(var(--blue2-rgb),.35)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-card{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.14);background:linear-gradient(145deg,rgba(17,24,39,.76),rgba(2,6,23,.62));backdrop-filter:blur(22px);border-radius:26px;padding:22px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 24px 65px rgba(0,0,0,.22);animation:fadeUp .48s ease both;animation-delay:var(--delay)}.stat-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0,rgba(var(--blue2-rgb),.18),transparent 45%);opacity:.85;pointer-events:none}.stat-card:hover{transform:translateY(-4px);border-color:rgba(var(--blue2-rgb),.34);box-shadow:0 30px 80px rgba(0,0,0,.32),0 0 45px rgba(var(--blue-rgb),.10)}.stat-icon{position:relative;width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(var(--blue2-rgb),.12);border:1px solid rgba(var(--blue2-rgb),.18);font-size:20px}.stat-card div:not(.stat-icon){position:relative}.stat-card span{display:block;color:#aab7cc;font-size:13px;font-weight:900}.stat-card strong{display:block;font-size:36px;line-height:1;margin:8px 0 6px;letter-spacing:-.05em}.stat-card small{color:#73839b;font-size:12px;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.panel-card{border:1px solid rgba(148,163,184,.14);background:linear-gradient(145deg,rgba(17,24,39,.78),rgba(2,6,23,.64));backdrop-filter:blur(24px);border-radius:30px;padding:26px;box-shadow:0 26px 74px rgba(0,0,0,.24);animation:fadeUp .55s ease .18s both}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-title h2{margin:0;font-size:26px;letter-spacing:-.04em}.status-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(34,197,94,.24);color:#bbf7d0;background:rgba(34,197,94,.10);border-radius:999px;padding:9px 12px;font-weight:950;font-size:13px}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 14px #22c55e}.info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-list div{border:1px solid rgba(148,163,184,.11);background:rgba(255,255,255,.04);border-radius:18px;padding:15px}.info-list span{display:block;color:#94a3b8;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.info-list strong{display:block;color:#fff;font-size:15px;overflow-wrap:anywhere}.activity-list{position:relative;display:flex;flex-direction:column;gap:13px}.activity-list div{display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:center;border:1px solid rgba(148,163,184,.10);background:rgba(255,255,255,.035);border-radius:18px;padding:14px}.activity-list div>span{width:10px;height:10px;border-radius:50%;background:var(--blue2);box-shadow:0 0 18px var(--blue2)}.activity-list p{margin:0;font-weight:900;color:#e2e8f0}.activity-list small{color:#94a3b8;font-weight:800;white-space:nowrap}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.app-header{flex-direction:column}.header-actions{justify-content:flex-start}}
@media(max-width:820px){.app-sidebar{position:relative;left:auto;top:auto;bottom:auto;width:auto;margin:12px;border-radius:24px}.app-main{margin-left:0;padding:14px 14px 34px}.sidebar-nav{display:grid;grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:1fr}.info-list{grid-template-columns:1fr}.header-actions{width:100%}.profile-pill{width:100%;box-sizing:border-box}.clock-pill{width:100%;box-sizing:border-box;text-align:center}.activity-list div{grid-template-columns:14px 1fr}.activity-list small{grid-column:2}}

/* =========================================================
   DDL Einsatzpanel - Objekte
   ========================================================= */
.page-subtitle{margin:10px 0 0;color:#9fb0c9;font-weight:700;max-width:760px}.objects-header{align-items:center}.primary-action,.secondary-action,.danger-action{appearance:none;border:0;font-family:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;font-weight:950;transition:.22s ease}.primary-action{color:#fff;background:linear-gradient(135deg,var(--blue2),var(--blue-dark));box-shadow:0 18px 42px rgba(var(--blue-dark-rgb),.30), inset 0 1px 0 rgba(255,255,255,.22);padding:14px 18px}.primary-action span{font-size:22px;line-height:0}.primary-action:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(var(--blue-dark-rgb),.42)}.secondary-action{color:var(--blue-soft-text);background:rgba(var(--blue-rgb),.12);border:1px solid rgba(var(--blue2-rgb),.24);padding:13px 16px}.secondary-action:hover{background:rgba(var(--blue-rgb),.20);transform:translateY(-1px)}.danger-action{color:#fecaca;background:rgba(239,68,68,.12);border:1px solid rgba(248,113,113,.28);padding:13px 16px}.danger-action:hover{background:rgba(239,68,68,.20);transform:translateY(-1px)}.notice{border-radius:18px;padding:14px 16px;margin:0 0 18px;font-weight:850;border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.70);backdrop-filter:blur(18px)}.notice.success{color:#bbf7d0;border-color:rgba(34,197,94,.22);background:rgba(34,197,94,.09)}.notice.error{color:#fecaca;border-color:rgba(248,113,113,.22);background:rgba(239,68,68,.09)}.compact-panel{padding:16px;margin-bottom:18px}.objects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.search-box{flex:1;display:flex;align-items:center;gap:12px;border:1px solid rgba(148,163,184,.13);background:rgba(255,255,255,.045);border-radius:18px;padding:0 14px;min-height:54px}.search-box span{opacity:.8}.search-box input{width:100%;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-weight:800}.search-box input::placeholder{color:#64748b}.toolbar-meta{min-width:150px;text-align:right}.toolbar-meta strong{display:block;font-size:26px;letter-spacing:-.04em}.toolbar-meta span{display:block;color:#94a3b8;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.state-card{border:1px solid rgba(148,163,184,.14);background:linear-gradient(145deg,rgba(17,24,39,.76),rgba(2,6,23,.62));backdrop-filter:blur(22px);border-radius:26px;box-shadow:0 22px 64px rgba(0,0,0,.22);overflow:hidden;transition:.25s ease}.state-card:hover{border-color:rgba(var(--blue2-rgb),.30);box-shadow:0 28px 80px rgba(0,0,0,.30),0 0 46px rgba(var(--blue-rgb),.10);transform:translateY(-2px)}.state-toggle{width:100%;border:0;background:transparent;color:#fff;font:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;text-align:left}.state-toggle>div{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:14px}.state-pin{grid-row:1/3;width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.13);filter:grayscale(.4)}.state-pin.has-items{background:rgba(var(--blue-rgb),.13);border-color:rgba(var(--blue2-rgb),.24);filter:none;box-shadow:0 0 30px rgba(var(--blue-rgb),.13)}.state-toggle strong{font-size:19px;letter-spacing:-.025em}.state-toggle small{color:#94a3b8;font-weight:850;margin-top:4px}.state-toggle em{font-style:normal;color:var(--blue-soft-text);font-weight:950;font-size:13px;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(var(--blue2-rgb),.20);border-radius:999px;padding:9px 11px;background:rgba(var(--blue-rgb),.08)}.state-card.open .state-toggle em{background:rgba(var(--blue-rgb),.20);border-color:rgba(var(--blue2-rgb),.35)}.state-content{display:none;padding:0 18px 18px}.state-card.open .state-content{display:block;animation:fadeUp .22s ease both}.empty-state{border:1px dashed rgba(148,163,184,.16);background:rgba(255,255,255,.03);border-radius:18px;padding:18px;color:#73839b;font-weight:850}.object-list{display:flex;flex-direction:column;gap:10px}.object-item{width:100%;border:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.045);border-radius:18px;padding:15px 16px;color:#fff;font:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;transition:.2s ease}.object-item:hover{background:rgba(var(--blue-rgb),.10);border-color:rgba(var(--blue2-rgb),.30);transform:translateX(3px)}.object-item strong{display:block;font-weight:950}.object-item span{display:block;color:#94a3b8;font-size:13px;font-weight:750;margin-top:4px}.object-item small{white-space:nowrap;color:#bbf7d0;background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.22);border-radius:999px;padding:7px 10px;font-weight:950}.modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(18px);display:none;align-items:center;justify-content:center;z-index:100;padding:22px}.modal-backdrop.show{display:flex;animation:fadeIn .18s ease both}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.object-modal{position:relative;width:min(940px,100%);max-height:min(88vh,900px);overflow:auto;border:1px solid rgba(148,163,184,.18);background:linear-gradient(145deg,rgba(15,23,42,.94),rgba(2,6,23,.90));box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 90px rgba(var(--blue-rgb),.14);border-radius:30px;padding:28px;animation:modalIn .24s cubic-bezier(.2,.8,.2,1) both}.object-modal:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0,rgba(var(--blue2-rgb),.18),transparent 42%);pointer-events:none}.object-modal>*{position:relative}@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:15px;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.06);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:2}.modal-close:hover{background:rgba(var(--blue-rgb),.16)}.modal-head{margin-bottom:22px;padding-right:48px}.modal-head h2{font-size:34px;line-height:1;letter-spacing:-.05em;margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid div{border:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.045);border-radius:18px;padding:15px}.detail-grid .full{grid-column:1/-1}.detail-grid span,.object-form label{display:block;color:#94a3b8;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.detail-grid strong{display:block;color:#fff;font-size:15px;margin-top:7px;overflow-wrap:anywhere}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label.full{grid-column:1/-1}.object-form input,.object-form select,.object-form textarea{width:100%;box-sizing:border-box;margin-top:8px;border:1px solid rgba(148,163,184,.16);border-radius:15px;background:rgba(2,6,23,.50);color:#fff;padding:13px 14px;font:inherit;font-weight:750;outline:0}.object-form input:focus,.object-form select:focus,.object-form textarea:focus{border-color:rgba(var(--blue2-rgb),.55);box-shadow:0 0 0 4px rgba(var(--blue-rgb),.12)}.object-form textarea{resize:vertical}.delete-box{border:1px solid rgba(248,113,113,.22);background:rgba(239,68,68,.08);border-radius:22px;padding:20px}.delete-box h3{margin:0 0 8px;font-size:24px;letter-spacing:-.03em}.delete-box p{margin:0;color:#fecaca;font-weight:750}
@media(max-width:980px){.state-grid{grid-template-columns:1fr}.objects-toolbar{flex-direction:column;align-items:stretch}.toolbar-meta{text-align:left}.detail-grid,.form-grid{grid-template-columns:1fr}.detail-grid .full,.form-grid label.full{grid-column:auto}.objects-header{align-items:flex-start}}
@media(max-width:560px){.state-toggle{align-items:flex-start;flex-direction:column}.state-toggle em{align-self:flex-start}.object-item{align-items:flex-start;flex-direction:column}.modal-actions{justify-content:stretch}.modal-actions button,.modal-actions a{width:100%}.object-modal{padding:22px;border-radius:24px}}

/* Mitarbeiter-Modul */
.mini-stats { margin-bottom: 18px; }
.filter-select {
    min-height: 48px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 16px;
    background: rgba(15, 23, 42, .72);
    color: #e5eefc;
    padding: 0 14px;
    outline: none;
}
.employee-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}
.employee-card {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 24px;
    padding: 18px;
    background: linear-gradient(145deg, rgba(15, 23, 42, .78), rgba(30, 41, 59, .45));
    box-shadow: 0 22px 55px rgba(2, 6, 23, .28);
    color: #e5eefc;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
    text-align: left;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.employee-card:hover { transform: translateY(-3px); border-color: rgba(var(--blue-rgb),.52); box-shadow: 0 24px 70px rgba(var(--blue-dark-rgb),.18); }
.employee-avatar {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-weight: 900;
    color: white;
    background: linear-gradient(135deg, var(--blue), var(--blue2));
    box-shadow: 0 12px 32px rgba(var(--blue-rgb),.35);
}
.employee-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.employee-main strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.employee-main span, .employee-main small { color: rgba(226,232,240,.68); }
.employee-status {
    border-radius: 999px;
    padding: 7px 10px;
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
    background: rgba(148,163,184,.14);
    color: #cbd5e1;
    white-space: nowrap;
}
.status-verfuegbar { background: rgba(34,197,94,.14); color: #86efac; }
.status-krank { background: rgba(239,68,68,.14); color: #fca5a5; }
.status-urlaub { background: rgba(245,158,11,.14); color: #fcd34d; }
.status-inaktiv { background: rgba(148,163,184,.14); color: #cbd5e1; }
.empty-employee { grid-column: 1 / -1; text-align: center; padding: 42px; }
.employee-modal { width: min(1080px, calc(100vw - 30px)); max-height: calc(100vh - 58px); overflow-y: auto; }
.employee-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px;
    border-radius: 18px;
    background: rgba(15,23,42,.56);
    border: 1px solid rgba(148,163,184,.14);
    margin-bottom: 16px;
}
.employee-tabs button {
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: rgba(226,232,240,.72);
    font-weight: 800;
    padding: 10px 12px;
    cursor: pointer;
}
.employee-tabs button.active { background: rgba(var(--blue-rgb),.18); color: var(--blue-soft-text); box-shadow: inset 0 0 0 1px rgba(var(--blue2-rgb),.25); }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.form-section-title {
    margin: 18px 0 10px;
    color: var(--blue3);
    font-weight: 900;
    letter-spacing: .02em;
}
.check-label {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 14px;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 16px;
    background: rgba(15,23,42,.5);
}
.check-label input { width: auto !important; }
.docs-list { display: grid; gap: 12px; margin-bottom: 14px; }
.doc-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 18px;
    background: rgba(15,23,42,.48);
}
.doc-row div { display: flex; flex-direction: column; gap: 4px; }
.doc-row span, .doc-row small { color: rgba(226,232,240,.7); }
.note-box {
    min-height: 140px;
    padding: 18px;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 18px;
    background: rgba(15,23,42,.5);
    color: rgba(226,232,240,.82);
    white-space: pre-wrap;
}
@media (max-width: 1100px) { .employee-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .employee-grid { grid-template-columns: 1fr; } .employee-card { grid-template-columns: auto 1fr; } .employee-status { grid-column: 1 / -1; width: fit-content; } .doc-row { grid-template-columns: 1fr; } }

/* Einsätze */
.assignment-object-list{display:grid;gap:16px;margin-top:20px}.assignment-group{overflow:hidden}.assignment-group .state-content{display:none;padding:0 18px 18px}.assignment-group.open .state-content{display:grid;gap:12px}.assignment-card{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;text-align:left;border:1px solid rgba(148,163,184,.16);border-radius:20px;padding:16px;background:rgba(15,23,42,.5);color:#e5eefc;cursor:pointer;transition:.2s}.assignment-card:hover{transform:translateY(-2px);border-color:rgba(var(--blue-rgb),.5);box-shadow:0 22px 60px rgba(var(--blue-dark-rgb),.16)}.assignment-card div{display:flex;flex-direction:column;gap:4px;min-width:0}.assignment-card strong{font-size:15px}.assignment-card span,.assignment-card small{color:rgba(226,232,240,.68)}.assignment-card em,.assignment-card i{font-style:normal;border-radius:999px;padding:7px 10px;background:rgba(var(--blue-rgb),.14);font-size:12px;font-weight:800;color:var(--blue-soft-text);white-space:nowrap}.assignment-card i{background:rgba(148,163,184,.14);color:#cbd5e1}.priority-kritisch{background:rgba(239,68,68,.16)!important;color:#fca5a5!important}.priority-hoch{background:rgba(249,115,22,.16)!important;color:#fdba74!important}.priority-normal{background:rgba(var(--blue-rgb),.14)!important;color:var(--blue-soft-text)!important}.priority-niedrig{background:rgba(34,197,94,.14)!important;color:#86efac!important}.schedule-box{margin-top:14px;padding:16px;border:1px solid rgba(148,163,184,.16);border-radius:20px;background:rgba(15,23,42,.45)}.schedule-box h3{margin:0 0 8px;color:var(--blue-soft-text)}.schedule-box p{margin:0 0 12px;color:rgba(226,232,240,.68)}.schedule-box textarea,.tab-panel textarea{width:100%;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(15,23,42,.65);color:#e5eefc;padding:14px;outline:none;resize:vertical}.weekday-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.weekday-grid label,.employee-select-grid label{border:1px solid rgba(148,163,184,.16);border-radius:16px;background:rgba(15,23,42,.5);padding:12px;color:#e5eefc;display:flex;gap:10px;align-items:center}.employee-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.employee-select-grid label{align-items:flex-start;flex-direction:column}.employee-select-grid input{margin-right:8px}.employee-select-grid small{color:rgba(226,232,240,.65)}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.detail-grid div{border:1px solid rgba(148,163,184,.16);border-radius:18px;background:rgba(15,23,42,.5);padding:14px;display:flex;flex-direction:column;gap:5px}.detail-grid span{color:rgba(226,232,240,.65);font-size:12px}.detail-grid strong{color:#e5eefc}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}.pill-row span{border:1px solid rgba(var(--blue2-rgb),.22);border-radius:999px;background:rgba(var(--blue-rgb),.12);color:var(--blue-soft-text);padding:7px 11px;font-size:12px;font-weight:800}.danger-action{border:0;border-radius:14px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:white;font-weight:900;padding:11px 14px;cursor:pointer}.ghost-action{border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(15,23,42,.45);color:var(--blue-soft-text);font-weight:800;padding:10px 13px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}@media(max-width:900px){.assignment-card{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.weekday-grid,.employee-select-grid{grid-template-columns:1fr}}@media(max-width:640px){.detail-grid{grid-template-columns:1fr}}

/* =========================================================
   DDL UI Fix: Premium Dropdowns statt Browser/Windows-Select
   ========================================================= */
select,
.filter-select,
.object-form select,
.toolbar-card select,
.form-grid select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-height: 52px;
    border: 1px solid rgba(var(--blue2-rgb),.24) !important;
    border-radius: 17px !important;
    background-color: rgba(15, 23, 42, .74) !important;
    background-image:
        linear-gradient(135deg, rgba(var(--blue2-rgb),.10), rgba(var(--blue-dark-rgb),.035)),
        url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10L12 15L17 10' stroke='%2393C5FD' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat, no-repeat;
    background-position: center, right 15px center;
    background-size: auto, 18px 18px;
    color: var(--blue-soft-text) !important;
    padding: 0 48px 0 15px !important;
    font: inherit;
    font-weight: 850;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 14px 42px rgba(0,0,0,.16);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}

select:hover,
.filter-select:hover,
.object-form select:hover,
.toolbar-card select:hover,
.form-grid select:hover {
    border-color: rgba(var(--blue2-rgb),.45) !important;
    background-color: rgba(15, 23, 42, .88) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 52px rgba(var(--blue-dark-rgb),.12);
}

select:focus,
.filter-select:focus,
.object-form select:focus,
.toolbar-card select:focus,
.form-grid select:focus {
    border-color: rgba(var(--blue2-rgb),.70) !important;
    box-shadow: 0 0 0 4px rgba(var(--blue-rgb),.14), 0 20px 58px rgba(var(--blue-dark-rgb),.18) !important;
}

select option {
    background: #0f172a;
    color: #e5eefc;
    font-weight: 800;
}

.toolbar-card {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(148, 163, 184, .14);
    background: linear-gradient(145deg, rgba(17,24,39,.72), rgba(2,6,23,.56));
    backdrop-filter: blur(22px);
    border-radius: 26px;
    padding: 16px;
    box-shadow: 0 22px 64px rgba(0,0,0,.20);
    margin-bottom: 18px;
}

.toolbar-card input {
    flex: 1;
    min-height: 52px;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 17px;
    background: rgba(15,23,42,.72);
    color: var(--blue-soft-text);
    padding: 0 16px;
    font: inherit;
    font-weight: 850;
    outline: none;
    transition: .2s ease;
}

.toolbar-card input::placeholder { color: #7788a4; }
.toolbar-card input:focus {
    border-color: rgba(var(--blue2-rgb),.62);
    box-shadow: 0 0 0 4px rgba(var(--blue-rgb),.12);
}
.toolbar-card select { width: 220px; }

@media(max-width: 720px) {
    .toolbar-card { flex-direction: column; align-items: stretch; }
    .toolbar-card select { width: 100%; }
}

/* v16 Modul-Platzhalter */
.module-placeholder-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.16);
    background:linear-gradient(145deg,rgba(15,23,42,.82),rgba(2,6,23,.66));
    backdrop-filter:blur(24px);
    border-radius:32px;
    padding:34px;
    box-shadow:0 28px 90px rgba(0,0,0,.32),0 0 80px rgba(var(--blue-rgb),.08);
    min-height:520px;
    display:grid;
    grid-template-columns:minmax(220px,340px) 1fr;
    gap:28px;
    align-items:start;
    animation:fadeUp .32s ease both;
}
.module-placeholder-card:before{
    content:"";
    position:absolute;
    inset:-2px;
    background:radial-gradient(circle at 18% 18%,rgba(var(--blue2-rgb),.20),transparent 34%),radial-gradient(circle at 82% 74%,rgba(var(--blue-dark-rgb),.16),transparent 34%);
    pointer-events:none;
}
.module-placeholder-card>*{position:relative;z-index:1}
.module-orb{
    width:180px;
    height:180px;
    border-radius:42px;
    display:grid;
    place-items:center;
    font-size:72px;
    background:linear-gradient(145deg,rgba(var(--blue2-rgb),.26),rgba(var(--blue-dark-rgb),.10));
    border:1px solid rgba(var(--blue2-rgb),.25);
    box-shadow:0 26px 80px rgba(var(--blue-dark-rgb),.20), inset 0 1px 0 rgba(255,255,255,.18);
    animation:moduleFloat 5s ease-in-out infinite;
}
@keyframes moduleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.module-copy h2{font-size:42px;line-height:1.02;letter-spacing:-.06em;margin:8px 0 12px;color:#fff}
.module-copy p{max-width:720px;color:#a8b6cc;font-size:16px;line-height:1.75;font-weight:700;margin:0}
.module-feature-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:12px}
.module-feature{border:1px solid rgba(148,163,184,.13);background:rgba(255,255,255,.045);border-radius:22px;padding:18px;display:flex;align-items:flex-start;gap:14px;transition:.22s ease}
.module-feature:hover{transform:translateY(-2px);background:rgba(var(--blue-rgb),.09);border-color:rgba(var(--blue2-rgb),.28);box-shadow:0 18px 45px rgba(0,0,0,.20)}
.module-feature>span{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(var(--blue-rgb),.14);border:1px solid rgba(var(--blue2-rgb),.24)}
.module-feature strong{display:block;color:#fff;font-size:15px;font-weight:950;margin-bottom:5px}.module-feature small{display:block;color:#94a3b8;font-weight:750;line-height:1.45}
@media(max-width:980px){.module-placeholder-card{grid-template-columns:1fr}.module-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-orb{width:130px;height:130px;font-size:54px}}
@media(max-width:640px){.module-feature-grid{grid-template-columns:1fr}.module-placeholder-card{padding:22px;border-radius:24px}.module-copy h2{font-size:32px}}

/* Kalender-Modul */
.calendar-stats{margin-bottom:18px}.calendar-shell{padding:24px}.calendar-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.calendar-title-block h2{font-size:30px;margin:0;letter-spacing:-.045em}.calendar-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.calendar-filterbar{display:grid;grid-template-columns:1fr 190px 260px;gap:12px;margin-bottom:16px}.calendar-search{min-height:50px}.ddl-native-select{appearance:none;-webkit-appearance:none;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:linear-gradient(145deg,rgba(15,23,42,.86),rgba(2,6,23,.72));color:var(--blue-soft-text);font:inherit;font-weight:900;padding:0 44px 0 15px;min-height:50px;outline:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);background-image:linear-gradient(45deg,transparent 50%,var(--blue3) 50%),linear-gradient(135deg,var(--blue3) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.ddl-native-select:hover,.ddl-native-select:focus{border-color:rgba(var(--blue2-rgb),.45);box-shadow:0 0 0 4px rgba(var(--blue-rgb),.10),inset 0 1px 0 rgba(255,255,255,.06)}.ddl-native-select option{background:#0f172a;color:#e5eefc}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:10px}.calendar-weekdays span{text-align:center;color:var(--blue3);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-day{min-height:158px;border:1px solid rgba(148,163,184,.13);background:linear-gradient(145deg,rgba(15,23,42,.58),rgba(2,6,23,.46));border-radius:22px;padding:12px;overflow:hidden;transition:.2s ease}.calendar-day:hover{border-color:rgba(var(--blue2-rgb),.28);background:linear-gradient(145deg,rgba(30,41,59,.68),rgba(2,6,23,.55));transform:translateY(-1px)}.calendar-day.muted{opacity:.46}.calendar-day.today{border-color:rgba(var(--blue2-rgb),.55);box-shadow:0 0 42px rgba(var(--blue-rgb),.12),inset 0 1px 0 rgba(255,255,255,.08)}.calendar-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.calendar-day-head strong{font-size:18px;letter-spacing:-.03em}.calendar-day-head span{color:#94a3b8;font-size:11px;font-weight:950}.calendar-events{display:grid;gap:7px}.calendar-event{width:100%;border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.74);border-radius:14px;padding:9px;text-align:left;color:#fff;cursor:pointer;display:grid;gap:2px;transition:.18s ease}.calendar-event:hover{transform:translateX(2px);border-color:rgba(var(--blue2-rgb),.45);box-shadow:0 14px 36px rgba(var(--blue-dark-rgb),.15)}.calendar-event span{font-size:11px;font-weight:950;color:var(--blue-soft-text)}.calendar-event strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.status-done{border-left:4px solid #22c55e}.calendar-event.status-running{border-left:4px solid #eab308}.calendar-event.status-confirmed{border-left:4px solid var(--blue)}.calendar-event.status-cancelled{border-left:4px solid #ef4444}.calendar-event.status-open{border-left:4px solid #f97316}.calendar-event.status-planned{border-left:4px solid #94a3b8}.calendar-event.priority-critical{box-shadow:inset 0 0 0 1px rgba(239,68,68,.20)}.calendar-event.priority-high{box-shadow:inset 0 0 0 1px rgba(249,115,22,.20)}.calendar-event.priority-low{box-shadow:inset 0 0 0 1px rgba(34,197,94,.16)}.calendar-more{border:1px dashed rgba(var(--blue2-rgb),.28);border-radius:12px;background:rgba(var(--blue-rgb),.08);color:var(--blue-soft-text);font-weight:950;padding:8px;cursor:pointer}.calendar-detail-grid.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-detail-grid .full{grid-column:1/-1}.calendar-modal-card{width:min(900px,100%)}
@media(max-width:1200px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-weekdays{display:none}.calendar-day{min-height:auto}.calendar-filterbar{grid-template-columns:1fr}.calendar-topbar{flex-direction:column}.calendar-nav{justify-content:flex-start}}@media(max-width:640px){.calendar-grid{grid-template-columns:1fr}.calendar-detail-grid.detail-grid{grid-template-columns:1fr}}

/* DDL Messenger */
.messenger-shell{display:grid;grid-template-columns:330px minmax(0,1fr) 300px;gap:18px;min-height:calc(100vh - 190px)}
.messenger-list,.chat-panel,.chat-info-card{border:1px solid rgba(148,163,184,.14);background:linear-gradient(145deg,rgba(17,24,39,.78),rgba(2,6,23,.62));backdrop-filter:blur(24px);border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.28);overflow:hidden}
.messenger-list{display:flex;flex-direction:column;padding:16px}.messenger-list-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.messenger-list-head strong{display:block;color:#fff;font-size:22px;letter-spacing:-.04em}.messenger-list-head small{display:block;color:#94a3b8;font-weight:850;margin-top:3px}.messenger-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mini-action{border:1px solid rgba(var(--blue2-rgb),.22);background:rgba(var(--blue-rgb),.10);color:var(--blue-soft-text);border-radius:12px;padding:9px 10px;font:inherit;font-size:12px;font-weight:950;cursor:pointer}.mini-action:hover{background:rgba(var(--blue-rgb),.20);transform:translateY(-1px)}.messenger-search{min-height:46px;border-radius:16px;margin-bottom:14px;flex:none}.chat-list{display:flex;flex-direction:column;gap:9px;overflow:auto;padding-right:2px}.chat-row{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;border:1px solid rgba(148,163,184,.10);background:rgba(255,255,255,.045);border-radius:20px;padding:12px;transition:.2s ease}.chat-row:hover,.chat-row.active{border-color:rgba(var(--blue2-rgb),.34);background:rgba(var(--blue-rgb),.13);box-shadow:0 12px 38px rgba(var(--blue-dark-rgb),.12);transform:translateX(2px)}.chat-avatar{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(var(--blue-rgb),.13);border:1px solid rgba(var(--blue2-rgb),.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);flex:0 0 auto}.chat-avatar.large{width:58px;height:58px;border-radius:20px;font-size:24px}.chat-copy{min-width:0;flex:1}.chat-copy strong{display:block;font-size:14px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-copy span{display:block;color:#94a3b8;font-size:12px;font-weight:750;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row>small{font-size:10px;font-weight:950;color:var(--blue-soft-text);background:rgba(var(--blue-rgb),.10);border:1px solid rgba(var(--blue2-rgb),.18);border-radius:999px;padding:6px 8px;white-space:nowrap}.chat-panel{display:grid;grid-template-rows:auto minmax(320px,1fr) auto}.chat-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-bottom:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.035)}.chat-title{display:flex;align-items:center;gap:14px;min-width:0}.chat-title h2{margin:0;color:#fff;font-size:24px;line-height:1;letter-spacing:-.045em}.chat-title span{display:block;color:#94a3b8;font-size:13px;font-weight:800;margin-top:6px}.chat-title span b{color:#bbf7d0}.company-chat-toggle{display:flex;align-items:center;gap:10px;color:var(--blue-soft-text);font-weight:950;white-space:nowrap}.toggle-switch{position:relative;width:52px;height:30px;display:inline-block}.toggle-switch input{display:none}.toggle-switch span{position:absolute;inset:0;border-radius:999px;background:rgba(148,163,184,.22);border:1px solid rgba(148,163,184,.20);cursor:pointer;transition:.2s}.toggle-switch span:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 8px 18px rgba(0,0,0,.25)}.toggle-switch input:checked+span{background:linear-gradient(135deg,var(--blue2),var(--blue-dark));border-color:rgba(var(--blue2-rgb),.5)}.toggle-switch input:checked+span:before{transform:translateX(22px)}.message-stream{padding:20px;overflow:auto;background:radial-gradient(circle at 30% 0,rgba(var(--blue-rgb),.08),transparent 34%),rgba(2,6,23,.22)}.empty-chat{text-align:center;max-width:360px;margin:80px auto;color:#94a3b8;font-weight:750}.empty-chat div{font-size:48px;margin-bottom:12px}.empty-chat h3{color:#fff;font-size:24px;letter-spacing:-.04em;margin:0 0 8px}.message-bubble{max-width:min(620px,86%);border:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.06);border-radius:22px;padding:14px 15px;margin:0 0 13px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.message-bubble.own{margin-left:auto;background:linear-gradient(145deg,rgba(var(--blue-dark-rgb),.28),rgba(var(--blue-rgb),.12));border-color:rgba(var(--blue2-rgb),.24)}.message-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}.message-meta strong{font-size:13px;color:#fff;font-weight:950}.message-meta span{font-size:11px;color:var(--blue-soft-text);font-weight:850}.message-bubble p{margin:0;color:#e5eefc;font-weight:750;line-height:1.5}.read-state{display:block;text-align:right;color:var(--blue3);font-weight:950;margin-top:7px}.attachment-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.attachment-list a{color:var(--blue-soft-text);text-decoration:none;font-weight:900;border:1px solid rgba(var(--blue2-rgb),.22);background:rgba(var(--blue-rgb),.12);border-radius:14px;padding:9px 10px}.attachment-list a:hover{background:rgba(var(--blue-rgb),.22)}.message-compose{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:end;padding:14px;border-top:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.035)}.message-compose textarea{width:100%;box-sizing:border-box;min-height:48px;max-height:140px;resize:vertical;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:rgba(2,6,23,.55);color:#fff;padding:14px;font:inherit;font-weight:800;outline:0}.message-compose textarea:focus{border-color:rgba(var(--blue2-rgb),.55);box-shadow:0 0 0 4px rgba(var(--blue-rgb),.12)}.file-chip{width:48px;height:48px;border-radius:18px;border:1px solid rgba(var(--blue2-rgb),.22);background:rgba(var(--blue-rgb),.11);display:grid;place-items:center;cursor:pointer}.file-chip:hover{background:rgba(var(--blue-rgb),.20)}.file-chip input{display:none}.chat-info-card{padding:18px}.chat-info-card h3{font-size:24px;letter-spacing:-.045em;margin:4px 0 16px}.info-list{display:flex;flex-direction:column;gap:10px}.info-list div{border:1px solid rgba(148,163,184,.10);background:rgba(255,255,255,.04);border-radius:16px;padding:12px}.info-list span{display:block;color:#94a3b8;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.info-list strong{display:block;color:#fff;margin-top:5px;overflow-wrap:anywhere}.participant-box{margin-top:16px;border-top:1px solid rgba(148,163,184,.12);padding-top:14px}.participant-box>strong{display:block;color:#fff;margin-bottom:10px}.participant-box span{display:flex;justify-content:space-between;gap:8px;color:var(--blue-soft-text);background:rgba(var(--blue-rgb),.08);border:1px solid rgba(var(--blue2-rgb),.16);border-radius:14px;padding:10px;margin-bottom:7px;font-weight:850}.participant-box em{font-style:normal;color:var(--blue3);font-size:12px}.participant-box small{color:#94a3b8;font-weight:750}.small-modal{width:min(680px,100%)}.check-grid{margin-top:10px;border:1px solid rgba(148,163,184,.14);background:rgba(2,6,23,.35);border-radius:18px;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto}.check-grid label{display:flex!important;align-items:center;gap:10px;color:#e5eefc;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:850!important;border:1px solid rgba(148,163,184,.10);background:rgba(255,255,255,.04);border-radius:14px;padding:10px}.check-grid input{width:auto!important;margin:0!important}.check-grid small{color:var(--blue3);margin-left:auto}.ddl-select-wrap select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue3) 50%),linear-gradient(135deg,var(--blue3) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:38px!important}
@media(max-width:1220px){.messenger-shell{grid-template-columns:300px 1fr}.chat-info-card{display:none}}
@media(max-width:860px){.messenger-shell{grid-template-columns:1fr}.messenger-list{min-height:280px}.chat-panel{min-height:620px}.chat-topbar,.message-compose{grid-template-columns:1fr;display:flex;flex-wrap:wrap}.company-chat-toggle{width:100%;justify-content:flex-end}.message-compose{display:grid;grid-template-columns:auto 1fr}.message-compose button{grid-column:1/-1}.check-grid{grid-template-columns:1fr}}
/* v23 Nachrichten-Optimierung */
.chat-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.chat-description{display:block;color:var(--blue-soft-text);font-size:12px;font-weight:850;margin-top:7px;max-width:560px;line-height:1.35}
.chat-info-description{color:#cbd5e1;background:rgba(var(--blue-rgb),.08);border:1px solid rgba(var(--blue2-rgb),.16);border-radius:16px;padding:12px;line-height:1.5;font-weight:750;margin:0 0 14px}
.toggle-line{display:flex!important;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(148,163,184,.14);background:rgba(2,6,23,.35);border-radius:18px;padding:14px!important;color:var(--blue-soft-text)!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:950!important}
.delete-chat-form{margin:12px 22px 22px;border-top:1px solid rgba(248,113,113,.20);padding-top:16px}.danger-action{width:100%;border:1px solid rgba(248,113,113,.34);background:rgba(239,68,68,.13);color:#fecaca;border-radius:16px;padding:13px 16px;font:inherit;font-weight:950;cursor:pointer}.danger-action:hover{background:rgba(239,68,68,.22);transform:translateY(-1px)}
.chat-panel.loading{position:relative;opacity:.82}.chat-panel.loading:after{content:'Chat wird geladen…';position:absolute;inset:auto 18px 76px 18px;border:1px solid rgba(var(--blue2-rgb),.22);background:rgba(2,6,23,.72);backdrop-filter:blur(18px);color:var(--blue-soft-text);border-radius:18px;padding:14px;text-align:center;font-weight:950;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.message-compose button:disabled,.message-compose textarea:disabled{opacity:.55;cursor:not-allowed}.message-compose button:disabled{filter:grayscale(.25)}

/* Einstellungen v25 */
.settings-alert{border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.78);backdrop-filter:blur(18px);border-radius:18px;padding:14px 16px;margin:0 0 14px;font-weight:900;box-shadow:0 16px 46px rgba(0,0,0,.20)}
.settings-alert.success{border-color:rgba(34,197,94,.28);color:#bbf7d0;background:rgba(34,197,94,.08)}
.settings-alert.danger{border-color:rgba(239,68,68,.30);color:#fecaca;background:rgba(239,68,68,.10)}
.settings-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.settings-tabs{position:sticky;top:28px;border:1px solid rgba(148,163,184,.14);background:linear-gradient(145deg,rgba(17,24,39,.80),rgba(2,6,23,.62));backdrop-filter:blur(22px);border-radius:28px;padding:12px;box-shadow:0 24px 70px rgba(0,0,0,.22);display:grid;gap:8px}
.settings-tab{width:100%;border:1px solid transparent;background:transparent;color:#aab7cc;border-radius:17px;padding:13px 14px;text-align:left;font:inherit;font-weight:950;cursor:pointer;transition:.18s ease}
.settings-tab:hover{color:#fff;background:rgba(var(--blue-rgb),.10);border-color:rgba(var(--blue2-rgb),.18);transform:translateX(2px)}
.settings-tab.active{color:#fff;background:linear-gradient(135deg,rgba(var(--blue-rgb),.26),rgba(var(--blue2-rgb),.10));border-color:rgba(var(--blue2-rgb),.32);box-shadow:0 0 32px rgba(var(--blue-rgb),.12)}
.settings-content{min-width:0}.settings-panel{display:none;border:1px solid rgba(148,163,184,.14);background:linear-gradient(145deg,rgba(17,24,39,.80),rgba(2,6,23,.62));backdrop-filter:blur(24px);border-radius:30px;padding:26px;box-shadow:0 26px 78px rgba(0,0,0,.24);animation:fadeUp .28s ease both}.settings-panel.active{display:block}
.settings-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.settings-panel-head h2{margin:0;font-size:32px;letter-spacing:-.05em}.settings-panel-head p{margin:7px 0 0;color:#94a3b8;font-weight:800;line-height:1.55}.settings-form{display:grid;gap:18px}.settings-form label{margin:0;color:var(--blue-soft-text);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.055em}.settings-form input,.settings-form select{margin-top:8px;width:100%;height:52px;border-radius:17px;border:1px solid rgba(148,163,184,.16);background:rgba(2,6,23,.55);color:#fff;padding:0 15px;outline:0;font:inherit;font-weight:850;transition:.18s ease}.settings-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue3) 50%),linear-gradient(135deg,var(--blue3) 50%,transparent 50%);background-position:calc(100% - 19px) 52%,calc(100% - 13px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}.settings-form input:focus,.settings-form select:focus{border-color:rgba(var(--blue2-rgb),.66);box-shadow:0 0 0 4px rgba(var(--blue-rgb),.13)}.settings-form input[type=color]{padding:6px;cursor:pointer}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-form{max-width:640px}.password-box{margin-top:20px;border-top:1px solid rgba(148,163,184,.14);padding-top:20px}.password-box h3{margin:0;color:#fff;font-size:22px;letter-spacing:-.04em}.settings-save{justify-self:start;border:0;border-radius:17px;background:linear-gradient(135deg,var(--blue2),var(--blue));color:#fff;padding:14px 18px;font:inherit;font-weight:950;cursor:pointer;box-shadow:0 18px 44px rgba(var(--blue-rgb),.24);transition:.18s ease}.settings-save:hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:0 24px 58px rgba(var(--blue-rgb),.34)}
.permission-grid,.toggle-grid,.security-grid,.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-grid label,.toggle-grid label{display:flex!important;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(148,163,184,.13);background:rgba(255,255,255,.045);border-radius:18px;padding:14px 15px!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important}.permission-grid input,.toggle-grid input{width:auto!important;height:auto!important;margin:0!important;accent-color:var(--blue)}.panel-user-list{display:grid;gap:10px;margin-top:20px}.panel-user-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.045);border-radius:18px;padding:14px}.panel-user-row strong{display:block;color:#fff}.panel-user-row span{display:block;color:#94a3b8;font-size:13px;font-weight:800;margin-top:4px}.settings-muted{color:#94a3b8;font-weight:800}.color-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.color-choice{position:relative;display:flex!important;align-items:center;gap:10px;border:1px solid rgba(148,163,184,.13);background:rgba(255,255,255,.045);border-radius:18px;padding:13px!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;cursor:pointer}.color-choice input{position:absolute;opacity:0;pointer-events:none}.color-choice span{width:20px;height:20px;border-radius:999px;background:var(--swatch,var(--blue));box-shadow:0 0 22px color-mix(in srgb,var(--swatch,var(--blue)),transparent 45%)}.color-choice.selected,.color-choice:has(input:checked){border-color:rgba(var(--blue2-rgb),.48);background:rgba(var(--blue-rgb),.14)}.color-blue{--swatch:var(--blue)}.color-red{--swatch:#ef4444}.color-green{--swatch:#22c55e}.color-purple{--swatch:#8b5cf6}.color-orange{--swatch:#f97316}.color-turquoise{--swatch:#14b8a6}.color-pink{--swatch:#ec4899}.color-gray{--swatch:#64748b}.color-custom{--swatch:linear-gradient(135deg,var(--blue),#ec4899,#f97316)}.theme-preview-card{min-width:160px;border:1px solid rgba(var(--blue2-rgb),.24);background:radial-gradient(circle at 20% 0,rgba(var(--blue2-rgb),.20),transparent 55%),rgba(2,6,23,.45);border-radius:24px;padding:18px;text-align:center}.theme-preview-card span{display:block;color:#94a3b8;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.theme-preview-card strong{display:block;margin-top:8px;font-size:28px;color:#fff;letter-spacing:-.05em}.security-grid div,.legal-grid a,.legal-grid button,.plan-card{border:1px solid rgba(148,163,184,.13);background:rgba(255,255,255,.045);border-radius:20px;padding:18px;color:#fff;text-decoration:none}.security-grid strong,.plan-card strong{display:block;font-size:18px;letter-spacing:-.03em}.security-grid span,.plan-card span{display:block;color:#94a3b8;font-weight:850;margin-top:7px}.legal-grid button{font:inherit;text-align:left;cursor:pointer}.legal-grid a:hover,.legal-grid button:hover{border-color:rgba(var(--blue2-rgb),.35);background:rgba(var(--blue-rgb),.12)}
@media (max-width:1100px){.settings-layout{grid-template-columns:1fr}.settings-tabs{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.two,.permission-grid,.toggle-grid,.security-grid,.legal-grid{grid-template-columns:1fr}.color-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* DDL Theme-System v27: Firmenfarbe wirklich global anwenden */
.app-body{
    --primary:var(--blue);
    --primary-2:var(--blue2);
    --primary-3:var(--blue3);
    --primary-dark:var(--blue-dark);
    --primary-rgb:var(--blue-rgb);
    --primary2-rgb:var(--blue2-rgb);
    --primary-dark-rgb:var(--blue-dark-rgb);
    background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        radial-gradient(circle at 16% 24%, rgba(var(--primary-rgb),.20), transparent 32%),
        radial-gradient(circle at 84% 70%, rgba(var(--primary-dark-rgb),.16), transparent 34%),
        var(--bg) !important;
    background-size:70px 70px,70px 70px,auto,auto,auto !important;
}
.app-background span,
.bg-grid,
.orb-one,
.orb-two,
.cursor-glow{--blue-rgb:var(--primary-rgb);--blue2-rgb:var(--primary2-rgb);--blue-dark-rgb:var(--primary-dark-rgb)}
.app-logo,.logo,.profile-badge,.stat-icon,.module-icon,.state-pin.has-items,.avatar,.chat-avatar,.user-avatar,.company-avatar{
    background:linear-gradient(135deg,var(--primary-2),var(--primary),var(--primary-dark)) !important;
    border-color:rgba(var(--primary2-rgb),.28) !important;
    box-shadow:0 16px 42px rgba(var(--primary-rgb),.28), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.sidebar-nav a.active,
.sidebar-nav a:hover,
.nav-link.active,
.settings-nav button.active,
.employee-tabs button.active,
.tab-btn.active,
.ddl-dropdown-option:hover,
.ddl-dropdown-option.active,
.chat-row.active,
.chat-row:hover,
.conversation-item.active,
.conversation-item:hover{
    background:linear-gradient(135deg,rgba(var(--primary-rgb),.20),rgba(var(--primary-dark-rgb),.10)) !important;
    border-color:rgba(var(--primary2-rgb),.40) !important;
    box-shadow:0 18px 54px rgba(var(--primary-dark-rgb),.16), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.sidebar-nav a.active span,.sidebar-nav a:hover span,
.eyebrow,.page-kicker,.settings-panel-head .eyebrow,
.state-toggle em,.pill-row span,.assignment-card em,.schedule-box h3,
.ghost-action,.link-like,a:not(.sidebar-nav a):not(.btn):not(.danger-action){
    color:var(--blue-soft-text) !important;
}
.primary-action,.action-primary,.btn-primary,.login-btn,.save-btn,
button[type="submit"]:not(.ghost-action):not(.danger-action):not(.modal-close):not(.modal-closer):not(.eye-btn),
.theme-choice input:checked + span,.color-choice input:checked + span{
    background:linear-gradient(135deg,var(--primary-2),var(--primary),var(--primary-dark)) !important;
    border-color:rgba(var(--primary2-rgb),.42) !important;
    color:#fff !important;
    box-shadow:0 18px 48px rgba(var(--primary-rgb),.28) !important;
}
.primary-action:hover,.action-primary:hover,.btn-primary:hover,.login-btn:hover,.save-btn:hover,
button[type="submit"]:not(.ghost-action):not(.danger-action):not(.modal-close):not(.modal-closer):not(.eye-btn):hover{
    box-shadow:0 24px 64px rgba(var(--primary-rgb),.38) !important;
    filter:saturate(1.08);
}
input:focus,textarea:focus,select:focus,.ddl-dropdown.open .ddl-dropdown-trigger,.searchbar:focus-within,.search-box:focus-within{
    border-color:rgba(var(--primary2-rgb),.70) !important;
    box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14),0 18px 48px rgba(var(--primary-dark-rgb),.14) !important;
}
.card:hover,.dash-card:hover,.stat-card:hover,.object-item:hover,.employee-card:hover,.assignment-card:hover,.calendar-day:hover,.module-card:hover{
    border-color:rgba(var(--primary2-rgb),.36) !important;
    box-shadow:0 26px 75px rgba(var(--primary-dark-rgb),.16), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.object-modal,.modal-card,.modal-panel,.message-modal{
    box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 95px rgba(var(--primary-rgb),.14) !important;
}
.object-modal:before,.modal-card:before,.modal-panel:before,.login-card:before{
    background:radial-gradient(circle at 20% 0,rgba(var(--primary2-rgb),.22),transparent 42%) !important;
}
.top-pill,.status-pill,.secure-line,.theme-preview-card{
    border-color:rgba(var(--primary2-rgb),.22) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 36px rgba(var(--primary-dark-rgb),.08) !important;
}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-2),var(--primary-dark)) !important;border-radius:999px}
::selection{background:rgba(var(--primary-rgb),.35)}


/* DDL Theme-System v28 HARD-FIX: Keine festen blauen Bereiche mehr.
   Wichtig: Alle Seiten laden diese Datei mit ?v=28-theme-hardfix, damit der Browser alte blaue CSS-Caches ignoriert. */
.app-body{
    --accent:var(--primary);
    --accent-2:var(--primary-2);
    --accent-3:var(--primary-3);
    --accent-dark:var(--primary-dark);
    --accent-rgb:var(--primary-rgb);
    --accent2-rgb:var(--primary2-rgb);
    --accent-dark-rgb:var(--primary-dark-rgb);
}
.app-body .app-background{
    background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        radial-gradient(circle at 16% 24%, rgba(var(--accent-rgb),.22), transparent 34%),
        radial-gradient(circle at 84% 72%, rgba(var(--accent-dark-rgb),.18), transparent 36%),
        transparent !important;
    background-size:70px 70px,70px 70px,auto,auto,auto !important;
}
.app-body .app-sidebar,
.app-body .dash-card,
.app-body .stat-card,
.app-body .glass-card,
.app-body .settings-card,
.app-body .settings-panel,
.app-body .object-card,
.app-body .state-card,
.app-body .employee-card,
.app-body .assignment-card,
.app-body .calendar-shell,
.app-body .chat-shell,
.app-body .module-card,
.app-body .modal-card,
.app-body .modal-panel,
.app-body .object-modal{
    box-shadow:0 28px 85px rgba(0,0,0,.34), 0 0 70px rgba(var(--accent-rgb),.10) !important;
}
.app-body .app-sidebar::before,
.app-body .dash-card::before,
.app-body .stat-card::before,
.app-body .settings-panel::before,
.app-body .object-card::before,
.app-body .employee-card::before,
.app-body .assignment-card::before,
.app-body .calendar-shell::before,
.app-body .chat-shell::before{
    background:radial-gradient(circle at 20% 0%, rgba(var(--accent2-rgb),.18), transparent 46%) !important;
}
.app-body .app-logo,
.app-body .logo,
.app-body .stat-icon,
.app-body .module-icon,
.app-body .profile-badge,
.app-body .avatar,
.app-body .chat-avatar,
.app-body .message-avatar,
.app-body .state-pin.has-items,
.app-body .calendar-event-dot{
    background:linear-gradient(135deg,var(--accent-2),var(--accent),var(--accent-dark)) !important;
    box-shadow:0 16px 44px rgba(var(--accent-rgb),.30), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.app-body .sidebar-nav a.active,
.app-body .sidebar-nav a:hover,
.app-body .settings-tab.active,
.app-body .settings-tab:hover,
.app-body .employee-tab.active,
.app-body .tab-button.active,
.app-body .chat-row.active,
.app-body .chat-row:hover,
.app-body .conversation-row.active,
.app-body .conversation-row:hover,
.app-body .ddl-dropdown-option:hover,
.app-body .ddl-dropdown-option.active{
    background:linear-gradient(135deg,rgba(var(--accent-rgb),.24),rgba(var(--accent2-rgb),.09)) !important;
    border-color:rgba(var(--accent2-rgb),.40) !important;
    box-shadow:0 0 34px rgba(var(--accent-rgb),.16) !important;
}
.app-body .eyebrow,
.app-body .page-kicker,
.app-body .sidebar-nav a.active span,
.app-body .sidebar-nav a:hover span,
.app-body .settings-tab.active span,
.app-body .muted-accent,
.app-body .link-like,
.app-body .state-toggle em,
.app-body .calendar-title,
.app-body .chat-description,
.app-body a:not(.sidebar-nav a):not(.danger-action){
    color:var(--accent-3) !important;
}
.app-body button[type=submit],
.app-body .primary-action,
.app-body .action-primary,
.app-body .btn-primary,
.app-body .settings-save,
.app-body .login-btn,
.app-body .add-btn,
.app-body .create-btn,
.app-body .send-btn{
    background:linear-gradient(135deg,var(--accent-2),var(--accent),var(--accent-dark)) !important;
    border-color:rgba(var(--accent2-rgb),.42) !important;
    box-shadow:0 18px 48px rgba(var(--accent-rgb),.28) !important;
    color:#fff !important;
}
.app-body input:focus,
.app-body textarea:focus,
.app-body select:focus,
.app-body .searchbar:focus-within,
.app-body .search-box:focus-within,
.app-body .ddl-dropdown.open .ddl-dropdown-trigger{
    border-color:rgba(var(--accent2-rgb),.72) !important;
    box-shadow:0 0 0 4px rgba(var(--accent-rgb),.14), 0 18px 48px rgba(var(--accent-dark-rgb),.14) !important;
}
.app-body .color-choice.selected,
.app-body .color-choice:has(input:checked){
    border-color:rgba(var(--accent2-rgb),.55) !important;
    background:rgba(var(--accent-rgb),.16) !important;
}
.app-body input[type=checkbox],
.app-body input[type=radio]{accent-color:var(--accent) !important;}
.app-body ::selection{background:rgba(var(--accent-rgb),.35) !important;}
.app-body ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent-2),var(--accent-dark)) !important;}

/* v32 chat polish */
.message-bubble{
  width:fit-content;
  min-width:180px;
  max-width:min(620px,86%);
  overflow-wrap:anywhere;
}
.message-bubble p{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.message-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:7px;
  flex-wrap:wrap;
}
.message-footer .read-state{margin-top:0;}
.message-delete-form{margin:0;display:inline-flex;}
.message-delete-form button{
  border:1px solid rgba(248,113,113,.22);
  background:rgba(239,68,68,.10);
  color:#fecaca;
  border-radius:999px;
  padding:6px 9px;
  font:inherit;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  opacity:.72;
  transition:.18s ease;
}
.message-delete-form button:hover{opacity:1;background:rgba(239,68,68,.18);transform:translateY(-1px)}
.message-compose textarea{
  resize:none!important;
  min-height:44px!important;
  height:44px;
  line-height:1.45;
  overflow:auto;
}
.message-compose{align-items:end;}
.chat-panel.loading{pointer-events:none;}
@media(max-width:860px){.message-bubble{max-width:96%;min-width:140px}.message-footer{justify-content:flex-start}.message-bubble.own .message-footer{justify-content:flex-end}}

/* v33 Nachrichten-Fix: Links als Buttons + kompaktere Chatblasen */
.mini-action{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.message-bubble{width:fit-content;min-width:0;max-width:min(560px,78%);padding:10px 13px;border-radius:18px}
.message-bubble.own{margin-left:auto}
.message-bubble p{display:block;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.message-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px}
.message-delete-form{margin:0}.message-delete-form button{border:0;background:transparent;color:#fecaca;cursor:pointer;font:inherit;font-size:11px;font-weight:900;padding:3px 5px;border-radius:8px}.message-delete-form button:hover{background:rgba(239,68,68,.15)}
.message-compose textarea{resize:none;overflow:hidden;line-height:1.35;min-height:44px;max-height:150px}
.delete-chat-form{margin-top:14px;padding-top:14px;border-top:1px solid rgba(248,113,113,.18);display:flex;justify-content:flex-end}

/* v34 Nachrichten-Menü + Website-Bestätigungen */
.message-bubble{position:relative; padding-right:44px;}
.message-menu-btn{position:absolute; top:10px; right:10px; width:30px; height:30px; border:1px solid var(--border,rgba(255,255,255,.1)); border-radius:999px; background:rgba(255,255,255,.06); color:var(--text,#fff); cursor:pointer; display:grid; place-items:center; line-height:1; font-weight:800; letter-spacing:-2px; opacity:.72; transition:.18s ease;}
.message-bubble:hover .message-menu-btn{opacity:1; background:var(--primary-soft,rgba(59,130,246,.16)); border-color:var(--primary-border,rgba(59,130,246,.35));}
.message-action-menu{display:none; position:absolute; top:44px; right:10px; z-index:40; min-width:180px; padding:8px; border:1px solid var(--border,rgba(255,255,255,.1)); border-radius:16px; background:rgba(8,13,25,.94); backdrop-filter:blur(18px); box-shadow:0 20px 60px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.04);}
.message-action-menu.show{display:grid; gap:4px; animation:menuPop .14s ease-out;}
.message-action-menu button{width:100%; border:0; background:transparent; color:var(--text,#fff); padding:10px 12px; border-radius:12px; text-align:left; cursor:pointer; font-weight:700;}
.message-action-menu button:hover{background:var(--primary-soft,rgba(59,130,246,.14)); color:var(--primary,#3b82f6);}
.message-action-menu button.danger:hover{background:rgba(239,68,68,.15); color:#f87171;}
@keyframes menuPop{from{opacity:0; transform:translateY(-4px) scale(.98)}to{opacity:1; transform:translateY(0) scale(1)}}
.reply-preview{border-left:3px solid var(--primary,#3b82f6); background:var(--primary-soft,rgba(59,130,246,.12)); border-radius:12px; padding:9px 11px; margin:8px 0 10px; display:grid; gap:3px;}
.reply-preview strong{font-size:.78rem; color:var(--primary-light,#93c5fd);}
.reply-preview span{font-size:.82rem; color:var(--text-muted,#a8b3cf);}
.reply-compose{grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; border:1px solid var(--primary-border,rgba(59,130,246,.28)); background:var(--primary-soft,rgba(59,130,246,.12)); border-radius:16px; margin-bottom:4px;}
.reply-compose[hidden]{display:none!important;}
.reply-compose div{display:grid; gap:2px; min-width:0;}
.reply-compose strong{font-size:.78rem; color:var(--primary-light,#93c5fd);}
.reply-compose span{font-size:.82rem; color:var(--text-muted,#a8b3cf); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:520px;}
.reply-compose button{border:0; background:rgba(255,255,255,.08); color:var(--text,#fff); border-radius:999px; width:28px; height:28px; cursor:pointer; font-size:18px;}
.confirm-modal{max-width:460px;}
.hidden-form{display:none!important;}
