/* Layout: split-screen login (photo | card) → full-screen logo intro → app shell with left tab rail (bottom bar on phones).
   Deliberately single light theme, following the RADICI brand board. */
:root{
  --rot:#C8102E;          /* Immodue Rot */
  --rot-dunkel:#A50D26;
  --rot-hauch:#F7E4E6;
  --anthrazit:#2E2E30;
  --text-2:#5E5B58;
  --sand:#C9C4BC;
  --sand-hell:#E7E3DD;
  --offwhite:#F7F5F2;
  --weiss:#FFFFFF;
  --f-display:"Playfair Display", Georgia, "Times New Roman", serif;
  --f-text:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --radius:10px;
  --shadow:0 1px 2px rgba(46,46,48,.05), 0 8px 28px rgba(46,46,48,.07);
  --c-info:#3E5C76;
  --c-termin:#94661A;
  --c-personal:#4E6E58;
  --hero-img:url(../img/login.jpg);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--offwhite);color:var(--anthrazit);font-family:var(--f-text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--rot);outline-offset:3px;border-radius:4px}
.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--text-2)}
.redline{display:block;width:48px;height:2px;background:var(--rot)}

/* ---------- Logo ---------- */
.lg-mark{display:block;background:url(../img/logo-mark.png) center/contain no-repeat;aspect-ratio:463/460}
.lg-word{display:block;background:url(../img/logo-wortmarke.png) center/contain no-repeat;aspect-ratio:1161/351}
.logo-h{display:flex;align-items:center;gap:10px}
.logo-h .lg-mark{width:34px}
.logo-h .lg-word{width:92px}

/* ---------- Login ---------- */
#login{min-height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.login-photo{grid-column:1/-1;grid-row:1;position:relative;background:var(--anthrazit) 40% center/cover no-repeat;background-image:var(--hero-img);min-height:100vh;display:flex;align-items:flex-end;padding:56px}
.login-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,26,25,0) 45%,rgba(28,26,25,.62) 100%)}
.claim{position:relative;color:var(--weiss);max-width:420px;text-shadow:0 1px 18px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:18px}
.claim h1{font-family:var(--f-display);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1.08;margin:0;text-wrap:balance}
.claim .eyebrow{color:rgba(255,255,255,.85);line-height:1.9}
.login-side{grid-column:2;grid-row:1;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;gap:40px;position:relative}
.card .logo-h{gap:14px;padding-bottom:4px}
.card .logo-h .lg-mark{width:52px}
.card .logo-h .lg-word{width:132px}
.card{background:var(--weiss);border-radius:14px;box-shadow:0 2px 6px rgba(20,18,16,.12),0 24px 60px rgba(20,18,16,.28);padding:36px 34px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px}
.card h2{font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1.15;margin:0}
.card p{margin:0;color:var(--text-2);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;padding:14px 18px;font-weight:600;font-size:14px;letter-spacing:.02em;transition:background .2s, transform .2s}
.btn-rot{background:var(--rot);color:var(--weiss);width:100%}
.btn-rot:hover{background:var(--rot-dunkel)}
.btn-rot:active{transform:translateY(1px)}
.btn-rot[aria-busy="true"]{pointer-events:none;background:var(--rot-dunkel)}
.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hint{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--text-2);border-top:1px solid var(--sand-hell);padding-top:16px}
.hint svg{flex:none;margin-top:2px}
.proto{position:absolute;bottom:18px;background:rgba(247,245,242,.9)!important;font-size:11px;letter-spacing:.08em;color:var(--text-2);background:var(--sand-hell);padding:4px 10px;border-radius:99px}

/* ---------- Intro-Animation ---------- */
#intro{position:fixed;inset:0;z-index:50;background:var(--offwhite);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:24px}
#intro .lg-mark{width:120px;clip-path:circle(0% at 45% 50%);transform:scale(.86) rotate(-12deg)}
#intro .lg-word{width:min(340px,76vw);clip-path:inset(0 100% 0 0);opacity:.2}
#intro .redline{width:0}
#intro .greet{font-family:var(--f-display);font-size:clamp(20px,3vw,26px);opacity:0;transform:translateY(8px);text-align:center}
#intro .skip{position:absolute;bottom:28px;right:28px;background:none;border:1px solid var(--sand);border-radius:99px;padding:6px 14px;font-size:12px;color:var(--text-2)}
#intro.play .lg-mark{animation:markin 1.1s cubic-bezier(.2,.8,.2,1) forwards}
#intro.play .lg-word{animation:wordin 1s .75s cubic-bezier(.6,0,.2,1) forwards}
#intro.play .redline{animation:line .7s 1.7s cubic-bezier(.2,.8,.2,1) forwards}
#intro.play .greet{animation:up .8s 2.1s cubic-bezier(.2,.8,.2,1) forwards}
#intro.leave{animation:lift .9s cubic-bezier(.7,0,.2,1) forwards}
@keyframes markin{to{clip-path:circle(75% at 45% 50%);transform:none}}
@keyframes wordin{to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes up{to{opacity:1;transform:none}}
@keyframes fade{to{opacity:1}}
@keyframes line{to{width:64px}}
@keyframes lift{to{transform:translateY(-100%)}}

/* ---------- App ---------- */
#app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100%}
#app.enter .main-inner{animation:rise .9s .25s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.rail{background:var(--weiss);border-right:1px solid var(--sand-hell);padding:26px 16px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}
.rail .logo-h{padding:0 8px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:10px 12px;font-size:13.5px;font-weight:500;color:var(--text-2);transition:background .15s,color .15s}
.nav button:hover{background:var(--offwhite);color:var(--anthrazit)}
.nav button[aria-current="page"]{background:var(--rot-hauch);color:var(--rot)}
.nav svg{width:18px;height:18px;flex:none}
.nav-label{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--sand);font-weight:600;padding:0 12px 6px}
.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--sand-hell);padding-top:16px}
.user{display:flex;align-items:center;gap:10px;padding:0 8px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--anthrazit);color:var(--weiss);display:grid;place-items:center;font-size:12px;font-weight:600;letter-spacing:.04em;flex:none}
.user b{display:block;font-size:13px;font-weight:600}
.user small{display:block;font-size:11.5px;color:var(--text-2)}
.linkbtn{background:none;border:0;padding:6px 8px;font-size:12.5px;color:var(--text-2);text-align:left;border-radius:6px}
.linkbtn:hover{color:var(--rot)}
.topbar{display:none}
.main{min-width:0;padding-block:44px 80px;padding-inline:clamp(16px,4vw,56px)}
.main-inner{max-width:1080px;margin:0 auto}

/* Startseite */
.hello{display:flex;flex-direction:column;gap:6px;margin-bottom:34px}
.hello .date{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);font-weight:500}
.hello h1{font-family:var(--f-display);font-weight:400;font-size:clamp(32px,4vw,46px);line-height:1.1;margin:0}
.hello p{margin:0;font-family:var(--f-display);font-style:italic;font-size:18px;color:var(--text-2)}
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:var(--anthrazit);color:var(--offwhite);border-radius:14px;overflow:hidden;margin-bottom:40px}
.story-img{background:48% 60%/cover no-repeat;background-image:url(../img/startseite-familie.jpg);min-height:320px}
.story-text{padding:40px 40px 36px;display:flex;flex-direction:column;gap:16px}
.story-text .eyebrow{color:var(--sand)}
.story-text h2{font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1.15;margin:0;text-wrap:balance}
.story-text p{margin:0;color:#D9D5CF;max-width:52ch}
.word{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:14px 0;border-block:1px solid rgba(201,196,188,.25)}
.word b{font-family:var(--f-display);font-weight:400;font-size:24px;color:var(--weiss)}
.word i{font-size:12.5px;color:var(--sand);font-style:normal;letter-spacing:.04em}
.story-text p{font-size:15.5px;line-height:1.75}
.chron{list-style:none;margin:0 0 44px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--sand)}
.chron li{position:relative;padding:26px 22px 0 0;display:flex;flex-direction:column;gap:6px;min-width:0}
.chron li::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--offwhite);border:2px solid var(--rot)}
.chron li:last-child::before{background:var(--rot)}
.chron .when{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--rot)}
.chron b{font-family:var(--f-display);font-weight:400;font-size:21px;line-height:1.25}
.chron p{margin:0;font-size:13.5px;color:var(--text-2);line-height:1.7}
.statement{font-family:var(--f-display);font-size:clamp(20px,2.3vw,26px);line-height:1.45;margin:0 0 48px;max-width:46ch;text-wrap:pretty;padding-left:22px;border-left:2px solid var(--rot)}
.why{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:40px;background:var(--weiss);border:1px solid var(--sand-hell);border-radius:14px;padding:40px;margin-bottom:28px}
.why-word{display:flex;flex-direction:column;gap:6px}
.why-word b{font-family:var(--f-display);font-weight:400;font-size:clamp(46px,5.5vw,68px);line-height:1;color:var(--rot);margin-top:14px}
.why-word i{font-style:normal;font-size:13px;color:var(--text-2);letter-spacing:.04em}
.why-text{display:flex;flex-direction:column;gap:14px}
.why-text p{margin:0;max-width:62ch}
.why-text .strong{font-weight:600}
.motto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--sand-hell);border-radius:14px;overflow:hidden;margin-bottom:52px}
.motto div{background:var(--anthrazit);color:var(--offwhite);padding:30px 32px;display:flex;flex-direction:column;gap:10px}
.motto p{margin:0;font-family:var(--f-display);font-style:italic;font-size:clamp(20px,2.2vw,25px);line-height:1.3;text-wrap:balance}
.motto span{font-size:13px;color:var(--sand);letter-spacing:.02em}
.draft{align-self:flex-start;font-size:11px;letter-spacing:.08em;color:var(--anthrazit);background:var(--sand);padding:3px 10px;border-radius:99px;font-weight:600}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-head h3{font-family:var(--f-display);font-weight:400;font-size:24px;margin:0}
.section-head span{font-size:12.5px;color:var(--text-2)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:44px}
.tile{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:var(--radius);padding:20px 18px 18px;text-align:left;display:flex;flex-direction:column;gap:10px;transition:border-color .2s, transform .2s, box-shadow .2s}
.tile:hover{border-color:var(--sand);transform:translateY(-2px);box-shadow:var(--shadow)}
.tile .ic{width:40px;height:40px;border-radius:50%;background:var(--offwhite);display:grid;place-items:center;color:var(--anthrazit)}
.tile:hover .ic{background:var(--rot-hauch);color:var(--rot)}
.tile .ic svg{width:20px;height:20px}
.tile b{font-size:14.5px;font-weight:600;hyphens:manual}
.tile small{font-size:12.5px;color:var(--text-2);line-height:1.5}
.pill{align-self:flex-start;font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:3px 9px;border-radius:99px;margin-top:auto}
.pill.offen{background:var(--sand-hell);color:var(--text-2)}
.pill.plan{background:var(--rot-hauch);color:var(--rot)}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.post{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px}
.post.pinned{border-top:3px solid var(--rot)}
.post .meta{display:flex;gap:8px;align-items:center;font-size:11.5px;color:var(--text-2);flex-wrap:wrap}
.post .meta .tag{background:var(--offwhite);padding:2px 8px;border-radius:99px;font-weight:600;color:var(--anthrazit)}
.post h4{margin:0;font-size:15px;font-weight:600}
.post p{margin:0;font-size:13.5px;color:var(--text-2)}
.example{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);font-weight:600;margin-left:auto}

/* Platzhalter-Tabs */
.ph-head{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;max-width:640px}
.ph-head h1{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,3.6vw,42px);line-height:1.1;margin:0}
.ph-head p{margin:0;color:var(--text-2)}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}
.box{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:var(--radius);padding:24px}
.box h3{margin:0 0 14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--text-2)}
.box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.box li{display:flex;gap:12px;font-size:14px}
.box li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--rot);margin-top:8px}
.box.note{background:var(--offwhite);border-style:dashed;border-color:var(--sand)}
.box.note p{margin:0;font-size:13.5px;color:var(--text-2)}
.box.note p+p{margin-top:10px}

