:root{--bg:#f4f6f8;--surface:#fff;--surface2:#f8fafb;--text:#17202a;--muted:#697586;--line:#e3e8ee;--strong:#111820;--sidebar:#111820;--sidebar-text:#d8dee6;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.05);--radius:12px}html[data-theme=dark]{--bg:#0e1217;--surface:#151b22;--surface2:#1b222b;--text:#eef2f6;--muted:#9aa6b2;--line:#2a333e;--strong:#fff;--sidebar:#090d11;--sidebar-text:#d8dee6;--shadow:none}@media(prefers-color-scheme:dark){html[data-theme=system]{--bg:#0e1217;--surface:#151b22;--surface2:#1b222b;--text:#eef2f6;--muted:#9aa6b2;--line:#2a333e;--strong:#fff;--sidebar:#090d11;--sidebar-text:#d8dee6;--shadow:none}}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;padding:24px 16px;z-index:20}.brand,.auth-brand{display:flex;align-items:center;gap:12px}.brand{padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:38px;height:38px;border-radius:9px;background:#fff;color:#111820;display:grid;place-items:center;font-weight:800;font-size:16px}.brand strong,.auth-brand strong{display:block;font-size:16px}.brand span,.auth-brand span{display:block;font-size:11px;color:#7f8a98;margin-top:2px}.side-nav{display:flex;flex-direction:column;gap:3px;padding-top:18px;flex:1}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#7f8a98;padding:16px 12px 6px}.side-nav a,.sidebar-bottom a,.theme-toggle{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:8px;color:#abb5c1;font-weight:500;border:0;background:transparent;width:100%;font:inherit;cursor:pointer;text-align:left}.side-nav a:hover,.side-nav a.active,.sidebar-bottom a:hover,.theme-toggle:hover{background:rgba(255,255,255,.07);color:#fff}.side-nav a.active{box-shadow:inset 2px 0 #fff}.side-nav a span{width:18px;text-align:center}.sidebar-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.workspace{margin-left:250px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:92px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line)}.topbar h1{font-size:22px;letter-spacing:-.45px;margin:3px 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;color:var(--muted)}.user-chip{display:flex;align-items:center;gap:10px;padding:7px 10px 7px 7px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}.avatar{width:34px;height:34px;border-radius:8px;background:var(--strong);color:var(--surface);display:grid;place-items:center;font-weight:700}.user-chip strong,.user-chip span{display:block}.user-chip span{font-size:11px;color:var(--muted)}.content{width:100%;max-width:1440px;margin:0 auto;padding:32px;flex:1}.content>h1{display:none}.app-footer{padding:18px 32px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;display:flex;justify-content:space-between}.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.row>label{flex:1;min-width:170px}form{display:grid;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:22px;box-shadow:var(--shadow)}label{display:grid;gap:7px;font-size:12px;font-weight:650;color:var(--muted)}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);outline:none}button{padding:10px 15px;border:1px solid var(--strong);border-radius:8px;background:var(--strong);color:var(--surface);font-weight:650;cursor:pointer}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line)}th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--surface2)}tr:last-child td{border-bottom:0}td form{display:inline;padding:0;margin:0;border:0;box-shadow:none;background:none}.notice{padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);margin-bottom:18px}.notice-ok{border-left:3px solid #3d8b59}.notice-error{border-left:3px solid #a94747}.status-ok,.status-warn,.status-error{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}.status-ok{background:#eaf6ee;color:#24613a}.status-warn{background:#fff5dd;color:#7b5813}.status-error{background:#fbecec;color:#8c2f2f}.dashboard-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.dashboard-intro h2{font-size:24px;margin:5px 0}.dashboard-intro p{color:var(--muted);margin:0}.primary-link{background:var(--strong);color:var(--surface);padding:10px 14px;border-radius:8px;font-weight:700}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi-card,.panel{padding:20px}.kpi-card span,.kpi-card small{display:block;color:var(--muted)}.kpi-card strong{display:block;font-size:30px;margin:12px 0 5px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-head h2{margin:4px 0 0;font-size:16px}.panel-head a{font-size:12px;font-weight:700;color:var(--muted)}.panel table{border:0;border-radius:0}.health-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.health-summary>div{display:flex;gap:10px;padding:12px;background:var(--surface2);border-radius:9px}.health-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;background:#77818c;flex:none}.health-dot.ok{background:#3d8b59}.health-dot.warn{background:#c7922d}.health-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.voucher-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:18px;margin-bottom:18px}.clean-form{padding:0;border:0;box-shadow:none;margin:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-hint{padding:11px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px;line-height:1.5}.selected-tenant{padding:13px;background:var(--surface2);border:1px solid var(--line);border-radius:8px}.selected-tenant span,.selected-tenant strong{display:block}.selected-tenant span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.process-list{display:grid;gap:0}.process-list>div{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.process-list>div:last-child{border:0}.process-list b{font-size:11px;color:var(--muted);width:24px}.process-list span,.process-list strong,.process-list small{display:block}.process-list small{color:var(--muted);font-size:11px;margin-top:3px;line-height:1.4}.result-panel{margin-top:18px}.result-panel code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;background:var(--surface2);padding:4px 7px;border-radius:5px}.empty-state{padding:35px;text-align:center;color:var(--muted);background:var(--surface2);border-radius:9px}.mobile-menu{display:none}.auth-main{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}.auth-brand,.auth-card{width:100%;max-width:420px}.auth-brand{margin-bottom:18px}.auth-brand .brand-mark{background:var(--strong);color:var(--surface)}.auth-card{padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.auth-card h1{font-size:26px;margin:7px 0 24px}.auth-card form{padding:0;border:0;box-shadow:none;margin:0}.auth-footer{font-size:11px;color:var(--muted);margin-top:20px}@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.voucher-workspace{grid-template-columns:1fr}}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:translateX(0)}.workspace{margin-left:0}.mobile-menu{display:block;margin-right:14px}.topbar{padding:0 18px;height:82px;justify-content:flex-start}.user-chip{margin-left:auto}.content{padding:20px}.row,.form-grid{display:grid;grid-template-columns:1fr}table{display:block;overflow-x:auto;white-space:nowrap}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-intro{display:block}.primary-link{display:inline-block;margin-top:16px}.health-summary{grid-template-columns:1fr}.user-chip div:last-child{display:none}.content{padding:14px}}

/* CSP Phase 2C-1: statische Inline-Styles */
.mt-10{margin-top:10px}
.mt-12{margin-top:12px}
.mt-14{margin-top:14px}
.mt-16{margin-top:16px}
.mt-18{margin-top:18px}
.mb-18{margin-bottom:18px}
.flex-row{display:flex}
.flex-wrap{flex-wrap:wrap}
.align-center{align-items:center}
.gap-8{gap:8px}
.gap-10{gap:10px}
.width-auto{width:auto}
.no-margin{margin:0}
.portal-url-input{flex:1;min-width:280px}
.portal-logo-preview{max-width:180px;max-height:80px;display:block;margin-bottom:8px}
.inline-check{display:flex;align-items:center}
.portal-preview-frame{width:100%;height:850px;border:1px solid var(--line);border-radius:16px;background:#fff}
.pre-wrap{white-space:pre-wrap;overflow:auto}
.kpi-card .kpi-value-compact{font-size:22px}
.inline-form{display:inline}
.bulk-print-row{margin-bottom:14px;align-items:center}
.selection-column{width:42px}

.voucher-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.voucher-actions>form.action-form{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-width:0}
.voucher-action-control,.voucher-actions>form.action-form>button{appearance:none;box-sizing:border-box;width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;margin:0!important;padding:0 18px!important;border:1px solid var(--strong)!important;border-radius:8px!important;background:var(--strong)!important;color:var(--surface)!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important;font:inherit!important;font-weight:650!important}
.voucher-action-control{text-decoration:none!important}
.voucher-actions>form.action-form>button{cursor:pointer}
@media(max-width:640px){.voucher-actions{grid-template-columns:1fr}}
