:root,:root[data-theme="dark"],body.dark{--bg:#0b1220;--panel:#121b2b;--panel2:#172338;--text:#edf2ff;--muted:#9ca9bf;--line:#2a3954;--border:var(--line);--card:var(--panel2);--accent:#15aeea;--bad:#e5484d;--ok:#23c483;--input:#050817;--focus:rgba(21,174,234,.28)}
:root[data-theme="light"],body.light{--bg:#f3f6fb;--panel:#ffffff;--panel2:#f1f5fb;--text:#102033;--muted:#607086;--line:#cbd6e4;--border:var(--line);--card:var(--panel2);--accent:#077cc4;--input:#ffffff;--focus:rgba(7,124,196,.22)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{width:310px;background:var(--panel);border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh;overflow:auto}.content{flex:1;padding:24px;overflow:auto}.new-btn,.primary{background:var(--accent);color:white;border:0;border-radius:12px;font-weight:700;text-align:center;padding:13px 18px;display:inline-block;text-decoration:none;cursor:pointer}.secondary{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer}.danger{background:#b4232a;color:#fff;border:0;border-radius:10px;padding:10px 14px}.sep{height:1px;background:var(--line);margin:18px 0}.search input,.sidebar input{width:100%}.order-card{display:block;padding:13px;border:1px solid var(--line);border-radius:12px;margin:10px 0;text-decoration:none;color:var(--text);background:rgba(255,255,255,.02)}.order-card.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(21,174,234,.2)}.order-card span,.order-card small{display:block}.muted{color:var(--muted)}.side-link{color:var(--text);text-decoration:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:16px}.big-form{max-width:1220px}.topline{display:flex;justify-content:space-between;gap:20px;align-items:start}h1{margin:0 0 8px;font-size:28px}h2{font-size:18px;margin:0 0 14px}.panel{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:18px 0}.checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}label{font-size:13px;color:var(--text);font-weight:650}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--text);padding:11px;font-size:15px}textarea{min-height:90px}.req{color:#ffcc00}.doc-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.pill{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 13px;text-decoration:none;font-weight:700}.pill.blue{background:var(--accent);color:white}.statusbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.status{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:9px 12px;cursor:pointer}.status.on{background:var(--accent);color:white;border-color:var(--accent)}.flash{padding:14px 18px;border-radius:12px;margin:0 0 16px;font-weight:700}.flash.success{background:#053d2b;color:#9ff0cb}.flash.error{background:#520b0f;color:#ffd0d0}.warnbox{background:rgba(255,196,0,.08);border:1px solid rgba(255,196,0,.35)}.iban{float:right}.iban.ok,.oktext{color:var(--ok)}.iban.bad{color:#ff7070}.item-row{display:grid;grid-template-columns:1.5fr .35fr .45fr .35fr 38px;gap:8px;margin:8px 0}.actions-row{display:flex;flex-direction:column;gap:8px;justify-content:end}code{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:4px 6px}.storno{max-width:1220px}.mobile-body{padding:14px}.mobile-card{max-width:520px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}.mobile-status{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-mobile{margin-top:20px}@media(max-width:900px){.app-shell{display:block}.sidebar{position:relative;width:auto;height:auto}.grid2,.grid3,.checkgrid{grid-template-columns:1fr}.item-row{grid-template-columns:1fr}.topline{display:block}}
.side-link.big{display:block;padding:10px 12px;border-radius:10px;margin:6px 0;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.kanban{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:14px;align-items:start;margin-top:18px}.kanban-col{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;min-height:260px}.kanban-col h2{display:flex;justify-content:space-between;align-items:center}.kanban-col h2 span{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:13px}.invoice-col{border-color:var(--accent);box-shadow:0 0 0 2px rgba(21,174,234,.12)}.pickup-col{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.12)}.dash-card{display:block;text-decoration:none;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0}.dash-card span,.dash-card small,.dash-card em{display:block;margin-top:4px}.dash-card em{color:var(--ok);font-style:normal;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:var(--panel2);font-weight:700}.small{padding:7px 10px;font-size:13px}.inline-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.inline-actions form{display:inline}.datefilter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.compact{align-items:end}.needed{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel2);font-weight:700}.needed.ok{border-color:rgba(35,196,131,.65);color:var(--ok)}.needed.missing{border-color:rgba(229,72,77,.65);color:#ff9c9f}.compact-checks{grid-template-columns:repeat(4,1fr)}.badtext{color:#ff9c9f}.sms-box{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.invoice-workflow{border:1px solid rgba(21,174,234,.35);border-radius:14px;padding:16px;background:rgba(21,174,234,.06)}
@media(max-width:1200px){.kanban{grid-template-columns:repeat(2,1fr)}.compact-checks{grid-template-columns:1fr 1fr}}@media(max-width:700px){.kanban{grid-template-columns:1fr}.datefilter{display:block}.datefilter>*{margin:8px 0}.compact-checks{grid-template-columns:1fr}}
.version-badge{background:#132f46;border:1px solid var(--accent);color:#e8f8ff;border-radius:10px;padding:10px 12px;font-weight:800;margin-bottom:12px;text-align:center;font-size:12px;letter-spacing:.05em}.workflow-hint{background:rgba(21,174,234,.10);border:1px solid rgba(21,174,234,.45);border-radius:14px;padding:14px 16px;margin-bottom:16px}.invoice-menu{border-color:var(--accent)!important;background:rgba(21,174,234,.16)!important;display:flex!important;justify-content:space-between;align-items:center}.invoice-menu b{background:#ffcf33;color:#101010;border-radius:999px;padding:2px 8px}.invoice-alert{border-color:#ffcf33;box-shadow:0 0 0 2px rgba(255,207,51,.15);background:linear-gradient(180deg,rgba(255,207,51,.08),var(--panel))}.huge-action{font-size:16px;padding:15px 20px}.quick-row{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.dash-card.hot{border-color:#ffcf33;background:rgba(255,207,51,.09)}.invoice-hot{background:#ffcf33!important;color:#0c0c0c!important;border-color:#ffcf33!important}.abmeldung-hot{background:#e5484d!important;color:white!important;border-color:#e5484d!important}@media(max-width:900px){.quick-row{grid-template-columns:1fr}.version-badge{text-align:left}}
.email-send-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:260px}.email-small{width:220px;max-width:100%;margin:0;padding:8px 10px;font-size:13px}.inline-mail{margin-top:10px}.invoice-pro-note{border:1px solid var(--line);background:var(--panel2);padding:12px;border-radius:12px;margin-top:10px}
.bundle-card{border:1px solid var(--line);background:var(--panel2);border-radius:16px;padding:16px;margin:14px 0}.bundle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.bundle-head h3{margin:0 0 6px;font-size:18px}.bundle-head p{margin:0 0 8px}.bundle-card table{background:var(--panel)}.bundle-card input[type=checkbox]{width:22px;height:22px;margin:0}.bundle-card hr{border:0;border-top:1px solid var(--line);margin:6px 0}.datefilter input[name=q]{min-width:300px}@media(max-width:900px){.bundle-head{display:block}.bundle-head .primary{margin-top:12px}.datefilter input[name=q]{min-width:0}}

/* Scan-/Dokumentenworkflow */
.scan-panel { border: 1px solid rgba(75, 180, 255, .35); }
.scan-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:12px 0; }
.file-drop { display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border:1px dashed var(--line); border-radius:12px; background:rgba(255,255,255,.04); cursor:pointer; }
.camera-wrap { display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap; margin-top:10px; }
.camera-wrap video, .camera-wrap img { max-width:360px; width:100%; border-radius:14px; border:1px solid var(--line); background:#000; }
.scan-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-top:10px; }
.scan-card { padding:12px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.04); display:flex; flex-direction:column; gap:6px; }
.scan-card span, .scan-card small { color:var(--muted); }
.checkline { display:flex; align-items:center; gap:8px; padding-top:26px; }
button.small { padding:6px 9px; }

