*{margin:0;padding:0;box-sizing:border-box}
:root{--c:#00d2dc;--bg:#0a0e14;--card:#111820;--cardB:#1a2230;--t1:#fff;--t2:#8899aa;--ok:#22c55e;--warn:#f59e0b;--err:#ef4444;--r:12px}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--t1);display:flex;min-height:100vh}
a{color:var(--c);text-decoration:none}

/* Sidebar */
.sidebar{width:240px;background:var(--card);border-right:1px solid var(--cardB);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}
.sb-logo{padding:24px 20px;font-size:22px;font-weight:800;border-bottom:1px solid var(--cardB)}.sb-logo span{color:var(--c)}
.sidebar nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}
.sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r);font-size:14px;font-weight:600;color:var(--t2);transition:.2s}
.sidebar nav a:hover{background:rgba(255,255,255,.04);color:var(--t1)}
.sidebar nav a.on{background:rgba(0,210,220,.1);color:var(--c)}
.sidebar nav a i{font-style:normal;font-size:16px}
.sb-footer{padding:16px 20px;border-top:1px solid var(--cardB);font-size:13px;display:flex;justify-content:space-between;color:var(--t2)}
.sb-footer a{color:var(--err);font-weight:600}

/* Main */
.admin-main{margin-left:240px;flex:1;min-height:100vh}
.admin-header{padding:24px 32px;border-bottom:1px solid var(--cardB)}
.admin-header h1{font-size:24px;font-weight:800}
.admin-content{padding:32px}

/* Cards */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}
.stat-card{background:var(--card);border:1px solid var(--cardB);border-radius:var(--r);padding:20px}
.stat-card .label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--t2);margin-bottom:6px}
.stat-card .value{font-size:32px;font-weight:900}
.stat-card .value.cyan{color:var(--c)}
.stat-card .value.warn{color:var(--warn)}

/* Table */
.tbl-wrap{overflow-x:auto;margin-top:16px}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--t2);padding:10px 14px;border-bottom:1px solid var(--cardB)}
td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.03);font-size:14px;vertical-align:top}
tr:hover td{background:rgba(255,255,255,.02)}

/* Badges */
.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.badge-neu{background:rgba(0,210,220,.12);color:var(--c)}
.badge-kontaktiert{background:rgba(245,158,11,.12);color:var(--warn)}
.badge-demo{background:rgba(139,92,246,.12);color:#a78bfa}
.badge-gewonnen{background:rgba(34,197,94,.12);color:var(--ok)}
.badge-verloren{background:rgba(239,68,68,.12);color:var(--err)}
.badge-entwurf{background:rgba(255,255,255,.06);color:var(--t2)}
.badge-publiziert{background:rgba(34,197,94,.12);color:var(--ok)}
.badge-geprueft{background:rgba(245,158,11,.12);color:var(--warn)}
.badge-zugesagt{background:rgba(34,197,94,.12);color:var(--ok)}
.badge-abgelehnt{background:rgba(239,68,68,.12);color:var(--err)}

/* Forms */
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--t2);margin-bottom:6px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 14px;border-radius:var(--r);font-size:14px;font-family:inherit;background:var(--bg);border:1px solid var(--cardB);color:var(--t1);outline:none;transition:.2s}
.form-group input:focus,.form-group textarea:focus{border-color:var(--c)}
textarea{min-height:120px;resize:vertical}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--r);font-size:13px;font-weight:700;border:none;cursor:pointer;transition:.2s;font-family:inherit}
.btn-cyan{background:var(--c);color:#000}.btn-cyan:hover{opacity:.9}
.btn-ghost{background:transparent;border:1px solid var(--cardB);color:var(--t2)}.btn-ghost:hover{border-color:var(--t2)}
.btn-red{background:rgba(239,68,68,.1);color:var(--err);border:1px solid rgba(239,68,68,.2)}.btn-red:hover{background:rgba(239,68,68,.2)}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Inline form */
.inline-form{display:inline}
.inline-select{padding:5px 8px;border-radius:6px;font-size:12px;font-family:inherit;background:var(--bg);border:1px solid var(--cardB);color:var(--t1);cursor:pointer}

/* Toolbar */
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}

/* Article cards */
.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}
.art-card{background:var(--card);border:1px solid var(--cardB);border-radius:var(--r);overflow:hidden}
.art-card img{width:100%;height:160px;object-fit:cover;background:var(--bg)}
.art-card .body{padding:16px}
.art-card h3{font-size:16px;font-weight:700;margin-bottom:6px}
.art-card p{font-size:13px;color:var(--t2);line-height:1.5;margin-bottom:12px}

/* Login page */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}
.login-box{width:100%;max-width:400px;background:var(--card);border:1px solid var(--cardB);border-radius:16px;padding:40px}
.login-box h1{font-size:28px;font-weight:900;margin-bottom:4px}.login-box h1 span{color:var(--c)}
.login-box .sub{font-size:14px;color:var(--t2);margin-bottom:28px}
.login-box .error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:var(--err);padding:10px 14px;border-radius:var(--r);font-size:13px;margin-bottom:16px}
.login-box .btn-cyan{width:100%;justify-content:center;padding:13px;font-size:15px}

/* Notes */
.notes-box{margin-top:8px}
.notes-box textarea{width:100%;padding:8px;border-radius:8px;font-size:13px;background:var(--bg);border:1px solid var(--cardB);color:var(--t1);min-height:60px;resize:vertical}

/* Success toast */
.toast{position:fixed;top:20px;right:20px;background:var(--ok);color:#000;padding:12px 20px;border-radius:var(--r);font-weight:700;font-size:14px;z-index:100;animation:fadeOut 3s forwards}
@keyframes fadeOut{0%,70%{opacity:1}100%{opacity:0;pointer-events:none}}

@media(max-width:768px){.sidebar{width:60px}.sidebar nav a span,.sb-logo,.sb-footer span{display:none}.admin-main{margin-left:60px}}
