@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(fonts/inter-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(fonts/inter-500.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(fonts/inter-600.woff2) format('woff2')}
:root{--bg:#fff;--ink:#0a0a0a;--sub:#545a63;--line:#e8ebf0;--soft:#f6f7f9;--blue:#152c6b;--blue-h:#1e3a8a;--green:#22a447;--red:#b42318;--amber:#b45309;--r:14px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--soft);color:var(--ink);font:400 15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
h1,h2,h3{text-wrap:balance;letter-spacing:-.015em}
h1{font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:500;margin:0 0 .25rem}
h2{font-size:1.05rem;font-weight:600;margin:0 0 1rem}
.h3{font-size:.9rem;font-weight:600;margin:1.4rem 0 .7rem}
p{margin:0 0 .8rem;text-wrap:pretty}
.muted{color:var(--sub)}
.small{font-size:.85rem}
.center{text-align:center}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:1.08rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.logo-mark{width:28px;height:28px;border-radius:8px;background:var(--blue);display:grid;place-items:center}
.logo-mark svg{width:22px;height:22px}

/* Buttons und Formulare */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:500;font-size:.93rem;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:10px;padding:.65rem 1.05rem;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}
.btn:hover{background:var(--blue-h);border-color:var(--blue-h)}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--sub)}
.btn.sm{padding:.45rem .8rem;font-size:.86rem}
.link{font:inherit;background:none;border:0;padding:0;color:var(--blue);cursor:pointer;font-size:.88rem}
.link.danger{color:var(--red)}
.form{display:grid;gap:.9rem}
.form label{display:grid;gap:.35rem;font-size:.86rem;font-weight:500}
input,select,textarea{font:inherit;font-size:.95rem;color:var(--ink);background:#fff;border:1px solid #d9dee6;border-radius:9px;padding:.6rem .75rem;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--blue) 35%,transparent);border-color:var(--blue)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--blue)}
input[type=color]{height:42px;padding:.2rem}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.full{grid-column:1/-1}
.form.inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.form.inline input,.form.inline select{width:auto;flex:1 1 140px}
.chk{display:flex!important;align-items:flex-start;gap:.55rem;font-weight:400!important;font-size:.88rem!important;line-height:1.45}
.chk input{margin-top:.2rem}
.checks-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}
.prefix{display:flex;align-items:stretch;border:1px solid #d9dee6;border-radius:9px;overflow:hidden;background:#fff}
.prefix span{background:var(--soft);color:var(--sub);padding:.6rem .7rem;font-size:.85rem;font-weight:400;white-space:nowrap;border-right:1px solid #d9dee6;display:flex;align-items:center}
.prefix input{border:0;border-radius:0}
.copyrow{display:flex;gap:.5rem;margin:.6rem 0}
.copyrow input{font-size:.85rem;color:var(--sub)}
.flash{padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.92rem;background:#ecf8f0;color:#0f5f2a;border:1px solid #c5ead2}
.flash.err{background:#fdf1f0;color:var(--red);border-color:#f5d3cf}
.notice{background:#fffaf0;border-color:#f3e2bd;font-size:.92rem}

/* Login */

/* App-Rahmen */
body.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:1.3rem 1rem}
.side-sub{font-size:.8rem;color:var(--sub);margin:.5rem 0 1.4rem .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-nav{display:grid;gap:.15rem}
.side-nav a{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:9px;color:var(--sub);text-decoration:none;font-weight:500;font-size:.92rem}
.side-nav a:hover{background:var(--soft);color:var(--ink)}
.side-nav a.on{background:color-mix(in srgb,var(--blue) 8%,#fff);color:var(--blue)}
.side-nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.side-nav .count{margin-left:auto;font-style:normal;font-size:.75rem;background:var(--green);color:#fff;border-radius:99px;padding:.05rem .45rem}
.side-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.me b{display:block;font-size:.88rem;font-weight:600}
.me span{font-size:.78rem;color:var(--sub);word-break:break-all}
.main{min-width:0}
.topbar{display:none}
.content{padding:clamp(1.2rem,3vw,2.4rem);max-width:1320px}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.crumb{font-size:.82rem;margin:0 0 .3rem}
.crumb a{color:var(--sub);text-decoration:none}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.1rem,2.2vw,1.5rem);margin-bottom:1.2rem}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}
.grid2>.card,.stack>.card{margin-bottom:0}
.grid2.wide-left{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.grid2{margin-bottom:1.2rem}
.stack{display:grid;gap:1.2rem}
.empty{color:var(--sub);font-size:.92rem;margin:0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:1.2rem}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.3rem}
.kpi span{font-size:.82rem;color:var(--sub)}
.kpi b{font-size:1.8rem;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi b.good{color:var(--green)}
.kpi b.warn{color:var(--amber)}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{text-align:left;font-weight:500;color:var(--sub);font-size:.8rem;padding:.55rem .6rem;border-bottom:1px solid var(--line)}
.tbl td{padding:.7rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td a{font-weight:500;text-decoration:none}
.tbl small{display:block;color:var(--sub);font-size:.78rem}
.badge{display:inline-block;font-size:.76rem;font-weight:500;padding:.2rem .55rem;border-radius:99px;background:var(--soft);color:var(--sub);white-space:nowrap}
.st-neu{background:#e8f6ee;color:#137a36}
.st-kontaktiert{background:#eaf0fb;color:var(--blue)}
.st-angebot{background:#fff4e2;color:#9a5b00}
.st-auftrag{background:#e3f4ea;color:#0f6b2f}
.st-verloren{background:#f1f2f4;color:#6b7280}
.fs-aktiv{background:#e3f4ea;color:#0f6b2f}
.fs-entwurf{background:#f1f2f4;color:#6b7280}
.fs-pausiert{background:#fff4e2;color:#9a5b00}
.ok-dot{font-size:.82rem;color:#0f6b2f;display:inline-flex;align-items:center;gap:.35rem}
.ok-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}
.list{list-style:none;padding:0;margin:0 0 1rem}
.list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.list li:last-child{border-bottom:0}
.list b{font-weight:500}
.list small{display:block;color:var(--sub);font-size:.8rem}
.list a{text-decoration:none}
.bars{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.bars li{display:grid;grid-template-columns:minmax(0,1fr) 1.2fr 2.5rem;align-items:center;gap:.8rem;font-size:.88rem}
.bars li>a,.bars li>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;color:var(--ink)}
.bar{height:8px;background:var(--soft);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--blue);border-radius:99px}
.bars b{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.funnel-stats{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.funnel-stats li{display:flex;justify-content:space-between;align-items:center}
.funnel-stats b{font-weight:500;font-variant-numeric:tabular-nums}
.chart{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;align-items:end;height:160px}
.chart .col{height:100%;display:flex;align-items:flex-end}
.chart i{display:block;width:100%;background:var(--blue);border-radius:3px 3px 0 0;min-height:2px}
.chart i.zero{background:var(--line)}
.chart-x{display:flex;justify-content:space-between;font-size:.75rem;color:var(--sub);margin-top:.4rem}
.dl{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:.5rem 1.2rem;margin:0;font-size:.92rem}
.dl dt{color:var(--sub)}
.dl dd{margin:0;word-break:break-word}
.contact-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}
.timeline{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.9rem}
.timeline li{border-left:2px solid var(--line);padding-left:.9rem;font-size:.9rem}
.timeline li.ev-note{border-color:var(--blue)}
.timeline li.ev-created{border-color:var(--green)}
.timeline p{margin:.2rem 0}
.timeline small{display:block;color:var(--sub);font-size:.78rem}
.status-pick{display:grid;gap:.45rem}
.sp{display:block!important;cursor:pointer}
.sp input{position:absolute;opacity:0}
.sp span{display:block;padding:.6rem .8rem;border:1px solid var(--line);border-radius:9px;font-weight:500;background:#fff}
.sp input:checked+span{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:color-mix(in srgb,var(--blue) 5%,#fff)}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.filters input,.filters select{width:auto;flex:0 1 260px}

/* Pipeline-Board */
.board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:.9rem;overflow-x:auto;padding-bottom:1rem;align-items:start}
.bcol{background:#eef0f4;border-radius:var(--r);padding:.7rem;min-height:300px;transition:background .15s,box-shadow .15s}
.bcol.over{background:color-mix(in srgb,var(--blue) 9%,#eef0f4);box-shadow:inset 0 0 0 2px var(--blue)}
.bcol h3{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;margin:.2rem .3rem .7rem;color:var(--sub)}
.bcol.st-auftrag h3{color:var(--green)}
.bcol h3 em{font-style:normal;font-weight:500;background:#fff;border-radius:99px;padding:0 .5rem;font-size:.78rem}
.bcards{display:grid;gap:.55rem;min-height:40px}
.bcard{background:#fff;border:1px solid var(--line);border-radius:11px;padding:.75rem .8rem;display:grid;gap:.15rem;cursor:grab;font-size:.86rem}
.bcard.dragging{opacity:.5}
.bcard a{text-decoration:none;color:var(--ink)}
.bcard b{font-weight:600}
.bcard span{color:var(--ink)}
.bcard small{color:var(--sub);font-size:.76rem}
.bmove{margin-top:.45rem;font-size:.8rem;padding:.3rem .4rem}

/* Baukasten */
.builder{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.4rem;align-items:start}
.builder-side{position:sticky;top:1.4rem}
.phone{border:10px solid #0f172a;border-radius:34px;overflow:hidden;background:#f6f7f9;height:640px;box-shadow:0 30px 60px -40px rgba(10,20,40,.5)}
.phone-in{height:100%;overflow:auto;padding:16px 12px}
.pv-logo{text-align:center;font-weight:600;margin-bottom:12px}
.pv-logo img{max-height:34px;max-width:160px}
.pv-card{background:#fff;border:1px solid #e3e7ee;border-radius:14px;padding:16px}
.pv-card h3{font-size:1.05rem;text-align:center;margin:0 0 6px;line-height:1.2}
.pv-card p{font-size:.78rem;color:var(--sub);text-align:center;margin:0 0 12px}
.pv-bar{height:4px;background:#e3e7ee;border-radius:9px;margin-bottom:12px}
.pv-bar i{display:block;height:100%;width:30%;background:var(--pc,#152c6b);border-radius:9px}
.pv-q{font-weight:600;font-size:.9rem;margin-bottom:8px}
.pv-opts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pv-opts span{border:1.5px solid #e3e7ee;border-radius:9px;padding:9px;font-size:.74rem;font-weight:500}
.pv-btn{margin-top:12px;background:var(--pc,#152c6b);color:#fff;border-radius:9px;padding:9px;text-align:center;font-size:.8rem;font-weight:600}
.pv-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;font-size:.68rem;color:var(--sub);margin-top:10px}
.step-ed{border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:.8rem;display:grid;gap:.6rem;background:#fcfcfd}
.step-ed-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--sub);font-weight:500}
.step-ed-head div{display:flex;gap:.8rem}
.step-ed textarea{min-height:110px}
.logo-row{display:flex;align-items:center;gap:1rem}
.logo-row img{max-height:40px;max-width:160px;border:1px solid var(--line);border-radius:8px;padding:4px;background:#fff}
.savebar{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(246,247,249,0),var(--soft) 35%);padding:1rem 0;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}

/* Onboarding / AVV */
body.onboarding{background:linear-gradient(180deg,#fff,var(--soft) 40%)}
.ob-head{display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1rem,4vw,2.4rem);border-bottom:1px solid var(--line);background:#fff}
.ob-main{max-width:860px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 16px}
.ob-intro{margin-bottom:1.4rem}
.ob-intro h1{font-size:clamp(1.7rem,3.4vw,2.3rem)}
.step-k{font-size:.82rem;color:var(--green);font-weight:500;margin-bottom:.5rem}
.avv-box{padding:0;overflow:hidden}
.avv-meta{padding:1rem 1.4rem;border-bottom:1px solid var(--line);display:grid;gap:.2rem;background:var(--soft)}
.avv-meta span{font-size:.82rem;color:var(--sub)}
.avv-scroll{max-height:420px;overflow:auto;padding:1.2rem 1.4rem}
.avv-text h2{font-size:1rem;margin:1.4rem 0 .5rem}
.avv-text h3{font-size:.92rem;margin:1rem 0 .4rem}
.avv-text p,.avv-text li{font-size:.9rem;line-height:1.6;color:#2a2f36}
.avv-sign .btn{justify-self:start}

/* AVV-Dokument */
body.doc{background:#e9ecf1}
.doc-bar{position:sticky;top:0;display:flex;justify-content:center;padding:.8rem;background:#e9ecf1}
.doc-page{max-width:820px;margin:0 auto 3rem;background:#fff;padding:clamp(1.5rem,6vw,4rem);border-radius:6px;box-shadow:0 10px 30px -20px rgba(0,0,0,.4)}
.doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:1.4rem 0;font-size:.9rem}
.doc-parties b,.doc-sign b{display:block;margin-bottom:.2rem}
.doc-sign{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem}
@media print{.noprint{display:none!important}body.doc{background:#fff}.doc-page{box-shadow:none;margin:0;padding:0}}

/* Mobil */
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.builder{grid-template-columns:1fr}.builder-side{position:static}.phone{height:560px;max-width:360px;margin:0 auto}}
@media (max-width:900px){
  body.app{display:block}
  .side{position:fixed;inset:0 auto 0 0;width:270px;z-index:50;transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 0 100vmax rgba(10,20,40,0)}
  .side.open{transform:none;box-shadow:0 0 0 100vmax rgba(10,20,40,.35)}
  .topbar{display:flex;align-items:center;gap:.8rem;position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:.7rem 1rem}
  .menu-btn{width:40px;height:40px;border-radius:10px;border:0;background:var(--blue);display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer}
  .menu-btn span{width:18px;height:2px;background:#fff;border-radius:2px}
  .topbar-title{font-weight:600}
  .grid2,.grid2.wide-left{grid-template-columns:1fr}
  .board{grid-template-columns:repeat(5,minmax(240px,82vw));scroll-snap-type:x mandatory}
  .bcol{scroll-snap-align:start}
}
@media (max-width:600px){.cols2,.cols3,.checks-grid,.doc-parties{grid-template-columns:1fr}.kpi b{font-size:1.5rem}.tbl th:nth-child(n+4),.tbl td:nth-child(n+4){display:none}.page-head .btn{width:100%}}
.form>.btn,.form .btn.ghost{justify-self:start}
.auth-box .form>.btn{justify-self:stretch}
@media (min-width:901px){.board{grid-template-columns:repeat(5,minmax(190px,1fr))}}
.sp{border-radius:9px}
.sp span{background:#fff!important}
.danger-btn{color:var(--red)!important;border-color:#f5d3cf!important}
.err-txt{color:var(--red)}
.pv-hero{margin:-16px -12px 0;padding:18px 14px 46px;text-align:center;color:#fff;background-size:cover;background-position:center;position:relative}
.pv-hero::before{content:"";position:absolute;inset:0;background:var(--ov);opacity:var(--op)}
.pv-hero>*{position:relative}
.pv-hero img{max-height:30px;max-width:140px;margin-bottom:10px}
.pv-hero .pv-co{font-weight:600;font-size:.85rem;margin-bottom:10px}
.pv-hero h3{font-size:1.05rem;margin:0 0 6px;line-height:1.2;color:#fff}
.pv-hero p{font-size:.74rem;opacity:.9;margin:0;color:#fff}
.pv-card.lift{margin-top:-30px;position:relative}
.pv-foot{text-align:center;font-size:.66rem;color:var(--sub);margin-top:10px}
/* Kampagnen */
.seg{display:inline-flex;flex-wrap:wrap;gap:.25rem;background:#fff;border:1px solid var(--line);border-radius:11px;padding:.25rem}
.seg a{padding:.45rem .8rem;border-radius:8px;text-decoration:none;color:var(--sub);font-size:.86rem;font-weight:500}
.seg a.on{background:var(--blue);color:#fff}
.kpis.k5{grid-template-columns:repeat(5,1fr)}
.kpi small{font-size:.76rem;color:var(--sub)}
.tbl-wrap{overflow-x:auto}
.tbl.camp td{vertical-align:middle}
.tbl .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.camp-name{display:flex;align-items:center;gap:.7rem;min-width:220px}
.camp-name img,.thumb-ph{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none;background:var(--soft);border:1px solid var(--line)}
.camp-name b{font-weight:500;display:block}
.cpl-strip{display:flex;flex-wrap:wrap;gap:.6rem 2rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.25rem;margin-bottom:1.2rem;font-size:.9rem}
.cpl-strip b{font-size:1.05rem;font-weight:500}
.cpl-strip a{margin-left:auto}
@media (max-width:1100px){.kpis.k5{grid-template-columns:repeat(2,1fr)}}
.row-actions{display:flex;gap:.6rem;margin-top:.8rem}
.code{display:block;word-break:break-all;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;font-size:.8rem;margin-top:.3rem}
.meta-pick{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;max-height:420px;overflow:auto}
.kpis.k3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){.kpis.k5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.kpis.k3{grid-template-columns:1fr}.tbl.camp th,.tbl.camp td{display:table-cell}.camp-name{min-width:170px}.camp-name img,.camp-name .thumb-ph{display:none}.tbl-wrap{margin:0 -1rem;padding:0 1rem}}
.thumb-ph.g{display:grid;place-items:center;font-weight:600;color:var(--blue);font-size:1rem}
@media (max-width:600px){.tbl.cmp th,.tbl.cmp td{display:table-cell}}
.grid2>*{min-width:0}
@media (max-width:600px){
.tbl-wrap:has(.tbl.camp){margin:0;padding:0}
.tbl.camp thead{display:none}
.tbl.camp,.tbl.camp tbody{display:block}
.tbl.camp tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem .8rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.tbl.camp tr:last-child{border-bottom:0}
.tbl.camp td{display:block;padding:0;border:0;text-align:left}
.tbl.camp td.cn{grid-column:1/3}
.tbl.camp td.cs{text-align:right;align-self:start}
.tbl.camp td[data-l]::before{content:attr(data-l);display:block;font-size:.72rem;color:var(--sub);font-weight:400}
.tbl.camp .camp-name{min-width:0}
.tbl.camp .camp-name .thumb-ph,.tbl.camp .camp-name img{display:none}
}
@media (max-width:600px){.tbl.cmp th,.tbl.cmp td{padding:.55rem .3rem;font-size:.8rem}.tbl.cmp th:first-child,.tbl.cmp td:first-child{padding-left:0}}
/* Paket */
.pk-head{display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;align-items:flex-start;padding-bottom:1.2rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line)}
.pk-head h2{font-size:1.6rem;margin:.35rem 0 .2rem;letter-spacing:-.02em}
.pk-head p{margin:0}
.pk-tag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--green);background:#eaf6ee;border-radius:99px;padding:.2rem .6rem}
.pk-price{text-align:right}
.pk-price b{display:block;font-size:1.6rem;font-weight:600;letter-spacing:-.02em}
.pk-price span{font-size:.8rem;color:var(--sub)}
.pk-feat{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.55rem}
.pk-feat li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
.pk-feat li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:#eaf6ee url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322a447' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.pk-feat.sm li{font-size:.86rem}
.pk-note{margin-top:1.2rem;background:var(--soft);border-radius:10px;padding:.9rem 1rem;font-size:.9rem}
.pk-note p{margin:.3rem 0 0}
.pk-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}
.pk-up-i{border:1px solid var(--line);border-radius:12px;padding:1.1rem}
.pk-up-i h3{margin:0 0 .2rem;font-size:1.05rem}
.pk-up-i .btn{margin-top:1rem}
@media (max-width:600px){.pk-price{text-align:left}}
/* Monatsberichte */
.tbl.rep td{vertical-align:top}
.tbl.rep td small{display:block}
.rep-note{margin-top:.4rem;font-size:.82rem}
.rep-note summary{cursor:pointer;color:var(--blue)}
.rep-note textarea{width:100%;min-width:260px;margin-top:.4rem;font:inherit;font-size:.86rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:9px}
.rep-form .card label.full{display:grid;gap:.4rem;font-size:.9rem;font-weight:500;margin-bottom:.8rem}
.rep-form .card textarea[name=message]{font:inherit;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px}
.rep-form .card .btn{margin-top:.8rem}
@media (max-width:600px){.tbl.rep th:nth-child(n+4),.tbl.rep td:nth-child(n+4){display:table-cell}}
.dl+p{margin-top:1rem}
/* Kundenlogin: links Einblick, rechts Anmeldung */
body.auth{min-height:100vh;margin:0;background:#fff}
.lg{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,1fr);min-height:100vh}
.lg-side{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 20% 0%,#1f3a86 0%,#152c6b 45%,#0d1d4a 100%);color:#fff;padding:clamp(28px,4vw,48px) clamp(28px,4.5vw,64px);display:flex;flex-direction:column}
.lg-side>*{position:relative}
.lg-logo{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:1.2rem;letter-spacing:-.02em;color:#fff;text-decoration:none;width:max-content}
.lg-copy{margin-top:clamp(2.5rem,7vh,4.5rem);display:grid;gap:1.1rem;max-width:30rem}
.lg-pill{display:inline-flex;align-items:center;gap:.55rem;font-size:.9rem;font-weight:500;color:rgba(255,255,255,.85)}
.lg-pill i{width:9px;height:9px;border-radius:50%;background:#3ccf6a;box-shadow:0 0 0 4px rgba(60,207,106,.22)}
.lg-copy h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.06;letter-spacing:-.03em;font-weight:600;margin:0;text-wrap:balance;color:#fff}
.lg-copy p{margin:0;font-size:1.08rem;color:rgba(255,255,255,.72);max-width:38ch}
.lg-mock{position:relative;flex:1;min-height:340px;margin-top:4.5rem;perspective:1800px}
.lg-tilt{position:absolute;left:6%;top:0;width:118%;transform:rotateX(22deg) rotateY(-18deg) rotateZ(8deg);transform-origin:0 0;transform-style:preserve-3d}
.lg-win{border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 60px 90px -30px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08)}
.lg-win img{display:block;width:100%;height:auto}
.lg-front{position:relative;transform:translateZ(60px)}
.lg-back{position:absolute;left:14%;top:-5%;width:100%;opacity:.55;filter:saturate(.8)}
.lg-bar{display:flex;align-items:center;padding:.5rem .8rem;border-bottom:1px solid #e8ebf0;background:#fff}
.lg-bar span{display:flex;gap:5px}.lg-bar i{width:9px;height:9px;border-radius:50%;background:#e3e7ee}
.lg-bar em{font-style:normal;font-size:.72rem;color:#545a63;background:#f6f7f9;border-radius:6px;padding:.2rem .8rem;margin:0 auto}
.lg-main{display:flex;flex-direction:column;padding:clamp(20px,3vw,36px) clamp(20px,5vw,72px);background:#fff}
.lg-top{display:flex;justify-content:flex-end;align-items:center;gap:1rem}
.lg-logo-m{display:none;align-items:center;gap:.55rem;font-weight:600;font-size:1.15rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;margin-right:auto}
.lg-web{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:500;color:var(--sub);text-decoration:none}
.lg-web:hover{color:var(--blue)}
.auth-box{width:100%;max-width:400px;margin:auto;padding-block:2.5rem;display:grid;gap:1rem}
.auth-box h1{font-size:clamp(1.8rem,3vw,2.2rem);line-height:1.12;letter-spacing:-.03em;font-weight:600;margin:.1rem 0 0}
.auth-box>p{margin:0}
.auth-box .muted{font-size:1rem}
.auth-box .form{gap:1rem;margin-top:.6rem}
.auth-box .form label{font-size:.9rem}
.auth-box .form input{padding:.85rem .95rem;font-size:1rem;border-radius:10px}
.auth-box .form>.btn,.auth-box .btn{width:100%;justify-self:stretch;padding:.95rem 1.2rem;font-size:1rem;margin-top:.4rem}
.auth-box .small{margin:0}
.a-pill{display:inline-flex;align-items:center;gap:.55rem;font-size:.9rem;font-weight:500;color:var(--ink)}
.a-pill i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(34,164,71,.18)}
.lg-help{font-size:.86rem;color:var(--sub);margin:1rem 0 0!important;padding-top:1.2rem;border-top:1px solid var(--line);line-height:1.55}
.lg-foot{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.82rem;color:var(--sub)}
.lg-foot span{margin-right:auto}
.lg-foot a{color:var(--sub);text-decoration:none}
.lg-foot a:hover{color:var(--ink)}
@media (max-width:980px){.lg{grid-template-columns:1fr}.lg-side{display:none}.lg-logo-m{display:inline-flex}.lg-top{justify-content:space-between}}
@media (prefers-reduced-motion:no-preference){.lg-tilt{animation:lgIn .9s cubic-bezier(.2,.7,.2,1) both}@keyframes lgIn{from{opacity:0;transform:rotateX(28deg) rotateY(-24deg) rotateZ(10deg) translateY(30px)}}}
/* Sicherheit */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sec-codes{border-color:#f3dfb5;background:#fffbf2}
.codes{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}
.codes code{display:block;font:500 1rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;text-align:center}
.sec-more{margin-top:1rem;border-top:1px solid var(--line);padding-top:.9rem}
.sec-more summary{cursor:pointer;font-weight:500;color:var(--blue);font-size:.92rem}
.sec-more .form{margin-top:.8rem;max-width:360px}
.setup-steps{list-style:none;counter-reset:s;padding:0;margin:0 0 1rem;display:grid;gap:1.2rem}
.setup-steps>li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;gap:.2rem .8rem}
.setup-steps>li::before{content:counter(s);grid-row:1/4;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.85rem}
.setup-steps b{font-weight:600}
.setup-steps span{color:var(--sub);font-size:.92rem}
.qr-wrap{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-top:.7rem}
.qr{width:180px;height:180px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;flex:none}
.qr svg{width:100%;height:100%;display:block}
.qr-alt{display:grid;gap:.4rem;min-width:0}
.qr-alt small{color:var(--sub)}
.secret{font:500 .95rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;word-break:break-all;user-select:all}
.setup-confirm{margin-top:.6rem}
.setup-confirm input{max-width:160px;font-size:1.1rem;letter-spacing:.12em;text-align:center}
.auth-box input.otp{font-size:1.4rem;letter-spacing:.3em;text-align:center}
@media print{.side,.topbar,.grid2,#anmeldungen,.page-head,.row-actions{display:none!important}.sec-codes{border:0}}
#anmeldungen .card-head{flex-wrap:wrap;gap:.6rem}#anmeldungen .card-head .btn{white-space:normal}
/* Team */
.seat{font-size:.9rem;color:var(--sub);background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;white-space:nowrap}
.seat b{color:var(--ink)}
.team{list-style:none;margin:0;padding:0}
.team li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.9rem 0;border-top:1px solid var(--line)}
.team li:first-child{border-top:0;padding-top:.2rem}
.av{width:40px;height:40px;border-radius:50%;background:#eef2fb;color:var(--blue);display:grid;place-items:center;font-weight:600}
.tm-main{display:grid;gap:.15rem;min-width:0}
.tm-main b{font-weight:500}
.tm-main small{color:var(--sub);overflow-wrap:anywhere}
.tm-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.2rem}
.you{font-style:normal;font-size:.72rem;font-weight:600;color:var(--blue);background:#eef2fb;border-radius:99px;padding:.1rem .45rem;margin-left:.3rem}
.tm-side{display:grid;gap:.35rem;justify-items:end}
.tm-role select{font:inherit;font-size:.86rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.role-tag{font-size:.82rem;color:var(--sub)}
.roles{display:grid;gap:.25rem .8rem;grid-template-columns:auto 1fr;margin:0 0 .8rem;font-size:.92rem}
.roles dt{font-weight:600}
.roles dd{margin:0;color:var(--sub)}
@media (max-width:600px){.team li{grid-template-columns:40px minmax(0,1fr)}.tm-side{grid-column:2;justify-items:start}.roles{grid-template-columns:1fr}}
