button,input,select,textarea,a{touch-action:manipulation}*{box-sizing:border-box;margin:0;padding:0}body{min-width:1080px}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--on-primary: #ffffff;--bg: #f1f5f9;--surface: #ffffff;--surface2: #f8fafc;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--danger: #dc2626;--danger-bg: #fee2e2;--danger-fg: #dc2626;--danger-border: #dc2626;--success: #16a34a;--success-bg: #dcfce7;--success-fg: #16a34a;--success-border: #16a34a;--sidebar: #0f172a;--sidebar-text: #cbd5e1;--sidebar-text-strong: #ffffff;--sidebar-hover: rgba(255, 255, 255, .1);--sidebar-muted: #64748b;--badge-warn-bg: #fef3c7;--badge-warn-fg: #92400e;--badge-ok-bg: #dcfce7;--badge-ok-fg: #166534;--badge-bad-bg: #fee2e2;--badge-bad-fg: #991b1b}body.theme-dark{--primary: #3b82f6;--primary-hover: #60a5fa;--on-primary: #ffffff;--bg: #0f172a;--surface: #1e293b;--surface2: #273549;--text: #f1f5f9;--muted: #94a3b8;--border: #334155;--danger: #dc2626;--danger-bg: #431417;--danger-fg: #fca5a5;--danger-border: #7f1d1d;--success: #16a34a;--success-bg: #0d331f;--success-fg: #6ee7b7;--success-border: #166534;--sidebar: #020617;--sidebar-text: #cbd5e1;--sidebar-text-strong: #ffffff;--sidebar-hover: rgba(255, 255, 255, .12);--sidebar-muted: #94a3b8;--badge-warn-bg: #422006;--badge-warn-fg: #fcd34d;--badge-ok-bg: #0d331f;--badge-ok-fg: #86efac;--badge-bad-bg: #431417;--badge-bad-fg: #fca5a5}body{color-scheme:light}body.theme-dark{color-scheme:dark}:root:has(body.theme-dark){color-scheme:dark}body{font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;transition:background-color .15s ease,color .15s ease}button{font:inherit;cursor:pointer;border:none;border-radius:6px}input,select{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px}input:focus,select:focus{outline:2px solid var(--primary)}input::placeholder{color:var(--muted)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--sidebar);color:var(--sidebar-text);padding:18px 12px;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.sidebar .brand{color:var(--sidebar-text-strong);font-weight:800;font-size:18px;letter-spacing:1px;padding:6px 10px 18px}.sidebar button{background:transparent;color:var(--sidebar-text);text-align:left;padding:10px 12px;font-weight:600;border-radius:8px}.sidebar button.active,.sidebar button:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.sidebar button:has(.menu-badge){display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.menu-badge{background:var(--badge-bad-bg);color:var(--badge-bad-fg);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:800;flex-shrink:0}.sidebar .spacer{flex:1}.sidebar .who{font-size:12px;color:var(--sidebar-muted);padding:10px}.content{flex:1;padding:24px 28px;max-width:1200px}h1{font-size:22px;margin-bottom:16px}h2{font-size:16px;margin:14px 0 10px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.card{overflow-x:auto}.aktionen-zelle{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;width:clamp(200px,20vw,300px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;white-space:nowrap}.aktionen-zelle::-webkit-scrollbar{display:none}.aktionen-zelle>button,.aktionen-zelle>span{flex:0 0 auto}td:has(>.aktionen-zelle){position:relative}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.kpi .label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase}.kpi .value{font-size:22px;font-weight:800;margin-top:4px}.btn{background:var(--primary);color:var(--on-primary);padding:8px 14px;font-weight:600}.credit-cell{display:inline-flex;align-items:center;gap:6px}.credit-input{width:104px;padding:6px 8px;text-align:right;font-weight:700}.btn-credit-plus{background:#16a34a;color:#fff;font-weight:800;padding:7px 12px;border-radius:10px}.btn-credit-minus{background:#dc2626;color:#fff;font-weight:800;padding:7px 12px;border-radius:10px}.credit-cell input:disabled,.credit-cell button:disabled{opacity:.55}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled{background:var(--surface2);color:var(--muted);border:1px solid var(--border);opacity:1;cursor:not-allowed;box-shadow:none}.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border);padding:7px 12px;font-weight:600}a.btn-link{display:inline-block;text-decoration:none;border-radius:6px;line-height:normal;box-sizing:border-box}a.btn-link:hover{text-decoration:none;border-color:var(--primary)}.btn-danger{background:var(--danger);color:#fff;padding:7px 12px;font-weight:600}.btn-success{background:var(--success);color:#fff;padding:7px 12px;font-weight:600}tr.site-open td,tr.site-open:hover td{background:var(--site-tint)}tr.site-open td:first-child{box-shadow:inset 3px 0 0 var(--site-color)}.btn-site-open{background:var(--site-color);color:var(--site-on);border:1px solid var(--site-color);padding:7px 12px;font-weight:700}.site-cards>.card{border-left:4px solid var(--site-color);background:linear-gradient(90deg,var(--site-tint-soft),rgba(0,0,0,0) 260px),var(--surface)}.site-tag{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;background:var(--site-color);color:var(--site-on);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800}.site-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--site-on);opacity:.85}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600;padding:8px;border-bottom:2px solid var(--border);white-space:nowrap}td{padding:8px;border-bottom:1px solid var(--border)}tr:hover td{background:var(--surface2)}.badge{display:inline-block;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.badge.open,.badge.pending,.badge.active{background:var(--badge-warn-bg);color:var(--badge-warn-fg)}.badge.won,.badge.completed{background:var(--badge-ok-bg);color:var(--badge-ok-fg)}.badge.lost,.badge.rejected,.badge.forfeited{background:var(--badge-bad-bg);color:var(--badge-bad-fg)}.badge.cancelled,.badge.void{background:var(--surface2);color:var(--muted)}.error{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-border);border-radius:8px;padding:10px 14px;margin:10px 0}.success-box{background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-border);border-radius:8px;padding:10px 14px;margin:10px 0}.hint{display:inline-flex;align-items:center;gap:5px;cursor:help;outline:none}.hint-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid var(--border);border-radius:50%;font-size:10px;font-weight:800;line-height:1;color:var(--muted)}.hint:hover .hint-mark,.hint:focus .hint-mark{border-color:var(--primary);color:var(--primary)}.hint-box{position:fixed;z-index:60;width:290px;padding:10px 12px;border-radius:10px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 12px 32px #00000059;font-size:12px;font-weight:400;line-height:1.5;text-transform:none}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.form-row{display:flex;flex-direction:column;gap:5px}.form-row label{font-size:12px;font-weight:600;color:var(--muted)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--sidebar)}.login-card{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:34px;width:380px}.login-card h1{text-align:center}.color-dot{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle;margin-right:6px;border:1px solid var(--border)}.brand-sub{font-size:10px;font-weight:600;letter-spacing:.4px;opacity:.7;text-transform:uppercase}.sprach-wahl{position:relative;display:flex;flex:0 0 auto}.sidebar .sprach-knopf,.sprach-knopf{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:30px;min-height:28px;width:100%;padding:5px 10px;border-radius:8px;border:none;cursor:pointer;background:var(--sidebar-hover);color:var(--sidebar-text);font-size:12px;font-weight:800;letter-spacing:.6px;text-align:center}.sidebar .sprach-knopf:hover,.sprach-knopf:hover{color:var(--sidebar-text-strong);background:var(--sidebar-hover)}.sprach-pfeil{font-size:9px;opacity:.7}.sprach-flagge{display:block;border-radius:3px;flex:0 0 auto}.sprach-menue{position:absolute;top:calc(100% + 6px);left:0;z-index:70;min-width:178px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000059}.sidebar .sprach-menue{top:auto;bottom:calc(100% + 6px)}.sidebar .sprach-eintrag,.sprach-eintrag{display:flex;align-items:center;gap:12px;width:100%;min-height:32px;padding:6px 10px;background:transparent;border:none;border-radius:7px;color:var(--text);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.sidebar .sprach-eintrag:hover,.sprach-eintrag:hover,.sidebar .sprach-eintrag.ist-markiert,.sprach-eintrag.ist-markiert{background:var(--surface2);color:var(--text)}.sprach-eintrag.ist-aktiv .sprach-name{color:var(--primary);font-weight:800}.sprach-name{flex:1}.sprach-wahl--hell .sprach-knopf{background:var(--surface2);border:1px solid var(--border);color:var(--muted)}.sprach-wahl--hell .sprach-knopf:hover{color:var(--text)}.sprach-wahl--hell .sprach-menue{left:auto;right:0}:root{--badge-super-bg: #ede9fe;--badge-super-fg: #5b21b6;--badge-partner-bg: #dbeafe;--badge-partner-fg: #1e40af;--badge-shop-bg: #ffedd5;--badge-shop-fg: #9a3412;--badge-affiliate-bg: #ccfbf1;--badge-affiliate-fg: #0f766e}body.theme-dark{--badge-super-bg: #3b2f6b;--badge-super-fg: #ddd6fe;--badge-partner-bg: #1e3a8a;--badge-partner-fg: #bfdbfe;--badge-shop-bg: #7c2d12;--badge-shop-fg: #fed7aa;--badge-affiliate-bg: #134e4a;--badge-affiliate-fg: #99f6e4}.badge.superadmin{background:var(--badge-super-bg);color:var(--badge-super-fg)}.badge.partner{background:var(--badge-partner-bg);color:var(--badge-partner-fg)}.badge.shop{background:var(--badge-shop-bg);color:var(--badge-shop-fg)}.badge.affiliate{background:var(--badge-affiliate-bg);color:var(--badge-affiliate-fg)}.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.popup-card{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:16px 18px;min-width:min(320px,100%);max-width:min(680px,94vw);max-height:82vh;overflow:auto;box-shadow:0 18px 48px #00000073}.popup-card--breit{max-width:min(1040px,96vw)}.popup-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.popup-close{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-weight:700}.popup-close:hover{background:var(--border)}.btn-ghost.is-open{border-color:var(--primary);color:var(--primary)}.toggle-btn{background:transparent;border:none;font-size:15px;color:var(--muted);padding:0 2px}.toggle-btn:hover{color:var(--text)}@media(max-width:720px){input,select,textarea{font-size:16px}body{min-width:0}.layout{flex-direction:column}.sidebar{width:100%;flex-direction:row;align-items:center;gap:6px;padding:8px 10px;overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:40}.sidebar::-webkit-scrollbar{display:none}.sidebar .brand{padding:0 8px 0 0;font-size:15px;flex:0 0 auto}.sidebar .brand-sub,.sidebar .spacer,.sidebar .who{display:none}.sidebar button{flex:0 0 auto;white-space:nowrap;padding:8px 11px;font-size:13px}.sidebar .sprach-knopf{width:auto;padding:5px 9px;font-size:12px}.sidebar .sprach-menue{position:fixed;top:54px;bottom:auto;left:10px;right:auto}.content{padding:14px 10px 60px;max-width:none}h1{font-size:19px;margin-bottom:12px}.card{overflow-x:auto;padding:12px}.login-card{width:min(380px,92vw);padding:24px 18px}.hint-box{width:min(290px,92vw)}.credit-cell{flex-wrap:wrap;row-gap:6px}.credit-input{flex:1 1 auto;min-width:0;width:auto}}.schalter{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;margin:2px 0}.schalter input{position:absolute;opacity:0;width:0;height:0}.schalter .schalter-bahn{position:relative;width:52px;height:30px;border-radius:999px;background:#cbd5e1;transition:background .2s;flex:0 0 auto}.schalter .schalter-bahn:before{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .2s}.schalter input:checked+.schalter-bahn{background:#65c466}.schalter input:checked+.schalter-bahn:before{transform:translate(22px)}.schalter input:focus-visible+.schalter-bahn{outline:2px solid var(--primary);outline-offset:2px}.schalter .schalter-text{font-size:13px;font-weight:600;color:var(--text)}.schalter-zeile{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.schalter-zurueck{padding:2px 6px;font-size:11px}body.theme-dark .schalter input:not(:checked)+.schalter-bahn{background:#475569}.meldung-popup{position:fixed;top:max(24px,6vh);left:50%;transform:translate(-50%);z-index:120;display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;box-shadow:0 12px 34px #00000047;font-size:14px;font-weight:600;animation:meldung-ein .18s ease-out;background-color:var(--surface);opacity:1}.meldung-popup--erfolg{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-border)}.meldung-popup--fehler{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.meldung-popup-x{opacity:.6;font-size:18px;line-height:1}@keyframes meldung-ein{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.form-grid--zeilen{display:flex;flex-direction:column;gap:0}.form-grid--zeilen .form-row{display:grid;grid-template-columns:minmax(180px,280px) minmax(140px,220px) 1fr;align-items:center;gap:4px 14px;padding:6px 0;border-top:1px solid var(--border)}.form-grid--zeilen .form-row:first-child{border-top:none}.form-grid--zeilen .form-row>label{margin:0}.form-grid--zeilen .form-row>input,.form-grid--zeilen .form-row>select{width:100%}.form-grid--zeilen .form-row>span.muted{grid-column:3}@media(max-width:760px){.form-grid--zeilen .form-row{grid-template-columns:1fr}.form-grid--zeilen .form-row>span.muted{grid-column:1}}
