/* ===== Probetraining-Portal – Compact UI (grau abgestuft) ===== */

:root{
  --bg:#141821;          /* vorher #0b0c10  → etwas heller & neutraler grau-blau */
  --card:#1a1d24;        /* vorher #111217  → klarer Abstand zum BG */
  --muted:#a0a8b2;       /* vorher #8a8f97  → bessere Lesbarkeit */
  --text:#e6e6e6;        /* unverändert */
  --accent:#6ee7ff;      /* unverändert */
  --ok:#35cf84;          /* unverändert */
  --err:#ff6b6b;         /* unverändert */

  /* Dichte */
  --radius:10px;
  --gap:8px;
  --pad:10px;
  --pad-sm:6px;

  --border:#2a2f37;      /* vorher #1b1f26 → sichtbarer auf dunklem Grund */
}

/* Reset & Base */
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 13px;              /* kleiner */
  line-height: 1.35;            /* kompakter */
  color: var(--text);
  background: linear-gradient(180deg,#161a22,#0f1217 280px); /* vorher #0f1117→#0a0b0f */
}
a{color:var(--accent);text-decoration:none}
small,.muted{color:var(--muted);font-size:.92em}

/* Layout */
.container{padding:14px;max-width:1100px;margin:0 auto}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.topbar a{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius)}
.card{
  background:var(--card);
  border:1px solid var(--border);
  padding: var(--pad);
  border-radius: var(--radius);
  box-shadow: 0 3px 10px rgba(0,0,0,.22);
  margin-bottom: 10px;
}
.card.narrow{max-width:380px;margin:8vh auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--gap)}
.table{display:grid;gap:6px}
.row{
  display:grid;
  grid-template-columns: 2fr 2fr 1fr 1fr 1fr;
  gap:8px;
  padding:8px;
  border:1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(34,38,46,.75); /* vorher rgba(17,18,23,.65) → heller + etwas dichter */
}
.row.head{font-weight:600;background:transparent;border:none;padding:0}

/* Inputs / Buttons */
label{display:flex;flex-direction:column;gap:4px;font-size:.95em}
input,select,textarea,button{
  padding: 6px 8px;                           
  border-radius: 8px;
  border:1px solid var(--border);
  background:#252a33;                         /* NEU: heller als Cards, gute Abgrenzung */
  color:var(--text);
  outline:none;
}
input,select{height: 32px}                    
textarea{min-height:72px}
button{cursor:pointer}
button.success{background:#0f2b1f;border-color:#174a34}
.btn{
  display:inline-block;
  padding: 6px 8px;
  border:1px solid var(--border);
  border-radius: 8px;
}
.inline{display:inline-flex;gap:6px;align-items:center}
.check{display:flex;align-items:center;gap:6px;margin:4px 0}
:focus-visible{outline:2px solid rgba(110,231,255,.35);outline-offset:2px}

/* Tabs */
.tabs{display:flex;gap:6px;margin:0 0 12px 0}
.tabs a{
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--text);
  opacity:.85;
  font-weight:500;
}
.tabs a.active{
  opacity:1;
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(110,231,255,.10) inset;
}