/* Dokumenten-Assistent / Alternative ohne OCR */
.important-box{border:1px solid rgba(56,189,248,.45);background:rgba(14,165,233,.10);border-radius:14px;padding:14px;margin:12px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.buttonlike{text-decoration:none;display:inline-block;text-align:center}
.doc-assistant-layout{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(360px,.85fr);gap:18px;align-items:start}
.doc-viewer-panel,.doc-data-panel{min-height:680px}
.scan-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.scan-tab{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700}
.scan-tab.active{border-color:#0ea5e9;box-shadow:0 0 0 2px rgba(14,165,233,.18)}
.doc-frame{width:100%;height:70vh;border:1px solid var(--border);border-radius:14px;background:#fff}
.doc-image-preview{width:100%;max-height:70vh;object-fit:contain;border:1px solid var(--border);border-radius:14px;background:#fff}
.sticky-save{position:sticky;bottom:0;background:var(--panel);padding:12px 0;margin-top:14px;border-top:1px solid var(--border)}
.compact-camera video{max-height:260px}
@media(max-width:1100px){.doc-assistant-layout{grid-template-columns:1fr}.doc-viewer-panel,.doc-data-panel{min-height:auto}.doc-frame,.doc-image-preview{height:55vh;max-height:55vh}}
/* WhatsApp + Rechnungsstatus Optimierung */
.pill.whatsapp{background:#20c767!important;color:#04140a!important;border-color:#20c767!important}
.status-badge{display:inline-block;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;white-space:nowrap}
.status-badge.green{background:#18a957;color:#fff;box-shadow:0 0 14px rgba(24,169,87,.35)}
.status-badge.red{background:#d82929;color:#fff;box-shadow:0 0 14px rgba(216,41,41,.35)}
.status-badge.yellow{background:#ffcf33;color:#151515;box-shadow:0 0 14px rgba(255,207,51,.35)}
.invoice-row-paid{background:rgba(24,169,87,.14)!important;border-left:6px solid #18a957}
.invoice-row-unpaid{background:rgba(216,41,41,.14)!important;border-left:6px solid #d82929}
.invoice-row-yellow{background:rgba(255,207,51,.15)!important;border-left:6px solid #ffcf33}
.status-yellow-block{border-color:#ffcf33;box-shadow:0 0 0 2px rgba(255,207,51,.12)}
.paid-btn{background:#18a957!important}

.op-hidden{display:none !important;}
.person-hidden{display:none !important;}
.op-guidance{border-left:5px solid #f59e0b;}
.field-needed{outline:2px solid #f59e0b; border-radius:12px; padding:6px; background:rgba(245,158,11,.08);}
.logo-settings{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start;margin:12px 0 18px;}
.logo-preview-box{border:1px dashed var(--line);border-radius:14px;padding:14px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--panel);}
.logo-preview{max-width:200px;max-height:100px;object-fit:contain;background:#fff;border-radius:8px;padding:8px;}
.logo-placeholder{color:var(--muted);font-weight:700;text-align:center;}
.invoice-branding-panel input[type=file]{padding:12px;border:1px dashed var(--line);border-radius:12px;background:var(--panel);}
@media (max-width: 800px){.logo-settings{grid-template-columns:1fr}.logo-preview{max-width:100%;}}

/* Login / Rechteverwaltung */
.topbar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:20}
.top-actions{display:flex;gap:12px;align-items:center}.theme-toggle{padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer}
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{width:min(440px,92vw)}.login-box h1{font-size:34px;margin-bottom:4px}.login-box .card{display:flex;flex-direction:column;gap:10px;padding:22px}.login-box input{font-size:18px;padding:12px}.primary{background:#2563eb;color:#fff;border:0;border-radius:10px;padding:11px 14px;font-weight:700;cursor:pointer}.danger{background:#991b1b;color:#fff;border:0;border-radius:8px;padding:8px 10px}.badge{display:inline-block;border-radius:999px;background:var(--muted-bg,#334155);padding:3px 8px;font-size:12px}.badge.green{background:#166534;color:#fff}.badge.red{background:#991b1b;color:#fff}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px;margin:12px 0}.small-grid{grid-template-columns:repeat(2,minmax(140px,1fr));font-size:13px}.check{display:flex;gap:6px;align-items:center}.locked-row{opacity:.65}.inline-form{margin:0}.table-wrap{overflow:auto}.small{font-size:12px}.grid2.mini{grid-template-columns:1fr 1fr;gap:10px}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px}.kpi{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--panel2)}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi b{display:block;font-size:22px;margin:5px 0}.kpi small{color:var(--muted)}.kpi.important{box-shadow:0 0 0 2px rgba(245,158,11,.25)}.stats-layout{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.pie{width:260px;height:260px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.pie span{background:var(--panel);border-radius:50%;width:118px;height:118px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:28px;font-weight:800}.pie small{font-size:12px;color:var(--muted)}.legend-dot{display:inline-block;width:18px;height:18px;border-radius:50%;vertical-align:middle}.grow{flex:1;min-width:340px}

.office-rejection-panel { border: 1px solid rgba(239,68,68,.35); }
.office-reject-alert { border: 2px solid #ef4444; background: rgba(239,68,68,.08); }
.reject-tag { display:inline-block; margin:4px 6px 4px 0; padding:5px 9px; border-radius:999px; background:#7f1d1d; color:#fff; font-weight:700; font-size:13px; }
.reject-grid label { border-color: rgba(239,68,68,.35); }
.status.on, .status:hover { filter: brightness(1.08); }
.status { white-space: nowrap; }
.resolve-form{margin-top:14px;padding:14px;border:1px solid rgba(30,200,120,.35);border-radius:14px;background:rgba(30,200,120,.08)}
.resolve-btn{font-weight:800;font-size:15px;box-shadow:0 0 0 3px rgba(30,200,120,.12)}
.office-reject-alert .oktext{background:rgba(30,200,120,.12);border:1px solid rgba(30,200,120,.35);border-radius:10px;padding:8px 10px;display:inline-block}
.scan-start{margin-top:8px;background:#0ea5e9!important;color:white!important}
.ocr-details{margin-top:10px;border:1px solid var(--border);border-radius:10px;padding:8px;background:rgba(255,255,255,.03)}
.ocr-details pre{white-space:pre-wrap;max-height:240px;overflow:auto;font-size:12px}
.extracted-preview{margin-top:10px;border:1px solid rgba(35,196,131,.35);border-radius:12px;padding:10px;background:rgba(35,196,131,.08)}
.extracted-chip{display:inline-block;margin:6px 6px 0 0;padding:6px 9px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:12px;font-weight:800}
.field-autofilled{border-color:var(--ok)!important;box-shadow:0 0 0 2px rgba(35,196,131,.16)}

/* SaaS Lizenz-/Abo-System */
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0 18px}
.plan-card h2{margin-bottom:8px}.plan-card b{display:block;font-size:22px;margin-bottom:8px}.plan-card small{color:var(--muted)}
.billing-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 14px}
.billing-summary div{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:11px}
.billing-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.billing-summary b{font-size:17px}
.subscription-warnings{padding:12px 14px;border-radius:12px;margin:10px 0 14px;font-weight:800}
.grid2 .wide{grid-column:1 / -1}
.tenant-card .flash{margin-top:8px}
@media(max-width:900px){.grid2 .wide{grid-column:auto}.billing-summary{grid-template-columns:1fr}}

/* SaaS Produkt/Verkauf */
.sales-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0}
.dashboard-grid{align-items:start}
.mini-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}
.mini-row span{color:var(--muted);text-align:right}
.onboarding-cards{display:grid;gap:10px}
.onboarding-card{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:12px}
.onboarding-card span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.onboarding-box{border:1px solid rgba(21,174,234,.35);background:rgba(21,174,234,.06);border-radius:14px;padding:13px;margin:12px 0}
.onboarding-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.onboarding-head span{color:var(--muted)}
.onboarding-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-bottom:10px}
.onboarding-list span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:var(--panel2);color:var(--muted);font-weight:800;font-size:12px}
.onboarding-list span.done{border-color:rgba(35,196,131,.6);background:rgba(35,196,131,.12);color:var(--ok)}
.support-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(245,158,11,.45);background:rgba(245,158,11,.10);border-radius:14px;padding:12px 14px;margin-bottom:16px}
.support-banner span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
@media(max-width:800px){.mini-row,.support-banner,.onboarding-head{display:block}.mini-row span{display:block;text-align:left;margin-top:4px}}

.scan-cta, .scan-start, .huge-scan-button { background:#16a34a !important; color:white !important; border-color:#16a34a !important; font-weight:800; }
.huge-scan-button { display:inline-block; padding:16px 22px; font-size:18px; margin-top:10px; }
.scan-panel .important-box { border:2px solid #16a34a; background:rgba(22,163,74,.12); }

/* Auto-Ausweis-Scanner */
.auto-id-panel{border:1px solid var(--accent, #2f80ed);}
.section-head{display:flex; gap:18px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;}
.scan-step-pills{display:flex; gap:8px; flex-wrap:wrap;}
.step-pill{padding:7px 10px; border-radius:999px; background:rgba(120,120,120,.16); font-weight:700; font-size:.9rem;}
.step-pill.active{background:#ffe08a; color:#1a1a1a;}
.step-pill.done{background:#2ecc71; color:#06210f;}
.auto-scan-grid{display:grid; grid-template-columns:minmax(320px, 1.2fr) minmax(260px,.8fr); gap:18px; align-items:start;}
.auto-camera-box{position:relative; min-height:300px; background:#05070b; border-radius:18px; overflow:hidden; border:1px solid rgba(120,150,190,.35);}
#autoIdVideo{width:100%; min-height:300px; max-height:520px; object-fit:cover; display:block; background:#000;}
.id-guide-box{position:absolute; left:12%; right:12%; top:25%; bottom:25%; border:3px solid #2ecc71; border-radius:18px; box-shadow:0 0 0 9999px rgba(0,0,0,.18); display:flex; align-items:flex-end; justify-content:center; pointer-events:none;}
.id-guide-box span{background:rgba(0,0,0,.65); color:#fff; padding:6px 10px; border-radius:8px; margin-bottom:8px; font-weight:700;}
.auto-scan-status{position:absolute; left:12px; right:12px; bottom:12px; padding:10px 12px; border-radius:12px; background:rgba(20,30,45,.88); color:#fff; font-weight:700;}
.auto-scan-status.good{background:rgba(18,130,70,.92);}
.auto-scan-status.warn{background:rgba(190,135,20,.92);}
.auto-scan-status.bad{background:rgba(180,30,30,.92);}
.auto-scan-controls{display:flex; flex-direction:column; gap:10px;}
.auto-previews{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.auto-previews img{width:100%; min-height:80px; background:#0b1020; border:1px solid rgba(120,150,190,.35); border-radius:12px; object-fit:contain; display:block;}
.small{font-size:.92rem;}
@media (max-width: 900px){.auto-scan-grid{grid-template-columns:1fr}.auto-camera-box{min-height:240px}#autoIdVideo{min-height:240px}}

/* Robuster Auto-Scan */
.auto-camera-box{position:relative; overflow:hidden; border-radius:16px; background:#050813; min-height:360px;}
.auto-camera-box video{width:100%; min-height:360px; object-fit:cover; border-radius:16px; background:#000;}
.id-guide-box{position:absolute; left:8%; top:22%; width:84%; height:50%; border:4px solid #19d37a; border-radius:18px; box-shadow:0 0 0 9999px rgba(0,0,0,.28), 0 0 22px rgba(25,211,122,.35) inset; pointer-events:none; display:flex; align-items:flex-start; justify-content:center;}
.id-guide-box span{background:rgba(0,0,0,.65); color:#fff; padding:6px 12px; border-radius:0 0 10px 10px; font-weight:700;}
.auto-scan-countdown{position:absolute; inset:0; display:none; align-items:center; justify-content:center; font-size:96px; font-weight:900; color:#fff; text-shadow:0 4px 24px #000; background:rgba(0,0,0,.12); pointer-events:none; z-index:3;}
.auto-scan-status.good{background:#0c4b2b; border-color:#20d07a; color:#eafff2;}
.auto-scan-status.warn{background:#4a390b; border-color:#ffd166; color:#fff6d6;}
.auto-scan-status.bad{background:#511313; border-color:#ff6b6b; color:#ffe4e4;}
.mobile-scan-link-box{border:2px dashed var(--border); border-radius:14px; padding:16px; margin-top:14px; background:rgba(56,139,253,.08);}
.mobile-scan-link-box code{display:block; padding:10px; border-radius:10px; background:rgba(0,0,0,.12); overflow:auto; margin-top:8px;}
.mobile-scan-body{max-width:760px; margin:auto; padding:18px;}
.mobile-scan-card{border:1px solid var(--border,#2b4268); border-radius:18px; padding:18px; background:var(--panel,#111c2e);}
.mobile-scan-card .primary,.mobile-scan-card .secondary{width:100%; margin:6px 0;}

/* Ausweiskonformer Rahmen: ID-1 Format 85,60 × 53,98 mm */
.id-guide-box{
  left:9% !important;
  right:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:82% !important;
  height:auto !important;
  aspect-ratio:85.6 / 53.98 !important;
  transform:translateY(-50%) !important;
  border:4px solid #19d37a !important;
  border-radius:18px !important;
}
.id-guide-box::before{content:'';position:absolute;inset:10px;border:1px dashed rgba(255,255,255,.55);border-radius:12px;}
.id-guide-box span{font-size:16px;}
.auto-scan-status{z-index:4;}
.auto-scan-countdown{z-index:5;}
.pro-scan-box{border:1px solid var(--accent); background:rgba(0,180,255,.08); border-radius:14px; padding:14px; margin:14px 0;}
.pro-scan-box .primary,.pro-scan-box .secondary{margin:4px 6px 4px 0;}

/* CamBoard eigener Web-Dokument-Scanner */
.camboard-box{border:2px solid rgba(36,197,107,.45); background:rgba(36,197,107,.08)}
.id-guide-box{width:78%; aspect-ratio:85.6/53.98; max-height:68%; border:4px solid #22c55e; border-radius:14px; box-shadow:0 0 0 9999px rgba(0,0,0,.22), 0 0 18px rgba(34,197,94,.55);}
.id-guide-box span{font-weight:800; background:rgba(0,0,0,.65); padding:6px 10px; border-radius:10px}
.auto-camera-box{min-height:340px;}
.auto-camera-box video{width:100%; height:100%; object-fit:cover; background:#111; border-radius:16px;}
.auto-scan-countdown{font-size:74px; font-weight:900; text-shadow:0 3px 18px rgba(0,0,0,.8)}

/* FINAL FIX: großer ID-Kartenrahmen + sichere Bedienbarkeit */
.auto-camera-box{position:relative !important; min-height:420px !important; background:#05070b !important; overflow:hidden !important; border-radius:18px !important;}
.auto-camera-box video{width:100% !important; height:420px !important; object-fit:cover !important; display:block !important;}
.id-guide-box{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:min(92%, 680px) !important;
  height:auto !important;
  aspect-ratio:85.6 / 53.98 !important;
  transform:translate(-50%,-50%) !important;
  border:5px solid #22c55e !important;
  border-radius:18px !important;
  box-shadow:0 0 0 9999px rgba(0,0,0,.28), 0 0 25px rgba(34,197,94,.65) inset !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.id-guide-box span{position:absolute !important; top:8px !important; left:50% !important; transform:translateX(-50%) !important; background:rgba(0,0,0,.72) !important; color:#fff !important; font-weight:900 !important; padding:7px 12px !important; border-radius:10px !important; white-space:nowrap !important;}
.auto-scan-countdown{position:absolute !important; inset:0 !important; display:none; align-items:center !important; justify-content:center !important; font-size:92px !important; font-weight:1000 !important; color:#fff !important; text-shadow:0 4px 25px #000 !important; z-index:5 !important; pointer-events:none !important;}
.auto-scan-status{position:absolute !important; left:12px !important; right:12px !important; bottom:12px !important; z-index:6 !important; border-radius:12px !important; padding:10px 12px !important; font-weight:800 !important;}
@media (max-width: 700px){.auto-camera-box{min-height:330px !important}.auto-camera-box video{height:330px !important}.id-guide-box{width:94% !important}.auto-scan-countdown{font-size:74px !important}}


/* Mitarbeiter / Rechte – symmetrische Berechtigungsansicht */
.users-page-top{align-items:start}
.users-list{display:grid;grid-template-columns:1fr;gap:16px}
.user-card{padding:18px 20px}
.user-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.user-card-head h3{margin:0 0 4px;font-size:20px}
.permission-matrix{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px 18px;margin:12px 0 18px}
.perm-row{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);min-height:60px}
.perm-row input[type='checkbox']{width:18px;height:18px;margin:0}
.perm-check{display:flex;align-items:center;justify-content:center}
.perm-label{font-weight:700;line-height:1.25}
.user-form-card h3{margin:18px 0 10px}
.user-update-form{display:block}
.user-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.user-card-secondary-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.user-code-input{max-width:240px}
@media(max-width:1100px){.permission-matrix{grid-template-columns:1fr}}

.client-panel{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.06)}
.client-chip{display:inline-block;border:1px solid rgba(245,158,11,.55);background:rgba(245,158,11,.13);border-radius:999px;padding:9px 13px;font-weight:900}
.business-client-form{display:block}
.business-client-card h2{margin-bottom:6px}
.portal-user-form{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.checkline{display:flex;gap:9px;align-items:center}
.checkline input{width:auto;margin:0}

/* Einheitliche Kästchen für Unterlagen und Ablehnung */
.pretty-panel{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:20px;margin-top:18px}
.pretty-check-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:12px;margin-top:12px}
.pretty-check{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:64px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);cursor:pointer;transition:.12s ease}
.pretty-check:hover{border-color:var(--accent);box-shadow:0 0 0 2px rgba(21,174,234,.10)}
.pretty-check .box{display:flex;align-items:center;justify-content:center}
.pretty-check input[type='checkbox']{width:20px;height:20px;margin:0;accent-color:var(--accent)}
.pretty-check span:last-child{font-weight:800;line-height:1.25}
.pretty-check:has(input:checked){border-color:var(--accent);background:rgba(21,174,234,.13)}
.docs-grid{grid-template-columns:repeat(3,minmax(240px,1fr))}
.reject-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}
.validation-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.validation-readonly input{background:var(--panel2);font-weight:700}
.field-hint{display:block;margin-top:6px;font-weight:800;font-size:12px;min-height:16px}
.field-hint.ok{color:var(--ok)}.field-hint.bad{color:#ff7373}
label.region-required{position:relative}
label.region-required::after{content:'Region-Pflichtfeld';display:inline-block;margin-left:8px;border-radius:999px;padding:2px 7px;background:rgba(245,158,11,.18);border:1px solid rgba(245,158,11,.55);color:#ffd38a;font-size:11px;font-weight:900}
input.valid{border-color:var(--ok)!important;box-shadow:0 0 0 2px rgba(35,196,131,.12)}
input.invalid{border-color:#e5484d!important;box-shadow:0 0 0 2px rgba(229,72,77,.14)}
input.warning{border-color:#f59e0b!important;box-shadow:0 0 0 2px rgba(245,158,11,.14)}
.validation-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.validation-badge{display:inline-block;border-radius:999px;padding:7px 11px;font-weight:900;font-size:13px;border:1px solid var(--line);background:var(--panel2)}
.validation-badge.ok{background:rgba(35,196,131,.12);border-color:rgba(35,196,131,.6);color:var(--ok)}
.validation-badge.bad{background:rgba(229,72,77,.12);border-color:rgba(229,72,77,.6);color:#ff9c9f}
.readiness-panel{border-color:#f59e0b;background:rgba(245,158,11,.08)}
.readiness-panel.ready{border-color:rgba(35,196,131,.65);background:rgba(35,196,131,.08)}
.readiness-list{margin:0;padding-left:20px;font-weight:800;line-height:1.55}
.readiness-list li.ok{color:var(--ok)}

/* Rechnung: Endpreis-Kalkulation */
.invoice-calculator{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,.75fr);gap:14px;align-items:stretch;border:1px solid rgba(21,174,234,.35);background:rgba(21,174,234,.07);border-radius:14px;padding:14px;margin:0 0 14px}
.invoice-price-panel{border:2px solid rgba(21,174,234,.55);background:rgba(21,174,234,.08);border-radius:16px;padding:16px}
.invoice-calculator label{font-size:14px}
.invoice-calculator input{font-size:18px;font-weight:900}
.invoice-calc-summary{display:grid;gap:8px;align-content:center}
.invoice-calc-summary span{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:9px 11px;font-weight:800}
.invoice-calc-summary b{white-space:nowrap}
.invoice-edit-order{border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(255,255,255,.025)}
.invoice-edit-actions{margin-top:16px}
@media(max-width:900px){.invoice-calculator{grid-template-columns:1fr}.invoice-calc-summary span{display:block}.invoice-calc-summary b{display:block;margin-top:4px}}
.pickup-panel{border-color:rgba(35,196,131,.5);background:rgba(35,196,131,.08)}
.customer-documents-panel{border-color:rgba(21,174,234,.35);background:rgba(21,174,234,.06)}
.order-upload-panel{border-color:rgba(95,196,141,.38);background:rgba(95,196,141,.08)}
.customer-doc-list{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;margin-top:14px}
.customer-doc-card{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:12px;display:grid;gap:6px}
.customer-doc-card b{font-size:15px}
.customer-doc-card span,.customer-doc-card small{color:var(--muted)}
.wish-plate-box{border:1px solid rgba(21,174,234,.35);border-radius:12px;background:rgba(21,174,234,.08);padding:12px;display:grid;gap:7px;align-content:center}
.wish-plate-box .buttonlike{text-align:center;white-space:normal}
.kanban-col .dash-card + form{margin-top:8px}
@media(max-width:900px){.customer-doc-list{grid-template-columns:1fr}}
button:hover,.primary:hover,.secondary:hover,.pill:hover,.new-btn:hover,.side-link.big:hover{filter:brightness(1.08)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:700px){.topbar{height:auto;gap:8px;align-items:flex-start;flex-direction:column;padding:10px 14px}.top-actions{width:100%;justify-content:space-between}.content{padding:16px}.sidebar{padding:14px}}
@media(max-width:1100px){.pretty-check-grid,.docs-grid,.reject-grid,.validation-grid.two{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.pretty-check-grid,.docs-grid,.reject-grid,.validation-grid.two{grid-template-columns:1fr}}
