/*
 * Offenstall-Dienstplan-App
 * Copyright (c) 2026 Bernhard Rauleder. Alle Rechte vorbehalten.
 *
 * Diese CSS-Datei definiert das gemeinsame Erscheinungsbild der App:
 * Layout, Karten, Navigation, Formulare, Kalenderdarstellung und Druckansichten.
 */

:root{--bg:#f4f6fb;--card:#ffffff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--brand:#2563eb;--danger:#dc2626;--ok:#16a34a;--warn:#f59e0b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand a{font-weight:800;color:var(--text);text-decoration:none}.topbar nav{display:flex;gap:14px;flex-wrap:wrap}.topbar nav a{color:#374151;text-decoration:none;font-weight:600}.topbar nav a:hover{color:var(--brand)}.container{max-width:1380px;margin:0 auto;padding:22px}.footer{text-align:center;color:var(--muted);padding:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:22px;margin-bottom:18px}.card.narrow{max-width:460px;margin:50px auto}.card.wide{min-width:0}.card.side{height:max-content}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}h1,h2,h3{margin:0 0 12px}p{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:13px}.form{display:grid;gap:12px}.form.compact{gap:10px}.form label{display:grid;gap:5px;font-weight:650}.form input,.form select,.form textarea,.copy,.inline input,.userrow input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.form .check{display:flex;grid-template-columns:none;align-items:center;gap:10px;font-weight:500}.form .check input{width:auto}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:10px 14px;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.btn:hover{filter:brightness(.95)}.btn.ghost{background:#eef2ff;color:#1f2937}.btn.danger{background:var(--danger)}.btn.small{padding:6px 10px;border-radius:9px;font-size:13px}.flash{padding:12px 14px;border-radius:12px;margin-bottom:16px;background:#eff6ff;border:1px solid #bfdbfe}.flash.success{background:#ecfdf5;border-color:#bbf7d0}.flash.error{background:#fef2f2;border-color:#fecaca}.flash.warning{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;background:#fff7ed;border:2px solid #f59e0b;border-left:8px solid #f59e0b;color:#78350f;font-weight:650;box-shadow:0 10px 22px rgba(245,158,11,.18)}.flash.warning::before{content:"⚠️";font-size:22px;line-height:1;flex:0 0 auto;margin-top:0}.flash.warning a{color:#92400e;font-weight:800}.split{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.legend{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.legend span{display:inline-flex;align-items:center;gap:6px;background:#f9fafb;border:1px solid var(--line);border-radius:999px;padding:5px 9px}.legend i,.dot{width:11px;height:11px;border-radius:50%;display:inline-block}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:9px 8px}.table th{font-size:13px;color:var(--muted);font-weight:800}.inline{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.mt{margin-top:12px}.userrow{display:grid;grid-template-columns:1.1fr 1.4fr 50px 140px 140px auto;gap:8px;align-items:center;margin-bottom:8px}.fc .fc-button{border-radius:10px!important}.fc .fc-toolbar-title{font-size:1.4rem!important}.fc-event{border-radius:8px!important;padding:2px 4px}.fc-bg-event{opacity:.45!important}@media(max-width:900px){.grid.two{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:10px;flex-direction:column}.split{flex-direction:column}.legend{justify-content:flex-start}.userrow{grid-template-columns:1fr}.container{padding:14px}}
.draft-filter{margin-bottom:10px}.mt{margin-top:12px}.fc-event[style*="rgb"]{font-weight:650}.fc-event-title{font-weight:700}.legend .muted{opacity:.75}.color-preview{display:inline-flex;align-items:center;gap:8px}.color-preview input[type=color]{width:52px;padding:3px;height:38px}
.inline select,.inline textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.tablewrap{overflow:auto}.table input[type=checkbox]{transform:scale(1.1)}code{background:#f3f4f6;border:1px solid var(--line);border-radius:6px;padding:1px 5px}.btn + .btn{margin-left:6px}
.user-admin-card{border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px;background:#fbfdff}.delete-user-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.delete-user-form .check{display:flex;align-items:center;gap:7px;margin:0}.delete-user-form input[type=checkbox]{width:auto}.danger-zone{border-color:#fecaca;background:#fff7f7}

.alertcard { border: 2px solid #f59e0b; background: #fffbeb; }
.swap-list { display: grid; gap: 12px; margin-top: 12px; }
.swap-card { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px; border: 1px solid #f3d18a; border-radius: 16px; background: #fff; }
.swap-card .inline { flex-wrap: nowrap; }
@media (max-width: 760px) { .swap-card { align-items: stretch; flex-direction: column; } .swap-card .inline { justify-content: flex-start; } }

/* v1.7: übersichtlichere Benutzer-/Parteiverwaltung */
.users-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(520px,1.55fr);gap:22px;align-items:start}.user-list-panel{min-width:0}.party-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.party-color-dot{width:18px;height:18px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line);flex:0 0 auto}.party-title{display:grid;gap:1px;min-width:0}.party-title strong{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-title span{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-service-count{margin-left:auto;background:#f3f4f6;border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--muted);font-size:13px;white-space:nowrap}.party-edit-form{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(210px,1.45fr) 78px 135px 135px auto;gap:10px;align-items:end}.party-edit-form label{display:grid;gap:4px;font-weight:650;font-size:13px;color:#374151}.party-edit-form input{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff;font:inherit}.party-edit-form input[type=color]{height:41px;padding:3px}.party-actions{display:flex;align-items:end}.user-admin-card{background:#fff;border-color:#dbe2ea;box-shadow:0 3px 14px rgba(15,23,42,.04)}@media(max-width:1100px){.users-layout{grid-template-columns:1fr}.party-edit-form{grid-template-columns:1fr 1fr}.party-actions{align-items:stretch}.party-actions .btn{width:100%}}@media(max-width:650px){.party-edit-form{grid-template-columns:1fr}.party-card-header{align-items:flex-start}.party-service-count{margin-left:0}.party-card-header{flex-wrap:wrap}}

/* v4.2: aufgeräumte Navigation und direktes Formularfeedback */
.topnav{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;cursor:pointer;color:#374151;font-weight:700}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary::after{content:" ▾";font-weight:700;color:var(--muted)}.nav-dropdown[open] summary{color:var(--brand)}.nav-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:260px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(15,23,42,.16);padding:8px;z-index:50;display:grid;gap:2px}.nav-menu a{display:block;padding:10px 12px;border-radius:10px;white-space:nowrap}.nav-menu a:hover{background:#f3f4f6}.inline-feedback{margin-bottom:12px;padding:10px 12px;border-radius:12px;font-weight:700;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.inline-feedback.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}@media(max-width:760px){.topnav{gap:10px}.nav-dropdown{width:100%}.nav-menu{position:static;min-width:0;margin-top:8px;box-shadow:none}.nav-menu a{white-space:normal}}

/* v4.7: Kalenderexport und Drag-&-Drop-Tauschanfragen */
.export-wrap{display:grid;gap:18px}.print-month{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:18px;break-after:page}.print-month h2{margin-bottom:10px}.print-cal{width:100%;border-collapse:collapse;table-layout:fixed}.print-cal th{background:#f3f4f6;color:#374151;font-weight:800;border:1px solid #d1d5db;padding:7px;text-align:center}.print-cal td{height:96px;vertical-align:top;border:1px solid #d1d5db;padding:6px;background:#fff}.print-cal td.empty{background:#f9fafb}.print-cal td.weekend{background:#fff7ed}.print-cal td.school{background:#eff6ff}.dayno{font-weight:800;margin-bottom:4px}.svc{background:#fff;border:1px solid #e5e7eb;border-left:6px solid var(--brand);border-radius:8px;padding:3px 5px;margin:3px 0;font-size:12px}.holiday{margin-top:3px;background:#ffedd5;border-radius:6px;padding:2px 5px;color:#9a3412;font-size:11px;font-weight:700}.schooltxt{margin-top:3px;color:#1d4ed8;font-size:11px;font-weight:700}.year-grid{grid-template-columns:repeat(3,1fr)}.year-grid .print-month{break-after:auto;padding:10px;border-radius:12px}.year-grid .print-month h2{font-size:16px;margin-bottom:6px}.year-grid .print-cal th{font-size:10px;padding:3px}.year-grid .print-cal td{height:52px;padding:3px}.year-grid .svc{font-size:9px;padding:1px 3px;border-left-width:4px}.year-grid .holiday,.year-grid .schooltxt{display:none}.year-grid .dayno{font-size:11px}.fc-event[style*="245, 158, 11"], .fc-event[style*="#f59e0b"]{font-weight:800}
@media print{body{background:#fff;font-size:11px}.topbar,.footer,.print-controls{display:none!important}.container{max-width:none;padding:0}.print-month{box-shadow:none;border:0;border-radius:0;margin:0;page-break-after:always}.print-month.compact{page-break-after:auto}.print-cal th{padding:4px}.print-cal td{height:82px;padding:4px}.svc{font-size:10px}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.year-grid .print-month{padding:0;page-break-after:auto}.year-grid .print-cal td{height:38px}.year-grid .svc{font-size:8px}.card{box-shadow:none}@page{size:A4 landscape;margin:10mm}}

/* v4.9: sauberere Jahresansicht, lesbarere Feiertage/Ferien und kompakter A4-Export */
.fc .fc-toolbar.fc-header-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.fc .fc-toolbar-chunk{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fc .fc-toolbar-title{font-size:1.35rem!important;line-height:1.15;text-align:center;min-width:180px}.fc .fc-button{margin:0!important}.fc-multimonth{border-radius:12px;overflow:hidden}.fc-multimonth-title{font-weight:800}.fc-multimonth .fc-bg-event .fc-event-title,.fc-daygrid .fc-bg-event .fc-event-title{display:none!important}.fc-multimonth .fc-bg-event{opacity:.58!important}.fc-multimonth .fc-event{font-size:11px!important;line-height:1.05!important;min-height:auto!important}.fc-multimonth .fc-event-main{padding:1px 3px!important}.fc-multimonth .cal-holiday-label{display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:10px;letter-spacing:.02em}.fc-daygridMonth-view .cal-holiday-label{font-weight:800}.fc-multimonth .fc-daygrid-event{white-space:nowrap}.fc .fc-daygrid-day-number{font-weight:650}/* v7.16: Aktueller Tag deutlich markieren */
.fc .fc-daygrid-day.fc-day-today{background:#fff7ed!important;box-shadow:inset 0 0 0 3px #f97316!important;position:relative!important}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame{position:relative!important}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{background:#ea580c!important;color:#fff!important;border-radius:999px!important;min-width:28px;text-align:center;margin:3px 3px 0 0!important;padding:3px 8px!important;font-weight:950!important;box-shadow:0 2px 8px rgba(234,88,12,.35)!important;position:relative!important;z-index:10!important}
.fc-daygridMonth-view .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame:before{content:"HEUTE";position:absolute;left:6px;top:6px;z-index:11;background:#ffedd5;color:#9a3412;border:1px solid #fb923c;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:950;letter-spacing:.04em;pointer-events:none}
.fc-multimonth .fc-daygrid-day.fc-day-today{box-shadow:inset 0 0 0 2px #f97316!important}
.fc-multimonth .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{min-width:22px;padding:2px 5px!important;margin:1px!important;font-size:11px!important}
.fc-multimonth .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame:before{display:none!important}.fc .fc-daygrid-bg-harness{pointer-events:none}.fc .fc-bg-event{border-radius:0!important}
@media(max-width:1050px){.fc .fc-toolbar.fc-header-toolbar{align-items:flex-start}.fc .fc-toolbar-chunk{justify-content:flex-start}.fc .fc-toolbar-title{text-align:left;min-width:0;width:100%}}

/* Export: Jahresübersicht passt im Druck auf eine A4-Querformatseite. */
.year-grid{grid-template-columns:repeat(4,1fr);gap:10px}.year-grid .print-month{break-after:auto;break-inside:avoid;padding:8px;border-radius:10px}.year-grid .print-month h2{font-size:14px;margin-bottom:5px}.year-grid .print-cal th{font-size:9px;padding:2px}.year-grid .print-cal td{height:40px;padding:2px}.year-grid .svc{font-size:8px;line-height:1.05;padding:1px 2px;border-left-width:3px;border-radius:5px}.year-grid .holiday{display:inline-flex;margin-top:1px;padding:1px 3px;border-radius:4px;font-size:8px;line-height:1;background:#f97316;color:#fff}.year-grid .schooltxt{display:none}.year-grid .dayno{font-size:10px;line-height:1;margin-bottom:1px}.print-cal td.school{background:#eef6ff}.print-cal td.weekend.school{background:#eef6ff}.print-cal .holiday{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media print{.year-grid{grid-template-columns:repeat(4,1fr)!important;gap:3mm!important}.year-grid .print-month{padding:0!important;border:0!important;box-shadow:none!important;break-after:auto!important;page-break-after:auto!important;break-inside:avoid!important}.year-grid .print-month h2{font-size:10px!important;line-height:1.05!important;margin:0 0 1.5mm!important;text-align:center}.year-grid .print-cal th{font-size:6.8px!important;padding:0.6mm!important}.year-grid .print-cal td{height:13mm!important;padding:0.6mm!important}.year-grid .dayno{font-size:7px!important;line-height:1!important;margin:0 0 0.5mm!important}.year-grid .svc{font-size:6.3px!important;line-height:1.05!important;padding:0.4mm 0.6mm!important;border-left-width:1.2mm!important;border-radius:1.5mm!important;margin:0.4mm 0!important}.year-grid .holiday{display:inline-flex!important;font-size:6px!important;line-height:1!important;padding:0.4mm 0.8mm!important;border-radius:1.2mm!important;background:#f97316!important;color:#fff!important}.year-grid .schooltxt{display:none!important}@page{size:A4 landscape;margin:6mm}}
.calendar-note-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:13px}.calendar-note-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-note-legend i{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid var(--line)}.legend-holiday{background:#f97316}.legend-school{background:#dbeafe}.legend-absence{background:#fecaca}.legend-today{background:#fff7ed!important;border-color:#f97316!important;box-shadow:inset 0 0 0 2px #f97316}

/* v5.0: PWA-Installation und Push-Einstellungen */
.pwa-card{border-color:#dbeafe;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.pwa-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.notify-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.notify-grid h3{margin:0 0 8px;font-size:15px;color:#374151}
.push-ok{color:#166534!important}.push-error{color:#991b1b!important}
@media(max-width:760px){.notify-grid{grid-template-columns:1fr}.pwa-actions .btn{width:100%}}

/* v5.3: Drag-&-Drop-Tauschanfragen auch für Touch/PWA stabiler bedienbar */
#calendar .fc-event{touch-action:none;user-select:none;-webkit-user-select:none}
#calendar .fc-event.fc-event-dragging{opacity:.85;box-shadow:0 10px 26px rgba(15,23,42,.22)}


/* v5.5: benutzerfreundlichere Parteien-/Adminverwaltung */
.user-list-panel .muted.small{line-height:1.45}
.user-card-modern{padding:16px 18px;margin-bottom:14px;border-radius:18px;background:#fff;border:1px solid #d9e2ec;box-shadow:0 8px 22px rgba(15,23,42,.055)}
.user-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eef2f7}
.user-card-identity{display:flex;align-items:center;gap:12px;min-width:0}.party-color-dot.large{width:22px;height:22px;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--line)}
.user-card-name{font-weight:850;font-size:17px;line-height:1.15}.user-card-email{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}
.user-card-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;border:1px solid transparent;white-space:nowrap}.role-badge.party{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.role-badge.admin-party{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.role-badge.planner-party{background:#eefdf3;color:#15803d;border-color:#bbf7d0}.role-badge.admin-only{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.role-badge.neutral{background:#f3f4f6;color:#4b5563;border-color:#e5e7eb}
.user-edit-modern{display:grid;gap:14px}.user-card-section{background:#f8fafc;border:1px solid #e8eef5;border-radius:14px;padding:12px}.user-card-section h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.user-form-grid{display:grid;gap:10px}.user-form-grid.two-cols{grid-template-columns:1fr 1.25fr}.user-form-grid.three-cols{grid-template-columns:110px 1fr 1fr}.user-form-grid label,.user-edit-modern label{display:grid;gap:5px;font-weight:700;font-size:13px;color:#374151}.user-edit-modern input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:inherit}.user-edit-modern input[type=color]{height:42px;padding:3px;min-width:74px}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-card{display:grid!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 12px;cursor:pointer}.option-card:hover{border-color:#bfdbfe;background:#f8fbff}.option-card input{width:auto!important;margin-top:3px}.option-card strong{display:block;color:#111827;font-size:13px}.option-card small{display:block;color:var(--muted);font-weight:500;line-height:1.3;margin-top:2px}.info-pill{display:inline-flex;margin:10px 0 0!important;padding:7px 10px;border-radius:999px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-size:13px;font-weight:750}.user-card-actions{display:flex;justify-content:flex-end}.danger-row{margin-top:12px;padding-top:12px;border-top:1px solid #fee2e2}.danger-row .check{color:#7f1d1d}.user-create-panel{position:sticky;top:88px}.user-create-panel .form .check{background:#f8fafc;border:1px solid #e8eef5;border-radius:12px;padding:9px 10px}.user-create-panel .form input[type=color]{height:42px;padding:3px}
@media(max-width:1250px){.users-layout{grid-template-columns:1fr}.user-create-panel{position:static}.user-form-grid.two-cols,.role-options{grid-template-columns:1fr}.user-form-grid.three-cols{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:720px){.user-admin-card.user-card-modern{padding:14px}.user-card-top{flex-direction:column}.user-card-badges{justify-content:flex-start}.user-form-grid.three-cols{grid-template-columns:1fr}.user-card-actions .btn,.danger-row .btn{width:100%}.danger-row{align-items:stretch;flex-direction:column}.user-card-email{max-width:100%}}

/* v5.6: Überarbeitete Benutzerverwaltung mit klarer Rollenauswahl und voller Seitenbreite */
.user-management-card{display:block}.create-user-accordion{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;margin:14px 0 18px;overflow:hidden}.create-user-accordion summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;font-weight:850;color:#111827;list-style:none}.create-user-accordion summary::-webkit-details-marker{display:none}.create-user-accordion summary small{font-weight:750;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:5px 10px}.create-user-accordion[open] summary{border-bottom:1px solid #dbeafe;background:#eff6ff}.user-create-wide{padding:16px;display:grid;gap:12px}.create-grid{grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.2fr) minmax(180px,1fr) minmax(180px,.85fr) 95px 150px 150px;align-items:end}.user-create-wide label,.user-edit-modern label{font-weight:750;color:#374151}.user-create-wide input,.user-create-wide select,.user-edit-modern input,.user-edit-modern select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:inherit}.user-create-wide input[type=color],.user-edit-modern input[type=color]{height:42px;padding:3px}.role-note{display:none;margin:0!important}.role-is-user .user-note,.role-is-user-admin .user-note,.role-is-planner .planner-note,.role-is-admin-only .admin-note{display:block}.role-is-admin-only [data-planning-field]{display:none}.form-actions{display:flex;justify-content:flex-end}.role-legend-box{border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:16px;margin:0 0 18px}.role-legend-box h3{margin-bottom:10px}.role-legend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-legend-grid>div{border:1px solid #edf2f7;background:#f8fafc;border-radius:14px;padding:12px}.role-legend-grid p{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.35}.user-list-wide{display:grid;gap:12px}.user-list-wide>h3{margin-top:4px}.user-card-wide{width:100%;padding:16px 18px}.user-edit-grid{grid-template-columns:minmax(150px,1fr) minmax(220px,1.35fr) minmax(170px,.95fr) 90px 145px 145px;align-items:end}.user-card-top{align-items:center}.user-card-badges{align-items:center}.role-explainer{margin-top:10px;color:var(--muted);font-size:13px}.role-copy{display:none}.role-is-user .user-copy,.role-is-user-admin .user-admin-copy,.role-is-planner .planner-copy,.role-is-admin-only .admin-copy{display:block}.user-card-actions{margin-top:12px}.danger-details{margin-top:12px;border-top:1px solid #fee2e2;padding-top:10px}.danger-details summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#991b1b;font-weight:800;font-size:13px}.danger-details summary::marker{color:#991b1b}.danger-details[open] summary{margin-bottom:8px}.danger-row{background:#fff7f7;border:1px solid #fecaca;border-radius:12px;padding:10px;margin-top:0}.danger-row .check{font-weight:650}.user-admin-card.admin-only{background:#fffbf5;border-color:#fed7aa}.user-admin-card.admin-party{background:#fbfaff;border-color:#ddd6fe}.user-admin-card.planner-party{background:#f0fdf4;border-color:#bbf7d0}.user-admin-card.party{background:#fff}.user-card-modern .user-form-grid{display:grid;gap:10px}.user-card-modern .user-card-email{max-width:520px}.role-choice{font-weight:750}
@media(max-width:1280px){.create-grid,.user-edit-grid{grid-template-columns:1fr 1fr}.role-legend-grid{grid-template-columns:1fr}.form-actions,.user-card-actions{justify-content:flex-start}}
@media(max-width:720px){.create-user-accordion summary{align-items:flex-start;flex-direction:column}.create-grid,.user-edit-grid{grid-template-columns:1fr}.user-card-wide{padding:14px}.role-legend-box{padding:14px}.danger-row{flex-direction:column;align-items:stretch}.danger-row .btn,.form-actions .btn,.user-card-actions .btn{width:100%}}

.password-details{margin-top:12px;border-top:1px solid #dbeafe;padding-top:10px}.password-details summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#1d4ed8;font-weight:800;font-size:13px}.password-details[open] summary{margin-bottom:8px}.password-reset-admin-form{background:#f8fbff;border:1px solid #bfdbfe;border-radius:12px;padding:12px;display:grid;gap:10px}.password-reset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.password-reset-grid label{font-weight:750;color:#374151}.password-reset-grid input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:inherit}@media(max-width:720px){.password-reset-grid{grid-template-columns:1fr}.password-reset-admin-form .btn{width:100%}}

/* v5.8: kompakte Benutzerverwaltung im Tabellenstil und E-Mail-Log */
.admin-users-overview .user-count-pill{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#475569;white-space:nowrap}.user-management-table-card{overflow:hidden}.role-legend-inline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 18px}.role-legend-inline>div{border:1px solid #e8eef5;background:#f8fafc;border-radius:14px;padding:11px 12px;display:grid;gap:7px}.role-legend-inline small{color:var(--muted);line-height:1.35}.search-label{display:grid;gap:6px;font-weight:800;margin-bottom:12px}.admin-user-search{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 14px;font:inherit;background:#fff}.compact-create{margin:0 0 12px}.admin-users-table-wrap{overflow:auto;border:1px solid #dbe2ea;border-radius:16px}.admin-users-table{min-width:980px;background:#fff}.admin-users-table th{background:#f8fafc;text-transform:uppercase;letter-spacing:.04em}.admin-users-table td{vertical-align:middle}.admin-users-table .party-color-dot{margin-right:10px;vertical-align:-3px}.admin-user-actions{text-align:right}.user-toggle{min-width:34px;font-size:18px;line-height:1}.admin-user-detail-row td{padding:0!important;background:#fbfdff}.admin-user-detail-panel{border-top:1px solid #e8eef5;padding:16px;background:#fbfdff}.admin-user-detail-panel.admin-only{background:#fffbf5}.admin-user-detail-panel.admin-party{background:#fbfaff}.admin-user-detail-panel.planner-party{background:#f0fdf4}.admin-user-edit-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.9fr) minmax(260px,1.1fr) auto;gap:14px;align-items:start}.admin-user-edit-grid fieldset{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:12px;margin:0;display:grid;gap:10px}.admin-user-edit-grid legend{padding:0 6px;font-weight:850;color:#475569}.admin-user-edit-grid label{display:grid;gap:5px;font-weight:750;color:#374151}.admin-user-edit-grid input,.admin-user-edit-grid select{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff;font:inherit}.admin-user-edit-grid input[type=color]{height:42px;padding:3px}.admin-user-save{display:flex;align-items:flex-end;height:100%;padding-top:20px}.admin-user-secondary-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #e8eef5}.admin-user-secondary-actions details{min-width:min(100%,340px)}.role-is-admin-only [data-planning-field]{display:none}.role-copy{display:none}.role-is-user .user-copy,.role-is-user-admin .user-admin-copy,.role-is-planner .planner-copy,.role-is-admin-only .admin-copy{display:block}.mail-log-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.mail-log-stats span{display:grid;justify-items:center;min-width:86px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:9px 10px}.mail-log-stats strong{font-size:20px}.mail-log-stats small{color:var(--muted);font-size:12px}.mail-log-stats .ok{border-color:#bbf7d0;background:#ecfdf5;color:#166534}.mail-log-stats .bad{border-color:#fecaca;background:#fef2f2;color:#991b1b}.mail-log-filter{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(190px,.8fr) minmax(260px,1.4fr) auto;gap:12px;align-items:end}.mail-log-filter label{display:grid;gap:5px;font-weight:750}.mail-log-filter input,.mail-log-filter select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:inherit}.mail-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:850}.mail-status.sent{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.mail-status.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.mail-error-row{background:#fff7f7}.mail-error-text{color:#991b1b;font-weight:700}.mail-log-table{min-width:1100px}@media(max-width:1050px){.role-legend-inline{grid-template-columns:1fr}.admin-user-edit-grid{grid-template-columns:1fr 1fr}.admin-user-save{height:auto;padding-top:0}.mail-log-filter{grid-template-columns:1fr 1fr}}@media(max-width:720px){.admin-users-table{min-width:760px}.admin-user-edit-grid,.mail-log-filter{grid-template-columns:1fr}.admin-user-secondary-actions{display:grid}.admin-user-save .btn,.mail-log-filter .btn{width:100%}.mail-log-stats{justify-content:flex-start}}

/* v5.9: Benutzerverwaltung aufgeräumt + gemeinsamer Abwesenheitskalender */
.admin-users-overview{background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)}
.admin-users-overview h1{font-size:30px;margin-bottom:6px}.admin-users-overview .split{align-items:center}
.user-management-table-card h2{font-size:24px;margin-bottom:4px}.admin-user-help{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 18px}.admin-user-help-card{border:1px solid #dbeafe;background:#f8fbff;border-radius:16px;padding:14px 15px;display:grid;gap:8px;min-height:120px}.admin-user-help-card.admin{border-color:#fed7aa;background:#fff7ed}.admin-user-help-card.user-admin{border-color:#ddd6fe;background:#fbfaff}.admin-user-help-card.planner{border-color:#bbf7d0;background:#f0fdf4}.admin-user-help-card strong{font-size:15px}.admin-user-help-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.38}.admin-user-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px;align-items:end;margin:14px 0}.admin-user-toolbar .search-label{margin:0}.admin-users-table th,.admin-users-table td{padding:12px 10px}.admin-users-table tbody tr.admin-user-row:hover{background:#f8fafc}.admin-user-actions .user-toggle{background:#dbeafe;border:1px solid #93c5fd;color:#1d4ed8;box-shadow:0 1px 4px rgba(37,99,235,.16)}.admin-user-actions .user-toggle[aria-expanded="true"]{background:#2563eb;color:#fff}.admin-user-detail-panel{border:1px solid #bfdbfe;border-radius:0 0 16px 16px;margin:0 10px 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.role-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:850;border:1px solid #e5e7eb;background:#fff}.role-badge.party{border-color:#bbf7d0;background:#ecfdf5;color:#166534}.role-badge.admin-party{border-color:#ddd6fe;background:#f5f3ff;color:#5b21b6}.role-badge.planner-party{border-color:#bbf7d0;background:#ecfdf5;color:#15803d}.role-badge.admin-only{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.create-user-accordion.compact-create summary{background:#f8fafc;border-radius:16px}.create-user-accordion.compact-create[open] summary{background:#eff6ff}.admin-users-table-wrap{box-shadow:0 4px 18px rgba(15,23,42,.04)}
.absence-calendar-head{align-items:center}.absence-year-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.absence-year-form label{display:grid;gap:5px;font-weight:800}.absence-year-form select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.absence-user-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.absence-user-legend span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-weight:700;font-size:13px}.absence-user-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}.absence-year-board{overflow:auto}.absence-month-row{display:grid;grid-template-columns:92px minmax(760px,1fr);gap:10px;border-bottom:1px solid #e8eef5;padding:10px 0}.absence-month-row:last-child{border-bottom:0}.absence-month-title{font-weight:900;font-size:16px;padding-top:28px;color:#1f2937}.absence-month-grid{min-width:760px}.absence-day-heads{display:grid;grid-template-columns:repeat(var(--days),minmax(22px,1fr));border:1px solid #e5e7eb;border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden;background:#fff}.absence-day-heads span{min-height:24px;text-align:center;font-size:12px;color:#64748b;border-right:1px solid #edf2f7;padding:3px 0}.absence-day-heads span:last-child{border-right:0}.absence-day-heads .weekend{background:#f1f5f9;color:#475569;font-weight:800}.absence-bars{display:grid;grid-template-columns:repeat(var(--days),minmax(22px,1fr));grid-auto-rows:minmax(24px,auto);gap:4px 0;border:1px solid #e5e7eb;border-radius:0 0 12px 12px;background:linear-gradient(90deg,rgba(226,232,240,.42) 1px,transparent 1px);background-size:calc(100% / var(--days)) 100%;padding:6px;min-height:40px}.absence-bar{grid-column:var(--start) / var(--end);background:color-mix(in srgb,var(--bar) 72%,white);border:1px solid color-mix(in srgb,var(--bar) 88%,#000);border-radius:8px;padding:4px 7px;font-size:12px;font-weight:800;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 4px rgba(15,23,42,.08)}.absence-empty{grid-column:1/-1;color:#94a3b8;font-size:13px;padding:3px 6px}.absence-month-row:nth-child(even) .absence-bars{background-color:#fbfdff}
@media(max-width:960px){.admin-user-help{grid-template-columns:1fr}.admin-user-toolbar{grid-template-columns:1fr}.absence-month-row{grid-template-columns:1fr}.absence-month-title{padding-top:0}.absence-month-grid{min-width:720px}.absence-year-board{padding:14px}}
@supports not (color: color-mix(in srgb, red, white)){.absence-bar{background:var(--bar);color:#fff}}

/* v6.1: kompaktere Navigation, Mobile-Menü und Drag-&-Drop-Entscheidungsdialog */
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%}.topbar{gap:18px}.topnav{align-items:center}.nav-maintenance summary{color:#64748b}.nav-maintenance .nav-menu{min-width:240px}.nav-maintenance .nav-menu a{font-size:13px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.46);z-index:200;display:flex;align-items:center;justify-content:center;padding:18px}.modal-box{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.24);padding:20px}.modal-box h2{margin-bottom:6px}.modal-options{display:grid;gap:10px;margin:14px 0}.modal-options label{display:flex;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f8fafc;cursor:pointer}.modal-options label:hover{border-color:#bfdbfe;background:#eff6ff}.modal-options input{margin-top:3px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed;filter:none}.selected-event{outline:3px solid #f59e0b!important;outline-offset:2px}.mini-list{display:grid;gap:12px}.mini-service{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;border:1px solid #dbeafe;background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);border-radius:16px;padding:12px 13px;box-shadow:0 8px 20px rgba(37,99,235,.06)}.mini-service-date{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#2563eb;color:#fff;font-weight:800;line-height:1.05;text-align:center;box-shadow:inset 0 -1px 0 rgba(255,255,255,.2)}.mini-service-date small{display:block;font-size:11px;font-weight:700;opacity:.92;text-transform:uppercase}.mini-service-date span{display:block;font-size:22px;font-weight:900;color:#fff}.mini-service-content{min-width:0}.mini-service-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.mini-service-title strong{font-size:15px;color:#0f172a}.mini-service-badge{display:inline-flex;align-items:center;gap:6px;background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.mini-service-meta{color:#475569;font-size:13px;line-height:1.35}.dashboard-side-actions{display:grid;gap:10px;margin-top:14px}.quick-link{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 13px;text-decoration:none;color:#1f2937;font-weight:750}.quick-link:hover{border-color:#bfdbfe;background:#eff6ff}.quick-link small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.quick-link-arrow{color:#94a3b8;font-weight:900;font-size:18px}.next-services-empty{padding:12px 13px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b}.dashboard-help-box{margin-top:16px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa}.dashboard-help-box h3{margin-bottom:8px}
@media(max-width:760px){.topbar{align-items:stretch}.topnav{display:flex;flex-wrap:wrap;width:100%;background:transparent;border:0;padding:0;box-shadow:none;gap:8px}.topnav>a,.topnav summary{padding:10px 12px;border-radius:11px;background:#f8fafc}.topnav>a:hover,.topnav summary:hover{background:#eff6ff}.nav-dropdown{width:auto}.nav-menu{position:static;box-shadow:none;margin-top:6px;min-width:0;border-radius:12px}.nav-menu a{white-space:normal}.brand-row{width:100%}.modal-box{padding:16px}.modal-actions .btn{width:100%}.mini-service{grid-template-columns:48px 1fr}.mini-service-date{width:48px;height:48px;border-radius:12px}.mini-service-date span{font-size:18px}.quick-link{padding:11px 12px}}
@media(max-width:900px) and (min-width:761px){.topbar{flex-direction:row;align-items:center}.brand-row{width:auto}.topnav{margin-left:auto}.grid.two{grid-template-columns:1fr}.container{padding:14px}}


/* Hotfix 58 / v6.5: mobile/PWA navigation and cleaner user dashboard card */
.next-duty-card .side-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.next-duty-card .side-card-head h2{margin:0}
.next-duty-card .side-card-head p{margin:4px 0 0}
.simple-duty-list{display:grid;gap:8px}
.simple-duty-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbeafe;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border-radius:14px;padding:11px 12px;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.simple-duty-item strong{font-size:14px;color:#0f172a}
.simple-duty-item span{display:inline-flex;align-items:center;border-radius:999px;background:#e0f2fe;color:#075985;border:1px solid #bae6fd;padding:4px 9px;font-size:12px;font-weight:800;white-space:nowrap}
.dashboard-help-box.compact{margin-top:14px;padding:12px 13px;background:#f8fafc;border-color:#e2e8f0}
.dashboard-help-box.compact h3{font-size:16px;margin:0 0 6px}
.dashboard-help-box.compact p{margin:0 0 10px}
.dashboard-help-box.compact .btn{width:100%;justify-content:center}
.next-duty-card .pill{white-space:nowrap;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;font-weight:850}

/* FullCalendar buttons: lighter default state, clearer active state */
.fc .fc-button-primary{background:#eef2ff!important;border-color:#c7d2fe!important;color:#1e3a8a!important;box-shadow:none!important;font-weight:800!important}
.fc .fc-button-primary:hover{background:#dbeafe!important;border-color:#93c5fd!important;color:#1d4ed8!important}
.fc .fc-button-primary:disabled{background:#e5e7eb!important;border-color:#d1d5db!important;color:#6b7280!important;opacity:1!important}
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active{background:#2563eb!important;border-color:#1d4ed8!important;color:#fff!important;box-shadow:0 6px 14px rgba(37,99,235,.25)!important}
.fc .fc-toolbar-chunk{display:flex;gap:6px;flex-wrap:wrap}
.fc .fc-button-group{gap:4px}
.fc .fc-button-group>.fc-button{border-radius:10px!important;margin-left:0!important}

/* App/mobile: keep navigation compact as a horizontal chip bar instead of a tall link block */
@media(max-width:760px){
  .topbar{display:block;padding:10px 12px}
  .brand-row{margin-bottom:8px}
  .topnav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:visible;gap:8px;padding:2px 0 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .topnav>a,.topnav summary{display:inline-flex;align-items:center;white-space:nowrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:8px 11px;font-size:14px;font-weight:850}
  .topnav>a:hover,.topnav summary:hover{background:#eff6ff;border-color:#bfdbfe}
  .nav-dropdown{position:relative;flex:0 0 auto;width:auto!important}
  .nav-dropdown .nav-menu{position:absolute;left:0;right:auto;top:calc(100% + 8px);min-width:230px;max-width:calc(100vw - 24px);box-shadow:0 14px 34px rgba(15,23,42,.16);border-radius:14px;background:#fff;z-index:80}
  .nav-maintenance{display:none}
  .fc .fc-toolbar{gap:8px}
  .fc .fc-toolbar-title{font-size:20px!important}
  .simple-duty-item{align-items:flex-start;flex-direction:column}
  .simple-duty-item span{align-self:flex-start}
}

/* Installed app mode: make admin navigation extra compact */
@media(display-mode:standalone){
  .topbar{display:block;padding:10px 12px}
  .brand-row{margin-bottom:8px}
  .topnav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .topnav>a,.topnav summary{white-space:nowrap;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:8px 11px;font-size:14px;font-weight:850}
  .nav-maintenance{display:none}
  .nav-dropdown{flex:0 0 auto}
}


/* Hotfix 59 / v6.6: Export im Kalender-Menü, kompakter Header und klarere Kalenderbuttons */
.nav-calendar .nav-menu{left:0;right:auto}
.card .split .actions:empty{display:none}

/* FullCalendar-Buttons final überschreiben: helle Normalbuttons, stark sichtbarer aktiver Button */
body .fc .fc-toolbar .fc-button,
body .fc .fc-toolbar .fc-button-primary,
body .fc .fc-button-group .fc-button,
body .fc .fc-button-group .fc-button-primary{
  background:#f1f5f9!important;
  border:1px solid #cbd5e1!important;
  color:#334155!important;
  box-shadow:none!important;
  font-weight:850!important;
  text-shadow:none!important;
}
body .fc .fc-toolbar .fc-button:hover,
body .fc .fc-toolbar .fc-button-primary:hover,
body .fc .fc-button-group .fc-button:hover,
body .fc .fc-button-group .fc-button-primary:hover{
  background:#e0f2fe!important;
  border-color:#7dd3fc!important;
  color:#075985!important;
}
body .fc .fc-toolbar .fc-button-primary:not(:disabled).fc-button-active,
body .fc .fc-toolbar .fc-button:not(:disabled).fc-button-active,
body .fc .fc-button-group .fc-button-primary:not(:disabled).fc-button-active,
body .fc .fc-button-group .fc-button:not(:disabled).fc-button-active,
body .fc .fc-toolbar .fc-button-primary:not(:disabled):active,
body .fc .fc-button-group .fc-button-primary:not(:disabled):active{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
  color:#ffffff!important;
  box-shadow:0 7px 18px rgba(37,99,235,.30)!important;
}
body .fc .fc-toolbar .fc-button:disabled,
body .fc .fc-toolbar .fc-button-primary:disabled{
  background:#e5e7eb!important;
  border-color:#d1d5db!important;
  color:#64748b!important;
  opacity:1!important;
}

@media(max-width:760px), (display-mode:standalone){
  .nav-calendar .nav-menu{left:0;right:auto}
  .topnav{padding-bottom:6px!important}
}


/* Hotfix 60 / v6.7: Kalender-Menü kompakt, Export nur als Unterpunkt, zuverlässigere Button-Farben */
.nav-combo{display:inline-flex;align-items:center;gap:2px}
.nav-combo .nav-main-link{color:#374151;text-decoration:none;font-weight:850;padding:0}
.nav-combo .nav-submenu summary{padding-left:2px;padding-right:2px}
.nav-combo .nav-submenu summary::after{content:""}
.nav-combo .nav-menu{left:0;right:auto}
.calendar-head-clean{align-items:flex-start}
.calendar-head-clean .legend{margin-left:auto}

/* FullCalendar nutzt je nach Theme Variablen; diese werden zusätzlich gesetzt. */
#calendar .fc{
  --fc-button-bg-color:#f1f5f9;
  --fc-button-border-color:#cbd5e1;
  --fc-button-text-color:#334155;
  --fc-button-hover-bg-color:#e0f2fe;
  --fc-button-hover-border-color:#7dd3fc;
  --fc-button-active-bg-color:#2563eb;
  --fc-button-active-border-color:#1d4ed8;
}
#calendar .fc .fc-button,
#calendar .fc .fc-button-primary,
.fc .fc-button.fc-button-primary{
  background:#f1f5f9!important;
  background-color:#f1f5f9!important;
  border-color:#cbd5e1!important;
  color:#334155!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
#calendar .fc .fc-button:hover,
#calendar .fc .fc-button-primary:hover,
.fc .fc-button.fc-button-primary:hover{
  background:#e0f2fe!important;
  background-color:#e0f2fe!important;
  border-color:#7dd3fc!important;
  color:#075985!important;
}
#calendar .fc .fc-button-active,
#calendar .fc .fc-button-primary:not(:disabled).fc-button-active,
#calendar .fc .fc-button-primary:not(:disabled):active,
.fc .fc-button-primary:not(:disabled).fc-button-active{
  background:#2563eb!important;
  background-color:#2563eb!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(37,99,235,.30)!important;
}
@media(max-width:760px), (display-mode:standalone){
  .nav-combo{flex:0 0 auto;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px}
  .nav-combo .nav-main-link{padding:8px 6px 8px 11px;font-size:14px}
  .nav-combo .nav-submenu summary{background:transparent!important;border:0!important;border-radius:999px;padding:8px 10px 8px 2px!important}
  .nav-combo .nav-submenu .nav-menu{left:0;top:calc(100% + 8px)}
}


/* Hotfix 61 / v6.8: Kalender-Menü-Pfeil korrigiert */
.nav-combo.nav-calendar-combo{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.nav-combo.nav-calendar-combo .nav-main-link{display:inline-flex;align-items:center;color:#374151;text-decoration:none;font-weight:850}
.nav-combo.nav-calendar-combo .nav-submenu{display:inline-flex;align-items:center;width:auto!important}
.nav-combo.nav-calendar-combo .nav-submenu summary{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 2px!important;background:transparent!important;border:0!important;border-radius:999px;color:#6b7280;line-height:1;cursor:pointer}
.nav-combo.nav-calendar-combo .nav-submenu summary::after{content:"▾"!important;margin:0!important;font-size:12px;font-weight:900;color:#6b7280}
.nav-combo.nav-calendar-combo .nav-submenu[open] summary::after{color:#2563eb}
.nav-combo.nav-calendar-combo .nav-submenu .nav-menu{left:0;right:auto}
@media(max-width:760px){
  .nav-combo.nav-calendar-combo{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:0 4px 0 0;flex:0 0 auto}
  .nav-combo.nav-calendar-combo .nav-main-link{padding:8px 4px 8px 11px;font-size:14px}
  .nav-combo.nav-calendar-combo .nav-submenu summary{padding:8px 8px 8px 2px!important;min-width:20px}
}
@media(display-mode:standalone){
  .nav-combo.nav-calendar-combo{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:0 4px 0 0;flex:0 0 auto}
  .nav-combo.nav-calendar-combo .nav-main-link{padding:8px 4px 8px 11px;font-size:14px}
  .nav-combo.nav-calendar-combo .nav-submenu summary{padding:8px 8px 8px 2px!important;min-width:20px}
}


/* Hotfix 62 / v6.9: Kalender-Link und Export-Pfeil wirklich nebeneinander */
.topnav .calendar-menu-pair{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.topnav .calendar-menu-pair .calendar-main-link{
  display:inline-flex!important;
  align-items:center!important;
  color:#374151!important;
  text-decoration:none!important;
  font-weight:850!important;
  padding:0!important;
  line-height:1.45!important;
}
.topnav .calendar-menu-pair .calendar-main-link:hover{color:var(--brand)!important}
.topnav .calendar-menu-pair .calendar-menu-dropdown{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 auto!important;
}
.topnav .calendar-menu-pair .calendar-menu-dropdown summary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:999px!important;
  color:#6b7280!important;
  line-height:1!important;
  cursor:pointer!important;
  list-style:none!important;
}
.topnav .calendar-menu-pair .calendar-menu-dropdown summary::-webkit-details-marker{display:none!important}
.topnav .calendar-menu-pair .calendar-menu-dropdown summary::after{content:""!important;display:none!important}
.topnav .calendar-menu-pair .calendar-menu-arrow{display:inline-block!important;font-size:12px!important;font-weight:900!important;line-height:1!important;color:#6b7280!important;transform:translateY(1px)}
.topnav .calendar-menu-pair .calendar-menu-dropdown[open] .calendar-menu-arrow{color:#2563eb!important}
.topnav .calendar-menu-pair .calendar-menu-dropdown .nav-menu{left:0!important;right:auto!important;top:calc(100% + 10px)!important}

@media(max-width:760px), (display-mode:standalone){
  .topnav .calendar-menu-pair{
    background:#f8fafc!important;
    border:1px solid #e5e7eb!important;
    border-radius:999px!important;
    padding:0 6px 0 0!important;
  }
  .topnav .calendar-menu-pair .calendar-main-link{
    padding:8px 4px 8px 11px!important;
    font-size:14px!important;
  }
  .topnav .calendar-menu-pair .calendar-menu-dropdown summary{
    width:22px!important;
    height:34px!important;
    min-width:22px!important;
  }
  .topnav .calendar-menu-pair .calendar-menu-dropdown .nav-menu{
    left:0!important;
    right:auto!important;
    top:calc(100% + 8px)!important;
  }
}

/* v7.0: Datenbank-Backups im Admin-Bereich */
.backup-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.backup-stats span{display:inline-flex;gap:6px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:#374151}.backup-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.backup-action-box{border:1px solid var(--line);border-radius:16px;background:#f9fafb;padding:16px;display:grid;gap:10px;align-content:start}.backup-table-wrap{overflow-x:auto}.backup-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850;border:1px solid var(--line);white-space:nowrap}.backup-badge.backup-auto{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.backup-badge.backup-manual{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.backup-actions-cell{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.backup-inline-details{position:relative}.backup-inline-details>summary{list-style:none;cursor:pointer}.backup-inline-details>summary::-webkit-details-marker{display:none}.backup-inline-form{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:310px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(15,23,42,.16);padding:12px;display:grid;gap:10px}.backup-inline-form .check{display:flex;gap:8px;align-items:flex-start}.backup-inline-form .check input{margin-top:3px}@media(max-width:900px){.backup-action-grid{grid-template-columns:1fr}.backup-stats{justify-content:flex-start}.backup-actions-cell{display:grid}.backup-inline-form{position:static;min-width:0;margin-top:8px}}


/* v7.1: Navigation und Cron-Hinweise */
.form-label{display:grid;gap:6px;margin-top:10px}
.topnav details.nav-dropdown[open] summary{color:var(--brand)}

/* v7.4: kompaktere Rollenanzeige in der Benutzerverwaltung */
.role-summary{margin:2px 0 0!important;line-height:1.45;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}
.user-create-wide .role-summary{grid-column:1 / -1}

/* v7.5: Tauschanfragen für Planer-Parteien und robustere API-Fehlerausgabe */


/* v7.9: deutlichere Warnmeldung bei Blocker-Konflikten mit veröffentlichten Diensten */
.flash.warning{position:relative;padding:16px 18px 16px 52px!important;border:2px solid #f59e0b!important;border-left-width:8px!important;background:linear-gradient(180deg,#fff7ed 0%,#fffbeb 100%)!important;color:#7c2d12!important;font-weight:800!important;box-shadow:0 12px 28px rgba(245,158,11,.18)!important}
.flash.warning::before{content:"⚠";position:absolute;left:17px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#f59e0b;color:#fff;font-size:16px;font-weight:900;line-height:1}
.flash.warning a{color:#7c2d12;font-weight:900;text-decoration:underline}

/* v7.11: Warnhinweise zusätzlich als echte Elemente, damit Symbol/Rahmen nicht von ::before oder altem Cache abhängen. */
.flash-warning-strong{position:relative!important;display:flex!important;align-items:flex-start!important;gap:12px!important;padding:16px 18px!important;border:3px solid #f59e0b!important;border-left:10px solid #d97706!important;border-radius:14px!important;background:linear-gradient(180deg,#fff7ed 0%,#fffbeb 100%)!important;color:#7c2d12!important;font-weight:800!important;box-shadow:0 14px 32px rgba(245,158,11,.22)!important}
.flash-warning-strong::before{content:none!important;display:none!important}
