:root{--wine:#7b1830;--wine2:#9d2544;--ink:#18191d;--muted:#70727a;--bg:#f4f5f7;--card:#fff;--line:#e4e6ea;--ok:#19744f;--warn:#a66310;--shadow:0 8px 28px rgba(20,24,32,.07)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.layout{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{background:#17171b;color:white;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;margin:0 7px 28px}.brandmark{width:42px;height:42px;border-radius:12px;background:var(--wine);display:grid;place-items:center;font-weight:900;font-size:21px}.brand b{display:block}.brand small{color:#aaa;letter-spacing:.12em}
.nav{display:grid;gap:6px}.nav a{padding:12px 13px;border-radius:10px;color:#bfc0c6}.nav a:hover,.nav a.active{background:#2a2a30;color:#fff}.sidebottom{margin-top:auto;color:#888;font-size:11px;padding:12px}
.content{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 25px}.topbar .right{display:flex;gap:10px;align-items:center}.main{padding:25px}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.pagehead h1{margin:0 0 5px;font-size:26px}.pagehead p{margin:0;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.pad{padding:18px}.grid{display:grid;gap:15px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:1.25fr .75fr}.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi small{color:var(--muted)}.kpi strong{display:block;font-size:29px;margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 14px;font-weight:750;cursor:pointer}.btn-primary{background:var(--wine);color:#fff}.btn-primary:hover{background:var(--wine2)}.btn-light{background:#eceef1}.btn-danger{background:#fff0f0;color:#a23b42}.btn-sm{padding:7px 10px;font-size:12px}
.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:10px 12px;font-size:11px;color:#858790;text-transform:uppercase;border-bottom:1px solid var(--line)}.table td{padding:13px 12px;border-bottom:1px solid #eceef1;font-size:13px}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#faf6f7}
.status{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef0f2}.status-Produktion{background:#e7f6ef;color:#15744e}.status-Freigabe{background:#e9f3ff;color:#226b9c}.status-Daten{background:#fff3df;color:#a66310}.status-Fertig{background:#edf6ff;color:#1e6f9b}.status-Abgeschlossen{background:#eff0f2;color:#64676f}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field.full{grid-column:1/-1}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.field textarea{min-height:100px}
.flash{margin-bottom:15px;padding:12px 14px;border-radius:10px;background:#eaf7f1;color:#176b49}.error{background:#fff0f0;color:#a23b42}
.logo-card{padding:15px}.preview{height:130px;border-radius:11px;background:#f1f2f4;display:grid;place-items:center;margin-bottom:12px;overflow:hidden}.preview img{max-width:100%;max-height:100%}.preview .placeholder{font-size:38px;font-weight:900;color:#aaa}.meta{font-size:12px;color:var(--muted)}
.sheet-box{background:#303138;padding:13px;border-radius:12px}.sheet-preview{background:#f8f8f4;min-height:300px;border-radius:5px;padding:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;align-content:start}.sheet-cell{aspect-ratio:1.2;background:#fff;border:1px dashed #bbb;border-radius:4px;display:grid;place-items:center;font-size:10px;overflow:hidden}.sheet-cell img{max-width:92%;max-height:92%}
.apps{display:grid;gap:12px}.app-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px}.app-row p{margin:4px 0 0;color:var(--muted);font-size:12px}
.loginwrap,.installwrap{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox,.installbox{width:min(700px,95vw);background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.loginbox{width:min(420px,95vw)}
.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sectiontitle h2{margin:0;font-size:16px}.empty{text-align:center;color:var(--muted);padding:35px}
@media(max-width:950px){.kpis,.three,.two{grid-template-columns:1fr 1fr}.layout{grid-template-columns:190px 1fr}}
@media(max-width:700px){.layout{display:block}.sidebar{padding:10px}.brand,.sidebottom{display:none}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.topbar{padding:0 12px}.main{padding:14px}.kpis,.three,.two,.formgrid{grid-template-columns:1fr}}
