:root{
  --a1-red:#EB140A;
  --a1-red-dark:#820000;
  --a1-red-darker:#7A1A12;
  --a1-red-light:#FA8A80;
  --a1-red-bg:#FEECEA;
  --a1-dark:#1A1A1A;
  --a1-dark-2:#333333;
  --a1-grey:#444444;
  --a1-grey-mid:#AAAAAA;
  --a1-grey-light:#E2E2E2;
  --a1-bg:#F7F7F7;
  --ok:#1c8a3c;
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:Verdana, Geneva, sans-serif; background:var(--a1-bg);
  color:var(--a1-dark); line-height:1.5;
}
.mono{font-family:Consolas, 'Courier New', monospace;}
a{color:var(--a1-red-darker);}

header.topbar{
  background:var(--a1-dark); color:#fff; padding:14px 4vw;
  border-bottom:4px solid var(--a1-red);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
}
header.topbar .brand{display:flex; align-items:center; gap:14px;}
header.topbar .brand-mark{
  background:var(--a1-red); color:#fff; font-weight:bold; font-family:Consolas, monospace;
  padding:4px 9px; border-radius:3px; font-size:15px; letter-spacing:.5px;
}
header.topbar .title{font-weight:bold; font-size:15px;}
header.topbar nav a{
  color:#c9c9c9; text-decoration:none; margin-left:18px; font-size:13px;
  text-transform:uppercase; letter-spacing:.5px;
}
header.topbar nav a:hover, header.topbar nav a.active{color:#fff;}

.wrap{max-width:1100px; margin:0 auto; padding:26px 4vw 60px 4vw;}
.crumbs{font-size:12px; color:var(--a1-grey-mid); margin-bottom:14px;}
.crumbs a{color:var(--a1-grey);}

h1{font-size:22px; margin:0 0 4px 0;}
h2{font-size:16px; margin:28px 0 12px 0; border-bottom:2px solid var(--a1-dark); padding-bottom:6px;}
h3{font-size:14px; margin:0 0 4px 0;}
.subtitle{color:var(--a1-grey); font-size:13px; margin:0 0 20px 0;}

.card{
  background:#fff; border:1px solid var(--a1-grey-light); border-radius:6px;
  padding:20px 22px; margin-bottom:18px;
}
.card-link{display:block; text-decoration:none; color:inherit;}
.card-link:hover{border-color:var(--a1-grey-mid);}

.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:16px;}

.pill{
  display:inline-block; padding:2px 10px; border-radius:12px; font-size:11px;
  font-weight:bold; letter-spacing:.3px;
}
.pill.hoch, .pill.offen{background:var(--a1-red-bg); color:var(--a1-red-dark);}
.pill.mittel, .pill.geplant{background:#FFF3D6; color:#8a5a00;}
.pill.niedrig, .pill.abgeschlossen, .pill.durchgef, .pill.teilgenommen{background:#E4F5E8; color:var(--ok);}
.pill.verworfen, .pill.abgesagt{background:var(--a1-grey-light); color:var(--a1-grey);}
.pill.eingeladen{background:var(--a1-grey-light); color:var(--a1-grey);}
.pill.zugesagt{background:#DCEBFF; color:#1a4d99;}

.score-num{font-family:Consolas, monospace; font-weight:bold;}
.score-num.good{color:var(--ok);}
.score-num.mid{color:#8a5a00;}
.score-num.low{color:var(--a1-red-dark);}

.bar-track{height:10px; background:var(--a1-grey-light); border-radius:5px; overflow:hidden; margin:4px 0 2px 0;}
.bar-fill{height:100%; background:linear-gradient(90deg,var(--a1-red-dark),var(--a1-red));}
.bar-row-top{display:flex; justify-content:space-between; font-size:13px;}

table{width:100%; border-collapse:collapse; font-size:13.5px;}
table th{text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.4px;
  color:var(--a1-grey); border-bottom:2px solid var(--a1-dark); padding:8px 10px;}
table td{padding:9px 10px; border-bottom:1px solid var(--a1-grey-light); vertical-align:middle;}
table tr:hover td{background:#FAFAFA;}

.btn{
  background:var(--a1-red); color:#fff; border:none; padding:9px 18px;
  font-family:Verdana, sans-serif; font-size:13px; font-weight:bold;
  border-radius:4px; cursor:pointer; letter-spacing:.2px; text-decoration:none; display:inline-block;
}
.btn:hover{background:var(--a1-red-dark);}
.btn.small{padding:5px 11px; font-size:11.5px;}
.btn-outline{
  background:#fff; color:var(--a1-dark); border:1px solid #CCCCCE; padding:9px 16px;
  font-family:Verdana, sans-serif; font-size:13px; border-radius:4px; cursor:pointer;
  text-decoration:none; display:inline-block;
}
.btn-outline:hover{border-color:var(--a1-dark);}
.btn-outline.small{padding:5px 11px; font-size:11.5px;}

input[type=text], input[type=date], select, textarea{
  width:100%; padding:9px 11px; border:1px solid #CCCCCE; border-radius:4px;
  font-family:Verdana, sans-serif; font-size:13px; margin-bottom:12px; background:#fff;
}
input[type=file]{margin-bottom:12px; font-size:13px;}
label{font-size:12px; font-weight:bold; text-transform:uppercase; letter-spacing:.4px; color:var(--a1-grey); display:block; margin-bottom:5px;}
.form-row{margin-bottom:4px;}
.inline-form{display:inline;}

.flash{padding:10px 16px; border-radius:4px; font-size:13px; margin-bottom:16px;}
.flash.ok{background:#E4F5E8; color:var(--ok);}
.flash.error{background:var(--a1-red-bg); color:var(--a1-red-dark);}

.empty-state{color:var(--a1-grey); font-size:13px; padding:20px 0; text-align:center;}

.item-row{display:flex; justify-content:space-between; font-size:13px; padding:6px 0; border-top:1px solid var(--a1-grey-light);}
.item-row:first-child{border-top:none;}

footer.foot{text-align:center; padding:24px 0 4px 0; font-size:11px; color:var(--a1-grey-mid);}