/* ---------- Phone ---------- */
@media (max-width:860px){
  #login{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .login-photo{min-height:320px;padding:28px 20px;background-position:28% center}
  .login-photo::before{background:linear-gradient(180deg,rgba(28,26,25,.1) 0%,rgba(28,26,25,.6) 100%)}
  .login-side{grid-column:1;grid-row:2;background:var(--offwhite);border-left:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .login-side{padding:36px 16px 72px;gap:28px}
  .card{padding:28px 22px}
  #app{grid-template-columns:minmax(0,1fr)}
  .rail{display:none}
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--weiss);border-bottom:1px solid var(--sand-hell);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
  .topbar .avatar{width:30px;height:30px;font-size:11px}
  .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--weiss);border-top:1px solid var(--sand-hell);display:grid;grid-template-columns:repeat(7,1fr);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
  .tabbar button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9.5px;font-weight:500;color:var(--text-2);padding:6px 0;border-radius:8px;min-width:0}
  .tabbar button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tabbar svg{width:20px;height:20px}
  .tabbar button[aria-current="page"]{color:var(--rot)}
  .main{padding-block:28px 110px}
  .story{grid-template-columns:1fr}
  .story-img{min-height:180px}
  .story-text{padding:28px 22px}
  .chron{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--sand);margin-left:6px}
  .chron li{padding:0 0 26px 24px}
  .chron li::before{top:3px;left:-7px}
  .statement{padding-left:16px}
  .why{grid-template-columns:1fr;gap:20px;padding:28px 22px}
  .motto{grid-template-columns:1fr}
  .motto div{padding:24px 22px}
  .ph-grid{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:861px){.tabbar{display:none}}
@media (max-width:380px){.tiles{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition:none!important}
}

