:root{--ink:#101519;--accent:#085EF5;--accent-soft:#eaf1ff;--mute:#5b6068;--line:#ececee;--bg:#fff;--soft:#f6f6f7;--ok:#0a7d45;--err:#b42318;--r:12px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-weight:700;font-size:20px;letter-spacing:-.02em;text-decoration:none}
.nav nav{display:flex;gap:28px;align-items:center;font-size:14px}
.nav nav a{text-decoration:none;color:var(--mute)}
.nav nav a:hover{color:var(--ink)}
.nav nav a.btn,.nav nav a.btn:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:15px;border:1px solid var(--accent);cursor:pointer}
.btn:hover{opacity:.9}
.logo img{display:block;height:26px;width:auto}
.side .logo img{height:22px}
a:hover{color:var(--accent)}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn.sm{height:34px;padding:0 14px;font-size:13px}
.hero{padding:120px 0 96px;text-align:center}
.hero h1{font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-.035em;margin:0 0 22px;font-weight:700}
.hero p{font-size:20px;color:var(--mute);max-width:620px;margin:0 auto 36px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
section.block{padding:72px 0;border-top:1px solid var(--line)}
h2{font-size:30px;letter-spacing:-.025em;margin:0 0 12px}
.lead{color:var(--mute);margin:0 0 36px;max-width:620px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:#fff}
.card h3{margin:0 0 8px;font-size:20px;letter-spacing:-.01em}
.card p{margin:0;color:var(--mute)}
.num{font-size:13px;color:var(--mute);margin-bottom:14px}
footer{border-top:1px solid var(--line);padding:36px 0;margin-top:40px;font-size:14px;color:var(--mute)}
footer a{text-decoration:none}
.form{max-width:568px;margin:56px auto 80px;padding:0 24px}
.form h1{font-size:34px;letter-spacing:-.03em;margin:0 0 8px}
label{display:block;font-size:13px;color:var(--mute);margin:18px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],select,textarea{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font:inherit;background:#fff;color:var(--ink)}
textarea{height:96px;padding:12px 14px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);margin:14px 0}
.check input{margin-top:4px}
.err{background:#fff4f2;color:var(--err);border:1px solid #ffd9d3;border-radius:10px;padding:12px 14px;margin:16px 0;font-size:14px}
.okmsg{background:#f0faf4;color:var(--ok);border:1px solid #c9ecd8;border-radius:10px;padding:12px 14px;margin:16px 0;font-size:14px}
.hp{position:absolute;left:-9999px}
/* App */
.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.side{border-right:1px solid var(--line);padding:24px 18px;position:sticky;top:0;height:100vh}
.side .logo{display:block;margin:0 8px 28px}
.side a.i{display:block;padding:9px 12px;border-radius:9px;text-decoration:none;color:var(--mute);font-size:14.5px}
.side a.i:hover{background:var(--soft);color:var(--ink)}
.side a.i.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.side .sep{height:1px;background:var(--line);margin:18px 8px}
.main{padding:32px 40px 80px;max-width:1100px}
.main h1{font-size:28px;letter-spacing:-.025em;margin:0 0 4px}
.sub{color:var(--mute);margin:0 0 28px;font-size:14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0 28px}
.kpi{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.kpi .l{font-size:12px;color:var(--mute)}
.kpi .v{font-size:26px;font-weight:650;letter-spacing:-.02em;margin-top:2px}
.kpi .d{font-size:12px;color:var(--mute)}
.d.up{color:var(--ok)}.d.dn{color:var(--err)}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.bar select{width:auto;height:38px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-weight:500;color:var(--mute);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--soft);font-size:12px}
.pill.ok{background:#e9f7ef;color:var(--ok)}.pill.info{background:var(--accent-soft);color:var(--accent)}.pill.warn{background:#fff6e5;color:#9a6700}.pill.bad{background:#fdecea;color:var(--err)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--soft);padding:2px 6px;border-radius:6px;word-break:break-all}
.tools{display:flex;gap:8px;flex-wrap:wrap}
canvas{width:100%;max-height:280px}
.legal{max-width:808px;margin:56px auto 80px;padding:0 24px}
.legal h1{font-size:34px;letter-spacing:-.03em}
.legal h2{font-size:20px;margin-top:32px}
.legal p,.legal li{color:#2a2d32}
@media(max-width:860px){.nav nav a.hide-m{display:none}.btn.sm{white-space:nowrap}.grid2,.grid3{grid-template-columns:1fr}.app{grid-template-columns:1fr}.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px;padding:14px}.side .logo{width:100%;margin:0 0 6px}.side .sep{display:none}.main{padding:22px 18px 60px}.nav nav{gap:16px}.hero{padding:72px 0 56px}}

/* --- Portal-Erweiterung --- */
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.h3{font-size:18px;letter-spacing:-.01em;margin:0 0 12px}
.mute{color:var(--mute)}
.hint{color:var(--mute);font-size:13px;margin:8px 0}
.narrow{max-width:720px}
.linkbtn{background:none;border:0;cursor:pointer;text-align:left;width:100%;font:inherit;padding:9px 12px;color:var(--mute)}
.topbar{display:flex;justify-content:flex-end;margin:-8px 0 8px}
.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;color:var(--mute);text-decoration:none}
.bell:hover{background:var(--soft);color:var(--ink)}
.badge-n{position:absolute;top:2px;right:0;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.card.empty{text-align:center;padding:40px 24px}
abbr[title]{text-decoration:underline dotted;cursor:help}
.defs{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:12px 0}
.defs dt{font-weight:600}.defs dd{margin:0;color:var(--mute)}
.chartbox{position:relative}
.chartbox .tip{position:absolute;top:0;right:0;background:var(--ink);color:#fff;font-size:12px;padding:4px 8px;border-radius:6px}
details>summary{cursor:pointer;color:var(--mute);font-size:14px;margin:8px 0}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 24px;border-bottom:1px solid var(--line)}
.tabs a{padding:10px 14px;text-decoration:none;color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-1px;font-size:14.5px}
.tabs a.on{color:var(--accent);border-color:var(--accent);font-weight:600}
.timeline{list-style:none;margin:8px 0;padding:0;border-left:2px solid var(--line)}
.timeline li{padding:6px 0 10px 16px;position:relative;display:flex;flex-direction:column}
.timeline li::before{content:"";position:absolute;left:-6px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.notes{list-style:none;margin:0;padding:0}
.notes li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px}
.notes li.unread{background:var(--accent-soft);border-color:#cfe0ff}
.preview{margin-top:20px;padding:16px;border:1px dashed var(--line);border-radius:var(--r)}
.qr{vertical-align:middle;border:1px solid var(--line);border-radius:8px;padding:6px;background:#fff}
.hero.small{padding:72px 0 40px}.hero.small h1{font-size:clamp(32px,5vw,52px)}
.list{padding-left:20px;color:#2a2d32}.list li{margin:8px 0}
fieldset.card{border:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line);padding:6px 0}.faq summary{list-style:none;color:var(--ink)}.faq summary h2{display:inline;font-size:18px;margin:0}.faq p{color:#2a2d32;margin:8px 0 14px}
.receipt{max-width:860px;margin:32px auto;padding:0 24px}
body.print{background:#fff}
@media print{.noprint,.skip{display:none!important}.receipt{margin:0}}
@media(max-width:860px){
 .tablewrap table thead{position:absolute;left:-9999px}
 .tablewrap table,.tablewrap tbody,.tablewrap tr,.tablewrap td{display:block;width:100%}
 .tablewrap tr{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:6px 0}
 .tablewrap td{border:0;padding:6px 14px;display:flex;justify-content:space-between;gap:16px;text-align:right}
 .tablewrap td::before{content:attr(data-label);color:var(--mute);text-align:left;font-size:12px}
 .tablewrap td:not([data-label])::before{content:none}
 .topbar{margin:0 0 4px}.defs{grid-template-columns:1fr}.notes li{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.lbl{display:block;font-size:13px;color:var(--mute);margin:18px 0 6px}

@media(max-width:860px){.side nav{display:flex;overflow-x:auto;width:100%;gap:2px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.side a.i{white-space:nowrap}.side form{margin-left:auto}}

/* --- UX-Feinschliff (Mobil perfekt) --- */
input[type=search]{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font:inherit;background:#fff;color:var(--ink)}
input[type=search]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.app{grid-template-columns:220px minmax(0,1fr)}.main{min-width:0}.side{min-width:0}
.nav nav a:not(.btn){padding:12px 8px;display:inline-flex;align-items:center;min-height:44px}
.logo{display:inline-flex;align-items:center;min-height:44px}
footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
summary{min-height:44px;display:flex;align-items:center}
.faq summary{display:flex}.tablewrap td a{display:inline-flex;align-items:center;min-height:36px}
.btn.sm{min-height:36px}.bar select,.bar input{min-height:44px}
.topbar .bell{width:44px;height:44px}
main>p>a:first-child,.main>p>a:first-child{display:inline-flex;align-items:center;min-height:36px}
@media(max-width:860px){
 .nav nav a.hide-m{display:none!important}
 .app{grid-template-columns:minmax(0,1fr)}
 .side{position:sticky;top:0;z-index:20;background:#fff;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 8px;padding:6px 12px;border-bottom:1px solid var(--line)}
 .side .logo{width:auto;margin:0 auto 0 0}.side form{margin-left:0}.side .linkbtn{width:auto;padding:12px 8px;min-height:44px}
 .side nav{order:3;flex:1 0 100%}.side a.i{padding:12px 12px;min-height:44px;display:inline-flex;align-items:center}
 .main{padding:16px 16px 56px}h1{font-size:26px}
 .hero h1{font-size:clamp(32px,9vw,46px)}.kpi .v{font-size:22px}
 .grid2,.grid3{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}
 .bar{gap:8px}.bar select,.bar input{flex:1 1 140px;width:auto}
 .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.tabs a{white-space:nowrap}
}
@media(max-width:380px){.kpis{grid-template-columns:1fr}.btn{padding:0 16px}}
.appgrid{display:grid;grid-template-columns:1fr minmax(280px,360px);gap:24px;align-items:start}
.brandrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.brandrow:first-of-type{border-top:0}
.leadf{display:flex;align-items:center;gap:8px}.leadf input{width:92px;height:40px}
.breakall{word-break:break-word;max-width:320px}
@media(max-width:860px){.appgrid{grid-template-columns:1fr}.leadf input{width:84px}.breakall{max-width:none}}

.check label a,.err a,.okmsg a{display:inline-block;padding:9px 0}

/* --- Mobile Karten-Tabellen: erste Spalte als Titelzeile --- */
.brandrow{flex-wrap:wrap}.leadf{margin-left:auto}.leadf span{white-space:nowrap}
@media(max-width:860px){
 .tablewrap td:first-child{display:block;text-align:left;font-weight:600;border-bottom:1px solid var(--line);margin-bottom:2px;padding-bottom:8px}
 .tablewrap td:first-child::before{display:block;margin-bottom:2px;font-weight:400}
 .tablewrap td:first-child br{display:none}.tablewrap td:first-child .mute{margin-left:6px}
}

.tablewrap td a{min-width:44px;justify-content:center}

/* --- Blueprint: Partner-Cockpit (App-Bereich) --- */
.app .btn:not(.ghost){background:var(--ink);border-color:var(--ink)}
.app .btn.ghost{background:#fff;color:var(--ink);border-color:#e8e8e8}
.app .card,.app .kpi{border-color:#e8e8e8;border-radius:14px}
.app .side{width:230px}.app{grid-template-columns:230px 1fr}
.app .side a.i.on{background:var(--ink);color:#fff}
.main{max-width:1280px}
.dashhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.kpis.k4{grid-template-columns:repeat(4,1fr)}
.kpis.k4 .v{font-size:30px}
.prog{display:flex;align-items:center;gap:14px;text-decoration:none;flex-wrap:wrap;padding:20px}
.prog:hover{border-color:var(--ink);color:var(--ink)}
.prog .ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--accent-soft);color:var(--accent)}
.prog .pt{flex:1}.prog .pn{width:100%;font-size:13px;color:var(--mute)}
fieldset.step{border:0;border-top:1px solid #e8e8e8;margin:0;padding:18px 0 6px}
fieldset.step legend{font-weight:600;padding:0 8px 0 0;font-size:15px}
.step .n{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;align-items:center;justify-content:center;font-size:13px;margin-right:6px}
.seg{display:flex;gap:10px;flex-wrap:wrap}
.segopt{margin:0;color:var(--ink)}
.segopt{position:relative}.segopt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.segopt span{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border:1px solid #e8e8e8;border-radius:12px;cursor:pointer;font-weight:600}
.segopt input:checked+span{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.segopt input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:860px){
.kpis.k4{grid-template-columns:repeat(2,1fr)}
.app .side{width:auto;flex-wrap:nowrap;overflow-x:auto;gap:6px}
.app .side nav{display:flex;gap:6px}
.app .side a.i,.app .side .linkbtn{white-space:nowrap;min-height:44px;display:flex;align-items:center;width:auto}

.app{grid-template-columns:1fr}
.btn.sm{min-height:44px}
}

.kpi .d a{display:inline-block;padding:15px 4px;margin:-15px 0}

.photo{display:block;width:100%;height:auto;border-radius:14px;border:1px solid #e8e8e8;background:var(--soft)}
.hero-photo{margin:48px auto 0;max-width:1080px}
.photo.wide{margin:0 0 28px}
.grid3 .card .photo{margin:0 0 16px;aspect-ratio:3/2;object-fit:cover}

@media(max-width:860px){
.cards-m thead{position:absolute;left:-9999px}
.cards-m tr{display:block;border:1px solid #e8e8e8;border-radius:12px;padding:12px;margin-bottom:10px}
.cards-m td{display:flex;justify-content:space-between;gap:12px;border:0;padding:6px 0}
.cards-m td::before{content:attr(data-label);color:var(--mute);font-size:12px;flex:none}
.cards-m td.acts{flex-wrap:wrap}
.cards-m td.acts .btn{flex:1;min-height:44px}
}
.acts{white-space:nowrap}.acts .btn{margin-right:6px}

.mtop{display:none}
@media(max-width:860px){
.mtop{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid #e8e8e8}
.mtop .mr{display:flex;gap:4px}
.mtop .bell{width:44px;height:44px}
.topbar{display:none}
.app .side{border-bottom:1px solid #e8e8e8}
.app .side>.logo{display:none}
}

@media(max-width:860px){.app .side nav{order:1}.app .side form{order:2}}

/* --- Public Frontend V1 --- */
body:not(:has(.app)) .btn:not(.ghost){background:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink);color:var(--ink)}
.wrap{max-width:1200px}
.sitehead{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #eaeaea}
.sitehead .nav{height:72px}
.show-m{display:none}
.menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 12px;border:1px solid #eaeaea;border-radius:999px;font-size:14px;margin:0}
.menu summary::-webkit-details-marker{display:none}
.menu{position:relative}
.menupanel{position:absolute;right:0;top:52px;background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px;min-width:220px}
.menupanel a{padding:12px;text-decoration:none;color:var(--ink);min-height:44px}
.menupanel .btn{color:#fff;margin-top:6px}
.hero2{display:grid;grid-template-columns:55fr 45fr;gap:56px;align-items:center;padding:96px 0 72px}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 16px;font-weight:600}
.hero2 h1{font-size:clamp(36px,5vw,60px);line-height:1.04;letter-spacing:-.035em;margin:0 0 20px;font-weight:700}
.subline{font-size:19px;color:var(--mute);max-width:560px;margin:0 0 32px}
section.block{padding:96px 0}
.progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.pcard{display:flex;flex-direction:column;gap:14px;padding:32px;border-radius:16px;border-color:#eaeaea}
.pcard .btn{margin-top:auto;align-self:flex-start}
.phead{display:flex;align-items:center;gap:14px}.phead h3{margin:0;font-size:24px}
.ico{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--accent-soft);color:var(--accent)}
.pdesc{font-size:17px;color:var(--ink)!important}
.pfacts{display:grid;grid-template-columns:90px 1fr;gap:10px 16px;margin:0;font-size:14px}
.pfacts dt{color:var(--mute)}.pfacts dd{margin:0}
.steps3{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;margin:0 0 48px}
.steps3 li{border-top:1px solid var(--ink);padding-top:18px}
.steps3 h3{margin:6px 0 8px;font-size:22px}.steps3 p{margin:0;color:var(--mute)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.checks{list-style:none;padding:0;margin:20px 0 28px}
.checks li{padding:12px 0;border-bottom:1px solid #eaeaea;font-size:17px}
.checks li::before{content:"\2713";margin-right:12px;font-weight:700}
details.faq{border-bottom:1px solid #eaeaea;padding:4px 0}
details.faq summary{cursor:pointer;list-style:none;min-height:56px;display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:17px;margin:0}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary h2,details.faq summary h3{font-size:17px;margin:0;font-weight:600;letter-spacing:0}
details.faq summary::after{content:"+";font-size:22px;color:var(--mute)}
details.faq[open] summary::after{content:"\2212"}
details.faq p{margin:0 0 18px;color:var(--mute);max-width:720px}
.finalcta{background:#f7f7f7;border-radius:16px;padding:72px 24px;text-align:center;margin:0 0 72px}
.finalcta h2{margin:0 0 10px;font-size:34px}.finalcta p{color:var(--mute);margin:0 0 28px}
footer{border-top:1px solid #eaeaea}
@media(max-width:860px){
.hide-m{display:none!important}.show-m{display:block}
.hero2{grid-template-columns:1fr;gap:36px;padding:48px 0 40px}
section.block{padding:56px 0}
.steps3,.split{grid-template-columns:1fr}
.split{gap:32px}
.finalcta{padding:48px 20px}
.progs{grid-template-columns:1fr}
.nav nav{gap:12px}
}

a.tl{display:inline-block;padding:14px 0}

.photo.mock{border-color:#eaeaea;background:#f4f4f4}
.hr .photo.mock{border-radius:16px}

.gal3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
@media(max-width:860px){.gal3{grid-template-columns:1fr}}

.nav nav a:not(.btn),.nav nav a:not(.btn):hover{color:var(--ink)}
.nav nav a:not(.btn):hover{text-decoration:underline}
.menu summary{color:var(--ink)}

.vid{display:block;width:100%;height:auto;object-fit:cover;background:#f4f4f4}

.trust{font-size:14px;color:var(--mute);margin:24px 0 0}
.next{border:1px solid #eaeaea;border-radius:14px;padding:18px 20px;margin:24px 0 8px;background:#fafafa}
.next ol{margin:8px 0 0;padding-left:20px;color:#2a2d32}.next li{margin:6px 0}
.compact{padding:56px 0!important}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0 0}
.facts div{border:1px solid #eaeaea;border-radius:14px;padding:18px}.facts b{display:block;margin-bottom:6px}.facts p{margin:0;color:var(--mute);font-size:15px}

.legal,.legal p,.legal li,.legal h2{overflow-wrap:anywhere}
.loginlinks a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}

/* --- Dashboard-Review --- */
.inl{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--mute)}
.inl input[type=date]{width:auto;height:38px}
.bar input[type=search],.bar input[type=text]{height:38px;width:auto}
.legend{margin:10px 0 14px}
tr.rowlink{cursor:pointer}tr.rowlink:hover td{background:#fafafa}
tfoot th,tfoot td{border-top:2px solid #e8e8e8;font-weight:600}
.flow{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:0;margin:0 0 8px}
.flow li{border:1px solid #e8e8e8;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px}
.flow li.hl{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.flow .l{font-size:12px;color:var(--mute)}.flow b{font-size:22px;letter-spacing:-.02em}.flow small{color:var(--mute);font-size:12px}
.codes{columns:2;list-style:none;padding:0;margin:12px 0}.codes li{margin:6px 0}
@media(max-width:860px){.flow{grid-template-columns:1fr 1fr}.inl{width:100%}.inl input[type=date]{flex:1}}
@media print{.side,.mtop,.topbar,.btn{display:none!important}}

/* --- Admin-Listen --- */
.badge-inline{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:var(--ink);color:#fff;font-size:12px;line-height:20px;text-align:center;margin-left:4px}
.tabs a .badge-inline{background:var(--accent)}
tr.detailrow td{background:#fafafa;padding:18px}
tr.detailrow[hidden]{display:none}
@media(max-width:860px){tr.detailrow td{display:block}}

/* Passwort-Toggle,Schrittliste */
.pwwrap{position:relative;display:block}.pwwrap input{padding-right:48px}
.pwtoggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;background:none;border:0;border-radius:10px;color:var(--mute);cursor:pointer;display:flex;align-items:center;justify-content:center}
.pwtoggle:hover{color:var(--ink)}
.stepslist{padding-left:20px;color:#2a2d32}.stepslist li{margin:6px 0}

.menu summary,.nav summary{list-style:none;-webkit-appearance:none;appearance:none}
.menu summary::marker,.nav summary::marker{content:""}
.menu summary::after,.menu summary::before{content:none!important}

/* ===================================================================
   canads Template v1: clean,kompakt,datengetrieben. EIN Stil fuer Partner- und Admin-Bereich.
   Keine Farben ausser: Schwarz/Grau,Gruen/Rot nur fuer Trend und Status.
   =================================================================== */
.app{--accent:#111;--accent-soft:#f1f2f4;--line:#e6e8eb;--mute:#6b7280;--soft:#f7f8f9;--ok:#166534;--err:#b42318;--r:10px;font-size:14px}
.app a:hover{color:#111}
.app .side{width:204px;padding:16px 10px;border-right:1px solid var(--line)}.app{grid-template-columns:204px 1fr}
.app .side a.i{padding:7px 10px;font-size:13.5px;border-radius:8px;margin:1px 0}
.app .side a.i.on{background:#eef0f2;color:#111;font-weight:600}
.app .side .sep{margin:12px 6px}
.app .main{padding:18px 26px 56px;max-width:1380px}
.app .main h1{font-size:19px;letter-spacing:-.01em;margin:0 0 12px}
.app .main h2.h3{font-size:14px;margin:0 0 10px}
.app .sub{font-size:13px;margin:0 0 12px}
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 14px}
.pagehead h1{margin:0 0 8px!important}.pagehead .tabs{border:0;margin:0}
.app .tabs{margin:0 0 14px;gap:2px}.app .tabs a{padding:8px 12px;font-size:13.5px;color:var(--mute)}.app .tabs a.on{color:#111;border-color:#111;font-weight:600}
.badge-inline{background:#111!important;min-width:18px;line-height:18px;font-size:11px}
.app .card{padding:14px 16px;border-radius:var(--r);border-color:var(--line)}
.app .card.empty{padding:28px 16px}
.app .kpis{gap:10px;margin:0 0 14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.app .kpi{padding:10px 14px;border-radius:var(--r);border-color:var(--line)}
.app .kpi .l{font-size:11.5px;color:var(--mute)}.app .kpi .v{font-size:20px;font-weight:650;margin-top:1px}.app .kpi .d{font-size:11.5px}
.app .kpis.k4 .v{font-size:22px}
.app .btn{height:32px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:600;background:#111;border-color:#111}
.app .btn.sm{height:28px;padding:0 10px;font-size:12.5px}
.app .btn.ghost{background:#fff;color:#111;border-color:#d8dbe0}.app .btn.ghost:hover{background:#f7f8f9}
.app input[type=text],.app input[type=email],.app input[type=password],.app input[type=url],.app input[type=number],.app input[type=date],.app input[type=search],.app select,.app textarea{height:32px;border-radius:8px;font-size:13px;padding:0 10px;border-color:#d8dbe0}
.app textarea{height:80px;padding:8px 10px}
.app input:focus,.app select:focus,.app textarea:focus{border-color:#111;box-shadow:0 0 0 2px #e5e7eb}
.app label{font-size:12px;margin:12px 0 4px}
.app .bar{gap:8px;margin:0 0 12px}.app .bar select{height:32px}
.grow{flex:1}
.seg2{display:inline-flex;border:1px solid #d8dbe0;border-radius:8px;overflow:hidden;background:#f1f2f4}
.seg2 a{padding:5px 12px;font-size:12.5px;text-decoration:none;color:var(--mute);font-weight:600}.seg2 a.on{background:#fff;color:#111;box-shadow:0 0 0 1px #d8dbe0 inset}
/* Tabellen */
.app table{font-size:13px}
.app th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--mute);padding:8px 10px;white-space:nowrap;border-bottom:1px solid var(--line);background:transparent}
.app td{padding:9px 10px;border-bottom:1px solid #eef0f2;vertical-align:middle}
.app tbody tr:hover td{background:#fafbfb}
.app tfoot td,.app tfoot th{border-top:1px solid #d8dbe0;border-bottom:0;font-weight:600}
table.dt td.num,table.dt th.num,.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dt .pn{font-weight:650;color:#111;text-decoration:none}.dt .pn:hover{text-decoration:underline}
.nw{white-space:nowrap}.sm{font-size:12px}.trunc{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sortlink{color:inherit;text-decoration:none}.sortlink:hover{color:#111}
.tr{font-size:12px;font-weight:600;white-space:nowrap}.tr-up{color:#15803d}.tr-dn{color:#b42318}.tr-0{color:#9ca3af;font-weight:500}
tr.rowlink{cursor:pointer}
/* Chips und Status: neutral grau,nur ok/bad leicht getoent */
.pill,.chip{display:inline-block;padding:1px 7px;border-radius:6px;background:#f1f2f4;color:#374151;font-size:11.5px;font-weight:600;line-height:18px;white-space:nowrap}
.chip{font-weight:500;background:#f3f4f6;color:#4b5563}
.pill.ok{background:#e6f4ea;color:#166534}.pill.bad{background:#fdecea;color:#b42318}.pill.warn,.pill.info{background:#f1f2f4;color:#374151}
/* Chart-Karte */
.chartcard{margin:0 0 12px;padding:10px 14px}
.chartcard .chead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:12.5px}
.chartcard canvas{max-height:170px}
.legend2{display:flex;gap:18px;font-size:12.5px;color:var(--mute);margin-top:4px}.legend2 b{color:#111}
.lg{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:middle}.lg-cur{background:#111}.lg-prev{border-top:2px dashed #b9bdc4;height:0;width:14px}
.app .chartbox .tip{background:#111;border-radius:6px}
/* weitere Bausteine neutralisieren */
.app .prog .ico,.app .ico{background:#f1f2f4;color:#374151;border-radius:8px;width:36px;height:36px}
.app .prog{padding:12px 14px}.app .prog:hover{border-color:#111}
.app .flow li{border-radius:var(--r);padding:10px 12px;border-color:var(--line)}.app .flow b{font-size:18px}.app .flow li.hl{box-shadow:none;border-color:#111;background:#fafafa}
.app .segopt span{min-height:36px;border-radius:8px;font-size:13px}
.app .step .n{background:#111}
.app .notes li.unread{background:#f7f8f9;border-color:var(--line)}
.app .badge-n{background:#111}
.app .err{border-radius:8px}.app .okmsg{border-radius:8px}
.app fieldset.step{padding:12px 0 4px}
.crumb{margin:0 0 6px;font-size:13px}.crumb a{color:var(--mute);text-decoration:none}.crumb a:hover{color:#111}
.app .defs{gap:4px 14px;font-size:13px;margin:0}
.app .tablewrap{border:1px solid var(--line);border-radius:var(--r);background:#fff}
.app .tablewrap table{margin:0}.app .tablewrap tr:last-child td{border-bottom:0}
.app .card .tablewrap{border:0;border-radius:0}
.app .hint{font-size:12px}
@media(max-width:860px){.app{grid-template-columns:1fr}.app .main{padding:14px 14px 48px}.pagehead{align-items:flex-start}.grow{display:none}.app table.dt{min-width:860px}.app .tablewrap{overflow-x:auto}}

/* Template v1: Desktop-Dichte (Touch-Mindestgroessen nur auf kleinen Bildschirmen) */
.app .bar select,.app .bar input,.app .btn.sm,.app .btn{min-height:0}
.app .tablewrap td a{min-width:0;justify-content:flex-start}
.app table{line-height:1.35}.app td .chip,.app td .pill{line-height:16px}.app .mute.sm{line-height:1.3}
.app td{padding:7px 10px}
.chartcard select{width:auto;min-width:130px}
.app table.dt td .trunc,.trunc{max-width:200px}
@media(max-width:860px){.app .bar select,.app .bar input,.app .btn.sm,.app .btn{min-height:44px}.app .tablewrap td a{min-width:44px}.app .tablewrap td .pn{min-width:0}}

.dt td br{display:none}.dt td .sm{display:block}.dt td{padding:6px 10px}
.dt .pn{margin-right:2px}

.tr-0{color:#6b7280!important}.seg2 a{color:#4b5563}
@media(max-width:860px){.seg2 a{display:inline-flex;align-items:center;min-height:44px}.sortlink{display:inline-block;padding:14px 0;min-width:44px}}

.tablewrap:focus-visible{outline:2px solid #111;outline-offset:-2px}

.rev td:nth-child(3){min-width:150px}.rev td:nth-child(4){min-width:260px}.rev td:nth-child(5){min-width:230px}

/* Markenlogos und Beitragsbilder */
.blogo{display:block;height:auto;max-width:100%}
.plogo{display:flex;justify-content:center;margin:0 0 18px}
.pfeat{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:0 0 4px}
.pthumb{width:72px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #e6e8eb;flex:none}
.app .prog .blogo{height:22px;width:auto}
.app .bar input[type=date],.app .bar .inl input{width:auto}
.app .bar{flex-wrap:wrap}

.addform summary{cursor:pointer;min-height:0;padding:2px 0}.addform .grid2{grid-template-columns:repeat(4,1fr);gap:0 14px}
@media(max-width:860px){.addform .grid2{grid-template-columns:1fr}}

body:not(:has(.app)) .btn.blue:not(.ghost){background:var(--accent);border-color:var(--accent);color:#fff}
.nav nav a.btn.blue:hover{color:#fff;opacity:.92}

/* Hauptmenue fetter,Footer geordnet und responsiv */
.nav nav a:not(.btn),.menu summary{font-weight:600}
.nav nav a.btn{font-weight:700}
footer .wrap{display:block}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px 40px;padding-bottom:28px}
.fgrid>div{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.fgrid b{color:var(--ink);margin-bottom:6px}
.fgrid a{min-height:32px;display:inline-flex;align-items:center;text-decoration:none;color:var(--mute)}.fgrid a:hover{color:var(--ink)}
.fbrand p{margin:10px 0 0;max-width:260px;color:var(--mute);font-size:14px;line-height:1.5}
.fbar{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;border-top:1px solid #eaeaea;padding-top:18px;font-size:13px}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}
@media(max-width:520px){.fgrid{grid-template-columns:1fr 1fr;gap:24px 16px}.fgrid a{min-height:44px}.fbar{flex-direction:column}}

/* Mobile: breite Tabellen scrollen im eigenen Rahmen, kleine Tabellen in Karten bleiben schmal */
.grid2>*,.split>*,.progs>*{min-width:0}
@media(max-width:860px){
.app table.dt{min-width:520px}
.app .main>.tablewrap table.dt{min-width:860px}
.app .tablewrap{max-width:100%;overflow-x:auto}
.dt td a.pn{display:inline-block;padding:12px 6px;min-width:44px}
.addform summary{min-height:44px;display:flex;align-items:center}
}

@media(max-width:860px){.app .tablewrap td a.pn{min-width:44px;justify-content:flex-start}}

.fgrid a{padding:0}

/* Hinweisbox mit Aktion, Tickets, UTM-Generator */
.alert{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;background:#fff4f2;border:1px solid #ffd9d3;border-radius:10px;padding:12px 16px;margin:0 0 14px}
.alert .atext{display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:#7a271a;min-width:240px;flex:1}.alert .atext b{color:var(--err)}
.alert .btn{flex:none;white-space:nowrap}
.thread{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}
.msg{border:1px solid #e6e8eb;border-radius:10px;padding:12px 14px;max-width:92%}
.msg.usr{background:#fff}.msg.adm{background:#f6f7f8;align-self:flex-end;border-color:#d8dbe0}
.msg .who{font-size:13px;margin-bottom:4px}.msg .body{white-space:pre-line;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.tkwrap{padding:32px 24px 72px;margin:0 auto}
.utmbox textarea{height:auto;min-height:70px;padding:10px;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical;background:#fafafa}
.utmmsg{min-height:20px;margin:6px 0 10px;font-size:13px;color:var(--mute)}.utmmsg.warn{color:var(--err);font-weight:600}
.utmhist{display:flex;flex-direction:column;gap:8px}
.hrow{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e6e8eb;border-radius:10px;padding:10px 12px;flex-wrap:wrap}
.hrow .ht{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.hrow code{font-size:12px;overflow-wrap:anywhere;background:none;padding:0;color:var(--mute)}
.hrow .ha{display:flex;gap:6px;flex-wrap:wrap}
button.linklike{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
.nav nav a.btn.ghost,.nav nav a.btn.ghost:hover{color:var(--ink)}
.app .alert .btn{height:32px}
@media(max-width:860px){.msg{max-width:100%}.hrow .ha .btn{min-height:44px}}

.card.empty p{margin:0 0 6px}.card.empty .btn{margin-top:10px}

/* Icon-Buttons (Werbemittel, Projekte) */
.ib{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;cursor:pointer;padding:0}
.ib:hover{background:#f3f4f6}.ib.danger:hover{color:#b91c1c;border-color:#fca5a5}.ib.ok{color:#047857;border-color:#6ee7b7}
.ib svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rowacts{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.ibtxt{font-size:10px;font-weight:700;margin-left:2px}
td.num,th.num{text-align:right}
.inl{display:flex;gap:6px;align-items:center}.inl input{max-width:220px}
.thumb{max-width:96px;max-height:60px;border-radius:6px;display:block}
.tag{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;background:#f1f2f4;color:#374151}