/* Badges / Alerts */
.badge{
  display:inline-block;
  background:#1c2028;              /* vorher #151a20 → heller */
  border:1px solid var(--border);
  padding:2px 8px;
  border-radius:999px;
  font-size:.88em;
}
.alert{padding:8px;border-radius:8px;margin:6px 0}
.alert.error{background:#2a0e0e;border:1px solid #5a1a1a} /* bewusst nicht grau */

/* Stats (kleiner & dichter) */
.cards{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:12px}
.stat{text-align:center;padding:10px}
.stat-num{font-size:22px;font-weight:700;line-height:1}
.stat-label{color:var(--muted);margin-top:4px}

/* Tabellen auf schmalen Screens */
@media (max-width:900px){
  .row{grid-template-columns: 1fr 1fr}
  .row.head{display:none}
  .cards{grid-template-columns:repeat(3,1fr)}
}

/* Kleinere Abstände in Formularsektionen */
h1,h2,h3{margin:8px 0 10px 0}
hr{border:0;border-top:1px solid var(--border);margin:10px 0}

/* Links in Tabellen */
.row a.btn{padding:6px 8px}
.row small{opacity:.9}

.cards .card.stat { text-decoration:none; cursor:pointer; }
.cards .card.stat .stat-label, .cards .card.stat .stat-num { color: inherit; }



/* ===== Admin UI 3.1.1 ===== */
body.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:#0d1520;color:#eaf1f8;font-size:14px}
.admin-sidebar{position:sticky;top:0;height:100vh;padding:18px 12px;border-right:1px solid #293747;background:linear-gradient(180deg,#13202e,#101a26);display:flex;flex-direction:column;overflow:auto}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 20px}.brand-mark{width:42px;height:48px;display:grid;place-items:center;border:2px solid #5db8ff;border-radius:10px;color:#8fd2ff;font-weight:800;transform:skew(-5deg)}.brand strong,.brand small{display:block}.brand small{margin-top:4px;color:#8fa5b9}
.nav-group{margin:0 0 18px}.nav-group>span{display:block;padding:0 8px 8px;text-transform:uppercase;font-size:11px;color:#7f94a8;letter-spacing:.06em}.nav-group a{display:flex;align-items:center;gap:10px;color:#c7d5e3;padding:10px 12px;border-radius:8px;margin:2px 0}.nav-group a:hover,.nav-group a.active{background:#203246;color:#4db8ff}.nav-group a em{margin-left:auto;background:#33485c;color:#fff;border-radius:999px;padding:1px 7px;font-style:normal;font-size:11px}.sidebar-foot{margin-top:auto;color:#7f94a8;font-size:12px;padding:8px}
.admin-main{min-width:0;padding:0 24px 24px}.admin-header{min-height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #233344;margin-bottom:16px}.admin-header h1{font-size:22px;margin:0}.admin-header p{margin:3px 0 0;color:#8ea2b5}.admin-header nav{display:flex;gap:10px;align-items:center}.admin-header nav>a{padding:10px 16px;border:1px solid #2d4053;border-radius:7px;color:#4cc2ff}.user-chip{display:grid;grid-template-columns:38px auto;column-gap:8px;align-items:center;margin-left:12px}.user-chip i{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9eff5;color:#182331;font-style:normal;font-weight:700}.user-chip b,.user-chip small{display:block}.user-chip small{color:#8ea2b5}
.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin-bottom:16px}.metric-card{position:relative;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto auto;gap:1px 10px;padding:18px;border:1px solid #25384a;border-radius:10px;background:linear-gradient(145deg,#172536,#111d2a);color:#eaf1f8}.metric-card .metric-icon{grid-row:1/4;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#234b7e;font-size:24px}.metric-card strong{font-size:24px;line-height:1}.metric-card b{font-size:13px}.metric-card small{color:#9eb0c1}.metric-card.green .metric-icon{background:#095b35}.metric-card.purple .metric-icon{background:#5b2870}.metric-card.orange .metric-icon{background:#70400d}.metric-card.red .metric-icon{background:#6e2429}
.filter-panel{display:grid;grid-template-columns:1.15fr .7fr .7fr .95fr .7fr .8fr .8fr .85fr .85fr auto auto;gap:14px;align-items:end;padding:16px 18px;margin-bottom:16px;border:1px solid #25384a;border-radius:10px;background:#142130}.filter-panel input,.filter-panel select{width:100%;height:40px;background:#101b28;border-color:#2b3c4e}.filter-panel button,.filter-panel .btn{height:40px;display:grid;place-items:center;padding:0 22px}.filter-panel button{background:#2377d7;border-color:#338df1}.filter-panel .secondary{background:#172331;color:#e7eef6}.checkline{flex-direction:row;align-items:center;padding-bottom:10px;white-space:nowrap}.checkline input{width:16px;height:16px}
.request-table-wrap{overflow-x:auto;border:1px solid #26394b;border-radius:10px;background:#111d29}.request-table{min-width:1180px}.request-row{display:grid;grid-template-columns:1.22fr 1.38fr .55fr .82fr .82fr 1.05fr 1.12fr 1fr .72fr;gap:16px;align-items:center;padding:14px;border-bottom:1px solid #26394b}.request-row:last-child{border-bottom:0}.request-head{font-weight:700;color:#e9f0f7;background:#0f1924;padding-top:13px;padding-bottom:13px}.request-row>div{min-width:0}.request-row small,.request-row span,.request-row a{overflow-wrap:anywhere}.child-cell,.contact-cell,.follow-cell,.registration-cell{display:flex;flex-direction:column;gap:4px}.child-cell>a,.contact-cell>a{color:#3ebcff}.mini-team{align-self:flex-start;background:#18395d;border-radius:4px;padding:2px 7px;color:#8fcaff;font-size:11px}.status-pill{display:inline-block;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700;background:#244568;color:#9fd3ff}.status-waitlisted{background:#5d276f;color:#f0c3ff}.status-assigned,.status-accepted{background:#145b50;color:#b6fff2}.status-appointment{background:#76610d;color:#fff2a6}.status-review,.status-decision{background:#7b410c;color:#ffd7ab}.status-declined{background:#702f35;color:#ffc0c5}.priority{display:block;margin-top:6px;color:#4cd47a}.priority-high{color:#ffb84b}.priority-urgent{color:#ff6565}.follow-cell strong.is-due{color:#ff786f}.follow-cell small,.request-row>div>small{color:#93a7ba}.action-cell{display:flex;align-items:center;gap:8px;justify-content:flex-end}.open-btn{padding:8px 14px;border:1px solid #315675;border-radius:6px;color:#43c1ff}.action-cell details{position:relative}.action-cell summary{list-style:none;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border:1px solid #304457;border-radius:6px}.action-menu{position:absolute;right:0;top:40px;z-index:20;width:160px;padding:7px;border:1px solid #31465a;border-radius:8px;background:#172535;box-shadow:0 12px 30px rgba(0,0,0,.4)}.action-menu a,.action-menu button{display:block;width:100%;text-align:left;padding:8px;background:transparent;border:0;color:#dce9f5;height:auto}.action-menu .danger{color:#ff8585}.empty-state{padding:38px;text-align:center;color:#91a5b8}
.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;color:#91a5b8}.pagination nav{display:flex;gap:5px}.pagination nav a{width:34px;height:34px;display:grid;place-items:center;border:1px solid #2b4054;border-radius:6px;color:#c9d8e6}.pagination nav a.active{background:#247ee0;color:#fff}.pagination select{height:36px;background:#132130}.content-card{padding:20px;border:1px solid #26394b;border-radius:10px;background:#142130}.activity-list>div{display:grid;grid-template-columns:150px 220px 1fr;gap:16px;padding:12px;border-bottom:1px solid #26394b}
@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(3,1fr)}.admin-header nav>a:nth-child(-n+4){display:none}.filter-panel{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){body.admin-shell{display:block}.admin-sidebar{position:relative;height:auto}.admin-main{padding:14px}.admin-header{align-items:flex-start}.metric-grid{grid-template-columns:repeat(2,1fr)}.filter-panel{grid-template-columns:1fr}.pagination{align-items:flex-start;gap:12px;flex-direction:column}}
.version-chip{padding:10px 14px;border:1px solid #2d4053;border-radius:7px;color:#ff9b35}.detail-actions{border-color:#2f4961}.detail-actions h2{margin-top:0}.detail-team-form{margin-top:8px}.detail-team-form select{min-width:280px}

/* ===== Portalweite Modernisierung 3.1.2 ===== */
:root{
  --page:#09111b;--surface:#111d2a;--surface-2:#162434;--surface-3:#1c2c3e;
  --line:#293d50;--line-soft:#213344;--primary:#2f91ef;--primary-2:#52bfff;
  --success:#2fc77e;--warning:#f0a33a;--danger:#ef6464;--shadow:0 14px 40px rgba(0,0,0,.26)
}
html{min-height:100%;background:var(--page)}
body.container,body.center{max-width:none;min-height:100vh;padding:0 24px 36px;background:
radial-gradient(circle at 85% -15%,rgba(47,145,239,.16),transparent 34%),
linear-gradient(180deg,#0c1622 0,#09111b 100%)}
body.container>*{max-width:1320px;margin-left:auto;margin-right:auto}
body.center{display:grid;place-items:center;padding:28px}
body.center>*{width:min(100%,480px)}

.topbar{min-height:72px;margin:0 auto 22px;padding:0 2px;border-bottom:1px solid var(--line-soft);gap:20px}
.topbar>strong,.topbar>div:first-child{font-size:21px;color:#f4f8fc;letter-spacing:-.02em}
.topbar nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.topbar a{height:38px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:rgba(17,29,42,.76);color:var(--primary-2);transition:.18s ease}
.topbar a:hover{border-color:#3d6e98;background:#17283a;transform:translateY(-1px)}

.card{padding:20px;border-color:var(--line);border-radius:12px;background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow);margin-bottom:16px}
.card.narrow{max-width:460px;padding:28px;margin:8vh auto}
.card.narrow h1,.card.narrow h2{text-align:center;font-size:24px}
.card.narrow:before{content:"FCP";width:54px;height:60px;margin:0 auto 18px;display:grid;place-items:center;border:2px solid var(--primary-2);border-radius:14px;color:var(--primary-2);font-weight:900;letter-spacing:.04em;transform:skew(-4deg)}

h1{font-size:28px;letter-spacing:-.03em}h2{font-size:21px}h3{font-size:16px;color:#dce8f3}
p{color:#c5d2de}.muted,small{color:#8fa5b9}

input,select,textarea{width:100%;border-color:#30465b;background:#0d1824;color:#eef5fb;transition:border-color .16s,box-shadow .16s,background .16s}
input:hover,select:hover,textarea:hover{background:#101e2c;border-color:#3a566f}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,145,239,.14);background:#101e2c}
input,select{height:42px;padding:8px 11px}textarea{min-height:110px;padding:11px;resize:vertical}
label{gap:7px;font-weight:600;color:#dbe6ef}.grid{gap:16px}
button,.btn{min-height:38px;padding:8px 15px;border:1px solid #386386;border-radius:8px;background:#193149;color:#e8f4ff;font-weight:650;transition:.16s ease}
button:hover,.btn:hover{background:#224561;border-color:#4e85ae;transform:translateY(-1px)}
button[type=submit]:not(.secondary):not(.danger),button.success{background:linear-gradient(180deg,#2f91ef,#2374c2);border-color:#48a6ff;color:#fff}
button.success{background:linear-gradient(180deg,#28b974,#198c56);border-color:#35d58a}
button:disabled{opacity:.45;cursor:not-allowed;transform:none}

.alert{padding:12px 14px;border:1px solid #285c48;background:#133729;color:#c7f7df;border-radius:9px;margin:12px 0}.alert.error{background:#421d24;border-color:#7f3039;color:#ffd1d5}
.badge{padding:4px 9px;border-color:#34506a;background:#19334c;color:#b9ddff;font-weight:700}

.tabs{gap:8px;margin-bottom:18px;padding-bottom:2px;overflow-x:auto}.tabs a{height:40px;display:inline-flex;align-items:center;padding:0 15px;background:#111d2a;border-color:#293d50;white-space:nowrap}.tabs a.active{background:#18344e;color:#65c7ff;border-color:#3c8ac0}

.table{display:block;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.table .row{min-width:960px;display:grid;grid-template-columns:repeat(var(--cols,5),minmax(140px,1fr));gap:14px;align-items:center;padding:14px 16px;margin:0;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:transparent}
.table .row:last-child{border-bottom:0}.table .row:not(.head):hover{background:#162535}.table .row.head{position:sticky;top:0;z-index:2;background:#0d1824;color:#f1f6fb;font-size:12px;text-transform:uppercase;letter-spacing:.035em}
.table .row>div{min-width:0;overflow-wrap:anywhere}.table .row form{margin:2px 0}
.table .row .inline{flex-wrap:wrap}

.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{min-height:92px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#17283a,#111d2a)}.stat-num{font-size:28px;color:#54c6ff}.stat-label{font-weight:650;color:#b9cadd}

.detail-actions{padding:22px}.detail-actions form{padding-top:10px}.detail-team-form{align-items:flex-end;flex-wrap:wrap}
.activity-list{border:1px solid var(--line-soft);border-radius:10px;overflow:hidden}.activity-list>div{background:#111d2a}.activity-list>div:nth-child(even){background:#142231}

.team-list{display:grid;gap:12px}.teamrow{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.teamrow-head{padding:16px 18px;background:#162535}.entries{padding:12px}.entry{padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:#101b28;margin-bottom:10px}.entry-grid{gap:16px}.pill{background:#183a58!important;border:1px solid #35658b!important;color:#b9ddff!important}

/* Seitenbezogene Spaltenzahlen */
body:has(.table .row.head>div:nth-child(4):last-child) .table .row{--cols:4}
body:has(.table .row.head>div:nth-child(5):last-child) .table .row{--cols:5}
body:has(.table .row.head>div:nth-child(6):last-child) .table .row{--cols:6}
body:has(.table .row.head>div:nth-child(7):last-child) .table .row{--cols:7}

/* öffentliche Anmeldung */
body.container form.card>h1:first-child,body.container form.card>h2:first-child{margin-top:0}
body.container form.card fieldset{border:1px solid var(--line);border-radius:10px;padding:16px;margin:0 0 16px}fieldset legend{padding:0 8px;color:#8fd2ff;font-weight:750}

/* Setup und Upgrade */
.setup-shell{max-width:900px;margin:32px auto;padding:0 20px}.setup-hero{text-align:center;margin-bottom:22px}.setup-hero h1{font-size:30px}.setup-box{padding:24px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:var(--shadow)}

@media(max-width:900px){
 body.container{padding:0 14px 26px}.topbar{align-items:flex-start;padding:14px 0;flex-direction:column}.topbar nav{justify-content:flex-start}
 .card{padding:16px}.grid{grid-template-columns:1fr}.table .row{min-width:760px}.activity-list>div{grid-template-columns:1fr;gap:5px}
}
@media(max-width:560px){body.center{padding:14px}.card.narrow{padding:20px;margin:3vh auto}.cards{grid-template-columns:1fr 1fr}.topbar a{padding:0 10px}.inline{flex-wrap:wrap}}

/* Version 3.1.3 – dauerhafte Admin-Navigation auf allen Verwaltungsseiten */
body.dynamic-admin-shell{margin:0;max-width:none;padding:0;width:100%;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:#0d1520}
body.dynamic-admin-shell>.admin-sidebar{grid-column:1;grid-row:1}
body.dynamic-admin-shell>.admin-page-main{grid-column:2;grid-row:1;min-width:0;width:auto;max-width:none;margin:0;padding:22px 28px 40px}
.admin-page-main>.card,.admin-page-main>.table,.admin-page-main>section,.admin-page-main>form,.admin-page-main>h2,.admin-page-main>nav,.admin-page-main>.alert{max-width:none}
.admin-page-main>.table{overflow-x:auto}
.admin-page-header{margin-bottom:22px}
.admin-page-main .topbar{display:none!important}
@media(max-width:800px){body.dynamic-admin-shell{display:block}.dynamic-admin-shell>.admin-sidebar{position:relative;height:auto}.dynamic-admin-shell>.admin-page-main{padding:14px}}


/* Version 3.1.5 – Schnellrückmeldungen */
.quick-feedback-card{border-color:#31506d}.quick-feedback-form{display:grid;grid-template-columns:220px minmax(280px,1fr);gap:14px;align-items:end}.quick-note{min-width:0}.quick-status-buttons{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.quick-status-buttons button{width:auto;min-height:42px}.quick-status-buttons .success{background:#0c7a4b;border-color:#14945f}.quick-status-buttons .danger{background:#8f2d2d;border-color:#b33b3b}.communication-entry{padding:12px 0;border-bottom:1px solid var(--border)}.communication-entry:last-child{border-bottom:0}.communication-entry>div+div{margin-top:5px}@media(max-width:760px){.quick-feedback-form{grid-template-columns:1fr}.quick-status-buttons{grid-column:1}.quick-status-buttons button{flex:1 1 100%}}
.position-badge{display:inline-flex;min-width:2.4rem;justify-content:center;padding:.25rem .45rem;border-radius:999px;background:#1d4f91;color:#fff;margin-right:.35rem}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end}.filter-grid label{display:grid;gap:.4rem}.filter-grid button{height:44px}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin:16px 0}.stats-grid .stat{background:var(--panel,#142235);border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:18px}.stats-grid .stat strong{display:block;font-size:1.8rem;color:#58c8ff}.stats-grid .stat span{font-size:.86rem;color:#b7c4d4}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.stats-grid{grid-template-columns:repeat(2,1fr)}}


/* Version 3.2.3 – Mannschaftsgründung übersichtlicher */
.planning-create-card{overflow:visible}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.section-heading h2{margin:0 0 4px}.section-heading p{margin:0}.planning-create-grid{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(130px,.45fr) minmax(360px,1.4fr);gap:18px;align-items:start}.planning-note{grid-column:1/3}.planning-note textarea{min-height:120px}.year-picker{grid-column:3;grid-row:1/3;border:1px solid var(--line)!important;border-radius:12px!important;padding:14px!important;margin:0!important;background:#101b28}.year-picker legend{padding:0 8px;color:#dceaf6}.year-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(62px,1fr));gap:8px}.year-option{display:block;cursor:pointer}.year-option input{position:absolute;opacity:0;pointer-events:none}.year-option span{height:40px;display:grid;place-items:center;border:1px solid #365069;border-radius:8px;background:#142333;color:#bfd0df;font-weight:750;transition:.15s ease}.year-option:hover span{border-color:#4f87b3;background:#193149}.year-option input:checked+span{border-color:#55baff;background:#1668aa;color:#fff;box-shadow:0 0 0 3px rgba(47,145,239,.16)}.year-picker small{display:block;margin-top:10px}.planning-submit{grid-column:1/-1;display:flex;justify-content:flex-end}.planning-submit button{min-width:250px}.planning-list .row{grid-template-columns:1.5fr .8fr .6fr .7fr 1fr}.planning-row-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap}.planning-row-actions form{margin:0}.danger-zone{border-color:#693943;background:linear-gradient(145deg,#291a22,#171a23)}.danger-zone h2{color:#ffb7bd}.delete-confirm-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:end;max-width:760px}.delete-confirm-form button{height:42px}.delete-plan-form button{min-height:38px}@media(max-width:1050px){.planning-create-grid{grid-template-columns:1fr 180px}.planning-note{grid-column:1/3}.year-picker{grid-column:1/3;grid-row:auto}.year-picker-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:680px){.planning-create-grid{grid-template-columns:1fr}.planning-note,.year-picker,.planning-submit{grid-column:1}.year-picker-grid{grid-template-columns:repeat(3,1fr)}.planning-submit button{width:100%;min-width:0}.delete-confirm-form{grid-template-columns:1fr}.planning-list .row{min-width:820px}}


/* Version 3.2.4 – Mannschaftsgründung */
.planning-create-grid,.planning-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.planning-create-grid .wide,.planning-edit-grid .wide,.day-picker,.planning-note{grid-column:span 2}.year-picker,.day-picker{border:1px solid var(--border,#33465a);border-radius:12px;padding:14px;margin:0}.year-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px}.year-option,.choice-chip{position:relative;display:block}.year-option input,.choice-chip input{position:absolute;opacity:0;pointer-events:none}.year-option span,.choice-chip span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;border:1px solid #3a4d63;border-radius:9px;background:#101d2b;cursor:pointer;font-weight:700}.year-option input:checked+span,.choice-chip input:checked+span{background:#1671d9;border-color:#5aa5ff;color:white;box-shadow:0 0 0 2px rgba(49,136,255,.18)}.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.planning-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.planning-summary span{background:#101d2b;border:1px solid #33465a;border-radius:10px;padding:10px 12px}.inline.wrap{flex-wrap:wrap}.alert.warning{border-color:#be7d17;background:rgba(190,125,23,.15)}
@media(max-width:1100px){.planning-create-grid,.planning-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.planning-create-grid,.planning-edit-grid{grid-template-columns:1fr}.planning-create-grid .wide,.planning-edit-grid .wide,.day-picker,.planning-note{grid-column:auto}.year-picker-grid{grid-template-columns:repeat(3,1fr)}}
/* Version 3.2.5 – Mitgliederabgleich */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px}.badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#21384e;color:#8fd3ff;font-size:12px}.table-wrap{overflow:auto}

/* Version 3.3 – Kommunikationszentrale */
.tab-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.tab-nav a{padding:10px 14px;border:1px solid #2c4155;border-radius:8px;color:#bdd0e2;background:#132130}.tab-nav a.active,.tab-nav a:hover{background:#247ee0;color:#fff}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stack{display:grid;gap:14px}.stack label{display:grid;gap:6px}.comm-metrics{grid-template-columns:repeat(4,1fr)}
.comm-timeline{display:grid}.comm-timeline article{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #283a4c}.comm-timeline time{color:#91a8bd}.comm-timeline h3{margin:8px 0 4px}.comm-timeline p{margin:5px 0;white-space:normal}
.template-card{padding:16px 0;border-bottom:1px solid #283a4c}.template-card h3{margin:8px 0}.template-card p{color:#9db0c1}.status-pending{background:#684d00!important}.status-sending{background:#204b82!important}.status-sent{background:#0c6b48!important}.status-failed{background:#7c2828!important}.status-cancelled{background:#444!important}
@media(max-width:1000px){.two-col{grid-template-columns:1fr}.comm-metrics{grid-template-columns:repeat(2,1fr)}}


/* 3.4.8 – Gesamtübersicht und sortierbare Spalten */
.request-overview-bar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:14px 0 12px;padding:14px 16px;border:1px solid var(--border);
  border-radius:14px;background:linear-gradient(180deg,rgba(31,54,80,.62),rgba(20,37,56,.78));
}
.request-overview-bar.all{border-color:#3b6f9e;box-shadow:inset 3px 0 0 #4b9cff}
.request-overview-bar.filtered{border-color:#8b6328;box-shadow:inset 3px 0 0 #d89a38}
.request-overview-bar>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.request-overview-bar strong{font-size:17px;color:#f3f7fc}
.request-overview-bar span{font-size:12px;color:#aebdce;overflow-wrap:anywhere}
.all-requests-badge{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center;justify-content:center;
  min-height:34px;padding:5px 10px;border-radius:999px;border:1px solid #4178a8;
  background:#17324b;color:#9fd0ff!important;font-size:11px!important;font-weight:800;letter-spacing:.04em
}
.sort-head{display:inline-flex;align-items:center;gap:7px;color:inherit!important;text-decoration:none!important;font-weight:800}
.sort-head span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid #3a4f68;color:#9fb1c7;font-size:14px}
.sort-head:hover span,.sort-head.active span{background:#21466c;border-color:#4386c4;color:#fff}
.sort-head.active{color:#a9d5ff!important}
@media(max-width:800px){
  .request-overview-bar{align-items:flex-start;flex-direction:column}
  .request-overview-bar .btn,.all-requests-badge{width:100%;text-align:center;justify-content:center}
}
\n\n/* 3.4.9 – Campai-Mitgliederabgleich */\n.campai-list-badge{display:block;width:max-content;max-width:100%;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;text-decoration:none!important;border:1px solid #41536a;color:#c6d3e2!important;background:#1a293a}\n.campai-member{background:#153c2b!important;border-color:#26744d!important;color:#a8ecc6!important}.campai-possible{background:#3a2b12!important;border-color:#94631e!important;color:#ffd18a!important}.campai-error,.campai-inactive{background:#452126!important;border-color:#8a3a44!important;color:#ffc0c6!important}.campai-not_found{background:#222d3b!important;color:#a9b5c4!important}.campai-unchecked{background:#18304a!important;color:#acd2f8!important}\n.campai-row{grid-template-columns:1.45fr 1fr 2fr .9fr 2.2fr!important}.campai-candidate{margin-top:6px;padding:6px 8px;border-radius:8px;background:#101e2d;border:1px solid #31465e;font-size:12px}.campai-detail-box{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 14px;border:1px solid #315f86;background:#11263a;border-radius:12px}.campai-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}\n@media(max-width:1000px){.campai-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.campai-row{grid-template-columns:1fr!important}.campai-row>div{padding:8px 0}.campai-row.head{display:none}}\n
/* 3.4.10 – prominenter Campai-Livefortschritt */
.campai-run-card{border-color:#355f86}
.campai-live-status{margin-top:14px;padding:18px;border-radius:16px;border:1px solid #314960;background:#0c1928}
.campai-live-status.running{border-color:#3b7fbd;background:#0e2236;box-shadow:0 0 0 1px rgba(67,143,207,.12),0 10px 30px rgba(0,0,0,.18)}
.campai-live-status.complete{border-color:#2b8a5b;background:#10291e}
.campai-live-status.failed{border-color:#9a4650;background:#321a20}
.campai-live-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.campai-live-head>div:first-child{display:flex;flex-direction:column;gap:4px}
.campai-live-kicker{font-size:11px;font-weight:900;letter-spacing:.12em;color:#8dbde8}
.campai-live-status.complete .campai-live-kicker{color:#8be2b2}.campai-live-status.failed .campai-live-kicker{color:#ff9ba6}
.campai-live-head strong{font-size:21px;color:#f5f9ff}.campai-percent{font-size:32px;font-weight:900;color:#f5f9ff;white-space:nowrap}
.campai-progress-track{height:18px;margin:16px 0 10px;border-radius:999px;background:#07121e;border:1px solid #2b4056;overflow:hidden}
.campai-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2f7bc4,#59a9ef);transition:width .25s ease}
.campai-live-status.complete .campai-progress-fill{background:linear-gradient(90deg,#238956,#42c17d)}
.campai-progress-numbers{display:flex;justify-content:space-between;gap:20px;align-items:center}.campai-progress-numbers strong{font-size:18px}.campai-progress-numbers span{color:#b4c4d6;font-size:13px}
.campai-live-counters{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:15px}.campai-live-counters>div{padding:10px;border-radius:12px;background:#132438;border:1px solid #2c4259;text-align:center}.campai-live-counters b{display:block;font-size:22px;color:#fff}.campai-live-counters span{display:block;font-size:11px;color:#aebed0;margin-top:2px}
.campai-current{margin-top:14px;padding:12px 14px;border-radius:12px;background:#111f30;border:1px solid #2e435a;display:grid;grid-template-columns:auto 1fr;gap:2px 14px}.campai-current>span{grid-row:1/3;color:#8fa4bb;font-size:12px}.campai-current strong{color:#fff;font-size:16px}.campai-current small{color:#aebed0}
.campai-running-note{margin-top:12px;color:#aebed0;font-size:12px}
@media(max-width:800px){.campai-live-counters{grid-template-columns:repeat(2,1fr)}.campai-live-head,.campai-progress-numbers{flex-direction:column}.campai-percent{font-size:28px}.campai-current{grid-template-columns:1fr}.campai-current>span{grid-row:auto}}

/* 3.4.11 – nachvollziehbare Campai-Trefferdiganose */
.campai-reason{margin:6px 0 8px;padding:8px 10px;border-radius:9px;font-size:12px;line-height:1.4;border:1px solid #344b64;background:#102033;color:#b8c9da}
.campai-reason.warning{border-color:#7b5926;background:#2b2113;color:#f2cd90}.campai-reason.success{border-color:#286747;background:#11271e;color:#9eddbb}.campai-reason.muted{color:#a9b8c7}
.campai-diagnostic{margin:8px 0;border:1px solid #334a62;border-radius:12px;background:#0d1927;overflow:hidden}.campai-diagnostic summary{cursor:pointer;padding:9px 10px;color:#e9f2fb}.campai-diagnostic[open] summary{border-bottom:1px solid #2c4055}
.campai-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.campai-compare-grid>div{padding:9px;border:1px solid #2c4054;border-radius:9px;background:#102033}.campai-compare-grid span{display:block;color:#8499af;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.campai-compare-grid strong{display:block;color:#f4f8fc;font-size:13px;margin:3px 0}.campai-compare-grid small{display:block;color:#b1c0cf;font-size:11px}.campai-compare-grid .warn-text{color:#f2c77e;margin-top:2px}
.campai-check-list{display:flex;gap:6px;flex-wrap:wrap;padding:0 10px 10px}.campai-check-list span{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:750;border:1px solid #344b62}.campai-check-list .ok{background:#123020;border-color:#2d704b;color:#9ce0b8}.campai-check-list .bad{background:#351b20;border-color:#87424b;color:#ffadb5}.campai-check-list .warn{background:#302513;border-color:#826027;color:#ffd491}
.campai-missing-birth{margin-top:7px;padding:8px 10px;border-radius:9px;background:#302513;border:1px solid #826027;color:#ffd491;font-size:11px;line-height:1.45}
@media(max-width:800px){.campai-compare-grid{grid-template-columns:1fr}}

/* 3.4.12 – Campai Diagnosekorrektur */
.campai-compare-grid .raw-date{display:block;color:#71879d;font-size:10px;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* 3.4.15 – Campai-Bereinigungsworkflow */
.campai-cleanup-card{border-color:#2d8a5c;background:linear-gradient(180deg,rgba(23,67,49,.72),rgba(14,40,30,.88))}
.campai-cleanup-card h2{color:#b9f6d1}
.campai-request-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.campai-request-cell .campai-list-badge{margin-top:0}
.campai-request-cell small{color:#91a7bb;font-size:10px}

/* 3.5.0 – Datenqualität, Werkzeuge und Dashboard */
.duplicate-card{border-color:#755b2c}
.health-metrics{margin-top:10px}
.quick-action-grid{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:800px){.quick-action-grid{display:grid;grid-template-columns:1fr}.health-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 3.5.2 – Dubletten-Merge-Assistent */
.duplicate-ignore-form{display:flex;gap:10px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.duplicate-ignore-form input[type=text],.duplicate-ignore-form input:not([type]){min-width:260px}
.master-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px}
.master-choice{display:flex;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#0f1f30;cursor:pointer}
.master-choice:has(input:checked){border-color:#428bd0;box-shadow:inset 0 0 0 1px #428bd0;background:#132a40}
.master-choice input{margin-top:3px}.master-choice span{display:flex;flex-direction:column;gap:4px}.master-choice small{color:#9eb0c4}.master-choice em{color:#8ee0b2;font-style:normal;font-weight:700}
.merge-fields{display:flex;flex-direction:column;gap:8px}.merge-field{display:grid;grid-template-columns:minmax(160px,.8fr) repeat(4,minmax(150px,1fr));gap:8px;align-items:stretch;padding:8px;border-bottom:1px solid var(--border)}
.merge-field label{display:flex;gap:7px;align-items:flex-start;padding:9px;border:1px solid #2b4056;border-radius:9px;background:#102033;overflow-wrap:anywhere}.merge-head{color:#9fb1c5;font-size:12px}.merge-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.merge-info-grid>div{padding:12px;border:1px solid var(--border);border-radius:10px;background:#102033}.merge-info-grid strong,.merge-info-grid span{display:block}.merge-info-grid span{font-size:12px;color:#9eb0c4;margin-top:3px}.merge-final{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:10px;z-index:5;box-shadow:0 8px 30px rgba(0,0,0,.28)}
@media(max-width:900px){.duplicate-ignore-form{flex-direction:column;align-items:stretch}.merge-field{grid-template-columns:1fr}.merge-head{display:none}.merge-info-grid{grid-template-columns:1fr}.merge-final{position:static}.master-grid{grid-template-columns:1fr}}

/* 3.5.4 – SMTP Diagnose */
.smtp-trace-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.smtp-trace-row{display:grid;grid-template-columns:1.1fr .55fr .45fr 2.6fr;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);align-items:start}
.smtp-trace-row:last-child{border-bottom:0}
.smtp-trace-head{background:#0c1927;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#9db1c6;font-weight:800}
.smtp-trace-row small{overflow-wrap:anywhere;color:#b6c5d5}
@media(max-width:800px){.smtp-trace-row{grid-template-columns:1fr .6fr .5fr}.smtp-trace-row>div:last-child{grid-column:1/-1}.smtp-trace-head>div:last-child{display:none}}

/* 3.5.5 – öffentliche Anmeldung im WordPress/Nimble-iframe */
body.embed-public{max-width:none;margin:0;padding:12px;background:transparent;min-height:0}
body.embed-public .topbar{display:none}
body.embed-public .public-registration-card{margin:0 auto;box-shadow:none}
body.embed-public.container.center{min-height:0;padding-top:20px;padding-bottom:20px}
@media(max-width:700px){
  body.embed-public{padding:6px}
  body.embed-public .public-registration-card{border-radius:10px}
}
