:root{--bg:#0b0d12;--panel:#131720;--panel2:#191f2a;--line:#2a3140;--text:#edf1f7;--muted:#9aa6b6;--red:#df2f3d;--red2:#ff4c59;--green:#31c277;--yellow:#e9b949;--blue:#4e8cff}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#1a1014 0,#0b0d12 34%,#080a0e 100%);color:var(--text);font:15px/1.45 Arial,Helvetica,sans-serif;min-height:100vh}.topbar{height:78px;border-bottom:1px solid var(--line);background:rgba(10,12,16,.96);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--red2),#8c1320);box-shadow:0 0 25px rgba(223,47,61,.3);font-weight:800}.brand small{display:block;color:var(--muted);margin-top:1px}.topbar nav{display:flex;gap:9px;flex-wrap:wrap}.topbar nav a,.btn{color:#fff;text-decoration:none;border:1px solid #3a4252;background:#202634;border-radius:8px;padding:9px 13px;display:inline-block;cursor:pointer}.topbar nav a:hover,.btn:hover{border-color:#667085}.btn-primary{background:linear-gradient(180deg,var(--red2),#b71d2b);border-color:#e34653}.btn-green{background:#19794c;border-color:#259864}.btn-blue{background:#285fbd;border-color:#427bd4}.btn-danger{background:#7d1e28;border-color:#a42c39}.btn-small{padding:6px 9px;font-size:13px}.container{width:min(1220px,94vw);margin:28px auto 60px}.hero{background:linear-gradient(125deg,#171c25,#241318);border:1px solid #402630;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 18px 50px rgba(0,0,0,.22)}h1{margin:0 0 7px;font-size:27px}h2{font-size:19px;margin:0 0 14px}h3{margin:0 0 8px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:linear-gradient(180deg,var(--panel),#10141b);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 14px 35px rgba(0,0,0,.16)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.badge{font-size:12px;border-radius:999px;padding:5px 9px;border:1px solid var(--line);white-space:nowrap}.badge.active{background:rgba(49,194,119,.11);border-color:#276b4c;color:#85e7b3}.badge.blocked{background:rgba(223,47,61,.12);border-color:#6f2830;color:#ff8891}.badge.pending{background:rgba(233,185,73,.12);border-color:#745f2d;color:#f6d77e}.kv{display:grid;grid-template-columns:132px 1fr;gap:8px 10px;margin:8px 0}.kv span:nth-child(odd){color:var(--muted)}.code{font-family:Consolas,monospace;background:#0a0d12;border:1px solid #303746;border-radius:8px;padding:10px;word-break:break-all}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.section{margin-top:20px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs a{color:#d7dde8;text-decoration:none;border:1px solid var(--line);padding:8px 11px;border-radius:8px}.tabs a.active{background:#2a1520;border-color:#6a2b37;color:#fff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;background:#11151d}.table th,.table td{text-align:left;padding:11px;border-bottom:1px solid #252c38;vertical-align:top}.table th{background:#171d27;color:#cbd4e1;font-size:13px}.table tr:last-child td{border-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-group label{display:block;color:#b8c2d1;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #333b4c;background:#0d1118;color:#fff;padding:10px;border-radius:8px;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#7b3b47}.form-group.full{grid-column:1/-1}.alert{padding:12px 14px;border-radius:10px;margin:0 0 14px}.alert-success{background:#10281f;border:1px solid #235b43;color:#a7ecc8}.alert-error{background:#2e1216;border:1px solid #6f2830;color:#ffb3ba}.alert-info{background:#13243a;border:1px solid #28507d;color:#b7d7ff}.login-box{width:min(470px,94vw);margin:9vh auto;background:#121720;border:1px solid var(--line);border-radius:16px;padding:24px}.footer{text-align:center;color:#707b8c;padding:26px 10px;border-top:1px solid #1d232d}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#171d26;border:1px solid #2c3441;padding:6px 10px;color:#c4cedb}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{background:#121720;border:1px solid var(--line);border-radius:12px;padding:15px}.stat strong{display:block;font-size:23px}.stat small{color:var(--muted)}@media(max-width:900px){.grid,.grid-2,.stat-row{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}@media(max-width:640px){.topbar{height:auto;padding:14px 4vw;align-items:flex-start;gap:13px;flex-direction:column}.grid,.grid-2,.stat-row{grid-template-columns:1fr}.kv{grid-template-columns:1fr}.container{margin-top:18px}}

/* Professional Installer 1.1 */
.installer-page{background:radial-gradient(circle at 18% 0,#281119 0,transparent 34%),radial-gradient(circle at 90% 10%,#121c2d 0,transparent 28%),#080a0f;min-height:100vh}
.installer-shell{width:min(1040px,94vw);margin:34px auto 48px}.installer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.installer-brand .brand-mark{width:48px;height:48px}.installer-version{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#10141b}
.installer-progress{display:flex;align-items:center;margin:0 10px 20px}.installer-progress-item{display:flex;align-items:center;gap:9px;color:#687487;min-width:125px}.installer-progress-item>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;border:1px solid #303848;background:#10151d;font-weight:800}.installer-progress-item strong{display:block;font-size:13px}.installer-progress-item small{display:block;font-size:11px;margin-top:1px}.installer-progress-item.active{color:#fff}.installer-progress-item.active>span{background:linear-gradient(145deg,var(--red2),#a41424);border-color:#df4552;box-shadow:0 0 18px rgba(223,47,61,.28)}.installer-progress-item.done{color:#93d9b6}.installer-progress-item.done>span{background:#163b2b;border-color:#2a7653}.installer-progress-line{height:1px;background:#2b3240;flex:1;margin:0 10px}
.installer-card{background:linear-gradient(180deg,rgba(20,24,33,.98),rgba(13,17,24,.98));border:1px solid #2a3241;border-radius:20px;box-shadow:0 28px 85px rgba(0,0,0,.38);overflow:hidden}.installer-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-bottom:1px solid #2b313e;background:linear-gradient(120deg,#181e28 0,#231218 72%,#32131c 100%)}.installer-hero h1{font-size:31px;margin:4px 0 8px}.installer-hero p{max-width:690px;color:#aab5c5;margin:0}.eyebrow,.step-kicker{font-size:11px;letter-spacing:.15em;font-weight:800;color:#ff7c87}.installer-lock{width:112px;height:92px;border:1px solid #5a2c35;background:rgba(111,29,42,.2);border-radius:18px;display:grid;place-items:center;font-size:34px;flex:0 0 auto}.installer-lock small{font-size:11px;color:#d5aeb5;margin-top:-22px}.installer-step{display:none;padding:28px 30px}.installer-step.active{display:block}.step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.step-heading h2{font-size:24px;margin:3px 0 5px}.step-heading p{margin:0;color:var(--muted)}.status-dot{border:1px solid #394150;border-radius:999px;padding:6px 10px;font-size:12px;white-space:nowrap}.status-dot.ok{background:#102d22;border-color:#276748;color:#91e1b6}.status-dot.bad{background:#36141a;border-color:#74303a;color:#ff9ba4}.status-dot.neutral{background:#151b24;color:#aab5c5}
.check-list{border:1px solid #29313f;border-radius:14px;overflow:hidden;margin-bottom:18px}.check-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;background:#10151c;border-bottom:1px solid #242b37}.check-row:last-child{border-bottom:0}.check-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:900}.check-icon.ok{background:#123324;color:#7cdfaa}.check-icon.bad{background:#3a151b;color:#ff8791}.check-icon.warn{background:#352b13;color:#f0cb6f}.check-main strong{display:block}.check-main small{display:block;color:var(--muted);margin-top:2px}.check-value{font-size:12px;color:#bdc7d5;background:#171d26;border:1px solid #2f3745;border-radius:7px;padding:6px 8px}
.installer-form-grid{gap:16px}.installer-form-grid .form-group label span{color:#ff6977}.installer-form-grid .form-group small{display:block;color:#748196;margin-top:6px;font-size:12px}.installer-form-grid input{min-height:44px}.password-field{position:relative}.password-field input{padding-right:90px}.password-toggle{position:absolute;right:6px;top:6px;border:1px solid #384253;background:#171e28;color:#ccd4df;border-radius:7px;padding:7px 10px;cursor:pointer}.checkbox-row{border:1px solid #2d3542;background:#10151c;border-radius:10px;padding:12px}.checkbox-row label{display:flex!important;align-items:center;gap:9px;margin:0!important}.checkbox-row input{width:17px!important;min-height:auto!important;accent-color:#db3240}.checkbox-row small{margin-left:26px!important}
.installer-note{border:1px solid #334459;background:#101b2a;border-radius:11px;padding:13px 14px;color:#c5d3e6;margin:16px 0}.installer-note code{background:#080c12;border:1px solid #29313c;border-radius:5px;padding:2px 5px}.installer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #252c37}.installer-actions .actions{margin:0}.installer-actions button:disabled,.installer-install-btn:disabled{opacity:.5;cursor:not-allowed}.installer-message{border-radius:11px;padding:13px 14px;margin:15px 0}.installer-message.success{background:#102a20;border:1px solid #286146;color:#a8e8c7}.installer-message.error{background:#32151a;border:1px solid #74303a;color:#ffabb3}.installer-message strong,.installer-message small{display:block}.installer-message small{margin-top:5px;opacity:.8;word-break:break-word}.installer-tech{font-family:Consolas,monospace;font-size:12px;margin-top:8px;opacity:.78;word-break:break-word}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.summary-card{border:1px solid #2b3442;border-radius:12px;background:#10151c;padding:15px}.summary-card small,.summary-card span{display:block;color:var(--muted)}.summary-card strong{display:block;font-size:17px;margin:4px 0}.installer-footer{text-align:center;color:#677386;font-size:12px;padding:20px}.db-error-box{width:min(560px,94vw)}
@media(max-width:760px){.installer-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px}.installer-progress-line{display:none}.installer-progress-item{min-width:0}.installer-hero{padding:22px}.installer-lock{display:none}.installer-step{padding:22px}.summary-grid{grid-template-columns:1fr}.installer-actions{align-items:stretch;flex-direction:column}.installer-actions>.actions{display:flex;flex-direction:column;width:100%}.installer-actions .btn{width:100%;text-align:center}.step-heading{flex-direction:column}.installer-top{align-items:flex-start}.installer-version{margin-top:4px}}

/* Professional Installer 1.3 - high contrast / improved readability */
.installer-page{background:#e9eef5;color:#1b2638;font-size:16px;line-height:1.6}
.installer-shell{width:min(1120px,96vw);margin:24px auto 42px}
.installer-top{color:#1b2638}.installer-top .brand small{color:#5f6f84}.installer-version{color:#34445b;background:#fff;border-color:#cbd5e1;font-weight:700}
.installer-progress{background:#fff;border:1px solid #d7e0ea;border-radius:14px;padding:14px 16px;margin:0 0 18px;box-shadow:0 8px 24px rgba(20,35,55,.07)}
.installer-progress-item{color:#607087}.installer-progress-item>span{background:#f3f6fa;border-color:#cbd5e1;color:#34445b}.installer-progress-item.active{color:#172033}.installer-progress-item.done{color:#176943}.installer-progress-line{background:#d8e0ea}
.installer-card{background:#fff;border-color:#d6dfeb;box-shadow:0 24px 70px rgba(24,39,61,.13)}
.installer-hero{background:linear-gradient(120deg,#152337 0,#1d304b 72%,#6e1d2a 100%);border-bottom:0;padding:32px 34px;color:#fff}.installer-hero h1{font-size:34px;color:#fff}.installer-hero p{color:#e5ebf3;font-size:16px;line-height:1.7}.eyebrow,.step-kicker{color:#c51f35;font-weight:900}.installer-hero .eyebrow{color:#ffb8c1}.installer-lock{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22)}.installer-lock small{color:#fff}
.installer-step{padding:32px 34px}.step-heading h2{color:#172033;font-size:26px}.step-heading p{color:#56677c;max-width:760px}.status-dot.neutral{background:#eef3f8;color:#465970;border-color:#c9d4e0}.status-dot.ok{background:#e8f7ef;border-color:#8cc9a8;color:#11613c}.status-dot.bad{background:#fff0f1;border-color:#e4a2aa;color:#9f1727}
.check-list{border-color:#d6dfeb;background:#fff}.check-row{background:#fff;border-bottom-color:#e3e9f0;padding:15px 17px}.check-row:nth-child(even){background:#f8fafc}.check-main strong{color:#1c2a3d;font-size:15px}.check-main small{color:#66778c}.check-value{color:#33465f;background:#eef3f7;border-color:#d1dae5;font-weight:700}
.installer-form-grid{gap:19px}.installer-form-grid .form-group label{color:#24344a;font-weight:800;font-size:14px}.installer-form-grid .form-group small{color:#617289;font-size:13px;line-height:1.5}.installer-form-grid input{background:#fff;color:#111827;border:1px solid #aebdce;min-height:50px;font-size:16px;padding:11px 13px}.installer-form-grid input:focus{border-color:#315d91;box-shadow:0 0 0 3px rgba(49,93,145,.12)}.installer-form-grid input::placeholder{color:#8796a9}.password-toggle{top:7px;right:7px;background:#edf2f7;color:#26384f;border-color:#bcc8d6;padding:8px 12px;font-weight:700}.checkbox-row{background:#f7f9fc;border-color:#cfd9e4}.checkbox-row label{color:#26384f!important}.checkbox-row small{color:#64748b!important}
.installer-note{background:#eef6ff;border-color:#b9d2ee;color:#244567;padding:15px 16px}.installer-note code{background:#fff;border-color:#c8d8e8;color:#15263a}.password-help{margin:18px 0;padding:16px 18px;border:1px solid #e2b55b;border-left:5px solid #d59620;background:#fff8e8;border-radius:10px;color:#58400e}.password-help strong{font-size:16px;color:#5d3b00}.password-help p{margin:6px 0 0;line-height:1.65}.repair-banner{display:flex;gap:14px;margin:22px 34px 0;padding:16px 18px;border:1px solid #e0a2aa;background:#fff3f4;border-radius:12px;color:#6f1722}.repair-banner .repair-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#b51e32;color:#fff;font-weight:900;flex:0 0 auto}.repair-banner strong{display:block;font-size:17px}.repair-banner p{margin:3px 0 4px;color:#682632}.repair-banner small{display:block;color:#8a4350;word-break:break-word}.repair-banner code{background:#fff;border:1px solid #e6bcc2;border-radius:5px;padding:1px 5px}
.installer-actions{border-top-color:#e0e6ee}.installer-actions .btn{font-size:15px;font-weight:800;min-height:44px}.installer-back{background:#f2f5f8!important;color:#283b52!important;border-color:#c8d3df!important}.btn-primary{background:#b51e32;border-color:#a9182b}.btn-green{background:#16734a;border-color:#11613d}
.installer-message.success{background:#eaf8f1;border-color:#8bc9a8;color:#175a3c}.installer-message.error{background:#fff0f1;border-color:#e3a0a8;color:#8d1724}.installer-message small{opacity:1;color:inherit}.installer-tech{color:#5f2a31}
.summary-card{background:#f8fafc;border-color:#d8e1eb}.summary-card small,.summary-card span{color:#65758a}.summary-card strong{color:#1b2b40}.installer-footer{color:#5f6f84}.db-error-box{background:#fff;color:#1b2638;border-color:#d3dde8;box-shadow:0 18px 55px rgba(22,38,58,.16)}
@media(max-width:760px){.installer-step{padding:24px 20px}.installer-hero{padding:26px 20px}.repair-banner{margin:18px 20px 0}.installer-progress{padding:12px}.installer-page{font-size:15px}}

/* Kundenregistrierung, Produktkatalog & Updates v1.3 */
.auth-box{width:min(560px,94vw);margin:6vh auto;padding:28px}.auth-box h1{margin-top:8px}.auth-box .form-group small{display:block;margin-top:5px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 12px}.section-title h2{margin:0 0 3px;font-size:22px}.section-title p{margin:0}.badge-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.badge.update{background:rgba(78,140,255,.14);border-color:#315c9d;color:#a9caff}.badge.available{background:rgba(78,140,255,.09);border-color:#304a73;color:#b9d2ff}.update-note{margin-top:14px;padding:12px 13px;border:1px solid #315c9d;background:#101d31;border-radius:10px;color:#cfe0ff}.update-note strong{display:block;color:#fff;margin-bottom:4px}.mini-note{margin-top:12px;padding:10px 12px;border:1px solid #2d3543;background:#0f141c;border-radius:9px;color:#b7c3d3;font-size:13px}.request-box{margin-top:14px}.request-box summary{list-style:none;width:max-content}.request-box summary::-webkit-details-marker{display:none}.catalogue-card,.product-card{min-height:100%;display:flex;flex-direction:column}.catalogue-card .actions,.product-card .actions{margin-top:auto;padding-top:12px}.empty-card{border-style:dashed}.stat-row-5{grid-template-columns:repeat(5,minmax(0,1fr))}.update-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.update-flow span{padding:7px 9px;background:#0d1118;border:1px solid #303848;border-radius:8px;color:#cbd5e2}.update-upload{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.setting-row{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);background:#0e131b;border-radius:10px;padding:13px;margin-bottom:12px;cursor:pointer}.setting-row input{margin-top:4px;width:18px;height:18px;accent-color:var(--red)}.setting-row span{display:block}.setting-row strong{display:block}.setting-row small{display:block;color:var(--muted);margin-top:3px}.product-card .kv strong,.catalogue-card .kv strong{word-break:break-word}
@media(max-width:1050px){.stat-row-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.stat-row-5{grid-template-columns:1fr 1fr}.section-title{align-items:flex-start;flex-direction:column}.auth-box{margin:3vh auto;padding:20px}.badge-stack{align-items:flex-start}}


/* v1.5 Produkt-Upload-Center */
.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.upload-center{border-color:#4a3440;box-shadow:0 18px 48px rgba(0,0,0,.24)}.upload-center .card-head p{margin:4px 0 0}.upload-submit-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.btn-upload-main{font-size:16px;font-weight:800;padding:12px 17px}.upload-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.upload-help-grid>div{background:#0d1219;border:1px solid #2e3745;border-radius:10px;padding:12px}.upload-help-grid strong{display:block;color:#fff;margin-bottom:5px}.upload-help-grid span{display:block;color:var(--muted);font-size:13px;line-height:1.45}.form-group input[type=file]{padding:12px;background:#101620;border-style:dashed}.form-group input[type=file]::file-selector-button{margin-right:12px;border:1px solid #465269;background:#293244;color:#fff;border-radius:7px;padding:8px 11px;cursor:pointer}@media(max-width:800px){.admin-hero{align-items:flex-start;flex-direction:column}.upload-help-grid{grid-template-columns:1fr}.hero-actions{width:100%}.hero-actions .btn{flex:1;text-align:center}.upload-submit-row{align-items:stretch;flex-direction:column}.btn-upload-main{width:100%;text-align:center}}