/* ---------- Pinnwand ---------- */
.pill.ok{background:#E3ECE5;color:var(--c-personal)}
.pw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.pw-head .ph-head{margin-bottom:0}
.btn-new{background:var(--rot);color:var(--weiss);width:auto;padding:12px 18px}
.btn-new:hover{background:var(--rot-dunkel)}
.btn-ghost{background:none;border:1px solid var(--sand);color:var(--anthrazit);padding:10px 16px}
.btn-ghost:hover{border-color:var(--anthrazit)}
.btn-sm{padding:8px 14px;font-size:13px}
.readbanner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--rot-hauch);border:1px solid #EFC9CF;border-radius:var(--radius);padding:14px 18px;margin-bottom:20px;font-size:14px}
.readbanner b{color:var(--rot)}
.readbanner .btn{margin-left:auto}
.pw-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.chip{border:1px solid var(--sand-hell);background:var(--weiss);border-radius:99px;padding:7px 14px;font-size:13px;font-weight:500;color:var(--text-2);display:inline-flex;align-items:center;gap:8px}
.chip:hover{border-color:var(--sand);color:var(--anthrazit)}
.chip[aria-pressed="true"]{background:var(--anthrazit);border-color:var(--anthrazit);color:var(--weiss)}
.chip .n{font-size:11px;opacity:.7;font-variant-numeric:tabular-nums}
.chip .dot{width:8px;height:8px;border-radius:50%}
.pw-tools .spacer{flex:1}
.pw-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.feed{display:flex;flex-direction:column;gap:16px;min-width:0}
.pcard{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:22px 24px 16px;display:flex;flex-direction:column;gap:12px;min-width:0;position:relative}
.pcard.is-pinned{box-shadow:inset 0 3px 0 var(--rot)}
.pcard.is-expired{opacity:.72}
.p-top{display:flex;align-items:center;gap:12px}
.p-top .avatar{width:38px;height:38px;font-size:12px}
.p-who{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.p-who b{font-size:13.5px;font-weight:600}
.p-who small{font-size:12px;color:var(--text-2)}
.p-badges{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ctag{font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 10px;border-radius:99px}
.ctag.wichtig{background:var(--rot-hauch);color:var(--rot)}
.ctag.info{background:#E4EAF0;color:var(--c-info)}
.ctag.termin{background:#F3EAD9;color:var(--c-termin)}
.ctag.personal{background:#E3ECE5;color:var(--c-personal)}
.pinmark{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--rot)}
.pinmark svg{width:13px;height:13px}
.pcard h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:23px;line-height:1.25;text-wrap:balance}
.pcard .body{margin:0;white-space:pre-line;font-size:14.5px;max-width:68ch}
.atts{display:flex;flex-wrap:wrap;gap:10px}
.att-img{width:180px;max-width:100%;aspect-ratio:4/3;border-radius:8px;background:var(--sand-hell) center/cover no-repeat;border:1px solid var(--sand-hell)}
.att-file{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--sand-hell);border-radius:8px;padding:9px 12px;background:var(--offwhite);font-size:13px;max-width:100%}
.att-file svg{width:18px;height:18px;flex:none;color:var(--rot)}
.att-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-file small{color:var(--text-2);font-size:11.5px;flex:none}
.p-exp{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}
.p-exp svg{width:14px;height:14px}
.readbox{border:1px solid var(--sand-hell);background:var(--offwhite);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.read-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.read-row .lbl{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.bar{flex:1;min-width:120px;height:6px;background:var(--sand-hell);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--rot);border-radius:99px;transition:width .4s}
.read-done{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--c-personal);font-weight:600}
.read-done svg{width:16px;height:16px}
.missing{font-size:12.5px;color:var(--text-2);display:flex;flex-wrap:wrap;gap:6px}
.missing span{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:99px;padding:2px 9px}
.linklike{align-self:flex-start;background:none;border:0;padding:0;font-size:12.5px;color:var(--text-2);text-decoration:underline;text-underline-offset:3px}
.linklike:hover{color:var(--rot)}
.p-actions{display:flex;align-items:center;gap:4px;border-top:1px solid var(--sand-hell);padding-top:10px;margin-top:2px;flex-wrap:wrap}
.act{background:none;border:0;border-radius:7px;padding:7px 10px;display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);font-weight:500}
.act svg{width:17px;height:17px}
.act:hover{background:var(--offwhite);color:var(--anthrazit)}
.act[aria-pressed="true"]{color:var(--rot)}
.act[aria-pressed="true"] svg{fill:currentColor}
.act.del{margin-left:auto}
.confirm{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px}
.confirm .yes{background:var(--rot);color:var(--weiss);border:0;border-radius:7px;padding:6px 12px;font-weight:600}
.comments{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.cmt{display:flex;gap:10px}
.cmt .avatar{width:28px;height:28px;font-size:10px;background:var(--sand);color:var(--anthrazit)}
.cmt div{background:var(--offwhite);border-radius:10px;padding:8px 12px;font-size:13.5px;min-width:0}
.cmt b{font-size:12.5px;font-weight:600;margin-right:6px}
.cmt small{font-size:11.5px;color:var(--text-2)}
.cmt p{margin:2px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.cform{display:flex;gap:8px}
.cform input{flex:1;min-width:0;border:1px solid var(--sand);border-radius:8px;padding:9px 12px;font:inherit;font-size:13.5px;background:var(--weiss);color:var(--anthrazit)}
.cform button{border:0;background:var(--anthrazit);color:var(--weiss);border-radius:8px;padding:0 14px;font-size:13px;font-weight:600}
.side{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
.side .box h3{margin-bottom:12px}
.agenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.agenda li{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;cursor:pointer}
.agenda li::before{display:none}
.agenda .d{flex:none;width:44px;text-align:center;border:1px solid var(--sand-hell);border-radius:8px;padding:4px 0;line-height:1.1}
.agenda .d b{display:block;font-size:17px;font-family:var(--f-display);font-weight:400}
.agenda .d small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-termin);font-weight:600}
.agenda li:hover span:last-child{color:var(--rot)}
.empty{background:var(--weiss);border:1px dashed var(--sand);border-radius:12px;padding:40px 24px;text-align:center;color:var(--text-2)}
.empty b{display:block;font-family:var(--f-display);font-weight:400;font-size:22px;color:var(--anthrazit);margin-bottom:6px}
.proto-note{font-size:12.5px;color:var(--text-2)}

/* Modal */
.modal{position:fixed;inset:0;z-index:40;background:rgba(30,28,27,.45);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto}
.sheet{background:var(--weiss);border-radius:14px;width:100%;max-width:620px;box-shadow:0 30px 80px rgba(0,0,0,.25);display:flex;flex-direction:column}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px 14px;border-bottom:1px solid var(--sand-hell)}
.sheet-head h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:26px}
.xbtn{background:none;border:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--text-2)}
.xbtn:hover{background:var(--offwhite)}
.sheet form{padding:20px 26px 24px;display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field > label:not(.drop):not(.check),.field > .flabel{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.field input[type=text],.field input[type=date],.field input[type=number],.field textarea{border:1px solid var(--sand);border-radius:8px;padding:11px 13px;font:inherit;font-size:14.5px;background:var(--weiss);color:var(--anthrazit);width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus,.cform input:focus{outline:2px solid var(--rot);outline-offset:0;border-color:transparent}
.field .help{font-size:12px;color:var(--text-2)}
.field .err{font-size:12.5px;color:var(--rot);font-weight:500}
.catpick{display:flex;flex-wrap:wrap;gap:8px}
.catpick label{cursor:pointer}
.catpick input{position:absolute;opacity:0;pointer-events:none}
.catpick span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sand-hell);border-radius:99px;padding:8px 14px;font-size:13.5px;font-weight:500}
.catpick input:checked + span{border-color:var(--anthrazit);background:var(--anthrazit);color:var(--weiss)}
.catpick input:focus-visible + span{outline:2px solid var(--rot);outline-offset:2px}
.drop{border:1.5px dashed var(--sand);border-radius:10px;padding:16px;display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--text-2);cursor:pointer;background:var(--offwhite)}
.drop:hover,.drop.over{border-color:var(--rot);color:var(--anthrazit)}
.drop svg{width:22px;height:22px;flex:none}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.flist{display:flex;flex-wrap:wrap;gap:8px}
.fitem{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sand-hell);border-radius:8px;padding:5px 6px 5px 5px;font-size:12.5px;max-width:100%}
.fitem i{width:34px;height:34px;border-radius:6px;background:var(--sand-hell) center/cover no-repeat;flex:none;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:700;color:var(--rot)}
.fitem span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
.fitem button{background:none;border:0;color:var(--text-2);width:22px;height:22px;border-radius:50%}
.fitem button:hover{background:var(--offwhite);color:var(--rot)}
.checks{display:flex;flex-direction:column;gap:10px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}
.check input{accent-color:var(--rot);width:17px;height:17px;margin-top:2px;flex:none}
.check small{display:block;font-size:12px;color:var(--text-2)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.sheet-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;background:var(--anthrazit);color:var(--weiss);padding:11px 18px;border-radius:99px;font-size:13.5px;font-weight:500;z-index:60;transition:opacity .25s,transform .25s;pointer-events:none;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.home-more{display:flex;justify-content:flex-end;margin-top:12px}
@media (max-width:980px){.pw-layout{grid-template-columns:minmax(0,1fr)}.side{position:static}}
@media (max-width:860px){
  .pcard{padding:18px 16px 12px}
  .p-badges{flex-direction:column;align-items:flex-end;gap:4px}
  .two{grid-template-columns:1fr}
  .modal{padding:0}
  .sheet{border-radius:0;min-height:100%}
  .sheet form{padding:18px 16px 24px}
  .sheet-head{padding:18px 16px 12px}
  .toast{bottom:86px}
  .readbanner .btn{margin-left:0}
}

/* ---------- Teamsitzung ---------- */
.seg{display:inline-flex;background:var(--sand-hell);border-radius:10px;padding:4px;gap:2px;margin-bottom:22px}
.seg button{border:0;background:none;border-radius:7px;padding:8px 16px;font-size:13.5px;font-weight:600;color:var(--text-2);display:inline-flex;gap:8px;align-items:center}
.seg button[aria-selected="true"]{background:var(--weiss);color:var(--anthrazit);box-shadow:0 1px 3px rgba(46,46,48,.12)}
.seg .n{font-size:11px;opacity:.7}
.ts-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;background:var(--weiss);border:1px solid var(--sand-hell);border-radius:14px;padding:26px 28px;margin-bottom:32px;transition:background .3s,color .3s}
.ts-hero.running{background:var(--anthrazit);color:var(--offwhite);border-color:var(--anthrazit)}
.ts-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:104px;border-radius:12px;background:var(--offwhite);border:1px solid var(--sand-hell);line-height:1.1}
.ts-hero.running .ts-date{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.ts-date b{font-family:var(--f-display);font-weight:400;font-size:44px;line-height:1;color:var(--rot);margin:2px 0}
.ts-date small{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text-2)}
.ts-hero.running .ts-date small,.ts-hero.running .eyebrow{color:var(--sand)}
.ts-info{display:flex;flex-direction:column;gap:8px;min-width:0}
.ts-info h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1.1}
.ts-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--text-2)}
.ts-hero.running .ts-meta{color:#D9D5CF}
.ts-meta span{display:inline-flex;align-items:center;gap:6px}
.ts-meta svg{width:15px;height:15px}
.steps{list-style:none;margin:6px 0 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.steps li{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--text-2);padding-right:10px}
.steps li i{width:9px;height:9px;border-radius:50%;border:2px solid var(--sand)}
.steps li.cur{color:var(--rot)}
.steps li.cur i{border-color:var(--rot);background:var(--rot)}
.steps li.done i{background:var(--sand);border-color:var(--sand)}
.ts-hero.running .steps li{color:var(--sand)}
.ts-hero.running .steps li.cur{color:var(--weiss)}
.ts-act{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.ts-act .since{font-size:12.5px;color:var(--sand);display:flex;align-items:center;gap:8px}
.ts-act .since::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rot);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.25}}
.ts-act .row{display:flex;gap:8px}
.confirm-end{font-size:13px;color:var(--offwhite);max-width:220px;text-align:right}
.btn-ghost.inv{color:var(--offwhite);border-color:rgba(255,255,255,.3)}
.ts-hero.running .linklike{color:var(--sand)}
.ti-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}
.ti{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.ti.open{border-color:var(--sand);box-shadow:var(--shadow)}
.ti-head{display:flex;gap:16px;align-items:flex-start;padding:16px 18px}
.ti-num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--offwhite);border:1px solid var(--sand-hell);display:grid;place-items:center;font-family:var(--f-display);font-size:15px;font-variant-numeric:tabular-nums}
.ti.open .ti-num{background:var(--rot);border-color:var(--rot);color:var(--weiss)}
.ti-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ti-main[role=button]{cursor:pointer}
.ti-main b{font-size:15px;font-weight:600}
.ti-main small{font-size:12px;color:var(--text-2)}
.ti-main p{margin:4px 0 0;font-size:13.5px;color:var(--text-2);max-width:62ch}
.minis{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.mini{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;background:var(--offwhite);border-radius:99px;padding:2px 9px;color:var(--text-2)}
.mini svg{width:12px;height:12px}
.mini.dec{background:#E3ECE5;color:var(--c-personal)}
.ti-chev{flex:none;color:var(--text-2);transition:transform .2s;margin-top:4px}
.ti-chev svg{width:18px;height:18px}
.ti.open .ti-chev,.ac.open .ti-chev{transform:rotate(90deg)}
.ti-ctrl{display:flex;gap:2px;flex:none}
.ibtn{background:none;border:0;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;color:var(--text-2)}
.ibtn svg{width:16px;height:16px}
.ibtn:hover:not(:disabled){background:var(--offwhite);color:var(--anthrazit)}
.ibtn:disabled{opacity:.3;cursor:default}
.ti-body{padding:0 18px 18px 64px;display:flex;flex-direction:column;gap:14px}
.ti-body textarea{min-height:90px}
.field select{border:1px solid var(--sand);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;background:var(--weiss);color:var(--anthrazit)}
.field input[type=time]{border:1px solid var(--sand);border-radius:8px;padding:11px 13px;font:inherit;font-size:14.5px;background:var(--weiss);color:var(--anthrazit);width:100%}
.tks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tk{display:grid;grid-template-columns:minmax(0,1fr) 110px 70px auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--sand-hell);font-size:13.5px}
.tk:last-child{border-bottom:0}
.tk-chk{display:flex;gap:10px;align-items:flex-start;cursor:pointer;min-width:0}
.tk-chk input{accent-color:var(--rot);width:17px;height:17px;margin-top:1px;flex:none}
.tk-chk span{min-width:0;overflow-wrap:anywhere}
.tk-chk small{display:block;font-size:11.5px;color:var(--text-2);margin-top:2px}
.tk.done .tk-chk span{color:var(--text-2);text-decoration:line-through;text-decoration-color:var(--sand)}
.tk.done .tk-chk small{text-decoration:none}
.tk-who{display:flex;align-items:center;gap:7px;font-size:12.5px;min-width:0}
.tk-who .avatar{width:24px;height:24px;font-size:9px;background:var(--sand);color:var(--anthrazit)}
.tk-due{font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}
.tk-due.late{color:var(--rot);font-weight:600}
.tks.compact .tk{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
.tks.compact .tk-who{grid-column:1;padding-left:27px}
.tks.compact .tk-due{grid-row:1;grid-column:2}
.tk-form{display:grid;grid-template-columns:minmax(0,1fr) 150px 140px auto;gap:8px;margin-top:6px}
.tk-form input,.tk-form select{border:1px solid var(--sand);border-radius:8px;padding:9px 10px;font:inherit;font-size:13px;background:var(--weiss);color:var(--anthrazit);min-width:0}
.tk-form button{border:0;background:var(--anthrazit);color:var(--weiss);border-radius:8px;padding:0 14px;font-size:13px;font-weight:600}
.addtopic{background:var(--weiss);border:1px dashed var(--sand);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px}
.addtopic h4{margin:0;font-family:var(--f-display);font-weight:400;font-size:20px}
.at-row{display:flex;gap:12px;flex-wrap:wrap}
.at-row .grow{flex:1;min-width:200px}
.opt{text-transform:none;letter-spacing:0;font-weight:400}
.side .cnt{margin:0 0 12px;font-size:13.5px;color:var(--text-2)}
.side .cnt b{font-family:var(--f-display);font-weight:400;font-size:26px;color:var(--anthrazit);margin-right:4px}
.people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.box .tk{display:grid;gap:4px 10px}
.box .tk::before{display:none}
.box .tks.compact .tk{padding:8px 0}
.people li{display:flex;align-items:center;gap:9px;font-size:13px}
.people li::before{display:none}
.people .avatar{width:24px;height:24px;font-size:9px;background:var(--offwhite);color:var(--anthrazit);border:1px solid var(--sand-hell)}
.people .check{font-size:13px}
.arch{display:flex;flex-direction:column;gap:12px}
.ac{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px}
.ac-head{width:100%;background:none;border:0;display:flex;align-items:center;gap:16px;padding:16px 18px;text-align:left}
.ac-date{flex:none;width:52px;text-align:center;border:1px solid var(--sand-hell);border-radius:9px;padding:6px 0;line-height:1.1}
.ac-date b{display:block;font-family:var(--f-display);font-weight:400;font-size:22px}
.ac-date small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);font-weight:600}
.ac-t{flex:1;min-width:0;display:flex;flex-direction:column}
.ac-t b{font-size:15px;font-weight:600}
.ac-t small{font-size:12.5px;color:var(--text-2)}
.ac-p .pill{margin:0}
.ac-body{padding:4px 24px 22px 86px;display:flex;flex-direction:column;gap:18px}
.prot-att{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;background:var(--offwhite);border-radius:10px;padding:14px 16px}
.prot-att p{margin:4px 0 0;font-size:13px}
.flabel{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.prot{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.prot li{display:flex;gap:14px}
.prot li > div{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.prot b{font-size:15px;font-weight:600;margin-top:4px}
.prot p{margin:0;font-size:14px;max-width:68ch}
.decision{background:#E3ECE5;border-radius:8px;padding:9px 12px;color:var(--anthrazit)}
.decision span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-personal);margin-bottom:2px}
.pd-wrap{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:6px 20px 8px}
.pd-head{display:grid;grid-template-columns:minmax(0,1fr) 110px 70px;gap:12px;padding:10px 0;border-bottom:1px solid var(--sand-hell);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.tks.pd .tk{grid-template-columns:minmax(0,1fr) 110px 70px;padding:13px 0}
@media (max-width:860px){
  .ts-hero{grid-template-columns:auto minmax(0,1fr);padding:20px 18px;gap:16px}
  .ts-date{width:72px;height:84px}
  .ts-date b{font-size:34px}
  .ts-act{grid-column:1/-1;align-items:stretch}
  .ts-act .btn{width:100%}
  .confirm-end{text-align:left;max-width:none}
  .ts-act .row .btn{flex:1}
  .ti-body{padding:0 16px 16px}
  .tk-form{grid-template-columns:1fr 1fr}
  .tk-form input[name=text]{grid-column:1/-1}
  .tk-form button{grid-column:1/-1;padding:10px}
  .tk{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  .tk-who{grid-column:1;padding-left:27px}
  .tk-due{grid-row:1;grid-column:2}
  .tk .ibtn{grid-row:2;grid-column:2;justify-self:end}
  .pd-head{display:none}
  .tks.pd .tk{grid-template-columns:minmax(0,1fr) auto}
  .ac-body{padding:4px 16px 18px}
  .ac-head{gap:12px;padding:14px}
  .ac-p{display:none}
  .tabbar{display:flex!important;overflow-x:auto;scrollbar-width:none}
  .tabbar button{flex:0 0 64px}
}

/* ---------- Arbeitszeit ---------- */
.badge{background:var(--rot);color:var(--weiss);font-size:10.5px;font-weight:700;border-radius:99px;padding:1px 7px;min-width:18px;text-align:center}
.seg.sub{background:none;border-bottom:1px solid var(--sand-hell);border-radius:0;padding:0;gap:20px;display:flex;margin-bottom:24px}
.seg.sub button{border-radius:0;padding:10px 2px;border-bottom:2px solid transparent;margin-bottom:-1px}
.seg.sub button[aria-selected="true"]{background:none;box-shadow:none;border-bottom-color:var(--rot);color:var(--anthrazit)}
.pill.zsub{background:#F3EAD9;color:var(--c-termin)}
.pill.zrej{background:var(--sand-hell);color:var(--text-2)}
.ztop{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,2fr);gap:16px;margin-bottom:28px}
.zstamp{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:14px;transition:background .3s,color .3s}
.zstamp.on{background:var(--anthrazit);color:var(--offwhite);border-color:var(--anthrazit)}
.zclock{font-family:var(--f-display);font-size:46px;line-height:1;font-variant-numeric:tabular-nums}
.zs-state b{display:block;font-size:14.5px;font-weight:600}
.zs-state small{font-size:12.5px;color:var(--text-2)}
.zstamp.on .zs-state small{color:var(--sand)}
.zs-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.zs-btns .btn{flex:1;white-space:nowrap}
.zstamp.on .btn-ghost{color:var(--offwhite);border-color:rgba(255,255,255,.3)}
.zkpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ztop .zk{justify-content:flex-end}
.zkpis.wide{margin-bottom:24px}
.zk{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:14px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.zk span{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.zk b{font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums;margin-top:6px}
.zk b i{font-style:normal;font-size:15px;font-family:var(--f-text);color:var(--text-2)}
.zk small{font-size:12px;color:var(--text-2)}
.neg{color:var(--rot)}
.pos{color:var(--c-personal)}
.zmonth{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.zmonth h3{margin:0 6px;font-family:var(--f-display);font-weight:400;font-size:24px;min-width:170px;text-align:center}
.zmonth .pill{margin:0 0 0 8px}
.zmonth .spacer{flex:1}
.zmonth .btn svg{margin-right:2px}
.zlock{margin:-4px 0 12px}
.ztable-wrap{overflow-x:auto;background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px}
.ztable{width:100%;border-collapse:collapse;font-size:13.5px;min-width:760px}
.ztable th{text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);padding:12px 12px;border-bottom:1px solid var(--sand-hell);background:var(--offwhite);white-space:nowrap}
.ztable td{padding:6px 12px;border-bottom:1px solid var(--sand-hell);white-space:nowrap;height:40px}
.ztable tr:last-child td{border-bottom:0}
.ztable .num{text-align:right;font-variant-numeric:tabular-nums}
.ztable .muted{color:var(--text-2)}
.ztable tr.we td{background:#FAF8F6;color:var(--text-2)}
.ztable tr.hol td{background:#FAF8F6}
.ztable tr.today td{background:var(--rot-hauch)}
.ztable tr.today .zd b{color:var(--rot)}
.ztable tr.fut td{color:var(--text-2)}
.zd b{display:inline-block;width:26px;font-weight:600}
.ztable input,.ztable select{font:inherit;font-size:13px;border:1px solid transparent;border-radius:6px;padding:5px 6px;background:transparent;color:var(--anthrazit)}
.ztable input:hover,.ztable select:hover{border-color:var(--sand)}
.ztable input:focus,.ztable select:focus{border-color:var(--rot);outline:none;background:var(--weiss)}
.ztable input[type=number]{width:62px}
.ztable input[type=time]{width:92px}
.ztag{font-size:11px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--offwhite);color:var(--text-2)}
.ztag.ferien{background:#F3EAD9;color:var(--c-termin)}
.ztag.krank{background:#E4EAF0;color:var(--c-info)}
.ztag.komp{background:#E3ECE5;color:var(--c-personal)}
.edited{font-size:10px;font-weight:600;background:#F3EAD9;color:var(--c-termin);padding:1px 6px;border-radius:99px;margin-left:4px}
.livepill{font-size:11px;font-weight:600;color:var(--rot);display:inline-flex;align-items:center;gap:6px}
.livepill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rot);animation:pulse 1.6s infinite}
.zf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;align-items:start}
.zfbal h3,.zform h3{margin-bottom:14px}
.zbig{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.zbig b{font-family:var(--f-display);font-weight:400;font-size:52px;line-height:1}
.zbig span{color:var(--text-2);font-size:13.5px}
.zbar{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--sand-hell);gap:2px;margin-bottom:16px}
.zbar i{display:block;height:100%}
.zbar i.t,.zleg i.t{background:var(--anthrazit)}
.zbar i.p,.zleg i.p{background:var(--c-termin)}
.zbar i.q,.zleg i.q{background:#E2C79A}
.zbar i.r,.zleg i.r{background:var(--sand-hell);box-shadow:inset 0 0 0 1px var(--sand)}
.zleg{margin:0;display:flex;flex-direction:column;gap:7px;font-size:13.5px}
.zleg div{display:flex;justify-content:space-between;gap:10px}
.zleg dt{display:flex;align-items:center;gap:8px;color:var(--text-2)}
.zleg dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}
.zleg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.zleg .tot{border-top:1px solid var(--sand-hell);padding-top:8px;margin-top:2px}
.zform{display:flex;flex-direction:column;gap:14px}
.zform h3{margin:0!important}
.zcalc{margin:-4px 0 0;font-size:13px;color:var(--text-2)}
.zcalc b{color:var(--anthrazit)}
.zreqs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.zreq{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:14px 18px;display:flex;gap:14px;align-items:center}
.zreq .avatar{width:34px;height:34px;font-size:11px;flex:none}
.zr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.zr-main b{font-size:14px;font-weight:600}
.zr-main span{font-size:13px;color:var(--text-2)}
.zr-main small{font-size:12.5px;color:var(--text-2)}
.zr-main .zc{color:var(--anthrazit)}
.zr-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.zr-side .pill{margin:0}
.zr-side .row{display:flex;gap:8px}
.zdecl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.zdecl input{border:1px solid var(--sand);border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;min-width:200px}
.zname{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:0;font-weight:600;font-size:13.5px;color:var(--anthrazit);text-align:left}
button.zname:hover{color:var(--rot)}
.zname .avatar{width:28px;height:28px;font-size:10px;background:var(--offwhite);color:var(--anthrazit);border:1px solid var(--sand-hell)}
.zadm td{height:52px}
.zacts{text-align:right;display:flex;gap:6px;justify-content:flex-end;align-items:center;height:52px}
.zbackbtn{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px}
.zdet-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.zdet-head .avatar{width:48px;height:48px;font-size:15px}
.zdet-head h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1.1}
.zdet-head small{font-size:13px;color:var(--text-2)}
.zcfg input[type=number]{width:78px;border:1px solid var(--sand-hell);background:var(--weiss)}
.zcfg select{border:1px solid var(--sand-hell);background:var(--weiss)}
.zcfg-head{margin-bottom:12px}
.tc-wrap{overflow-x:auto;background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:14px}
.tc{display:grid;gap:2px;min-width:820px}
.tc-n{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px;display:flex;align-items:center;height:22px}
.tc-h{font-size:11px;text-align:center;font-variant-numeric:tabular-nums;color:var(--anthrazit);line-height:1.1;padding-bottom:4px}
.tc-h small{display:block;font-size:9px;color:var(--text-2)}
.tc-h.we{color:var(--text-2)}
.tc-c{height:22px;border-radius:4px;background:var(--offwhite)}
.tc-c.we{background:transparent}
.tc-c.hol{background:var(--sand-hell)}
.tc-c.ferien,.tc-leg i.ferien{background:var(--c-termin)}
.tc-c.req,.tc-leg i.req{background:repeating-linear-gradient(45deg,#E2C79A 0 3px,#F3EAD9 3px 6px)}
.tc-c.krank,.tc-leg i.krank{background:var(--c-info)}
.tc-c.komp,.tc-leg i.komp,.tc-c.unbez{background:var(--c-personal)}
.tc-leg i.hol{background:var(--sand-hell)}
.tc-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-2);margin-top:10px}
.tc-leg span{display:inline-flex;align-items:center;gap:6px}
.tc-leg i{width:12px;height:12px;border-radius:3px;display:inline-block}
@media (max-width:980px){.ztop{grid-template-columns:1fr}.zf{grid-template-columns:1fr}}
@media (max-width:860px){
  .zkpis{grid-template-columns:1fr 1fr}
  .zkpis .zk:first-child{grid-column:1/-1}
  .zk b{font-size:28px}
  .zmonth h3{min-width:0;font-size:20px}
  .zmonth .spacer{flex-basis:100%;height:0}
  .zreq{flex-wrap:wrap}
  .zr-side{width:100%;align-items:flex-start}
  .zdecl{justify-content:flex-start}
  .zdecl input{min-width:0;flex:1}
  .seg{max-width:100%;overflow-x:auto}
  .seg button{white-space:nowrap}
}
/* ---------- Handwerkeraufträge ---------- */
.au-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:20px;align-items:start}
.au-form{display:flex;flex-direction:column;gap:14px}
.au-sec{display:flex;flex-direction:column;gap:14px}
.au-sec h3{margin:0!important}
.field select{width:100%}
.au-bill{margin:0;background:var(--offwhite);border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.6}
.au-bill small{display:block;font-size:12px;color:var(--text-2);margin-top:4px}
.au-billf{display:flex;flex-direction:column;gap:12px}
.au-side{position:sticky;top:24px}
.au-prev{background:var(--weiss);border:1px solid var(--sand);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.au-prev-h{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 10px}
.au-nr{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--rot)}
.au-hdr{margin:0;padding:0 20px 12px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--sand-hell);font-size:13px}
.au-hdr div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px}
.au-hdr dt{color:var(--text-2)}
.au-hdr dd{margin:0;overflow-wrap:anywhere}
.au-hdr dd.miss{color:var(--rot)}
.au-body{margin:0;padding:16px 20px;font-family:var(--f-text);font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;max-height:52vh;overflow:auto;color:var(--anthrazit)}
.au-int{margin:0;padding:10px 20px;font-size:12px;color:var(--text-2);background:var(--offwhite);border-top:1px solid var(--sand-hell)}
.au-btns{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--sand-hell)}
.au-ok{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;background:#E3ECE5;border-radius:var(--radius);padding:14px 18px;margin-bottom:18px;font-size:14px}
.au-ok b{color:var(--c-personal)}
.au-ok .linklike{margin-left:auto}
.au-tab td{white-space:normal;vertical-align:top;padding-top:12px;padding-bottom:12px;height:auto}
.au-tab td small{display:block;font-size:12px;color:var(--text-2);margin-top:2px}
.au-tab .pill{margin:0 0 0 6px;vertical-align:middle}
.au-st{font:inherit;font-size:12.5px;font-weight:600;border-radius:99px;padding:5px 10px;border:1px solid var(--sand-hell);background:var(--offwhite)}
.au-st.st-versendet{background:#F3EAD9;color:var(--c-termin);border-color:#EBDDC2}
.au-st.st-bestaetigt{background:#E4EAF0;color:var(--c-info);border-color:#D3DDE7}
.au-st.st-erledigt{background:#E3ECE5;color:var(--c-personal);border-color:#D0DFD4}
.au-st.st-rechnung{background:var(--sand-hell);color:var(--text-2)}
.au-hwgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:20px}
.au-hw{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--text-2)}
.au-hw .ctag{align-self:flex-start;margin-bottom:6px}
.au-hw b{font-size:15px;color:var(--anthrazit);font-weight:600}
.au-hw .linklike{margin-top:8px}
.au-mono{color:var(--anthrazit);overflow-wrap:anywhere}
.au-addhw{display:flex;flex-direction:column;gap:14px}
.au-addhw h3{margin:0!important}
.au-hwf{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.au-set{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1100px){.au-layout{grid-template-columns:1fr}.au-side{position:static}.au-body{max-height:none}}
@media (max-width:860px){.au-set{grid-template-columns:1fr}.au-btns .btn{flex:1}}

/* ---------- Liegenschaften ---------- */
.lgtag{display:inline-flex;align-items:center;gap:4px;background:var(--offwhite);border:1px solid var(--sand-hell);border-radius:99px;padding:1px 8px;font:inherit;font-size:11.5px;font-weight:600;color:var(--anthrazit);vertical-align:1px;text-decoration:none;white-space:nowrap}
.lgtag:hover{border-color:var(--rot);color:var(--rot)}
.lgtag svg{flex:none}
.lg-tools{align-items:center}
.lg-search{display:flex;align-items:center;gap:8px;background:var(--weiss);border:1px solid var(--sand);border-radius:99px;padding:0 14px;min-width:260px;flex:1;max-width:380px;color:var(--text-2)}
.lg-search input{border:0;background:none;font:inherit;font-size:13.5px;padding:9px 0;flex:1;min-width:0;color:var(--anthrazit);outline:none}
.lg-search:focus-within{border-color:var(--rot)}
.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.lg-card{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:14px;padding:18px 20px;text-align:left;display:flex;flex-direction:column;gap:2px;font:inherit;color:var(--anthrazit);transition:border-color .2s,transform .2s,box-shadow .2s}
.lg-card:hover{border-color:var(--sand);transform:translateY(-2px);box-shadow:var(--shadow)}
.lg-nr{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--rot);margin-bottom:6px}
.lg-card b{font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1.2}
.lg-city{font-size:13.5px;color:var(--text-2)}
.lg-meta{font-size:12.5px;margin-top:10px}
.lg-own{font-size:12.5px;color:var(--text-2)}
.lg-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--sand-hell);margin-top:14px;padding-top:12px}
.lg-cnt{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lg-cnt i{font-style:normal;font-size:11px;font-weight:600;background:#F3EAD9;color:var(--c-termin);border-radius:99px;padding:2px 8px}
.lg-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--sand-hell)}
.lg-hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(32px,4vw,46px);line-height:1.05;margin:6px 0 2px}
.lg-hero p{margin:0;color:var(--text-2);font-size:16px}
.lg-hero-act{display:flex;gap:8px;flex-wrap:wrap}
.lg-det{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.lg-det.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg-det .box h3 .n{font-size:11px;color:var(--text-2);margin-left:4px;letter-spacing:0}
.lg-dl{margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.lg-dl div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px}
.lg-dl dt{color:var(--text-2)}
.lg-dl dd{margin:0;overflow-wrap:anywhere}
.lg-notes{margin:14px 0 0;font-size:13.5px;background:var(--offwhite);border-radius:8px;padding:10px 12px}
.box ul.lg-links{gap:4px}
.box .lg-links li{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--sand-hell)}
.box .lg-links li:last-child{border-bottom:0}
.box .lg-links li::before{display:none}
.lg-link{background:none;border:0;padding:0;text-align:left;font:inherit;color:var(--anthrazit);display:flex;flex-direction:column;min-width:0}
.lg-link b{font-size:13.5px;font-weight:600}
.lg-link small{font-size:12px;color:var(--text-2)}
.lg-link:hover b{color:var(--rot)}
.lg-links .pill{margin:0;flex:none}
.lg-f3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pd-obj{font:inherit;font-size:13px;padding:7px 12px;appearance:auto}
.pd-add{display:grid;grid-template-columns:minmax(0,1fr) 160px 180px 140px auto;gap:8px;margin-bottom:14px}
.pd-add input,.pd-add select{border:1px solid var(--sand);border-radius:8px;padding:10px 12px;font:inherit;font-size:13.5px;background:var(--weiss);color:var(--anthrazit);min-width:0}
.pd-add button{border:0;background:var(--anthrazit);color:var(--weiss);border-radius:8px;padding:0 16px;font-size:13px;font-weight:600}
.tk-form{grid-template-columns:minmax(0,1fr) 140px 150px 130px auto!important}
@media (max-width:1100px){.lg-det.three{grid-template-columns:1fr}}
@media (max-width:860px){
  .lg-det{grid-template-columns:1fr}
  .lg-dl div{grid-template-columns:120px minmax(0,1fr)}
  .lg-search{min-width:0;max-width:none;flex-basis:100%}
  .pd-add{grid-template-columns:1fr 1fr}
  .pd-add input[name=text]{grid-column:1/-1}
  .pd-add button{grid-column:1/-1;padding:11px}
  .tk-form{grid-template-columns:1fr 1fr!important}
  .lg-f3{grid-template-columns:1fr 1fr}
  .lg-f3 .field[style]{grid-column:1/-1!important}
}

.vz-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.vz-bar p{margin:0;color:var(--text-2);max-width:60ch}
.au-hwfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--sand-hell);margin-top:10px;padding-top:10px}
.au-hwfoot i{font-style:normal;font-size:11.5px;font-weight:600;background:#F3EAD9;color:var(--c-termin);border-radius:99px;padding:2px 9px}
.au-hwfoot i.none{background:var(--offwhite);color:var(--text-2)}
.au-hw .au-hwfoot .linklike{margin-top:0}

/* ---------- Schadenereignisse ---------- */
.ev-headact{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ev-kpis{display:grid;grid-template-columns:1.4fr repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.ev-kpis .zk b{font-size:32px}
.ev-kpis .ev-cost{font-size:24px!important;margin-top:12px}
.ev-main{background:var(--anthrazit)!important;border-color:var(--anthrazit)!important;color:var(--offwhite)}
.ev-main span,.ev-main small,.ev-main b i{color:var(--sand)!important}
.ev-prog{height:6px;background:rgba(255,255,255,.15);border-radius:99px;overflow:hidden;margin:6px 0 2px}
.ev-prog i{display:block;height:100%;background:var(--c-personal-hell,#8DB59A);border-radius:99px}
.ev-flow{margin-bottom:24px}
.ev-flow-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.ev-flow-h h3{margin:0!important}
.ev-flow-h span{font-size:12.5px;color:var(--text-2)}
.ev-stack{display:flex;height:14px;border-radius:99px;overflow:hidden;gap:2px;background:var(--sand-hell)}
.ev-stack i{display:block;height:100%}
.ev-stack.mini{height:8px;width:120px;margin-bottom:4px}
.box ul.ev-leg{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 20px;margin-top:12px}
.box .ev-leg li{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2)}
.box .ev-leg li::before{display:none}
.ev-leg i{width:10px;height:10px;border-radius:3px}
.ev-leg b{color:var(--anthrazit);font-variant-numeric:tabular-nums}
.ev-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.ev-layout > aside.side{order:-1;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.ev-search{flex:0 1 240px;min-width:180px}
.ev-mainc{min-width:0}
.ev-whof{margin:-6px 0 12px;font-size:13px;color:var(--text-2)}
.ev-tab td{white-space:normal;height:auto;padding-top:11px;padding-bottom:11px;vertical-align:middle}
.ev-tab td small{display:block;font-size:11.5px;color:var(--text-2)}
.ev-tab td:first-child small{padding-left:22px}
.ev-row{cursor:pointer}
.ev-row:hover td{background:var(--offwhite)}
.ev-row.open td{background:var(--rot-hauch);border-bottom-color:transparent}
.ev-chev{display:inline-block;width:22px;color:var(--text-2);transition:transform .2s;vertical-align:-2px}
.ev-row.open .ev-chev{transform:rotate(90deg)}
.ev-late{display:inline-block;font-size:11px;font-weight:700;color:var(--rot);background:var(--rot-hauch);border-radius:99px;padding:1px 8px;margin-left:4px}
.ev-tab .pill{margin:0}
.ev-det > td{background:var(--rot-hauch);padding:0 14px 16px!important}
.ev-detin{background:var(--weiss);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:14px}
.ev-detbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.ev-detbar .field{min-width:200px}
.ev-detbar select,.ev-detbar input{border:1px solid var(--sand)!important;background:var(--weiss)!important;padding:10px 12px!important}
.ev-detbar .linklike{margin-bottom:10px;margin-left:auto}
.ev-items{min-width:860px}
.ev-items td{height:auto;padding-top:8px;padding-bottom:8px}
.ev-items tr.late td{background:#FDF6F7}
.ev-items td small{display:block;font-size:11.5px;color:var(--text-2)}
.ev-items select,.ev-items input{border:1px solid var(--sand-hell)!important;background:var(--weiss)!important}
.ev-items select{max-width:190px}
.ev-items input[type=number]{width:96px;text-align:right}
.ev-items .au-st{border-radius:99px}
.ev-onr{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--anthrazit);text-decoration:underline;text-underline-offset:3px;font-variant-numeric:tabular-nums}
.ev-onr:hover{color:var(--rot)}
.ev-add{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:8px}
.ev-add input,.ev-add select,.ev-addprop select{border:1px solid var(--sand);border-radius:8px;padding:9px 12px;font:inherit;font-size:13.5px;background:var(--weiss);color:var(--anthrazit);min-width:0}
.ev-add button{border:0;background:var(--anthrazit);color:var(--weiss);border-radius:8px;padding:0 16px;font-size:13px;font-weight:600}
.ev-addprop{margin-top:16px;display:flex;flex-direction:column;gap:6px}
.ev-addprop div{display:flex;gap:8px;flex-wrap:wrap}
.ev-addprop select{flex:1;min-width:200px;max-width:420px}
.box ul.ev-list{gap:2px}
.box .ev-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--sand-hell);font-size:13px}
.box .ev-list li:last-child{border-bottom:0}
.box .ev-list li::before{display:none}
.ev-list button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:4px 6px;margin:-4px -6px;border-radius:8px;text-align:left;font:inherit;color:inherit}
.ev-list button:hover,.ev-list button.on{background:var(--offwhite)}
.ev-list .avatar{width:28px;height:28px;font-size:10px;flex:none}
.ev-lm{flex:1;min-width:0;display:flex;flex-direction:column}
.ev-lm b{font-size:13px;font-weight:600}
.ev-lm small{font-size:11.5px;color:var(--text-2)}
.au-evref{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;background:#F3EAD9;border-radius:var(--radius);padding:12px 18px;margin-bottom:16px}
.au-evref .eyebrow{color:var(--c-termin);width:100%}
.au-evref b{font-size:14px}
.au-evref .linklike{margin-left:auto}
@media (max-width:1180px){.ev-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ev-main{grid-column:1/-1}.ev-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.ev-layout > aside.side{grid-template-columns:1fr}.ev-kpis{grid-template-columns:1fr 1fr}.ev-tab{min-width:720px}.ev-add{grid-template-columns:1fr}.ev-add button{padding:10px}.ev-search{flex-basis:100%}}

.ev-danger{border-top:1px solid var(--sand-hell);padding-top:14px}
.ev-danger p{margin:0 0 10px;font-size:13.5px;background:var(--rot-hauch);border-radius:8px;padding:10px 12px}
.ev-danger .row{display:flex;gap:8px;justify-content:flex-end}
.ev-dellink{color:var(--rot)!important}
.ev-delbtn{background:var(--rot);color:var(--weiss)}
.ev-arcb{background:var(--sand-hell);border-color:var(--sand)}

/* ---------- Sanierungen ---------- */
.sa-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}
.sa-list{display:flex;flex-direction:column;gap:10px}
.sa-card{display:grid;grid-template-columns:minmax(0,1.3fr) 170px minmax(0,1.6fr) 210px 70px;gap:20px;align-items:center;background:var(--weiss);border:1px solid var(--sand-hell);border-radius:14px;padding:16px 20px;text-align:left;font:inherit;color:var(--anthrazit);transition:border-color .2s,box-shadow .2s}
.sa-card:hover{border-color:var(--sand);box-shadow:var(--shadow)}
.sa-c1{display:flex;flex-direction:column;min-width:0}
.sa-c1 b{font-family:var(--f-display);font-weight:400;font-size:21px;line-height:1.2}
.sa-c1 small{font-size:12.5px;color:var(--text-2)}
.sa-c2{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.sa-c2 .pill{margin:0}
.sa-tl{position:relative;height:8px;background:var(--sand-hell);border-radius:99px}
.sa-tl-bar{position:absolute;left:0;top:0;bottom:0;background:var(--c-termin);border-radius:99px;opacity:.85}
.sa-tl-bar.over{background:var(--rot)}
.sa-tl-now{position:absolute;top:-4px;width:2px;height:16px;background:var(--anthrazit);border-radius:2px}
.sa-tl-l{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-2);margin-top:6px;font-variant-numeric:tabular-nums}
.sa-c4{display:flex;flex-direction:column;gap:6px}
.sa-amp{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:var(--anthrazit)}
.sa-amp i{width:10px;height:10px;border-radius:50%;flex:none;background:var(--sand)}
.sa-amp.rot i{background:var(--rot)}.sa-amp.gelb i{background:#D9A03A}.sa-amp.gruen i{background:var(--c-personal)}
.sa-c5,.sa-leer{text-align:right;display:flex;flex-direction:column}
.sa-c5 b,.sa-leer b{font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1}
.sa-c5 small,.sa-leer small{font-size:11px;color:var(--text-2)}
.sa-hero{margin-bottom:18px}
.sa-hfacts{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.sa-hfacts .pill{margin:0}
.sa-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 80px;gap:14px;align-items:end;margin-bottom:22px}
.sa-meta select,.sa-meta input{border:1px solid var(--sand);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;background:var(--weiss);color:var(--anthrazit);width:100%}
.sa-umf{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.sa-rooms{display:flex;flex-direction:column;gap:12px;min-width:0}
.sa-tplbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--text-2)}
.sa-tplbar .linklike{margin-left:auto}
.sa-room h3{margin-bottom:8px!important}
.box .sa-room ul,.sa-room ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.sa-room li{display:grid!important;grid-template-columns:minmax(0,1fr) auto 90px;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--sand-hell)}
.sa-room li::before{display:none!important}
.sa-room li:last-child{border-bottom:0}
.sa-room li.on .sa-it b{color:var(--anthrazit)}
.sa-it b{font-size:14px;font-weight:600;color:var(--text-2)}
.sa-it small{display:block;font-size:11.5px;color:var(--text-2)}
.sa-choice{display:inline-flex;background:var(--offwhite);border:1px solid var(--sand-hell);border-radius:99px;padding:2px}
.sa-choice button{border:0;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--text-2);padding:5px 11px;border-radius:99px;white-space:nowrap}
.sa-choice button[aria-pressed="true"]{background:var(--anthrazit);color:var(--weiss)}
.sa-choice button[data-v="neu"][aria-pressed="true"]{background:var(--rot)}
.sa-choice button[data-v=""][aria-pressed="true"]{background:var(--weiss);color:var(--anthrazit);box-shadow:0 1px 3px rgba(46,46,48,.15)}
.sa-choice button[data-v="instand"][aria-pressed="true"]{background:var(--c-termin)}
.sa-price{text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text-2)}
.sa-sum{position:sticky;top:24px;display:flex;flex-direction:column;gap:8px}
.sa-sumrow{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
.sa-sumrow span{color:var(--text-2)}
.box ul.sa-gl{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;margin:6px 0}
.box .sa-gl li{display:inline-block;font-size:11.5px;font-weight:600;background:var(--offwhite);border-radius:99px;padding:3px 10px}
.box .sa-gl li::before{display:none}
.gt-info{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-bottom:12px;font-size:13px}
.gt-info .proto-note{flex-basis:100%}
.gt{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;overflow:hidden}
.gt-scroll{overflow-x:auto}
.gt-head,.gt-row{display:flex;min-width:max-content}
.gt-l{flex:none;width:240px;position:sticky;left:0;background:var(--weiss);z-index:2;padding:10px 14px;border-right:1px solid var(--sand-hell)}
.gt-head .gt-l{background:var(--offwhite)}
.gt-days{position:relative;height:46px;background:var(--offwhite);border-bottom:1px solid var(--sand-hell)}
.gt-wk,.gt-d{position:relative;height:22px}
.gt-wk span{position:absolute;top:5px;font-size:10.5px;font-weight:600;color:var(--text-2);white-space:nowrap;padding-left:4px}
.gt-d span{position:absolute;top:3px;width:26px;text-align:center;font-size:10.5px;color:var(--anthrazit);font-variant-numeric:tabular-nums}
.gt-d span.we{color:var(--sand)}
.gt-d span.td{color:var(--weiss);background:var(--rot);border-radius:4px}
.gt-body{position:relative}
.gt-row{border-bottom:1px solid var(--sand-hell)}
.gt-row:last-of-type{border-bottom:0}
.gt-l b{font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.gt-ctl{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.gt-ctl select{font:inherit;font-size:12px;border:1px solid var(--sand-hell);border-radius:6px;padding:4px 6px;max-width:150px;background:var(--weiss);color:var(--anthrazit)}
.gt-ctl .au-st{border-radius:99px;max-width:none}
.gt-dur{font-size:11.5px;color:var(--text-2);display:inline-flex;align-items:center;gap:3px}
.gt-dur input{width:44px;font:inherit;font-size:12px;border:1px solid var(--sand-hell);border-radius:6px;padding:4px 5px}
.gt-ctl .linklike,.gt-ctl .ev-onr{font-size:12px}
.gt-track{position:relative;flex:none}
.gt-we{position:absolute;top:0;bottom:0;background:#FAF8F6}
.gt-bar{position:absolute;top:50%;transform:translateY(-50%);height:24px;border-radius:6px;margin-left:2px;background:#E2C79A;color:var(--anthrazit);font-size:10.5px;font-weight:600;display:flex;align-items:center;padding:0 7px;white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums}
.gt-bar.laeuft{background:var(--c-termin);color:var(--weiss)}
.gt-bar.fertig{background:var(--c-personal);color:var(--weiss)}
.gt-bar.late{background:var(--rot);color:var(--weiss)}
.gt-lines{position:absolute;top:0;bottom:0;left:240px;pointer-events:none}
.gt-today,.gt-ziel{position:absolute;top:0;bottom:0;width:2px;background:var(--anthrazit)}
.gt-ziel{background:var(--rot);width:2px;border-left:0}
.gt-today span,.gt-ziel span{position:absolute;bottom:4px;left:4px;font-size:10px;font-weight:700;background:var(--anthrazit);color:var(--weiss);padding:1px 5px;border-radius:4px;font-style:normal}
.gt-ziel span{background:var(--rot)}
.sa-cost input{width:100px;text-align:right;border:1px solid var(--sand-hell)!important;background:var(--weiss)!important}
.sa-cost tfoot td{border-top:2px solid var(--sand-hell);background:var(--offwhite)}
.sa-ab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;align-items:start}
.sa-ab h3 .n{font-size:11px;color:var(--text-2);letter-spacing:0;margin-left:4px}
.box ul.sa-chk{gap:8px}
.box .sa-chk li::before{display:none}
.sa-okmsg{margin:14px 0 0;background:#E3ECE5;color:var(--c-personal);border-radius:8px;padding:10px 12px;font-size:13.5px;font-weight:600}
.sa-ab .tk{grid-template-columns:minmax(0,1fr) 60px 0 auto}
.sa-mform{display:grid;grid-template-columns:minmax(0,1fr) 1fr;gap:8px;margin-top:14px}
.sa-mform input,.sa-mform select{border:1px solid var(--sand);border-radius:8px;padding:9px 10px;font:inherit;font-size:13px;background:var(--weiss);color:var(--anthrazit);min-width:0}
.sa-mform input[name=text]{grid-column:1/-1}
.sa-mform button{border:0;background:var(--anthrazit);color:var(--weiss);border-radius:8px;padding:10px;font-size:13px;font-weight:600}
@media (max-width:1180px){.sa-card{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);}.sa-c4{flex-direction:row;gap:14px}.sa-c5{display:none}.sa-umf{grid-template-columns:1fr}.sa-sum{position:static}}
@media (max-width:860px){.sa-kpis{grid-template-columns:1fr 1fr}.sa-card{grid-template-columns:1fr;gap:12px}.sa-c2{flex-direction:row;align-items:center}.sa-meta{grid-template-columns:1fr 1fr}.sa-leer{text-align:left}
  .sa-room li{grid-template-columns:1fr;gap:6px}.sa-price{text-align:left}.sa-ab{grid-template-columns:1fr}.gt-l{width:150px}.gt-lines{left:150px}.gt-ctl select{max-width:120px}}

.sa-price i{font-style:normal;font-size:11px;color:var(--sand)}
.sa-exp{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;font:inherit;color:var(--anthrazit);text-align:left}
.sa-exp svg{transition:transform .2s;color:var(--text-2);flex:none}
.sa-open .sa-exp svg{transform:rotate(90deg)}
.sa-open td{background:var(--rot-hauch)}
.sa-offsum{background:var(--offwhite);border:1px solid var(--sand-hell);border-radius:99px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600;color:var(--anthrazit);white-space:nowrap}
.sa-offsum:hover{border-color:var(--rot)}
.sa-verg{display:flex;flex-direction:column;line-height:1.3}
.sa-verg b{font-size:13px;font-weight:600}
.sa-verg small{font-size:11.5px;color:var(--text-2)}
.sa-offrow > td{background:var(--rot-hauch);padding:0 12px 14px!important;white-space:normal}
.sa-offin{background:var(--weiss);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:12px}
.sa-offt{width:100%;border-collapse:collapse;font-size:13px}
.sa-offt th{text-align:left;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);padding:6px 8px;border-bottom:1px solid var(--sand-hell);font-weight:600}
.sa-offt td{padding:8px;border-bottom:1px solid var(--sand-hell);height:auto}
.sa-offt .num{text-align:right;font-variant-numeric:tabular-nums}
.sa-offt tr.won td{background:#E3ECE5}
.sa-offt .pill{margin:0 0 0 6px}
.sa-offact{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.sa-won{font-size:12px;font-weight:700;color:var(--c-personal)}
.sa-offform{display:grid;grid-template-columns:200px 130px 150px minmax(0,1fr) auto;gap:8px}
.sa-offform input,.sa-offform select{border:1px solid var(--sand)!important;border-radius:8px;padding:8px 10px!important;font:inherit;font-size:13px;background:var(--weiss)!important;min-width:0;width:auto!important;text-align:left!important}
.sa-offform button{border:0;background:var(--anthrazit);color:var(--weiss);border-radius:8px;padding:0 14px;font-size:13px;font-weight:600}
.sa-prices li{grid-template-columns:minmax(0,1fr) 140px 140px!important}
.sa-pin{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2)}
.sa-pin input{width:90px;border:1px solid var(--sand-hell);border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;text-align:right}
.sa-prices{margin-bottom:12px}
@media (max-width:860px){.sa-offform{grid-template-columns:1fr 1fr}.sa-offform input[name=note],.sa-offform button{grid-column:1/-1}.sa-offform button{padding:10px}.sa-prices li{grid-template-columns:1fr 1fr!important}.sa-prices .sa-it{grid-column:1/-1}}

.tp-tab{min-width:1080px}
.tp-tab td{height:auto;padding-top:8px;padding-bottom:8px;vertical-align:middle}
.tp-tab tr.late td{background:#FDF6F7}
.tp-tab td b{font-size:13px;font-weight:600;display:block}
.tp-warn{display:block;font-size:11px;font-weight:600;color:var(--rot)}
.tp-tab select,.tp-tab input{border:1px solid var(--sand-hell)!important;background:var(--weiss)!important;font-size:12.5px!important}
.tp-tab select{max-width:170px}
.tp-tab .au-st{border-radius:99px}
.tp-start{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.tp-start input.fixed{border-color:var(--anthrazit)!important;font-weight:600}
.tp-auto{background:none;border:0;padding:0 2px;font:inherit;font-size:10.5px;font-weight:600;color:var(--anthrazit);text-decoration:underline;text-underline-offset:2px}
.tp-autolbl{font-size:10.5px;color:var(--text-2);padding-left:2px}
.tp-dur{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-2)}
.tp-dur input{width:52px!important}
.tp-note{width:100%;min-width:170px}
.gt-l small{display:block;font-size:11px;color:var(--text-2);margin-top:1px}
.gt-l b{margin-bottom:0!important}
.gt-row .gt-l{padding:8px 14px}
.gt-bar.fixed{box-shadow:inset 0 0 0 2px var(--anthrazit)}

.zfcol{display:flex;flex-direction:column;gap:16px}
.zfseg{margin:0 0 4px!important;align-self:flex-start}
.zsickn{display:flex;gap:28px;margin-bottom:10px}
.zsickn div{display:flex;align-items:baseline;gap:8px}
.zsickn b{font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1}
.zsickn span{font-size:13px;color:var(--text-2)}
.zsick{border-left:0}
.zsick .zr-main b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c-info);margin-right:8px;vertical-align:1px}
.zcertbtn{cursor:pointer}

.vz-act{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.im-body{padding:20px 26px;display:flex;flex-direction:column;gap:16px;max-height:70vh;overflow:auto}
.im-step{display:flex;flex-direction:column;gap:16px}
.im-step > p{margin:0;color:var(--text-2);font-size:14px}
.im-drop{padding:26px}
.im-drop.over{border-color:var(--rot)}
.im-cols div{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.im-col{font-size:12px;background:var(--offwhite);border:1px solid var(--sand-hell);border-radius:99px;padding:3px 10px}
.im-col.req{border-color:var(--sand);font-weight:600}
.im-cols small{font-size:11.5px;color:var(--text-2)}
.im-step > .linklike{align-self:flex-start}
.im-file{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:14px}
.im-file span{color:var(--text-2);font-size:13px}
.im-file .linklike{margin-left:auto}
.im-grid{display:grid;grid-template-columns:180px minmax(0,1fr) 180px minmax(0,1fr);gap:8px 12px;align-items:center;margin-top:8px;font-size:13px}
.im-grid select{border:1px solid var(--sand);border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;background:var(--weiss);min-width:0}
.im-tab{min-width:0;font-size:12.5px}
.im-tab td{height:auto;padding:6px 10px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.im-tab tr.bad td{background:#FDF6F7}
.im-tab .pill{margin:0}
.im-sum{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;background:var(--offwhite);border-radius:10px;padding:12px 16px}
.im-sum b{font-family:var(--f-display);font-weight:400;font-size:22px;margin-right:4px}
.im-bad{font-size:13px}
.im-bad ul{margin:8px 0 0;padding-left:18px;color:var(--text-2)}
.im-foot{padding:14px 26px 20px;border-top:1px solid var(--sand-hell)}
@media (max-width:860px){.im-grid{grid-template-columns:1fr 1fr}.im-body{padding:16px;max-height:none}}

/* ---------- Schlüsselverwaltung ---------- */
.dot.sk-belegt,.sk-legend i.sk-belegt{background:var(--c-personal)}
.dot.sk-aus,.sk-legend i.sk-aus{background:var(--rot)}
.dot.sk-frei,.sk-legend i.sk-frei{background:var(--weiss);box-shadow:inset 0 0 0 1.5px var(--sand)}
.sk-tools .lg-search{flex:0 1 280px;min-width:200px}
.sk-sort{margin:0!important}
.sk-tlay{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.sk-main{min-width:0}
.sk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:5px;background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:12px}
.sk-c{height:50px;border-radius:7px;border:1px solid var(--sand-hell);background:var(--weiss);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:inherit;color:var(--text-2);padding:0 2px;min-width:0}
.sk-c b{font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;color:inherit}
.sk-c small{font-size:9px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:.85}
.sk-c.belegt{background:#E3ECE5;border-color:#C9DBCD;color:var(--c-personal)}
.sk-c.aus{background:var(--rot-hauch);border-color:#EFC9CF;color:var(--rot)}
.sk-c.frei{border-style:dashed;color:var(--sand)}
.sk-c.dim{opacity:.25;font-size:11px;border-style:dotted}
.sk-c.sel{outline:2px solid var(--anthrazit);outline-offset:1px}
button.sk-c:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.sk-legend{display:flex;gap:16px;font-size:12px;color:var(--text-2);margin-top:10px}
.sk-legend span{display:inline-flex;align-items:center;gap:6px}
.sk-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.sk-side{position:sticky;top:24px}
.sk-side .box h3{margin:0 0 8px!important}
.sk-free p{font-size:12.5px;color:var(--text-2);margin:4px 0 14px;font-variant-numeric:tabular-nums;line-height:1.7}
.box h3.sk-dh{font-family:var(--f-display);font-weight:400;font-size:24px;text-transform:none!important;letter-spacing:0!important;color:var(--anthrazit)!important;margin:6px 0 0!important}
.sk-dsub{margin:0 0 14px;font-size:13px;color:var(--text-2)}
.sk-detail .lg-dl div{grid-template-columns:110px minmax(0,1fr)}
.sk-hold{margin-top:14px;background:var(--rot-hauch);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-size:13px}
.sk-hold span{color:var(--text-2);font-size:12px}
.sk-hold .linklike{margin-top:4px}
.sk-instate{margin:14px 0 0;font-size:13px;font-weight:600;color:var(--c-personal)}
.sk-dact{display:flex;gap:8px;margin:14px 0}
.sk-dact .btn{flex:1}
.sk-move div{display:flex;gap:8px}
.sk-move select{flex:1;border:1px solid var(--sand);border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;background:var(--weiss)}
.sk-del{margin-top:12px;color:var(--rot)!important}
.sk-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.sk-gh{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}
.sk-gh b{display:block;font-size:15px}
.sk-gh small{font-size:12px;color:var(--text-2)}
.sk-gh .pill{margin:0}
.box .sk-g ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.box .sk-g li::before{display:none}
.sk-row{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:6px 4px;border-radius:8px;text-align:left;font:inherit;color:inherit}
.sk-row:hover{background:var(--offwhite)}
.sk-no{flex:none;min-width:34px;height:28px;border-radius:7px;background:#E3ECE5;color:var(--c-personal);font-weight:700;font-size:12.5px;display:grid;place-items:center;font-variant-numeric:tabular-nums;padding:0 4px}
.sk-no.aus{background:var(--rot-hauch);color:var(--rot)}
.sk-no.man{background:var(--offwhite);color:var(--text-2)}
.sk-rm{flex:1;min-width:0;display:flex;flex-direction:column}
.sk-rm b{font-size:13px;font-weight:600}
.sk-rm small{font-size:11.5px;color:var(--text-2)}
.sk-out{font-size:11.5px;font-weight:600;color:var(--rot);text-align:right}
.sk-in{font-size:11.5px;color:var(--c-personal)}
.sk-qs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sk-q{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:16px 18px;display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}
.sk-q.late{border-color:#EFC9CF;box-shadow:inset 3px 0 0 var(--rot)}
.sk-qm{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.sk-qid{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--rot)}
.sk-qm b{font-size:15px}
.sk-qm > span{font-size:13px;color:var(--text-2)}
.sk-qk{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.sk-kchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;background:var(--offwhite);border:1px solid var(--sand-hell);border-radius:7px;padding:3px 8px}
.sk-kchip i{font-style:normal;background:#E3ECE5;color:var(--c-personal);border-radius:4px;padding:0 5px;font-size:11px}
.sk-qd{display:flex;flex-direction:column;gap:6px;align-items:flex-end;font-size:13px;color:var(--text-2)}
.sk-qd .row{display:flex;gap:8px;margin-top:4px}
.sk-qd .pill{margin:0}
.sk-wiz{max-width:880px}
.sk-wh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px}
.sk-wh h1{margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(28px,3.5vw,38px)}
.sk-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sk-steps button{width:100%;background:none;border:0;border-bottom:3px solid var(--sand-hell);padding:0 0 12px;display:flex;align-items:center;gap:10px;font:inherit;font-size:15px;font-weight:600;color:var(--text-2);text-align:left}
.sk-steps button:disabled{cursor:default}
.sk-steps span{width:30px;height:30px;border-radius:50%;border:2px solid var(--sand);display:grid;place-items:center;font-size:13px;flex:none}
.sk-steps .cur button{color:var(--anthrazit);border-bottom-color:var(--rot)}
.sk-steps .cur span{border-color:var(--rot);color:var(--rot)}
.sk-steps .done button{color:var(--anthrazit);border-bottom-color:var(--rot)}
.sk-steps .done span{background:var(--rot);border-color:var(--rot);color:var(--weiss)}
.sk-wb{padding:30px 32px;display:flex;flex-direction:column;gap:18px}
.sk-wb h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:28px}
.sk-lead{margin:-10px 0 4px;color:var(--text-2)}
.sk-wb select,.sk-wb input[type=text],.sk-wb input[type=date]{border:1px solid var(--sand);border-radius:8px;padding:12px 14px;font:inherit;font-size:15px;background:var(--weiss);color:var(--anthrazit);width:100%}
.sk-recent > div{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.sk-pick{background:var(--offwhite);border:1px solid var(--sand-hell);border-radius:10px;padding:10px 16px;text-align:left;font:inherit;display:flex;flex-direction:column;color:var(--anthrazit)}
.sk-pick small{font-size:12px;color:var(--text-2)}
.sk-pick:hover:not(:disabled){border-color:var(--sand)}
.sk-pick.on{border-color:var(--rot);background:var(--rot-hauch)}
.sk-pick:disabled{opacity:.45;cursor:not-allowed}
.sk-kp{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.sk-kp .sk-no{grid-row:1/3}
.sk-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sk-krows{display:flex;flex-direction:column;gap:8px}
.sk-krow{display:grid;grid-template-columns:auto 160px minmax(0,1fr) auto auto;gap:10px;align-items:center;background:var(--offwhite);border:1px solid var(--sand-hell);border-radius:10px;padding:10px}
.sk-krow input[readonly]{background:var(--offwhite)!important;color:var(--text-2)}
.sk-step{display:flex;align-items:center;border:1px solid var(--sand);border-radius:8px;background:var(--weiss);overflow:hidden}
.sk-step button{border:0;background:none;width:36px;height:42px;font-size:18px;color:var(--anthrazit)}
.sk-step b{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}
.sk-addrow{border:1.5px dashed var(--sand);background:none;border-radius:10px;padding:14px;font:inherit;font-weight:600;color:var(--anthrazit)}
.sk-addrow:hover{border-color:var(--rot)}
.sk-total{margin:0;text-align:right;color:var(--text-2)}
.sk-total b{color:var(--anthrazit);font-size:18px}
.sk-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:var(--offwhite);border-radius:10px;padding:16px}
.sk-sum > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.sk-sum .wide{grid-column:1/-1}
.sk-sum b{font-size:14px}
.sk-sum span:not(.flabel){font-size:12.5px;color:var(--text-2)}
.sk-pad{position:relative;border:1.5px dashed var(--sand);border-radius:10px;background:#fff;margin-top:6px}
.sk-pad canvas{display:block;width:100%;height:auto;aspect-ratio:900/260;touch-action:none;cursor:crosshair;border-radius:10px}
.sk-padhint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--sand);font-size:15px;pointer-events:none}
.sk-pad::after{content:"";position:absolute;left:6%;right:6%;bottom:24%;border-bottom:1px solid var(--sand-hell);pointer-events:none}
.sk-padclr{position:absolute;right:12px;top:10px}
.sk-wf{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--sand-hell);padding-top:18px;margin-top:4px}
.sk-err{margin:0}
.sk-donebox{text-align:center;padding:40px 30px;display:flex;flex-direction:column;align-items:center;gap:10px}
.sk-donebox h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:28px}
.sk-donebox p{margin:0;color:var(--text-2)}
.sk-donebox .row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.sk-check{width:56px;height:56px;border-radius:50%;background:#E3ECE5;color:var(--c-personal);display:grid;place-items:center}
.box ul.sk-retl,.sk-retl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
@media (max-width:1100px){.sk-tlay{grid-template-columns:1fr}.sk-side{position:static}}
@media (max-width:860px){.sk-steps button{font-size:12px;gap:6px}.sk-steps span{width:24px;height:24px;font-size:11px}.sk-wb{padding:20px 16px}.sk-krow{grid-template-columns:auto 1fr auto;}.sk-krow input[data-skk=label]{grid-column:1/-1;grid-row:2}.sk-sum{grid-template-columns:1fr}.sk-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.sk-wb .field[style]{max-width:none!important}}
/* ---------- Schadenaufnahme ---------- */
.sf-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sf-card{width:100%;text-align:left;background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;padding:16px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;transition:border-color .15s,box-shadow .15s}
.sf-card:hover{border-color:var(--sand);box-shadow:var(--shadow)}
.sf-cm{min-width:0;display:flex;flex-direction:column}
.sf-id{font-size:11px;letter-spacing:.14em;font-weight:600;color:var(--text-2)}
.sf-cm > b{font-size:16.5px;margin-top:2px}
.sf-addr{font-size:13px;color:var(--text-2)}
.sf-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12.5px;color:var(--text-2);align-items:center}
.pill.sf-u{background:var(--sand-hell);color:var(--anthrazit)}
.sf-cnt{display:flex;gap:6px}
.sf-cnt div{display:flex;flex-direction:column;align-items:center;min-width:58px;padding:4px 6px;border-left:1px solid var(--sand-hell)}
.sf-cnt div:first-child{border-left:0}
.sf-cnt b{font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.sf-cnt small{font-size:11px;color:var(--text-2)}
.sev{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}
.sev i{width:8px;height:8px;border-radius:50%;flex:none}
.sev-g{color:var(--c-personal)}.sev-g i{background:var(--c-personal)}
.sev-m{color:var(--c-termin)}.sev-m i{background:var(--c-termin)}
.sev-s{color:var(--rot)}.sev-s i{background:var(--rot)}
.sf-banner{background:#E3ECE5;color:var(--c-personal);border-radius:10px;padding:12px 16px;font-size:13.5px;font-weight:500;margin-bottom:18px}
.sf-k{margin-bottom:24px}
.zk b.sf-who{font-size:26px;margin-top:10px}
.sf-det{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.sf-main{min-width:0}
.sf-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.sf-side .box{padding:18px 20px}
.sf-side .box h3{margin-bottom:10px}
.sf-dl{margin:0;display:flex;flex-direction:column;gap:8px}
.sf-dl div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;font-size:13.5px;line-height:1.45}
.sf-dl dt{color:var(--text-2);font-size:12.5px}
.sf-dl dd{margin:0;overflow-wrap:anywhere}
.sf-dl small{color:var(--text-2)}
.sf-dl a{color:var(--rot)}
.sf-dl .linklike{font-size:13.5px;color:var(--anthrazit)}
.sf-mut{color:var(--text-2)}
.sf-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.box .sf-log li{display:flex;gap:10px;font-size:12.5px;line-height:1.45}
.box .sf-log li::before{display:none}
.sf-log .avatar{width:24px;height:24px;font-size:9px;background:var(--sand);color:var(--anthrazit)}
.sf-log small{display:block;color:var(--text-2);font-size:11.5px}
.sf-delw{padding:4px 4px 0}
.sf-confirm{font-size:12.5px;color:var(--text-2);display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.linklike.neg{color:var(--rot)}
.sf-areas{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.sf-areas .chip svg{margin-right:-2px}
.sf-plus{border-style:dashed;color:var(--anthrazit)}
.sf-inl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sf-inl input{border:1px solid var(--sand);border-radius:8px;padding:8px 11px;font:inherit;font-size:13.5px;background:var(--weiss);color:var(--anthrazit);min-width:0;flex:1 1 200px}
.sf-ahead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.sf-ahead h2{font-family:var(--f-display);font-weight:400;font-size:28px;margin:0;line-height:1.15}
.sf-ahead span{font-size:13px;color:var(--text-2)}
.sf-hint{margin:0 0 14px}
.sf-cat{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:10px;margin-bottom:10px;overflow:hidden}
.sf-cat.open{border-color:var(--sand)}
.sf-cath{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:none;border:0;font-weight:600;font-size:14.5px;text-align:left}
.sf-cath:disabled{cursor:default;color:var(--anthrazit)}
.sf-cc{display:inline-flex;align-items:center;gap:10px;color:var(--text-2)}
.sf-n{background:var(--anthrazit);color:var(--weiss);border-radius:99px;font-size:11px;font-weight:700;padding:1px 8px}
.sf-chev{transition:transform .15s}
.sf-cat.open .sf-chev{transform:rotate(180deg)}
.sf-items{border-top:1px solid var(--sand-hell);padding:4px 18px 12px}
.sf-it{padding:10px 0;border-bottom:1px solid var(--offwhite)}
.sf-it:last-of-type{border-bottom:0}
.sf-itl{display:flex;align-items:center;gap:10px;justify-content:space-between}
.sf-itl .check{flex:1;min-width:0}
.sf-it.on .check span{font-weight:600}
.sf-own{font-style:normal;font-size:11px;font-weight:500;color:var(--text-2);background:var(--offwhite);border-radius:4px;padding:1px 6px;margin-left:4px}
.sf-itd{margin:10px 0 2px 27px;display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--offwhite);border-radius:8px}
.sf-itd > input{border:1px solid var(--sand);border-radius:8px;padding:9px 11px;font:inherit;font-size:13.5px;background:var(--weiss);color:var(--anthrazit);width:100%}
.sf-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.sf-row .linklike{align-self:center}
.sf-sevs{display:inline-flex;gap:6px;flex-wrap:wrap}
.sf-sevs button{border:1px solid var(--sand);background:var(--weiss);border-radius:99px;padding:5px 13px;font-size:12.5px;font-weight:600;color:var(--text-2)}
.sf-sevs button.sv-g[aria-pressed="true"]{background:var(--c-personal);border-color:var(--c-personal);color:#fff}
.sf-sevs button.sv-m[aria-pressed="true"]{background:var(--c-termin);border-color:var(--c-termin);color:#fff}
.sf-sevs button.sv-s[aria-pressed="true"]{background:var(--rot);border-color:var(--rot);color:#fff}
.sf-ph{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sf-th{width:68px;height:68px;border-radius:8px;background:var(--sand-hell) center/cover no-repeat;border:1px solid var(--sand-hell);padding:0}
.sf-add{width:68px;height:68px;border:1.5px dashed var(--sand);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-2);cursor:pointer;font-size:11.5px;font-weight:600;background:var(--weiss);position:relative}
.sf-add:hover,.sf-add:focus-within{border-color:var(--rot);color:var(--anthrazit)}
.sf-add input{position:absolute;opacity:0;width:1px;height:1px}
.sf-more{background:none;border:0;padding:10px 0 2px;font-size:13px;font-weight:600;color:var(--rot)}
.sf-it.ro{padding:12px 0}
.sf-itro{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.sf-itro b{font-size:14px}
.sf-it.ro p{margin:4px 0 0;font-size:13px;color:var(--text-2)}
.sf-it.ro .sf-ph{margin-top:8px}
.sf-fw{max-width:820px}
.sf-form .err{color:var(--rot);font-size:13.5px;font-weight:500;margin:0}
.sf-form{display:flex;flex-direction:column;gap:18px}
.box.sf-form h3{margin:12px 0 -4px;padding-top:18px;border-top:1px solid var(--sand-hell)}
.box.sf-form h3:first-child{margin-top:0;padding-top:0;border-top:0}
.sf-form input[type=tel],.sf-form input[type=email]{border:1px solid var(--sand);border-radius:8px;padding:11px 13px;font:inherit;font-size:14.5px;background:var(--weiss);color:var(--anthrazit);width:100%}
.sf-form textarea{min-height:90px}
.sf-form select{width:100%}
.sf-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sf-geo{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--text-2);margin-top:4px}
.sf-geo .btn svg{flex:none}
.sf-lb{max-width:820px}
.sf-lb img{display:block;width:100%;max-height:70vh;object-fit:contain;background:var(--offwhite)}
.sf-lbf{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 22px;flex-wrap:wrap}
@media (max-width:960px){.sf-det{grid-template-columns:1fr}}
@media (max-width:640px){.sf-k{display:none}.sf-card{grid-template-columns:1fr;gap:12px}.sf-cnt div{align-items:flex-start;min-width:0;flex:1;padding-left:10px}.sf-cnt div:first-child{padding-left:0}.sf-three{grid-template-columns:1fr}.sf-itd{margin-left:0}.sf-items{padding:4px 14px 12px}.sf-cath{padding:14px}}
/* ---------- Preisliste ---------- */
.pl-grp{margin-bottom:26px}
.pl-grp h3{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--text-2);margin:0 0 10px}
.pl-tab{background:var(--weiss);border:1px solid var(--sand-hell);border-radius:12px;overflow:hidden}
.pl-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 120px 36px;gap:14px;align-items:center;padding:12px 16px 12px 20px;border-top:1px solid var(--sand-hell)}
.pl-row:first-child{border-top:0}
.pl-head{background:var(--offwhite);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);padding-top:9px;padding-bottom:9px}
.pl-head span:nth-child(3){text-align:right}
.pl-name{display:flex;flex-direction:column;min-width:0}
.pl-name b{font-size:14.5px;font-weight:600}
.pl-name small{font-size:12.5px;color:var(--text-2)}
.pl-unit{font-size:13px;color:var(--text-2)}
.pl-price{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-foot{align-items:center}
.pl-del{margin-right:auto;font-size:12.5px;color:var(--text-2);display:inline-flex;gap:8px;align-items:center}
@media (max-width:640px){.pl-head{display:none}.pl-row{grid-template-columns:minmax(0,1fr) auto 32px;row-gap:2px;padding:12px 10px 12px 14px}.pl-name{grid-column:1/2}.pl-unit{grid-column:1/2;grid-row:2}.pl-price{grid-column:2;grid-row:1/3}.pl-row .ibtn{grid-column:3;grid-row:1/3}}

/* === v0.20.1: radici.css aus 5f459db wiederhergestellt (Paket-2-Truncation behoben); Paket-2-Neuerungen additiv === */
/* ===== v0.17.0 Paket 2 – Schadenereignisse: Uebersicht, Felder, Positionszeile ===== */
/* P2: Ereignis-Liste als Uebersicht (Detail oeffnet erst auf Auswahl) */
.se-elist-wrap{margin-top:4px}
.se-sec{display:flex;align-items:baseline;gap:8px;margin:22px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--sand-hell)}
.se-sec:first-child{margin-top:8px}
.se-sec h3{margin:0;font-size:15px}
.se-secn{font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}
.se-elist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.se-ecard{display:flex;flex-direction:column;gap:6px;position:relative;padding:14px 40px 14px 16px;border:1px solid var(--sand);border-radius:10px;background:var(--weiss);color:var(--anthrazit);text-decoration:none;transition:border-color .15s,background .15s}
.se-ecard:hover{border-color:var(--anthrazit);background:var(--offwhite)}
.se-ec-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0}
.se-ec-h b{font-size:15px;font-weight:600}
.se-ec-art{font-size:11.5px;color:var(--text-2);background:var(--sand-hell);border-radius:99px;padding:1px 9px}
.se-ec-meta{font-size:12.5px;color:var(--text-2)}
.se-ec-go{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-2);display:inline-flex}
.se-ecard:hover .se-ec-go{color:var(--rot)}
.se-ecard--arc{opacity:.72;background:var(--sand-hell);border-color:var(--sand)}
.se-ecard--arc:hover{opacity:1}
@media (max-width:560px){.se-elist{grid-template-columns:1fr}}
/* P1: ruhigere Detail-Tabelle (dezente Linien, konsistente Abstaende) */
.ev-tab td{border-bottom:1px solid var(--sand-hell)}
/* P3: Liegenschaft-Zeile – gleiche Feldgroessen/-hoehen, konsistentes Raster */
.ev-detbar.se-propf{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,2fr) auto;gap:12px 14px;align-items:end}
.ev-detbar.se-propf .field{min-width:0}
.ev-detbar.se-propf .field label{display:block;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:5px}
.ev-detbar.se-propf .field.se-notes{grid-column:3}
.ev-detbar select,.ev-detbar input,.ev-detbar textarea{width:100%;border:1.5px solid var(--sand)!important;border-radius:var(--ui-radius);background:var(--weiss)!important;padding:0 12px!important;font:inherit;font-size:13.5px;line-height:1.3;color:var(--anthrazit);box-sizing:border-box}
.ev-detbar textarea{min-height:var(--ui-h-sm);padding:8px 12px!important;line-height:1.4;resize:vertical}
.ev-detbar.se-propf .btn{align-self:end}
.ev-detbar.se-propf .linklike{align-self:center;margin:0}
@media (max-width:820px){.ev-detbar.se-propf{grid-template-columns:1fr 1fr}.ev-detbar.se-propf .field.se-notes{grid-column:1/-1}}
@media (max-width:560px){.ev-detbar.se-propf{grid-template-columns:1fr}.ev-detbar.se-propf .field.se-notes{grid-column:1}}
/* P4: Positionszeile – einheitliche Felder/Buttons, nichts gequetscht, Desktop+iPad */
.ev-items{min-width:920px}
.ev-items .se-itext,.ev-items .se-igat{display:block}
.ev-items .se-itext{width:100%;min-width:150px}
.ev-items .se-igat{margin-top:6px;width:100%;max-width:none}
.ev-items input[type=date]{width:152px}
.ev-items .se-cost{width:112px;text-align:right}
.ev-items td.se-act{white-space:nowrap}
.ev-items td.se-act .linklike{margin-right:8px}
.ev-items .btn-new.btn-sm,.ev-items .ev-onr{white-space:nowrap}
