:root{color-scheme:light;--navy:#172b43;--red:#b4232e;--ink:#202b37;--muted:#687585;--line:#dce2e8;--canvas:#f3f5f7;--green:#176b45;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.5}a{color:inherit}.skip-link{position:absolute;left:-9999px;top:0;background:white;padding:10px;z-index:10}.skip-link:focus{left:10px}.topbar{min-height:68px;background:var(--navy);color:white;display:flex;align-items:center;padding:0 28px;gap:30px;border-bottom:3px solid var(--red)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:220px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--red);font-weight:800}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:#c7d0da}.topnav{display:flex;gap:22px;flex:1}.topnav a{color:#e0e6ed;text-decoration:none}.user-area{display:flex;align-items:center;gap:14px}.user-area form{margin:0}.shell{display:flex;min-height:calc(100vh - 68px)}.sidebar{width:230px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:27px 16px}.side-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:#7a8795;padding:0 12px 10px}.side-label-spaced{margin-top:32px}.side-link,.side-disabled{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:10px 12px;text-decoration:none;font-size:14px;margin-bottom:4px}.side-link.active{background:#fbecee;color:#941d27;font-weight:700;border-left:3px solid var(--red)}.side-disabled{color:#778390;font-size:13px}.side-disabled small,.planned-label{font-size:10px;color:#7b8794;background:#f0f2f4;padding:3px 6px}.main{min-width:0;flex:1;padding:32px clamp(20px,4vw,54px) 20px;max-width:1600px}.main-auth{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;width:100%;max-width:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 27px}.page-heading h1,.login-panel h1{font-size:29px;line-height:1.2;margin:5px 0 7px;color:#18293c}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:var(--red)}.muted{color:var(--muted);margin:0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:39px;padding:9px 15px;border-radius:4px;border:1px solid transparent;font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.button-primary{background:var(--red);color:white;border-color:var(--red)}.button-secondary{background:#fff;color:var(--ink);border-color:#cbd3dc}.button-quiet{background:transparent;border-color:#617187;color:white}.button-wide{width:100%;margin-top:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat-card,.section-panel{background:#fff;border:1px solid var(--line);border-radius:7px}.stat-card{padding:20px 22px;border-top:3px solid #9aa8b7}.stat-label{font-size:13px;color:var(--muted);font-weight:600}.stat-value{font-size:33px;font-weight:750;margin:8px 0;color:var(--navy)}.stat-note{font-size:12px;color:#7a8795}.section-header{padding:20px 22px;border-bottom:1px solid var(--line)}h2{font-size:16px;margin:0 0 4px;color:#24364a}.section-header p{font-size:13px}.module-list{padding:0 22px}.module-row{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid #e8ecf0;text-decoration:none}.module-icon{width:36px;height:36px;display:grid;place-items:center;background:#eef1f4;color:#40556b;font-size:11px;font-weight:800}.module-copy{flex:1}.module-copy strong,.module-copy small{display:block}.module-copy small{font-size:12px;color:var(--muted);margin-top:3px}.module-arrow{font-size:21px;color:#738294}.filter-bar{display:flex;gap:10px;margin-bottom:16px}.filter-bar input{flex:1;min-width:160px}.filter-bar select{width:170px}input,select,textarea{font:inherit;font-size:14px;border:1px solid #cbd3dc;border-radius:4px;padding:10px 11px;background:white;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #e7a3a8;outline-offset:2px}.table-panel{overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#f7f8fa;color:#647181;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:13px 18px;border-bottom:1px solid var(--line)}td{padding:15px 18px;border-bottom:1px solid #e8ecf0}tbody tr:hover{background:#fafbfc}.cell-sub{display:block;color:#7b8794;font-size:11px}.status{display:inline-block;font-size:11px;font-weight:700;padding:4px 8px}.status-active{color:var(--green);background:#e7f4ec}.status-inactive{color:#5e6670;background:#edf0f3}.status-archived{color:#a65a12;background:#fff2df}.actions{white-space:nowrap}.actions form{display:inline}.text-link,.text-button{border:0;background:none;padding:3px 5px;color:#941d27;font:inherit;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.table-foot{padding:12px 18px;border-top:1px solid var(--line);background:#fafbfc;font-size:11px;color:var(--muted)}.empty-state{text-align:center;padding:34px 16px;color:var(--muted)}.member-form{padding:0 24px}.form-section{padding:23px 0;border-bottom:1px solid #e8ecf0}.form-section h2{margin-bottom:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.form-grid>div{display:flex;flex-direction:column;gap:6px}.form-grid label,.form-stack label{font-size:12px;font-weight:750;color:#35465a}.field-wide{grid-column:1/-1}.field-help{font-size:11px;color:var(--muted);margin:0}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:20px 0}.form-stack{display:flex;flex-direction:column;gap:8px}.form-stack input{margin-bottom:9px}.login-panel{width:min(100%,420px);background:white;border:1px solid var(--line);border-top:4px solid var(--red);padding:32px;border-radius:7px}.login-panel>p{margin-bottom:25px;font-size:13px}.flash-list{width:100%;margin-bottom:18px}.flash{padding:12px 15px;border:1px solid var(--line);border-left:4px solid #64748b;background:white;margin-bottom:8px;font-size:13px}.flash-success{border-left-color:var(--green);background:#f2faf5}.flash-error{border-left-color:var(--red);background:#fff5f5}.footer{padding:30px 0 4px;color:#8a95a1;font-size:11px}.main-auth .footer{position:absolute;bottom:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.sidebar{width:190px}.topbar{padding:0 18px}.main{padding:26px 22px}}@media(max-width:680px){.topbar{padding:12px 15px;gap:12px;flex-wrap:wrap}.brand{min-width:0;flex:1}.topnav{order:3;width:100%;flex-basis:100%}.user-area{gap:8px}.sidebar{display:none}.main{padding:23px 14px}.page-heading{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap}.filter-bar input{flex-basis:100%}.filter-bar select{flex:1}.member-form{padding:0 16px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.login-panel{padding:25px 21px}.main-auth .footer{position:static;margin-top:25px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Kompaktes Zusatzmenü auf Mobilgeräten */
.mobile-more { display: none; }
@media (max-width: 680px) {
  .topnav { flex-wrap: wrap; gap: 12px; align-items: center; }
  .topnav a { font-size: 14px; }
  .mobile-more { display: block; position: relative; color: #e0e6ed; font-size: 14px; }
  .mobile-more summary { cursor: pointer; list-style: none; white-space: nowrap; }
  .mobile-more summary::-webkit-details-marker { display: none; }
  .mobile-more-menu {
    position: absolute; z-index: 1000; top: calc(100% + 8px); right: 0;
    min-width: 165px; padding: 8px; background: #fff;
    border: 1px solid #e2e8f0; border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.16);
  }
  .mobile-more-menu a {
    display: block; padding: 10px 12px; color: #263445 !important;
    text-decoration: none; border-radius: 6px; white-space: nowrap;
  }
  .mobile-more-menu a:hover { background: #f1f5f9; }
}

/* Einheitliche Formularabstände */
.form-stack {
  gap: 10px;
}

.form-stack label {
  display: block;
  margin-bottom: 2px;
}

.form-stack input,
.form-stack select,
.form-stack textarea {
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 8px;
}

.section-panel form {
  padding: 20px 24px;
}

.section-panel form .button {
  margin-top: 8px;
}

/* Formulare auf schmalen Bildschirmen */
@media (max-width: 680px) {
  .section-panel form {
    padding: 18px 16px;
  }

  .form-stack input,
  .form-stack select,
  .form-stack textarea {
    padding: 12px 13px;
  }

  .form-section {
    padding: 20px 0;
  }

  .form-actions {
    flex-wrap: wrap;
    gap: 10px;
  }
}

/* Einheitliche Ausrichtung und Höhe aller Formularfelder */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 10px 14px;
  box-sizing: border-box;
  vertical-align: middle;
}

textarea {
  width: 100%;
  min-width: 0;
  min-height: 110px;
  padding: 12px 14px;
  box-sizing: border-box;
  resize: vertical;
}

/* Formularbeschriftungen sauber über den Feldern */
.form-grid > div,
.form-stack {
  min-width: 0;
}

.form-grid > div {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.form-grid label,
.form-stack label {
  display: block;
  margin: 0;
}

/* Einheitliche Höhe auch bei Such- und Filterfeldern */
.filter-bar input,
.filter-bar select {
  height: 46px;
}

@media (max-width: 680px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
  select {
    height: 46px;
  }
}

/* Auffällige, anklickbare Warnungs-Kachel */
.warning-card {
  display: block;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
  border-top: 4px solid transparent;
}
.warning-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 16px rgba(23, 43, 67, .12);
}
.warning-card-active {
  background: #fff0f0;
  border-color: #c62835;
}
.warning-card-active .stat-label,
.warning-card-active .stat-value {
  color: #a71927;
}
.warning-card-active .stat-value {
  font-weight: 850;
}
.warning-card-clear {
  background: #edf8f0;
  border-color: #25804b;
}
.warning-card-clear .stat-label,
.warning-card-clear .stat-value {
  color: #176b45;
}
.warning-symbol {
  display: inline-grid;
  place-items: center;
  width: 23px;
  height: 23px;
  margin-right: 5px;
  border-radius: 50%;
  background: currentColor;
  color: white;
  font-size: 15px;
  line-height: 1;
  vertical-align: middle;
}
.warning-arrow {
  float: right;
  font-size: 18px;
  font-weight: 700;
}
