*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',Arial,sans-serif;background:#f4f4f5;color:#111827}
a{color:inherit}

/* Login / Setup */
.login-body{background:#B91C1C;display:flex;align-items:center;justify-content:center;min-height:100vh;}
.login-card{background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:36px 32px;width:100%;max-width:360px;}
.login-logo{text-align:center;margin-bottom:22px;}
.login-logo h1{font-size:19px;font-weight:700;color:#111827;}
.login-logo p{font-size:13px;color:#6B7280;margin-top:3px;}
.login-card form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#374151;margin-bottom:14px;}
.login-card input{border:1px solid #D1D5DB;border-radius:8px;padding:10px 12px;font-size:14px;outline:none;}
.login-card input:focus{border-color:#B91C1C;box-shadow:0 0 0 3px rgba(185,28,28,.12);}

.alert{border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:13px;}
.alert-error{background:#FEE2E2;border:1px solid #FECACA;color:#991B1B;}
.alert-success{background:#DCFCE7;border:1px solid #BBF7D0;color:#15803D;}

.btn{border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;}
.btn-primary{background:#B91C1C;color:#fff;}
.btn-primary:hover{background:#991B1B;}
.btn-secondary{background:#F3F4F6;color:#374151;}
.btn-secondary:hover{background:#E5E7EB;}
.btn-danger{background:#FEE2E2;color:#B91C1C;}
.btn-danger:hover{background:#FECACA;}
.btn-full{width:100%;}
.btn-sm{padding:5px 10px;font-size:12px;border-radius:6px;}

/* App-Layout */
header.top{background:#B91C1C;color:#fff;padding:12px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.brand{display:flex;flex-direction:column;line-height:1.2;}
.brand-title{font-weight:700;font-size:16px;}
.brand-sub{font-size:12px;color:#FECACA;}
.nav{display:flex;gap:14px;margin-left:10px;}
.nav a{text-decoration:none;color:#FECACA;font-size:13px;font-weight:600;padding:4px 2px;border-bottom:2px solid transparent;}
.nav a:hover,.nav a.active{color:#fff;border-bottom-color:#fff;}
.user-area{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12px;}
.user-name{color:#FECACA;}
.countdown{font-weight:600;color:#FECACA;white-space:nowrap;}
.logout-link{background:rgba(255,255,255,.15);padding:6px 12px;border-radius:8px;text-decoration:none;color:#fff;font-size:12px;}
.logout-link:hover{background:rgba(255,255,255,.25);}

.wrap{max-width:1300px;margin:18px auto;padding:0 16px;}
.wrap h1{font-size:20px;margin-bottom:14px;}

/* Stat-Karten */
.stats-wrap{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.stat-group{background:#fff;border-radius:10px;padding:11px 14px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.sg-titel{font-size:11px;font-weight:700;color:#6B7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.sg-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.sstat{padding:8px 4px;border-radius:8px;text-align:center;cursor:pointer;}
.sstat:hover{opacity:.8;}
.sstat .n{font-size:22px;font-weight:700;}
.sstat .l{font-size:11px;color:#6B7280;margin-top:1px;}
.sstat.r .n{color:#B91C1C}.sstat.o .n{color:#DC2626}.sstat.y .n{color:#EA580C}.sstat.g .n{color:#15803D}

/* Karte/Tabelle */
.card{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);overflow:hidden;margin-bottom:18px;}
.ch{padding:11px 16px;border-bottom:1px solid #E5E7EB;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.ch h2{font-size:14px;font-weight:600}
table{width:100%;border-collapse:collapse}
thead th{background:#F9FAFB;padding:8px 10px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;color:#6B7280;letter-spacing:.3px;border-bottom:1px solid #E5E7EB;white-space:nowrap}
tbody td{padding:9px 10px;border-bottom:1px solid #F3F4F6;vertical-align:middle}
tbody tr:hover{background:#F9FAFB}
tbody tr:last-child td{border-bottom:none}

.st{display:inline-block;padding:2px 7px;border-radius:20px;font-size:11px;font-weight:600}
.ok{background:#DCFCE7;color:#15803D}.warnung{background:#FFEDD5;color:#C2410C}
.kritisch{background:#FEE2E2;color:#B91C1C}.abgelaufen{background:#B91C1C;color:#fff}.leer{background:#F3F4F6;color:#9CA3AF}
.jb{display:inline-block;padding:2px 7px;border-radius:12px;background:#DCFCE7;color:#15803D;font-size:11px;font-weight:600}
.nb{display:inline-block;padding:2px 7px;border-radius:12px;background:#F3F4F6;color:#9CA3AF;font-size:11px;font-weight:600}

.flt-btn{background:#F3F4F6;border:1px solid #E5E7EB;padding:4px 10px;border-radius:16px;font-size:12px;cursor:pointer;font-weight:500;}
.flt-btn:hover{background:#E5E7EB;}
.flt-btn.active{background:#1F2937;color:#fff;border-color:#1F2937;}

/* Modal */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;align-items:center;justify-content:center;padding:16px;}
.overlay.on{display:flex;}
.box{background:#fff;border-radius:12px;padding:22px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.box h3{font-size:16px;font-weight:700}
.box-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.box-close{background:none;border:none;font-size:22px;cursor:pointer;color:#6B7280;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.fi{display:flex;flex-direction:column;gap:4px}
.fi.full{grid-column:1/-1}
.fi label{font-size:12px;font-weight:600;color:#374151}
.fi input,.fi select,.fi textarea{border:1px solid #D1D5DB;border-radius:7px;padding:8px 10px;font-size:14px;outline:none;width:100%;font-family:inherit;}
.fi input:focus,.fi select:focus,.fi textarea:focus{border-color:#B91C1C;box-shadow:0 0 0 3px rgba(185,28,28,.1)}
.ma{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}

.form-page{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:22px;max-width:680px;}
.tabs{display:flex;gap:6px;margin-bottom:16px;}
.tab-btn{background:#F3F4F6;border:1px solid #E5E7EB;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;}
.tab-btn.active{background:#B91C1C;color:#fff;border-color:#B91C1C;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.pagination{display:flex;gap:6px;align-items:center;padding:12px 16px;font-size:13px;}
.pagination a{padding:4px 10px;border:1px solid #E5E7EB;border-radius:6px;text-decoration:none;}
.pagination a.active{background:#1F2937;color:#fff;border-color:#1F2937;}

.filter-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end;padding:12px 16px;border-bottom:1px solid #E5E7EB;}
.filter-form .fi{min-width:140px;}
