/* LayCrew Schichtplanung – Desktop/Mobile Redesign 2026-05-28
   Gilt bewusst für public.php und board.php und wird nach den alten Inline-Regeln geladen. */
:root{
  --shift-red:#a50f2d;
  --shift-red-2:#d7193f;
  --shift-ink:#111827;
  --shift-muted:#667085;
  --shift-soft:#f6f7fb;
  --shift-line:#e6eaf0;
  --shift-card:#ffffff;
  --shift-shadow:0 18px 50px rgba(17,24,39,.07);
  --shift-shadow-soft:0 8px 24px rgba(17,24,39,.045);
}

html,body{max-width:100%!important;overflow-x:hidden!important;}
*,*::before,*::after{box-sizing:border-box!important;}
body{
  margin:0!important;
  background:
    radial-gradient(circle at 8% -12%,rgba(165,15,45,.12),transparent 22rem),
    radial-gradient(circle at 94% 3%,rgba(215,25,63,.08),transparent 20rem),
    linear-gradient(180deg,#fbfbfc 0%,#fff 34%,#f4f6f9 100%)!important;
  color:var(--shift-ink)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased!important;
}

.public-hero{background:transparent!important;border:0!important;box-shadow:none!important;}
.public-nav{width:min(100% - 32px,1320px)!important;max-width:1320px!important;margin:0 auto!important;padding:16px 0 8px!important;}
.public-brand{min-width:0!important;}
.public-brand .logo{width:46px!important;height:46px!important;border-radius:15px!important;box-shadow:0 10px 26px rgba(165,15,45,.14)!important;}
.brand-main{font-size:1.05rem!important;font-weight:900!important;letter-spacing:-.02em!important;}
.brand-sub{font-size:.84rem!important;color:var(--shift-muted)!important;font-weight:700!important;}

.public-wrap{
  width:min(100% - 32px,1320px)!important;
  max-width:1320px!important;
  margin:0 auto 42px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.card,.event-card,.board-filter-card,.home-screen-card,.layla-public-card{
  border:1px solid rgba(230,234,240,.95)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--shift-shadow-soft)!important;
}
.event-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:30px!important;
  padding:28px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(165,15,45,.10),transparent 15rem),
    linear-gradient(135deg,#ffffff 0%,#fff8f5 100%)!important;
}
.event-card::before{display:none!important;}
.event-card h1{
  max-width:980px!important;
  margin:0 0 14px!important;
  color:#101828!important;
  font-size:clamp(2rem,4.4vw,3.6rem)!important;
  line-height:1.02!important;
  letter-spacing:-.06em!important;
  font-weight:900!important;
}
.event-card p{color:#475467!important;line-height:1.55!important;}
.event-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
.event-meta span{
  display:inline-flex!important;align-items:center!important;min-height:34px!important;
  border:1px solid rgba(230,234,240,.98)!important;
  border-radius:999px!important;
  background:#fff!important;
  padding:7px 12px!important;
  color:#475467!important;
  font-size:.86rem!important;
  font-weight:800!important;
  box-shadow:none!important;
}

.public-stats-row,.board-stats-row{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:12px!important;
  margin:16px 0!important;
}
.public-stat,.board-stat{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"label value"!important;
  align-items:center!important;
  gap:10px!important;
  min-height:72px!important;
  padding:16px 18px!important;
  border:1px solid rgba(230,234,240,.95)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--shift-shadow-soft)!important;
}
.public-stat strong,.board-stat strong{
  grid-area:value!important;
  display:block!important;
  margin:0!important;
  color:#101828!important;
  font-size:clamp(1.45rem,2.2vw,2.05rem)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  font-weight:750!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.public-stat span,.board-stat span{
  grid-area:label!important;
  display:block!important;
  margin:0!important;
  color:#667085!important;
  text-align:left!important;
  font-size:.74rem!important;
  line-height:1.15!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  font-weight:850!important;
}

.board-filter-card,.home-screen-card{border-radius:24px!important;padding:18px!important;margin:16px 0!important;}
.board-tools,.actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
.open-filter-bar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  margin:16px 0 18px!important;
  padding:12px!important;
  border:1px solid rgba(230,234,240,.95)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:var(--shift-shadow-soft)!important;
}
.leader-summary{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
.summary-pill{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  border:1px solid #bbf7d0!important;
  border-radius:999px!important;
  background:#f0fdf4!important;
  color:#166534!important;
  padding:7px 12px!important;
  font-size:.86rem!important;
  font-weight:850!important;
}
.summary-pill.bad{border-color:#fecdd3!important;background:#fff1f2!important;color:#9f1239!important;}
.btn,.share-chip,button,a.btn{
  border-radius:999px!important;
  min-height:40px!important;
  padding:9px 14px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.btn.secondary,a.btn.secondary,button.btn.secondary{
  border:1px solid rgba(230,234,240,.98)!important;
  background:#fff!important;
  color:#344054!important;
  box-shadow:none!important;
}
.btn:not(.secondary),button[type=submit]{
  border:0!important;
  background:linear-gradient(135deg,var(--shift-red),var(--shift-red-2))!important;
  color:#fff!important;
  box-shadow:0 12px 25px rgba(165,15,45,.18)!important;
}

.day-tabs{
  position:sticky!important;
  top:0!important;
  z-index:25!important;
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  margin:18px 0!important;
  padding:8px!important;
  border:1px solid rgba(230,234,240,.95)!important;
  border-radius:22px!important;
  background:rgba(248,250,252,.9)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 10px 26px rgba(17,24,39,.045)!important;
  scrollbar-width:none!important;
}
.day-tabs::-webkit-scrollbar{display:none!important;}
.day-tab{
  flex:0 0 auto!important;
  min-width:118px!important;
  border:1px solid transparent!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#344054!important;
  padding:10px 14px!important;
  font-size:.9rem!important;
  font-weight:900!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.day-tab.active{background:linear-gradient(135deg,var(--shift-red),var(--shift-red-2))!important;color:#fff!important;box-shadow:0 10px 24px rgba(165,15,45,.22)!important;}
.day-section{display:none!important;}
.day-section.active{display:block!important;}
.day-heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;margin:20px 0 12px!important;}
.day-heading h2{margin:0!important;font-size:1.34rem!important;letter-spacing:-.03em!important;font-weight:900!important;color:#101828!important;}
.day-count{border:1px solid rgba(230,234,240,.98)!important;background:#fff!important;border-radius:999px!important;padding:7px 11px!important;color:#667085!important;font-size:.82rem!important;font-weight:850!important;box-shadow:none!important;}

.area-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.area-group{
  position:relative!important;
  border:1px solid rgba(230,234,240,.95)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:var(--shift-shadow)!important;
  overflow:hidden!important;
  transform:none!important;
}
.area-group:hover{transform:none!important;box-shadow:var(--shift-shadow)!important;}
.area-group::before{display:none!important;}
.area-toggle{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:0!important;
  border:0!important;
  background:linear-gradient(180deg,#fff,#fffaf8)!important;
  padding:14px 16px!important;
  text-align:left!important;
  cursor:pointer!important;
}
.area-title{display:block!important;min-width:0!important;width:100%!important;margin:0!important;}
.area-title strong{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  color:#101828!important;
  font-size:1.08rem!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  font-weight:900!important;
}
.area-type-icon{
  flex:0 0 40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  margin:0!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fff1f2,#fff7ed)!important;
  color:var(--shift-red)!important;
  box-shadow:inset 0 0 0 1px rgba(165,15,45,.10)!important;
  font-size:21px!important;
  line-height:1!important;
}
.area-status-dot{display:none!important;}
.area-summary{
  display:block!important;
  margin:7px 0 0 50px!important;
  color:#667085!important;
  font-size:.88rem!important;
  line-height:1.3!important;
  font-weight:750!important;
}
.area-summary strong{display:inline!important;margin:0!important;font:inherit!important;font-weight:900!important;}
.area-preview{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:11px 0 0 50px!important;
  max-width:100%!important;
  overflow:visible!important;
}
.area-preview-chip{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  border:1px solid var(--shift-line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#475467!important;
  padding:5px 9px!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.area-preview-chip.bad{background:#fff1f2!important;color:#9f1239!important;border-color:#fecdd3!important;}
.area-preview-chip.warn{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.area-preview-chip.ok{background:#f0fdf4!important;color:#166534!important;border-color:#bbf7d0!important;}
.area-chevron{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border:1px solid rgba(230,234,240,.98)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--shift-red)!important;
  font-size:1.1rem!important;
  font-weight:900!important;
  transition:transform .18s ease!important;
}
.area-group.open .area-chevron{transform:rotate(180deg)!important;}
.area-content{display:none!important;padding:0 14px 14px!important;background:#fff!important;}
.area-group.open .area-content{display:block!important;}

.shift-summary-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:10px!important;
  padding:0!important;
}
.shift-accordion{
  position:relative!important;
  border:1px solid rgba(230,234,240,.98)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.shift-accordion.status-bad{border-color:#fecdd3!important;background:#fffafa!important;}
.shift-accordion.status-warn{border-color:#fed7aa!important;background:#fffdf8!important;}
.shift-accordion.status-ok{border-color:#bbf7d0!important;background:#fbfffc!important;}
.shift-toggle{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  padding:13px 42px 13px 14px!important;
  text-align:left!important;
  cursor:pointer!important;
}
.shift-toggle-main{min-width:0!important;max-width:100%!important;}
.shift-title-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  color:#101828!important;
  font-size:.98rem!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.shift-time-line{
  display:block!important;
  margin-top:6px!important;
  color:#667085!important;
  font-size:.84rem!important;
  line-height:1.32!important;
  font-weight:750!important;
}
.shift-toggle-side{
  position:absolute!important;
  right:12px!important;
  top:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;
  height:26px!important;
  pointer-events:none!important;
}
.shift-chevron{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;
  height:26px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--shift-red)!important;
  font-size:1rem!important;
  font-weight:900!important;
  box-shadow:none!important;
  transition:transform .18s ease!important;
}
.shift-accordion.open .shift-chevron{transform:rotate(180deg)!important;}
.shift-body{display:none!important;}
.shift-accordion.open .shift-body{display:block!important;}
.shift-body-inner{
  padding:14px!important;
  border-top:1px solid rgba(230,234,240,.96)!important;
  border-radius:0!important;
  background:#fbfcfe!important;
}
.progress{height:8px!important;border:0!important;border-radius:999px!important;background:#eceff4!important;overflow:hidden!important;}
.progress>span{display:block!important;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,var(--shift-red),#fb7185)!important;}
.shift-needed{border-radius:14px!important;padding:9px 11px!important;margin:10px 0!important;font-size:.9rem!important;font-weight:850!important;}
.badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:22px!important;
  border-radius:999px!important;
  padding:3px 8px!important;
  border:1px solid rgba(230,234,240,.9)!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.badge.free{background:#f0fdf4!important;color:#166534!important;border-color:#bbf7d0!important;}
.badge.full{background:#f2f4f7!important;color:#475467!important;border-color:#e5e7eb!important;}
.badge.wait{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.badge.internal{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
.badge.leader-missing{background:#fff1f2!important;color:#9f1239!important;border-color:#fecdd3!important;}
.badge.leader-ok{background:#f0fdf4!important;color:#166534!important;border-color:#bbf7d0!important;}

.shift-body form,.quick-form,.watering-board-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:860px!important;
  margin:12px auto 0!important;
}
.signup-field{min-width:0!important;}
.shift-body form label,.shift-body form textarea,.shift-body form button.full,.role-choice-list,.quick-form div[style*="grid-column"],.watering-board-form .full{grid-column:1 / -1!important;}
.shift-body form input,.shift-body form textarea,.shift-body form select,.quick-form input,.quick-form textarea,.quick-form select,.watering-board-form input,.watering-board-form textarea{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  border:1px solid #d0d5dd!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:10px 12px!important;
  color:#101828!important;
  font:inherit!important;
}
.shift-body form textarea,.watering-board-form textarea{min-height:82px!important;resize:vertical!important;}
.role-choice-list{display:grid!important;gap:8px!important;margin-top:6px!important;}
.role-choice{
  border:1px solid rgba(230,234,240,.98)!important;
  border-radius:16px!important;
  background:#fff!important;
  padding:10px!important;
  font-weight:800!important;
}
.role-choice input{width:auto!important;min-height:0!important;}
.role-chip{border-radius:999px!important;border:1px solid rgba(230,234,240,.98)!important;background:#fff!important;padding:5px 8px!important;font-size:.8rem!important;font-weight:850!important;}

.board-helper-overview{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin:12px 0!important;
}
.board-helper-overview>div,.board-leader-box{
  border:1px solid rgba(230,234,240,.95)!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:13px!important;
  box-shadow:none!important;
}
.board-helper-overview h4,.board-leader-box h3{margin:0 0 8px!important;color:#101828!important;font-size:.96rem!important;letter-spacing:-.01em!important;}
.board-helper-overview ul{margin:0!important;padding-left:18px!important;}
.admin-empty{color:#667085!important;font-weight:750!important;}
.hidden-by-open-filter,.hidden-by-leader-filter{display:none!important;}

@media (min-width:1100px){
  .shift-summary-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (min-width:1450px){
  .shift-summary-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:900px){
  .public-wrap,.public-nav{width:calc(100% - 22px)!important;}
  .event-card{border-radius:24px!important;padding:22px!important;}
  .open-filter-bar{display:block!important;}
  .open-filter-bar .actions{margin-top:10px!important;display:grid!important;grid-template-columns:1fr!important;}
  .actions .btn,.actions .share-chip{width:100%!important;justify-content:center!important;text-align:center!important;}
  .board-helper-overview{grid-template-columns:1fr!important;}
}
@media (max-width:720px){
  .public-wrap,.public-nav{width:calc(100% - 18px)!important;}
  .public-nav{padding-top:10px!important;}
  .brand-sub{display:none!important;}
  .event-card{padding:20px!important;border-radius:22px!important;}
  .event-card h1{font-size:2.05rem!important;letter-spacing:-.045em!important;}
  .public-stats-row,.board-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  .public-stat,.board-stat{min-height:64px!important;padding:13px!important;border-radius:18px!important;}
  .public-stat strong,.board-stat strong{font-size:1.42rem!important;}
  .public-stat span,.board-stat span{font-size:.64rem!important;letter-spacing:.06em!important;}
  .day-heading{align-items:flex-start!important;}
  .day-heading h2{font-size:1.18rem!important;}
  .day-count{font-size:.76rem!important;}
  .day-tabs{border-radius:18px!important;margin:14px 0!important;padding:7px!important;}
  .day-tab{min-width:108px!important;padding:9px 12px!important;border-radius:14px!important;font-size:.82rem!important;}
  .area-group{border-radius:20px!important;}
  .area-toggle{padding:13px!important;grid-template-columns:minmax(0,1fr) 28px!important;}
  .area-title strong{font-size:1rem!important;gap:9px!important;}
  .area-type-icon{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;flex-basis:38px!important;font-size:19px!important;}
  .area-summary,.area-preview{margin-left:47px!important;}
  .area-preview{flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:2px!important;scrollbar-width:none!important;}
  .area-preview::-webkit-scrollbar{display:none!important;}
  .shift-summary-list{grid-template-columns:1fr!important;}
  .shift-toggle{padding:12px 40px 12px 12px!important;}
  .shift-title-line{font-size:.94rem!important;}
  .shift-time-line{font-size:.8rem!important;}
  .shift-body form,.quick-form,.watering-board-form{grid-template-columns:1fr!important;}
}
@media (max-width:430px){
  .public-stats-row,.board-stats-row{grid-template-columns:1fr 1fr!important;}
  .area-summary,.area-preview{margin-left:0!important;margin-top:10px!important;}
  .event-card h1{font-size:1.9rem!important;}
}


/* V2 2026-05-28: radikalere App-Optik für öffentliche Schichtplanung + Vorstand
   Ziel: weniger Balken, mehr moderne Karten, gleiche Designsprache Desktop/Mobile. */
:root{
  --shift-red:#9f1239;
  --shift-red-2:#e11d48;
  --shift-red-soft:#fff1f2;
  --shift-orange:#f97316;
  --shift-green:#16a34a;
  --shift-blue:#2563eb;
  --shift-ink:#0f172a;
  --shift-muted:#64748b;
  --shift-line:#e5e7eb;
  --shift-shell:#f6f7fb;
  --shift-card:#ffffff;
  --shift-radius-xl:32px;
  --shift-radius-lg:24px;
  --shift-shadow-card:0 18px 46px rgba(15,23,42,.075);
  --shift-shadow-float:0 26px 80px rgba(15,23,42,.105);
}

body{
  background:
    radial-gradient(circle at 0% -10%,rgba(159,18,57,.15),transparent 25rem),
    radial-gradient(circle at 95% 5%,rgba(249,115,22,.09),transparent 22rem),
    linear-gradient(180deg,#fff7f3 0%,#fafafa 26%,#f3f5f8 100%)!important;
}
.public-nav{
  width:min(100% - 36px,1280px)!important;
  padding:18px 0 10px!important;
}
.public-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:8px 10px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 12px 34px rgba(15,23,42,.06)!important;
}
.public-brand .logo{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.public-wrap{
  width:min(100% - 36px,1280px)!important;
  max-width:1280px!important;
}
.event-card{
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:36px!important;
  padding:30px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(159,18,57,.13),transparent 18rem),
    radial-gradient(circle at 8% 100%,rgba(249,115,22,.08),transparent 16rem),
    rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:var(--shift-shadow-float)!important;
}
.event-card h1{
  max-width:1000px!important;
  font-size:clamp(2.15rem,4.8vw,4rem)!important;
  line-height:.98!important;
  letter-spacing:-.07em!important;
}
.event-meta span{
  min-height:36px!important;
  border-color:rgba(226,232,240,.9)!important;
  background:rgba(255,255,255,.82)!important;
}
.public-stats-row,.board-stats-row{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  margin:18px 0!important;
}
.public-stat,.board-stat{
  position:relative!important;
  display:block!important;
  min-height:104px!important;
  overflow:hidden!important;
  padding:16px!important;
  border:1px solid rgba(255,255,255,.86)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.86))!important;
  box-shadow:var(--shift-shadow-card)!important;
}
.public-stat::after,.board-stat::after{
  content:""!important;
  position:absolute!important;
  right:-22px!important;
  top:-28px!important;
  width:86px!important;
  height:86px!important;
  border-radius:999px!important;
  background:rgba(159,18,57,.07)!important;
}
.public-stat span,.board-stat span{
  position:relative!important;
  display:block!important;
  color:#667085!important;
  font-size:.72rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
.public-stat strong,.board-stat strong{
  position:relative!important;
  display:block!important;
  margin-top:17px!important;
  color:#101828!important;
  text-align:left!important;
  font-size:clamp(1.75rem,2.6vw,2.45rem)!important;
  line-height:.9!important;
  letter-spacing:-.06em!important;
  font-weight:900!important;
}
.open-filter-bar,.board-filter-card,.home-screen-card,.layla-public-card{
  border:1px solid rgba(255,255,255,.82)!important;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:var(--shift-shadow-card)!important;
}
.open-filter-bar{
  border-radius:28px!important;
  padding:14px!important;
}
.btn,.share-chip,button,a.btn{
  min-height:42px!important;
  border-radius:999px!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.btn:hover,.share-chip:hover,button:hover,a.btn:hover{transform:translateY(-1px)!important;}
.day-tabs{
  top:8px!important;
  margin:20px 0!important;
  padding:8px!important;
  border:1px solid rgba(255,255,255,.84)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 14px 36px rgba(15,23,42,.065)!important;
}
.day-tab{
  min-width:132px!important;
  border-radius:18px!important;
  padding:12px 16px!important;
  background:transparent!important;
  color:#475467!important;
}
.day-tab.active{
  background:linear-gradient(135deg,var(--shift-red),var(--shift-red-2))!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(159,18,57,.25)!important;
}
.day-heading{
  margin:24px 0 14px!important;
}
.day-heading h2{
  font-size:clamp(1.35rem,2.2vw,1.8rem)!important;
}
.area-list{
  gap:16px!important;
}
.area-group{
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--shift-shadow-float)!important;
}
.area-group.status-bad{box-shadow:0 26px 80px rgba(159,18,57,.12)!important;}
.area-group.status-warn{box-shadow:0 26px 80px rgba(249,115,22,.10)!important;}
.area-group.status-ok{box-shadow:0 26px 80px rgba(22,163,74,.08)!important;}
.area-toggle{
  padding:18px 20px!important;
  border-radius:30px 30px 0 0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,250,248,.92))!important;
}
.area-title strong{
  gap:12px!important;
  font-size:1.18rem!important;
}
.area-type-icon{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  flex-basis:48px!important;
  border-radius:18px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--shift-red),var(--shift-red-2))!important;
  box-shadow:0 12px 30px rgba(159,18,57,.22)!important;
}
.area-summary{
  margin:8px 0 0 60px!important;
  font-size:.91rem!important;
}
.area-meter{
  display:block!important;
  height:9px!important;
  margin:12px 38px 0 60px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#eef2f7!important;
}
.area-meter>span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--shift-red),var(--shift-red-2))!important;
}
.area-group.status-ok .area-meter>span{background:linear-gradient(90deg,#22c55e,#16a34a)!important;}
.area-group.status-warn .area-meter>span{background:linear-gradient(90deg,#f59e0b,#f97316)!important;}
.area-preview{
  margin:13px 0 0 60px!important;
}
.area-preview-chip{
  min-height:29px!important;
  border:0!important;
  background:#f2f4f7!important;
  padding:7px 10px!important;
  font-size:.8rem!important;
}
.area-chevron,.shift-chevron{
  border:0!important;
  background:#f8fafc!important;
  color:#9f1239!important;
}
.area-content{
  padding:0 18px 18px!important;
}
.shift-summary-list{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.shift-accordion{
  min-height:0!important;
  border:1px solid rgba(226,232,240,.98)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(15,23,42,.055)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.shift-accordion:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.09)!important;
}
.shift-accordion.status-bad{border-color:#fecdd3!important;background:linear-gradient(180deg,#fff,#fff8f8)!important;}
.shift-accordion.status-warn{border-color:#fed7aa!important;background:linear-gradient(180deg,#fff,#fffaf2)!important;}
.shift-accordion.status-ok{border-color:#bbf7d0!important;background:linear-gradient(180deg,#fff,#f8fff9)!important;}
.shift-toggle{
  min-height:152px!important;
  padding:16px 46px 16px 16px!important;
  background:transparent!important;
}
.shift-title-line{
  min-height:44px!important;
  align-content:flex-start!important;
  gap:6px!important;
  font-size:1.03rem!important;
  line-height:1.18!important;
}
.shift-time-line{
  margin-top:10px!important;
  color:#667085!important;
  font-size:.87rem!important;
  line-height:1.35!important;
}
.shift-card-meter{
  display:block!important;
  width:100%!important;
  height:9px!important;
  margin-top:14px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#eef2f7!important;
}
.shift-card-meter>span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--shift-red),var(--shift-red-2))!important;
}
.status-ok .shift-card-meter>span{background:linear-gradient(90deg,#22c55e,#16a34a)!important;}
.status-warn .shift-card-meter>span{background:linear-gradient(90deg,#f59e0b,#f97316)!important;}
.shift-card-facts{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-top:10px!important;
  color:#475467!important;
  font-size:.78rem!important;
  font-weight:900!important;
}
.shift-card-facts span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
}
.shift-toggle-side{
  right:14px!important;
  top:14px!important;
}
.shift-chevron{
  width:30px!important;
  height:30px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
.shift-body-inner{
  padding:16px!important;
  background:rgba(248,250,252,.78)!important;
}
.progress{
  height:10px!important;
  background:#e8edf4!important;
}
.progress>span{
  background:linear-gradient(90deg,var(--shift-red),var(--shift-red-2))!important;
}
.status-ok .progress>span{background:linear-gradient(90deg,#22c55e,#16a34a)!important;}
.status-warn .progress>span{background:linear-gradient(90deg,#f59e0b,#f97316)!important;}
.shift-needed{
  border:0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(226,232,240,.95)!important;
}
.badge{
  min-height:23px!important;
  border:0!important;
  box-shadow:inset 0 0 0 1px rgba(226,232,240,.72)!important;
}
.role-choice,.board-helper-overview>div,.board-leader-box{
  border-color:rgba(226,232,240,.95)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.035)!important;
}
.shift-body form input,.shift-body form textarea,.shift-body form select,.quick-form input,.quick-form textarea,.quick-form select,.watering-board-form input,.watering-board-form textarea{
  border-radius:16px!important;
  border-color:#d8dee8!important;
}

@media (min-width:1280px){
  .shift-summary-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (min-width:920px) and (max-width:1279px){
  .shift-summary-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .public-stats-row,.board-stats-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:920px){
  .public-stats-row,.board-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .shift-summary-list{grid-template-columns:1fr!important;}
  .shift-toggle{min-height:0!important;}
}
@media (max-width:720px){
  .public-nav,.public-wrap{width:calc(100% - 20px)!important;}
  .public-brand{width:100%!important;border-radius:22px!important;justify-content:flex-start!important;}
  .event-card{border-radius:28px!important;padding:22px!important;}
  .event-card h1{font-size:2.15rem!important;}
  .public-stat,.board-stat{min-height:88px!important;border-radius:20px!important;}
  .public-stat strong,.board-stat strong{font-size:1.75rem!important;}
  .open-filter-bar{border-radius:24px!important;}
  .summary-pill{width:100%!important;justify-content:center!important;text-align:center!important;}
  .area-group{border-radius:24px!important;}
  .area-toggle{display:grid!important;grid-template-columns:minmax(0,1fr) 32px!important;padding:16px!important;}
  .area-type-icon{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex-basis:44px!important;}
  .area-summary,.area-meter,.area-preview{margin-left:56px!important;}
  .area-meter{margin-right:0!important;}
  .shift-title-line{min-height:0!important;}
  .shift-card-facts{flex-wrap:wrap!important;justify-content:flex-start!important;}
  .shift-body form,.quick-form,.watering-board-form{grid-template-columns:1fr!important;}
}
@media (max-width:450px){
  .public-stats-row,.board-stats-row{grid-template-columns:1fr 1fr!important;}
  .area-title strong{font-size:1.02rem!important;}
  .area-summary,.area-meter,.area-preview{margin-left:0!important;}
  .area-preview{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;}
  .shift-toggle{padding:14px 42px 14px 14px!important;}
}

/* V3 2026-05-28: Feinschliff nach Desktop-Review
   - kompaktere Formular-/Aufgaben-Auswahl
   - ruhigerer oberer Bereich
   - Designs/Themes konsequent über Variablen statt fixem Rot
   - gleiches Verhalten public.php und board.php */
:root{
  --shift-red:#9f1239;
  --shift-red-2:#e11d48;
  --shift-accent-rgb:159,18,57;
  --shift-accent-2-rgb:225,29,72;
  --shift-theme-soft:#fff1f2;
  --shift-theme-emoji:"♡";
}
body.theme-default{--shift-red:#9f1239;--shift-red-2:#e11d48;--shift-accent-rgb:159,18,57;--shift-accent-2-rgb:225,29,72;--shift-theme-soft:#fff1f2;--shift-theme-emoji:"♥";}
body.theme-winefest{--shift-red:#7f1d1d;--shift-red-2:#b45309;--shift-accent-rgb:127,29,29;--shift-accent-2-rgb:180,83,9;--shift-theme-soft:#fff7ed;--shift-theme-emoji:"🍇";}
body.theme-watering{--shift-red:#166534;--shift-red-2:#65a30d;--shift-accent-rgb:22,101,52;--shift-accent-2-rgb:101,163,13;--shift-theme-soft:#f0fdf4;--shift-theme-emoji:"🌱";}
body.theme-carnival{--shift-red:#7e22ce;--shift-red-2:#db2777;--shift-accent-rgb:126,34,206;--shift-accent-2-rgb:219,39,119;--shift-theme-soft:#faf5ff;--shift-theme-emoji:"🎭";}
body.theme-stmartin{--shift-red:#b45309;--shift-red-2:#dc2626;--shift-accent-rgb:180,83,9;--shift-accent-2-rgb:220,38,38;--shift-theme-soft:#fff7ed;--shift-theme-emoji:"🏮";}
body.theme-senior{--shift-red:#7c3aed;--shift-red-2:#c084fc;--shift-accent-rgb:124,58,237;--shift-accent-2-rgb:192,132,252;--shift-theme-soft:#f5f3ff;--shift-theme-emoji:"☕";}
body.theme-nature{--shift-red:#166534;--shift-red-2:#84cc16;--shift-accent-rgb:22,101,52;--shift-accent-2-rgb:132,204,22;--shift-theme-soft:#f0fdf4;--shift-theme-emoji:"🌳";}
body.theme-theater{--shift-red:#111827;--shift-red-2:#be123c;--shift-accent-rgb:17,24,39;--shift-accent-2-rgb:190,18,60;--shift-theme-soft:#f8fafc;--shift-theme-emoji:"🎟️";}

body{
  background:
    radial-gradient(circle at 2% -12%,rgba(var(--shift-accent-rgb),.13),transparent 22rem),
    radial-gradient(circle at 98% 2%,rgba(var(--shift-accent-2-rgb),.10),transparent 21rem),
    linear-gradient(180deg,var(--shift-theme-soft) 0%,#fff 28%,#f5f6f9 100%)!important;
}

/* Oberer Bereich: nicht wie ein schwerer Balken, sondern ruhige App-Leiste */
.public-hero{padding:0!important;background:transparent!important;}
.public-nav{
  width:min(100% - 36px,1280px)!important;
  max-width:1280px!important;
  padding:14px 0 12px!important;
}
.public-brand{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.055)!important;
  backdrop-filter:blur(14px)!important;
}
.public-brand .logo{width:40px!important;height:40px!important;border-radius:13px!important;}
.brand-main{font-size:1rem!important;letter-spacing:-.02em!important;color:#111827!important;}
.brand-sub{font-size:.8rem!important;color:#667085!important;}

.event-card{
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:30px!important;
  padding:26px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(var(--shift-accent-rgb),.12),transparent 17rem),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.82))!important;
  box-shadow:0 18px 54px rgba(15,23,42,.09)!important;
}
.event-card::after{
  content:var(--shift-theme-emoji)!important;
  position:absolute!important;
  right:24px!important;
  bottom:18px!important;
  width:auto!important;height:auto!important;
  background:none!important;
  border:0!important;
  font-size:54px!important;
  opacity:.12!important;
  transform:none!important;
  pointer-events:none!important;
}
.event-card h1{
  max-width:940px!important;
  margin-bottom:12px!important;
  font-size:clamp(1.95rem,4vw,3.25rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
}
.event-meta span{min-height:32px!important;padding:6px 11px!important;font-size:.82rem!important;}

/* Kennzahlen kompakter und nicht so wuchtig */
.public-stats-row,.board-stats-row{
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;
  gap:10px!important;
  margin:14px 0!important;
}
.public-stat,.board-stat{
  min-height:78px!important;
  padding:13px 14px!important;
  border-radius:20px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.055)!important;
}
.public-stat::after,.board-stat::after{width:64px!important;height:64px!important;right:-20px!important;top:-22px!important;background:rgba(var(--shift-accent-rgb),.065)!important;}
.public-stat strong,.board-stat strong{margin-top:10px!important;font-size:clamp(1.35rem,2vw,1.95rem)!important;letter-spacing:-.04em!important;}
.public-stat span,.board-stat span{font-size:.66rem!important;letter-spacing:.07em!important;}

/* Tagesnavigation: flachere Tabs statt dickem Balken */
.day-tabs{
  position:relative!important;
  top:auto!important;
  z-index:10!important;
  margin:16px 0 18px!important;
  padding:6px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.055)!important;
}
.day-tab{min-width:112px!important;min-height:38px!important;padding:9px 12px!important;border-radius:14px!important;font-size:.84rem!important;}
.day-tab.active{box-shadow:0 8px 18px rgba(var(--shift-accent-rgb),.20)!important;}

/* Bereichskarten: moderner, aber nicht überdimensioniert */
.area-list{gap:13px!important;}
.area-group{
  border-radius:24px!important;
  border-color:rgba(226,232,240,.9)!important;
  box-shadow:0 14px 38px rgba(15,23,42,.065)!important;
}
.area-group.status-bad,.area-group.status-warn,.area-group.status-ok{box-shadow:0 14px 38px rgba(15,23,42,.065)!important;}
.area-toggle{padding:14px 16px!important;border-radius:24px 24px 0 0!important;}
.area-title strong{font-size:1.08rem!important;gap:10px!important;}
.area-type-icon{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;flex-basis:42px!important;border-radius:16px!important;}
.area-summary{margin:7px 0 0 52px!important;font-size:.86rem!important;}
.area-meter{height:7px!important;margin:10px 34px 0 52px!important;}
.area-preview{margin:11px 0 0 52px!important;}
.area-content{padding:0 14px 14px!important;}
.area-preview-chip{min-height:26px!important;padding:5px 9px!important;font-size:.76rem!important;}

/* Schichtkarten: weniger Kachelhöhe, mehr Klarheit */
.shift-summary-list{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))!important;
  gap:12px!important;
}
.shift-accordion{
  border-radius:20px!important;
  box-shadow:0 9px 24px rgba(15,23,42,.055)!important;
}
.shift-accordion:hover{transform:translateY(-1px)!important;box-shadow:0 13px 34px rgba(15,23,42,.075)!important;}
.shift-toggle{min-height:108px!important;padding:14px 42px 14px 14px!important;}
.shift-title-line{min-height:0!important;font-size:.97rem!important;line-height:1.22!important;}
.shift-time-line{margin-top:8px!important;font-size:.81rem!important;}
.shift-card-meter{height:7px!important;margin-top:11px!important;}
.shift-card-facts{margin-top:8px!important;font-size:.74rem!important;}
.shift-card-facts span{min-height:23px!important;padding:4px 7px!important;}
.shift-body-inner{padding:14px!important;}

/* Formulare: keine riesigen Auswahlfelder; klare moderne Eingabefelder */
.shift-body form,.quick-form,.watering-board-form{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  max-width:760px!important;
  padding:12px!important;
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.035)!important;
}
.shift-body form label,.quick-form label,.watering-board-form label{
  display:block!important;
  margin:0 0 5px!important;
  color:#344054!important;
  font-size:.8rem!important;
  font-weight:850!important;
}
.shift-body form input,.shift-body form textarea,.shift-body form select,
.quick-form input,.quick-form textarea,.quick-form select,
.watering-board-form input,.watering-board-form textarea,.watering-board-form select{
  min-height:40px!important;
  height:auto!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  font-size:.93rem!important;
  line-height:1.25!important;
  box-shadow:none!important;
}
.shift-body form textarea,.watering-board-form textarea{min-height:70px!important;}
.shift-body form button.full,.shift-body form button[type=submit],.quick-form button[type=submit]{min-height:40px!important;padding:9px 13px!important;}

/* Aufgaben-Auswahl: kompakte Cards statt großer Auswahlblöcke */
.role-choice-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:8px!important;
  margin-top:6px!important;
}
.role-choice{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  min-height:0!important;
  padding:9px 10px!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.role-choice-flex{
  background:linear-gradient(135deg,var(--shift-theme-soft),#fff)!important;
  border-color:rgba(var(--shift-accent-rgb),.20)!important;
}
.role-choice input[type="radio"]{
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  margin:2px 0 0!important;
  accent-color:var(--shift-red)!important;
}
.role-choice span{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
.role-choice strong{display:block!important;color:#111827!important;font-size:.88rem!important;line-height:1.2!important;font-weight:900!important;}
.role-choice small{display:block!important;color:#667085!important;font-size:.74rem!important;line-height:1.25!important;font-weight:750!important;}
.role-choice-full{opacity:.72!important;background:#f8fafc!important;}
.shift-req-public .role-chip,.role-chip{font-size:.75rem!important;padding:4px 7px!important;}

/* Vorstand-Formulare: Select + Button nicht unnötig aufblasen */
.board-leader-box .quick-form{max-width:none!important;margin:10px 0 0!important;}
.board-leader-box .quick-form > div{min-width:0!important;}
.board-leader-box .quick-form select{max-width:100%!important;}
.board-leader-box .quick-form button{width:auto!important;min-width:150px!important;}

/* Kleinere Datenschutz-/Hinweiszeilen sauber umbrechen */
.public-name-option,
.shift-body form label[style*="font-weight"]{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  grid-column:1/-1!important;
  margin-top:2px!important;
  padding:10px 11px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:#475467!important;
  font-size:.84rem!important;
  line-height:1.35!important;
}
.inline-checkbox{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin-top:2px!important;accent-color:var(--shift-red)!important;}
.public-name-hint{grid-column:1/-1!important;margin:-4px 0 0!important;color:#667085!important;font-size:.78rem!important;line-height:1.35!important;}

/* Buttons überall theme-aware */
.btn:not(.secondary),button[type=submit],.day-tab.active{
  background:linear-gradient(135deg,var(--shift-red),var(--shift-red-2))!important;
  box-shadow:0 10px 22px rgba(var(--shift-accent-rgb),.20)!important;
}
.area-type-icon,.progress>span,.shift-card-meter>span,.area-meter>span{background:linear-gradient(90deg,var(--shift-red),var(--shift-red-2))!important;}

@media (min-width:1120px){
  .board-leader-box .quick-form{grid-template-columns:minmax(240px,1fr) auto!important;align-items:end!important;}
  .board-leader-box .quick-form:has(input[name="helper_name"]){grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:920px){
  .event-card{padding:22px!important;border-radius:26px!important;}
  .event-card h1{font-size:2.05rem!important;}
  .shift-toggle{min-height:0!important;}
  .shift-body form,.quick-form,.watering-board-form{grid-template-columns:1fr!important;max-width:none!important;}
  .role-choice-list{grid-template-columns:1fr!important;}
}
@media (max-width:560px){
  .public-nav,.public-wrap{width:calc(100% - 18px)!important;}
  .public-brand{border-radius:18px!important;padding:10px 11px!important;}
  .brand-sub{display:block!important;font-size:.73rem!important;}
  .event-card{padding:19px!important;border-radius:23px!important;}
  .event-card h1{font-size:1.82rem!important;letter-spacing:-.04em!important;}
  .event-card::after{font-size:42px!important;right:16px!important;bottom:14px!important;}
  .public-stats-row,.board-stats-row{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .public-stat,.board-stat{min-height:68px!important;padding:11px!important;border-radius:17px!important;}
  .public-stat strong,.board-stat strong{font-size:1.35rem!important;margin-top:7px!important;}
  .day-tabs{border-radius:16px!important;margin:13px 0!important;}
  .day-tab{min-width:100px!important;min-height:36px!important;font-size:.78rem!important;}
  .area-toggle{padding:13px!important;}
  .area-summary,.area-meter,.area-preview{margin-left:0!important;}
  .area-type-icon{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;flex-basis:38px!important;}
  .shift-body-inner{padding:12px!important;}
  .shift-body form,.quick-form,.watering-board-form{padding:10px!important;border-radius:17px!important;}
  .role-choice{padding:9px!important;}
}

/* V3b: explizite Formularlayouts ohne :has-Abhängigkeit */
.board-filter-form{grid-template-columns:minmax(220px,1fr) auto auto!important;align-items:end!important;max-width:none!important;margin:0!important;}
.board-leader-form{grid-template-columns:minmax(240px,1fr) auto!important;align-items:end!important;}
.board-helper-form{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:end!important;}
.board-helper-form > div[style*="grid-column"],.board-helper-form .role-choice-list{grid-column:1/-1!important;}
@media (max-width:920px){
  .board-filter-form,.board-leader-form,.board-helper-form{grid-template-columns:1fr!important;}
  .board-leader-box .quick-form button,.board-filter-form .btn{width:100%!important;min-width:0!important;justify-content:center!important;text-align:center!important;}
}


/* V5 2026-05-28: echte Feinkorrektur nach Sichttest
   - Datenschutz/Einverständnis nicht mehr als große Felder, sondern kompakte Checkbox-Zeilen
   - Abstand z oberer App-Leiste, Event-Header, Filter und Tagesleiste
   - Bei konkreten Sonderrollen gibt es keine flexible Allgemein-Aufgabe mehr */
.public-nav{
  padding-bottom:0!important;
  margin-bottom:14px!important;
}
.public-brand{
  min-height:58px!important;
  padding:10px 13px!important;
}
.public-wrap > .event-card:first-child,
.public-wrap > .board-filter-card:first-child,
.public-wrap > .home-screen-card:first-child{
  margin-top:4px!important;
}
.event-card{
  margin-bottom:16px!important;
}
.open-filter-bar{
  margin:18px 0 20px!important;
}
.day-tabs{
  margin:0 0 22px!important;
  top:10px!important;
}
.day-heading{
  margin-top:18px!important;
}

.shift-body form .role-choice-title{
  grid-column:1/-1!important;
  margin:2px 0 -2px!important;
  font-size:.82rem!important;
  color:#475467!important;
}

/* Normale Formularlabels bleiben Labels; Checkbox-Zeilen werden bewusst schlank. */
.shift-body form .public-name-option,
.shift-body form .consent-option,
.quick-form .public-name-option,
.watering-board-form .public-name-option,
.public-name-box .public-name-option{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  grid-column:1/-1!important;
  width:100%!important;
  min-height:0!important;
  margin:4px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#344054!important;
  font-size:.82rem!important;
  line-height:1.32!important;
  font-weight:750!important;
}
.shift-body form .public-name-option span,
.shift-body form .consent-option span,
.quick-form .public-name-option span,
.watering-board-form .public-name-option span,
.public-name-box .public-name-option span{
  display:block!important;
  min-width:0!important;
}
.shift-body form .public-name-hint{
  grid-column:1/-1!important;
  margin:0 0 4px 24px!important;
  max-width:660px!important;
  color:#667085!important;
  font-size:.76rem!important;
  line-height:1.32!important;
}
.inline-checkbox,
.public-name-option input[type="checkbox"],
.consent-option input[type="checkbox"],
.public-name-option input[type="radio"]{
  flex:0 0 auto!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  margin:1px 0 0!important;
  padding:0!important;
  border-radius:4px!important;
  box-shadow:none!important;
  accent-color:var(--shift-red)!important;
}

/* Aufgaben-Auswahl noch kompakter, aber weiterhin gut antippbar. */
.role-choice-list{
  grid-column:1/-1!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:7px!important;
  margin-top:4px!important;
}
.role-choice{
  min-height:54px!important;
  padding:8px 9px!important;
  border-radius:13px!important;
}
.role-choice strong{
  font-size:.84rem!important;
  line-height:1.15!important;
}
.role-choice small{
  font-size:.71rem!important;
  line-height:1.22!important;
}
.role-choice input[type="radio"]{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
}

/* Die Formularbox selbst bleibt leicht, nicht wie ein großer Block. */
.shift-body form,.quick-form,.watering-board-form{
  padding:11px!important;
  gap:9px 10px!important;
  border-radius:18px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.025)!important;
}

@media (max-width:720px){
  .public-nav{margin-bottom:10px!important;}
  .public-brand{min-height:54px!important;border-radius:18px!important;}
  .event-card{margin-bottom:14px!important;}
  .open-filter-bar{margin:14px 0 16px!important;}
  .day-tabs{top:8px!important;margin-bottom:18px!important;}
  .shift-body form .public-name-hint{margin-left:23px!important;}
  .role-choice-list{grid-template-columns:1fr!important;}
}


/* V6 2026-05-28: Vorstandsformular = öffentliche Anmeldung
   - getrennte Felder Vorname/Nachname
   - gleiche Datenschutz- und Einverständniszeilen wie öffentlich
   - kompakter 2-Spalten-Aufbau auf Desktop, einspaltig mobil */
.board-helper-form{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  max-width:760px!important;
}
.board-helper-form .signup-field,
.board-helper-form .role-choice-title,
.board-helper-form .role-choice-list,
.board-helper-form .board-comment-field,
.board-helper-form .board-public-name-option,
.board-helper-form .board-public-name-hint,
.board-helper-form .board-consent-option{
  min-width:0!important;
}
.board-helper-form .role-choice-title,
.board-helper-form .role-choice-list,
.board-helper-form .board-comment-field,
.board-helper-form .board-public-name-option,
.board-helper-form .board-public-name-hint,
.board-helper-form .board-consent-option{
  grid-column:1/-1!important;
}
.board-helper-form .board-comment-field textarea{
  min-height:70px!important;
}
.board-helper-form .board-helper-submit{
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
}
.board-helper-form .board-helper-submit button{
  width:auto!important;
  min-width:160px!important;
}
.board-helper-form .public-name-hint,
.board-helper-form .board-public-name-hint{
  margin:0 0 3px 23px!important;
  max-width:680px!important;
  font-size:.76rem!important;
  line-height:1.32!important;
}
@media (max-width:920px){
  .board-helper-form{grid-template-columns:1fr!important;max-width:none!important;}
  .board-helper-form .board-helper-submit{justify-content:stretch!important;}
  .board-helper-form .board-helper-submit button{width:100%!important;min-width:0!important;}
}

/* V8 2026-05-28: E-Mail-Felder bewusst breit ziehen
   E-Mail-Adressen sind lang; deshalb laufen diese Felder auf Desktop über die volle Formularbreite. */
.shift-body form .signup-email-field,
.board-helper-form .signup-email-field,
.watering-board-form .signup-email-field{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
}
.shift-body form .signup-email-field input,
.board-helper-form .signup-email-field input,
.watering-board-form .signup-email-field input{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
@media (min-width:921px){
  .shift-body form .signup-email-field,
  .board-helper-form .signup-email-field,
  .watering-board-form .signup-email-field{
    grid-column:1 / -1!important;
  }
}


/* V9 2026-05-28: Telefon-Felder genauso breit wie E-Mail-Felder.
   Dadurch wirken öffentliche Anmeldung, Vorstandseintrag und Gießdienst-Formulare ruhiger. */
.shift-body form .signup-email-field,
.shift-body form .signup-phone-field,
.board-helper-form .signup-email-field,
.board-helper-form .signup-phone-field,
.watering-board-form .signup-email-field,
.watering-board-form .signup-phone-field{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
}
.shift-body form .signup-email-field input,
.shift-body form .signup-phone-field input,
.board-helper-form .signup-email-field input,
.board-helper-form .signup-phone-field input,
.watering-board-form .signup-email-field input,
.watering-board-form .signup-phone-field input{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
@media (min-width:921px){
  .shift-body form .signup-email-field,
  .shift-body form .signup-phone-field,
  .board-helper-form .signup-email-field,
  .board-helper-form .signup-phone-field,
  .watering-board-form .signup-email-field,
  .watering-board-form .signup-phone-field{
    grid-column:1 / -1!important;
  }
}


/* v10: Vorstandsschichten-Filter */
.board-filter-form {
  align-items: end !important;
}
.board-active-filter-note {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 12px 0 18px !important;
  padding: 11px 14px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
  color: #344054 !important;
  font-weight: 850 !important;
}
.board-active-filter-note a {
  color: var(--hf-red, #991b1b) !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .board-active-filter-note {
    display: block !important;
  }
  .board-active-filter-note a {
    display: inline-block !important;
    margin-top: 8px !important;
  }
}

/* v11: Vorstandsfilter auf Mobile kompakter
   - keine lang gezogene Filterkarte mehr
   - Aktionsbuttons ohne künstliche Leer-Labels
   - Shortcuts auf kleinen Displays nebeneinander statt untereinander */
.board-filter-card{
  overflow:hidden!important;
}
.board-filter-form{
  gap:10px!important;
}
.board-filter-action label[aria-hidden="true"]{
  display:block!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
}
.board-filter-form .board-filter-action{
  display:flex!important;
  align-items:flex-end!important;
  min-width:0!important;
}
.board-filter-form .board-filter-action .btn,
.board-filter-form .board-filter-action button{
  width:100%!important;
  min-height:42px!important;
  padding:10px 15px!important;
  justify-content:center!important;
  white-space:normal!important;
  line-height:1.15!important;
}
@media (min-width:921px){
  .board-filter-form{
    grid-template-columns:minmax(220px,1.15fr) minmax(220px,1.15fr) auto auto auto!important;
  }
}
@media (max-width:920px){
  .board-filter-card{
    padding:14px!important;
    border-radius:22px!important;
    margin:12px 0 14px!important;
  }
  .board-filter-form{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:end!important;
  }
  .board-filter-field{
    grid-column:1 / -1!important;
  }
  .board-filter-field label{
    margin-bottom:6px!important;
    font-size:.86rem!important;
  }
  .board-filter-field select{
    min-height:44px!important;
    border-radius:15px!important;
  }
  .board-filter-submit{
    grid-column:1 / -1!important;
  }
  .board-filter-shortcut,
  .board-filter-live{
    grid-column:auto!important;
  }
  .board-filter-form .board-filter-submit button{
    min-height:44px!important;
  }
  .board-filter-form .board-filter-shortcut .btn,
  .board-filter-form .board-filter-live .btn{
    min-height:40px!important;
    padding:9px 11px!important;
    font-size:.78rem!important;
    letter-spacing:.01em!important;
  }
}
@media (max-width:420px){
  .board-filter-card{
    padding:12px!important;
  }
  .board-filter-form{
    gap:8px!important;
  }
  .board-filter-form .board-filter-shortcut .btn,
  .board-filter-form .board-filter-live .btn{
    min-height:38px!important;
    padding:8px 9px!important;
    font-size:.74rem!important;
  }
}


/* v12: kompakter Kalender-Download im persönlichen Vorstandsbereich */
.board-calendar-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:12px!important;padding-top:2px!important}
.board-calendar-actions .small{margin:0!important;color:#667085!important;font-weight:750!important;line-height:1.35!important}
.board-calendar-download{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}
.board-calendar-download:before{content:"📅";font-size:1rem!important;line-height:1!important}
@media(max-width:720px){.board-calendar-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.board-calendar-download{width:100%!important;justify-content:center!important}.board-calendar-actions .small{text-align:center!important}}

/* v14: kleines Vorstand-Symbol an Vorstandsschichten / offenen Schichtleitungen */
.board-required-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  border-radius:999px!important;
  background:rgba(162,13,34,.10)!important;
  color:var(--hf-red,#a20d22)!important;
  border:1px solid rgba(162,13,34,.22)!important;
  font-size:.66rem!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  vertical-align:middle!important;
  margin:0 4px!important;
  box-shadow:0 6px 14px rgba(162,13,34,.08)!important;
}
.board-required-icon-inline{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  font-size:.58rem!important;
  margin:0 4px 0 0!important;
  transform:translateY(-1px)!important;
}
.board-required-icon-preview{
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  font-size:.55rem!important;
  margin:0 5px 0 0!important;
  box-shadow:none!important;
}
.board-required-icon-badge{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  font-size:.52rem!important;
  margin:0 3px 0 0!important;
  background:rgba(255,255,255,.75)!important;
}
.board-required-icon-stat{
  margin-right:5px!important;
}
.board-needed-card{
  position:relative!important;
}
.board-needed-card:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:22px;
  box-shadow:inset 0 0 0 1px rgba(162,13,34,.10)!important;
}
.area-preview-chip-board{
  display:inline-flex!important;
  align-items:center!important;
  gap:0!important;
}
.badge.leader-missing{
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
}
.shift-card-facts span{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
}
.board-leader-box h3 .board-required-icon{
  margin-left:6px!important;
}
@media(max-width:720px){
  .board-required-icon{width:18px!important;height:18px!important;min-width:18px!important;font-size:.58rem!important;margin:0 3px!important}
  .board-required-icon-inline{width:17px!important;height:17px!important;min-width:17px!important;font-size:.54rem!important;margin-right:3px!important}
  .board-required-icon-preview{width:16px!important;height:16px!important;min-width:16px!important;font-size:.50rem!important;margin-right:4px!important}
}

/* v15: Vorstand-Markierung ruhiger und auf Mobile schöner
   - kein lauter V-Buchstabe mehr
   - keine mehrfachen Symbole in derselben Schichtkarte
   - Vorstandsschichten nur dezent markiert */
.board-required-icon,
.board-required-icon-v15{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  border-radius:999px!important;
  background:rgba(var(--shift-accent-rgb),.08)!important;
  color:var(--shift-accent)!important;
  border:1px solid rgba(var(--shift-accent-rgb),.18)!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:1!important;
  margin:0 3px!important;
  vertical-align:middle!important;
  transform:none!important;
}
.board-required-icon:before,
.board-required-icon-v15:before{
  content:"👥";
  font-size:9.5px!important;
  line-height:1!important;
  transform:translateY(-.5px);
}
.board-required-icon-title{
  margin-left:2px!important;
  margin-right:1px!important;
}
.board-required-icon-preview{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  margin:0 4px 0 0!important;
  background:rgba(var(--shift-accent-rgb),.07)!important;
}
.board-required-icon-preview:before{
  font-size:8.5px!important;
}
.board-required-icon-inline,
.board-required-icon-badge{
  display:none!important;
}
.board-needed-card{
  background:#fff!important;
  border-color:rgba(226,232,240,.96)!important;
  box-shadow:inset 3px 0 0 rgba(var(--shift-accent-rgb),.22),0 9px 24px rgba(15,23,42,.055)!important;
}
.board-needed-card.status-bad,
.board-needed-card.status-warn,
.board-needed-card.status-ok{
  background:#fff!important;
  border-color:rgba(226,232,240,.96)!important;
}
.board-needed-card:after{
  display:none!important;
}
.board-needed-card:hover{
  box-shadow:inset 3px 0 0 rgba(var(--shift-accent-rgb),.28),0 13px 34px rgba(15,23,42,.075)!important;
}
.area-preview-chip-board{
  gap:3px!important;
  background:#fff!important;
  border-color:rgba(226,232,240,.96)!important;
}
.area-preview-chip-board.bad{
  background:#fff7f8!important;
  color:#9f1239!important;
  border-color:rgba(254,205,211,.80)!important;
}
.badge.leader-missing{
  background:#fff7f8!important;
  color:#9f1239!important;
  border:1px solid rgba(254,205,211,.85)!important;
}
.shift-title-line .badge.internal{
  background:rgba(37,99,235,.08)!important;
  color:#1d4ed8!important;
  border:1px solid rgba(147,197,253,.55)!important;
}
.shift-title-line .badge,
.shift-card-facts span{
  white-space:nowrap!important;
}
@media(max-width:720px){
  .board-required-icon,
  .board-required-icon-v15{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    margin:0 2px!important;
  }
  .board-required-icon:before,
  .board-required-icon-v15:before{
    font-size:8.5px!important;
  }
  .board-required-icon-preview{
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    margin-right:3px!important;
  }
  .board-required-icon-preview:before{font-size:8px!important;}
  .board-needed-card{
    box-shadow:inset 3px 0 0 rgba(var(--shift-accent-rgb),.20),0 8px 20px rgba(15,23,42,.045)!important;
  }
  .shift-toggle{
    min-height:96px!important;
  }
  .shift-title-line{
    gap:4px!important;
  }
  .shift-title-line .badge{
    font-size:.69rem!important;
    padding:4px 7px!important;
    min-height:22px!important;
  }
  .area-preview{
    flex-wrap:wrap!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .area-preview-chip{
    font-size:.72rem!important;
    padding:5px 7px!important;
    max-width:100%!important;
  }
}


/* v16: öffentliche Schnellfilter-Leiste verschlankt; Helfer-Summary und WhatsApp-Offen-Teilen sind im PHP entfernt. */
.open-filter-bar.open-filter-bar-compact{
  justify-content:flex-start!important;
  align-items:center!important;
  padding:0!important;
  margin:10px 0 18px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.open-filter-bar.open-filter-bar-compact .actions{
  margin-top:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.open-filter-bar.open-filter-bar-compact .actions .btn,
.open-filter-bar.open-filter-bar-compact .actions .share-chip{
  width:auto!important;
  min-height:38px!important;
  padding:8px 14px!important;
}
@media(max-width:700px){
  .open-filter-bar.open-filter-bar-compact{
    margin:8px 0 14px!important;
  }
  .open-filter-bar.open-filter-bar-compact .actions{
    display:flex!important;
    margin-top:0!important;
  }
  .open-filter-bar.open-filter-bar-compact .actions .btn,
  .open-filter-bar.open-filter-bar-compact .actions .share-chip{
    width:auto!important;
    min-height:36px!important;
    padding:8px 12px!important;
    font-size:.86rem!important;
  }
}

/* v17: Vorstandsbereich – offene/Schichtleitungs-Summary entfernt, Filterleiste kompakt wie öffentlich. */
.board-open-filter-bar{
  justify-content:flex-start!important;
  align-items:center!important;
  padding:0!important;
  margin:10px 0 18px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.board-open-filter-bar .actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:0!important;
}
.board-open-filter-bar .actions .btn{
  width:auto!important;
  min-height:38px!important;
  padding:8px 14px!important;
}
@media(max-width:700px){
  .board-open-filter-bar{
    margin:8px 0 14px!important;
  }
  .board-open-filter-bar .actions{
    display:flex!important;
    gap:8px!important;
  }
  .board-open-filter-bar .actions .btn{
    width:auto!important;
    min-height:36px!important;
    padding:8px 12px!important;
    font-size:.86rem!important;
  }
}


/* v18: Schnellfilter im Vorstandsbereich direkt in die Filterkarte integrieren */
.board-filter-inline-tools{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
  padding-top:4px!important;
}
.board-filter-inline-tools .btn{
  width:auto!important;
  min-height:38px!important;
  padding:8px 14px!important;
}
@media (min-width:921px){
  .board-filter-inline-tools{
    margin-top:2px!important;
  }
}
@media (max-width:920px){
  .board-filter-inline-tools{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding-top:2px!important;
  }
  .board-filter-inline-tools .btn{
    width:100%!important;
    min-height:40px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .board-filter-inline-tools .btn:last-child{
    grid-column:1 / -1!important;
  }
}
@media (max-width:420px){
  .board-filter-inline-tools{
    grid-template-columns:1fr!important;
  }
  .board-filter-inline-tools .btn:last-child{
    grid-column:auto!important;
  }
}


/* v19: Bei ausgewähltem Vorstandsmitglied ohne Treffer keine falsche Auslastung/sauberer Leerzustand */
.board-empty-member-note{
  justify-content:flex-start!important;
  color:#475467!important;
  background:rgba(255,255,255,.82)!important;
}


/* v20: Schnellfilter-Buttons im Vorstandsbereich hochwertiger und ruhiger gestalten */
.board-filter-form .board-filter-submit{
  grid-column:1 / -1!important;
}
.board-filter-form .board-filter-submit button{
  width:100%!important;
  min-height:46px!important;
  border-radius:18px!important;
  justify-content:center!important;
  text-align:center!important;
  box-shadow:0 14px 30px rgba(153,27,27,.18)!important;
}
.board-filter-shortcut .btn,
.board-filter-live .btn,
.board-filter-inline-tools .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  border-radius:18px!important;
  padding:10px 14px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,247,248,.96) 100%)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:#334155!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
  font-weight:850!important;
}
.board-filter-shortcut .btn:hover,
.board-filter-live .btn:hover,
.board-filter-inline-tools .btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(15,23,42,.08)!important;
}
.board-filter-shortcut .btn:active,
.board-filter-live .btn:active,
.board-filter-inline-tools .btn:active{
  transform:translateY(0)!important;
}
.board-filter-inline-tools{
  margin-top:2px!important;
  padding:10px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(148,163,184,.16)!important;
}
.board-filter-inline-tools .btn{
  width:100%!important;
}
@media (min-width:921px){
  .board-filter-form{
    row-gap:12px!important;
  }
  .board-filter-shortcut,
  .board-filter-live{
    min-width:220px!important;
  }
}
@media (max-width:920px){
  .board-filter-form .board-filter-submit button{
    min-height:48px!important;
  }
  .board-filter-shortcut .btn,
  .board-filter-live .btn,
  .board-filter-inline-tools .btn{
    min-height:44px!important;
    font-size:.96rem!important;
  }
  .board-filter-inline-tools{
    grid-template-columns:1fr 1fr!important;
    padding:8px!important;
  }
}
@media (max-width:420px){
  .board-filter-shortcut .btn,
  .board-filter-live .btn,
  .board-filter-inline-tools .btn{
    min-height:42px!important;
    font-size:.92rem!important;
    padding:9px 12px!important;
  }
  .board-filter-inline-tools{
    grid-template-columns:1fr!important;
    padding:7px!important;
  }
}


/* v21: Aufbau-/Abbau-Schichten offen darstellen – ohne Kapazitätsbalken */
.setup-shift-icon-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:24px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:.78rem!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:rgba(255,255,255,.86)!important;
  color:#334155!important;
}
.setup-badge{
  background:rgba(59,130,246,.10)!important;
  color:#1d4ed8!important;
  border-color:rgba(59,130,246,.18)!important;
}
.teardown-badge{
  background:rgba(245,158,11,.12)!important;
  color:#92400e!important;
  border-color:rgba(245,158,11,.24)!important;
}
.setup-open-badge{
  background:rgba(16,185,129,.11)!important;
  color:#047857!important;
  border:1px solid rgba(16,185,129,.22)!important;
}
.shift-accordion.status-open-ended{
  border-color:rgba(16,185,129,.22)!important;
  background:linear-gradient(90deg, rgba(16,185,129,.065), rgba(255,255,255,.92) 34%)!important;
}
.setup-open-note{
  display:inline-flex!important;
  align-items:center!important;
  margin-top:8px!important;
  padding:8px 11px!important;
  border-radius:16px!important;
  background:rgba(16,185,129,.08)!important;
  border:1px solid rgba(16,185,129,.16)!important;
  color:#047857!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.setup-open-info{
  margin:4px 0 12px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  background:rgba(16,185,129,.08)!important;
  border:1px solid rgba(16,185,129,.16)!important;
  color:#065f46!important;
  font-weight:800!important;
  line-height:1.45!important;
}
.shift-accordion.status-open-ended .shift-card-meter,
.shift-accordion.status-open-ended .progress{
  display:none!important;
}
@media(max-width:700px){
  .setup-shift-icon-badge{font-size:.72rem!important;padding:3px 8px!important}
  .setup-open-note{display:block!important;font-size:.84rem!important}
}


/* v22: Auf-/Abbau-Hinweise etwas präsenter */
.setup-open-note,
.setup-open-info{
  font-size:.94rem!important;
}


/* v23: Musik-/Sound-/Licht-Schichten optisch kennzeichnen */
.tech-badge{
  background:rgba(99,102,241,.10)!important;
  color:#3730a3!important;
  border-color:rgba(99,102,241,.22)!important;
}
.sound-badge{
  background:rgba(14,165,233,.10)!important;
  color:#075985!important;
  border-color:rgba(14,165,233,.22)!important;
}
.light-badge{
  background:rgba(245,158,11,.14)!important;
  color:#92400e!important;
  border-color:rgba(245,158,11,.28)!important;
}
.tech-badge-combined{
  background:linear-gradient(90deg, rgba(14,165,233,.11), rgba(245,158,11,.14))!important;
  color:#334155!important;
  border-color:rgba(99,102,241,.22)!important;
}


/* v24: Licht-Badge als Disco-/Bühnenlicht statt einfacher Glühbirne */
.light-badge,
.tech-badge-combined{
  letter-spacing:.005em!important;
}


/* v25: Bereichs-Kopf für reine Aufbau-/Abbau-Bereiche nicht als 0/0 voll anzeigen */
.area-open-note{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:8px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(16,185,129,.10)!important;
  border:1px solid rgba(16,185,129,.18)!important;
  color:#047857!important;
  font-weight:900!important;
  font-size:.86rem!important;
}
.area-group.status-open-ended .area-meter{
  display:none!important;
}


/* v26: dynamische Helfer-Stimmung im Bereichskopf für offene Aufbau-/Abbau-Bereiche */
.area-open-summary strong{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:28px!important;
  height:28px!important;
  margin-right:6px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.08)!important;
}
.area-open-note.area-open-need,
.area-open-summary.area-open-need strong{
  background:rgba(244,63,94,.12)!important;
  color:#9f1239!important;
  border-color:rgba(244,63,94,.22)!important;
}
.area-open-note.area-open-start,
.area-open-summary.area-open-start strong{
  background:rgba(245,158,11,.13)!important;
  color:#92400e!important;
  border-color:rgba(245,158,11,.26)!important;
}
.area-open-note.area-open-good,
.area-open-summary.area-open-good strong{
  background:rgba(59,130,246,.10)!important;
  color:#1d4ed8!important;
  border-color:rgba(59,130,246,.20)!important;
}
.area-open-note.area-open-strong,
.area-open-summary.area-open-strong strong{
  background:rgba(16,185,129,.12)!important;
  color:#047857!important;
  border-color:rgba(16,185,129,.22)!important;
}
.area-open-note.area-open-mega,
.area-open-summary.area-open-mega strong{
  background:linear-gradient(90deg,rgba(16,185,129,.14),rgba(245,158,11,.16))!important;
  color:#065f46!important;
  border-color:rgba(16,185,129,.24)!important;
}
.area-open-summary.area-open-need::before{content:"🙋 ";} 
.area-open-summary.area-open-start::before{content:"👍 ";} 
.area-open-summary.area-open-good::before{content:"💪 ";} 
.area-open-summary.area-open-strong::before{content:"✅ ";} 
.area-open-summary.area-open-mega::before{content:"🔥 ";} 


/* v27: Schwellenwerte für offene Aufbau-/Abbau-Helfer angepasst
   1-4 = weitere Hilfe benötigt, 8-9 = schon stark */
.area-open-summary.area-open-need::before{content:"🙋 ";}
.area-open-summary.area-open-start::before{content:"👍 ";}
.area-open-summary.area-open-good::before{content:"💪 ";}


/* v28: Bereichskopf für Aufbau-/Abbau aufräumen – nur ein sauberer Status-Chip */
.area-open-summary{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:10px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
  line-height:1.2!important;
  white-space:normal!important;
}
.area-open-summary::before{
  content:none!important;
}
.area-open-summary strong{
  display:initial!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.area-open-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 auto!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  font-size:1rem!important;
}
.area-open-label{
  display:inline!important;
  min-width:0!important;
  font-weight:900!important;
}
.area-open-note{
  display:none!important;
}
.area-open-summary.area-open-need{
  background:rgba(244,63,94,.10)!important;
  color:#9f1239!important;
  border-color:rgba(244,63,94,.20)!important;
}
.area-open-summary.area-open-start{
  background:rgba(245,158,11,.12)!important;
  color:#92400e!important;
  border-color:rgba(245,158,11,.24)!important;
}
.area-open-summary.area-open-good{
  background:rgba(59,130,246,.10)!important;
  color:#1d4ed8!important;
  border-color:rgba(59,130,246,.20)!important;
}
.area-open-summary.area-open-strong{
  background:rgba(16,185,129,.11)!important;
  color:#047857!important;
  border-color:rgba(16,185,129,.20)!important;
}
.area-open-summary.area-open-mega{
  background:linear-gradient(90deg,rgba(16,185,129,.13),rgba(245,158,11,.13))!important;
  color:#065f46!important;
  border-color:rgba(16,185,129,.22)!important;
}
@media(max-width:720px){
  .area-open-summary{
    width:100%!important;
    justify-content:flex-start!important;
    border-radius:18px!important;
  }
}


/* v29: Aufbau-/Abbau-Bereichskopf auf Desktop kompakter darstellen */
@media (min-width: 721px){
  .area-group.area-open-only .area-toggle{
    padding:12px 16px!important;
  }
  .area-group.area-open-only .area-title{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    flex-wrap:wrap!important;
  }
  .area-group.area-open-only .area-title strong{
    margin:0!important;
  }
  .area-group.area-open-only .area-open-summary{
    margin-top:0!important;
    padding:6px 10px!important;
    min-height:34px!important;
    font-size:.88rem!important;
    box-shadow:none!important;
  }
  .area-group.area-open-only .area-open-icon{
    width:21px!important;
    height:21px!important;
    font-size:.92rem!important;
  }
  .area-group.area-open-only .area-preview{
    display:none!important;
  }
  .area-group.area-open-only .area-content{
    padding-top:4px!important;
  }
}

/* Mobile bleibt lesbar, aber ebenfalls etwas ruhiger */
@media (max-width:720px){
  .area-group.area-open-only .area-toggle{
    padding:13px!important;
  }
  .area-group.area-open-only .area-preview{
    display:none!important;
  }
  .area-group.area-open-only .area-open-summary{
    margin-top:8px!important;
    padding:7px 10px!important;
  }
}


/* v30: Aufbau-/Abbau-Status direkt in der Zeitzeile statt separatem Status-Kasten */
.area-group.area-open-only .area-open-summary{
  display:none!important;
}
.area-group.area-open-only .area-title{
  align-items:flex-start!important;
}
.area-group.area-open-only .area-preview{
  display:flex!important;
  width:100%!important;
  margin-top:8px!important;
  gap:7px!important;
}
.area-group.area-open-only .area-preview-chip{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(16,185,129,.08)!important;
  border:1px solid rgba(16,185,129,.16)!important;
  color:#047857!important;
  box-shadow:none!important;
}
.area-group.area-open-only .area-preview-chip.bad,
.area-group.area-open-only .area-preview-chip.warn,
.area-group.area-open-only .area-preview-chip.ok{
  background:rgba(16,185,129,.08)!important;
  color:#047857!important;
  border-color:rgba(16,185,129,.16)!important;
}
@media (min-width:721px){
  .area-group.area-open-only .area-toggle{
    padding:12px 16px!important;
  }
  .area-group.area-open-only .area-title{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .area-group.area-open-only .area-title strong{
    margin:0!important;
  }
  .area-group.area-open-only .area-preview{
    margin-left:54px!important;
    margin-top:6px!important;
  }
  .area-group.area-open-only .area-content{
    padding-top:4px!important;
  }
}
@media (max-width:720px){
  .area-group.area-open-only .area-preview{
    display:flex!important;
    margin-top:8px!important;
  }
  .area-group.area-open-only .area-preview-chip{
    width:100%!important;
    justify-content:flex-start!important;
    border-radius:16px!important;
  }
}


/* v31: Tagesauswahl deutlicher machen */
.day-select-hint{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:14px 2px 8px!important;
  padding:10px 13px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,250,252,.92))!important;
  border:1px solid rgba(148,163,184,.18)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.045)!important;
  color:#344054!important;
}
.day-select-hint strong{
  white-space:nowrap!important;
  color:#111827!important;
  font-weight:950!important;
}
.day-select-hint span{
  color:#667085!important;
  font-weight:800!important;
  text-align:right!important;
}
.day-tabs{
  position:relative!important;
}
.day-tabs::after{
  content:"Tipp: weiteren Tag antippen";
  display:inline-flex!important;
  align-items:center!important;
  margin-left:8px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(192,0,59,.08)!important;
  color:#9f1239!important;
  font-size:.78rem!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.day-tab{
  font-weight:950!important;
}
.day-tab.active{
  box-shadow:0 10px 24px rgba(192,0,59,.16)!important;
}
@media(max-width:720px){
  .day-select-hint{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin:12px 0 8px!important;
    padding:11px 12px!important;
  }
  .day-select-hint span{
    text-align:left!important;
    line-height:1.35!important;
  }
  .day-tabs{
    padding-bottom:4px!important;
  }
  .day-tabs::after{
    content:"";
    margin:8px 0 0!important;
    width:max-content!important;
    max-width:100%!important;
  }
}


/* v32: Mobile-Hinweis ohne '' */
@media(max-width:720px){
  .day-tabs::after{
    content:"weiteren Tag antippen"!important;
  }
}


/* v33: Alle Tage untereinander anzeigen und Tagesbuttons als Sprungnavigation nutzen */
.day-section{
  display:block!important;
  scroll-margin-top:18px!important;
}
.day-section + .day-section{
  margin-top:26px!important;
  padding-top:8px!important;
  border-top:1px solid rgba(148,163,184,.18)!important;
}
.day-tabs{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  backdrop-filter:blur(10px)!important;
}
.day-tabs::after{
  content:"Tag antippen = dorthin springen"!important;
}
.day-select-hint span{
  text-align:left!important;
}
.shift-time-line{
  font-weight:900!important;
}
@media(max-width:720px){
  .day-tabs{
    top:0!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .day-tabs::after{
    content:"Tag antippen = dorthin springen"!important;
  }
  .day-section + .day-section{
    margin-top:22px!important;
  }
}


/* v34: Zusatz-Hinweis an Tagesleiste komplett entfernen */
.day-tabs::after{
  content:none!important;
  display:none!important;
}
@media(max-width:720px){
  .day-tabs::after{
    content:none!important;
    display:none!important;
  }
}


/* v36: Danke-/Erfolgsmeldung direkt oben und persönlicher Link als Button */
.success-top-notice{
  margin:14px 0!important;
  padding:16px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(240,253,244,.98),rgba(255,255,255,.96))!important;
  border:1px solid rgba(16,185,129,.24)!important;
  box-shadow:0 14px 34px rgba(16,185,129,.10)!important;
  color:#064e3b!important;
  scroll-margin-top:16px!important;
}
.success-top-notice strong{
  display:block!important;
  margin-bottom:5px!important;
  font-size:1.03rem!important;
  color:#047857!important;
}
.success-top-notice p{
  margin:6px 0!important;
  line-height:1.42!important;
}
.success-link-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:12px 0 4px!important;
}
.success-link-actions .btn{
  min-height:40px!important;
}
@media(max-width:720px){
  .success-top-notice{
    margin:12px 0!important;
    padding:14px!important;
    border-radius:20px!important;
  }
  .success-link-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .success-link-actions .btn,
  .success-link-actions button{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
}


/* v37: Fallback-Anzeige für persönlichen Änderungslink */
.success-link-fallback{
  margin-top:8px!important;
}
.success-link-fallback summary{
  cursor:pointer!important;
  font-weight:850!important;
  color:#047857!important;
}
.success-link-fallback code{
  display:block!important;
  margin-top:6px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:rgba(15,23,42,.06)!important;
  color:#334155!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}


/* v38: Danke-Meldung entschlackt – persönlicher Änderungslink kommt nur per E-Mail */
.success-link-actions,
.success-link-fallback{
  display:none!important;
}
