@import url("brand.css?v=20260906");

/* Kandi-, Supporter:innen- und Adminplattform mit dem Auftritt von SP Thun. */
:root{
  color-scheme:light;
  --paper:var(--sp-white); --card:var(--sp-white); --ink:var(--sp-ink); --muted:#626262;
  --line:var(--sp-grey); --line-soft:var(--sp-grey);
  --red:var(--sp-red); --red-deep:var(--sp-red); --red-tint:var(--sp-blue-light);
  --slate:#5B6470; --green:#1F8A3B; --green-tint:#E7F4EB;
  --font-display:var(--sp-font-family);
  --font-body:var(--sp-font-family);
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.55;
  -webkit-font-smoothing:antialiased;padding-bottom:5rem}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:1rem}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600}
strong,b{font-weight:600}

.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.55rem;
  padding:.55rem 1rem;border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(8px)}
.topbar .logo{display:block;width:auto;height:30px;flex:none}
.topbar-title{min-width:0;overflow:hidden;font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}
.topbar .spacer{flex:1}
.who{font-size:.8rem;color:var(--muted)}
.linkbtn{font-size:.8rem;color:var(--red);font-weight:600}

.wrap{max-width:680px;margin:0 auto;padding:1.2rem 1rem}
h1{font-family:var(--font-display);font-size:1.7rem;line-height:1.1;letter-spacing:-.02em;color:var(--red)}
h2{font-family:var(--font-display);font-size:1.15rem;margin:1.6rem 0 .2rem;letter-spacing:-.01em}
.lead{color:var(--muted);margin-top:.5rem;font-size:.98rem}
.muted{color:var(--muted)}

/* forms */
.field{display:flex;flex-direction:column;gap:.3rem;margin-top:.9rem}
.field label{font-size:.82rem;font-weight:600;color:var(--muted)}
.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;
  background:var(--card);color:var(--ink);font-size:1rem}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--red)}
.check{display:flex;gap:.55rem;align-items:flex-start;margin-top:1rem;font-size:.92rem;color:var(--ink);cursor:pointer}
.check input{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--red);flex:none}
.btn-pri{background:var(--red);color:#fff!important;font-weight:600;border-radius:11px;padding:.8rem 1.3rem;
  font-size:1rem;transition:.15s;width:100%;margin-top:1.1rem}
.btn-pri:hover{background:color-mix(in srgb,var(--red) 85%,#000)}
.btn-pri:disabled{opacity:.5}
.msg{margin-top:.8rem;font-size:.9rem;padding:.6rem .8rem;border-radius:10px;display:none}
.msg.err{display:block;background:var(--red-tint);color:var(--red-deep);border:1px solid var(--red)}
.msg.ok{display:block;background:var(--green-tint);color:var(--green);border:1px solid var(--green)}
.switch{margin-top:1.4rem;text-align:center;font-size:.9rem;color:var(--muted)}

/* tabs */
.tabs-wrap{position:sticky;top:47px;z-index:15;background:var(--paper);border-bottom:1px solid var(--line)}
/* Fade-Hinweise: erscheinen nur, wenn in die jeweilige Richtung gescrollt werden kann */
.tabs-wrap::before,.tabs-wrap::after{content:"";position:absolute;top:0;bottom:0;width:2.4rem;
  pointer-events:none;z-index:1;opacity:0;transition:opacity .18s}
.tabs-wrap::before{left:0;background:linear-gradient(to right,var(--paper),transparent)}
.tabs-wrap::after{right:0;background:linear-gradient(to left,var(--paper),transparent)}
.tabs-wrap.scroll-l::before{opacity:1}
.tabs-wrap.scroll-r::after{opacity:1}
/* kleiner Chevron rechts als zusätzlicher Hinweis */
.tabs-wrap.scroll-r .tabs-more{opacity:1}
.tabs-more{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);z-index:2;
  color:var(--red);font-weight:700;font-size:1rem;pointer-events:none;opacity:0;transition:opacity .18s}
.tabs{display:flex;gap:.3rem;padding:.5rem 0;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:1 0 auto;min-width:max-content;padding:.55rem .55rem;border-radius:9px;
  font-weight:600;font-size:.88rem;color:var(--muted);white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;gap:.3rem}
.tabs button.on{background:var(--red-tint);color:var(--red-deep)}
.tab{display:none}.tab.on{display:block}
@media (max-width:400px){.tabs button{font-size:.8rem;padding:.5rem .45rem}}
.tdot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;flex:none}
.tdot.open{background:var(--red)}
.tdot.ok{background:var(--green)}

/* Übersicht / To-do-Liste */
.todolist{display:flex;flex-direction:column;gap:.7rem;margin-top:1.4rem}
.todo-card{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;transition:.15s}
.todo-card:hover{border-color:var(--ink)}
.todo-card.done{border-color:var(--green);background:var(--green-tint)}
.todo-card .tk{width:1.7rem;height:1.7rem;border-radius:50%;border:2px solid var(--line);flex:none;
  display:grid;place-items:center;font-weight:700;color:var(--green)}
.todo-card.done .tk{border-color:var(--green);background:var(--green);color:#fff}
.todo-card .tx{flex:1;display:flex;flex-direction:column}
.todo-card .tl-lab{font-weight:600}
.todo-card .tl-hint{font-size:.83rem;color:var(--muted);margin-top:.1rem}
.todo-card .tgo{color:var(--muted);font-size:1.3rem;flex:none}

/* Fototermin-Slots */
.myslot{background:var(--green-tint);border:1px solid var(--green);border-radius:12px;
  padding:.7rem .9rem;margin-bottom:1rem;font-size:.95rem}
.myslot .linkbtn{margin-left:.5rem}
.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-bottom:.4rem}
.slot{border:1px solid var(--line);border-radius:9px;padding:.5rem .2rem;font-size:.9rem;font-weight:600;
  background:var(--card);font-variant-numeric:tabular-nums;transition:.12s}
.slot-grid-named{grid-template-columns:repeat(3,minmax(0,1fr))}
.slot-grid-named .slot{display:flex;min-height:54px;box-sizing:border-box;align-items:flex-start;justify-content:center;flex-direction:column;padding:.5rem .65rem;text-align:left;text-decoration:none}
.slot-grid-named .slot small{display:block;max-width:100%;margin-top:.15rem;font-size:.7rem;font-weight:500;line-height:1.25;overflow-wrap:anywhere}
.slot.free:hover{border-color:var(--red);background:var(--red-tint)}
.slot.taken{opacity:.72;cursor:not-allowed}
.slot.blocked{opacity:.45;cursor:not-allowed;background:var(--line-soft);color:var(--muted);
  background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,var(--line) 5px,var(--line) 6px)}
.slot-note{font-size:.8rem;color:var(--muted);background:var(--line-soft);border:1px solid var(--line);
  border-radius:9px;padding:.45rem .6rem;margin:.15rem 0 .5rem}
.slot.mine{background:var(--green);border-color:var(--green);color:#fff}
@media (max-width:600px){.slot-grid-named{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:380px){.slot-grid{grid-template-columns:repeat(3,1fr)}.slot-grid-named{grid-template-columns:1fr 1fr}}
.myslot.none{background:var(--card);border-color:var(--line);color:var(--muted)}

/* Termine-Abschnitte (aufklappbar) */
.termine-sec{margin-top:1rem;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.termine-sec > summary{cursor:pointer;list-style:none;padding:.85rem .95rem;font-weight:700;font-size:1.05rem;
  display:flex;align-items:center;gap:.5rem}
.termine-sec > summary::-webkit-details-marker{display:none}
.termine-sec > summary::after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .15s}
.termine-sec[open] > summary::after{transform:rotate(180deg)}
.termine-sec > *:not(summary){margin-left:.95rem;margin-right:.95rem}
.termine-sec[open]{padding-bottom:.85rem}
.vergangene-termine{border-color:var(--line);background:var(--line-soft)}
.vergangene-termine > summary{color:var(--muted)}
.vergangene-termingruppe{margin-top:.7rem;background:var(--card)}
.vergangene-termingruppe:last-child{margin-bottom:.1rem}
.vergangene-termine .fslot{opacity:.82}
.vergangene-termine .fslot.mine{opacity:1}
.vergangen-label{font-size:.78rem;color:var(--muted);margin:.45rem 0 .75rem}
.sec-status{font-size:.72rem;font-weight:700;border-radius:999px;padding:.12rem .5rem;letter-spacing:.01em}
.sec-status.ok{background:var(--green-tint);color:var(--green);border:1px solid var(--green)}
.sec-status.open{background:#FBE7D5;color:#9A6212;border:1px solid var(--orange,#E8A23D)}
:root{--orange:#E8A23D}

/* Privates Kalender-Abo */
.calendar-subscribe{display:flex;gap:.8rem;align-items:flex-start;margin:1rem 0;padding:.85rem .95rem;
  border:1px solid var(--line);border-radius:12px;background:var(--card)}
.calendar-subscribe[hidden]{display:none}
.calendar-subscribe-icon{font-size:1.45rem;line-height:1.2}
.calendar-subscribe-content{min-width:0;flex:1}.calendar-subscribe-content>p{margin:.2rem 0 .65rem;color:var(--muted);font-size:.84rem;line-height:1.4}
.calendar-subscribe-dismiss{display:grid;flex:none;width:30px;height:30px;place-items:center;border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:1.25rem;line-height:1}
.calendar-subscribe-dismiss:hover{border-color:var(--line);background:var(--card);color:var(--ink)}
.calendar-subscribe-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.calendar-subscribe-actions[hidden]{display:none}
.calendar-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--red);border-radius:9px;
  padding:.45rem .7rem;background:var(--red);color:#fff!important;font-size:.82rem;font-weight:700;text-decoration:none}
.calendar-btn.secondary{background:var(--card);color:var(--red)!important}
.calendar-renew{font-size:.76rem}.calendar-subscribe .msg{margin-top:.55rem}

/* Generationenfestival-Slots (Mehrfachanmeldung) */
.fslot{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--line);
  border-radius:11px;padding:.55rem .75rem;margin-bottom:.45rem}
.fslot.mine{border-color:var(--green);background:var(--green-tint)}
.fslot-main{flex:1;min-width:0}
.fslot-time{font-weight:700;font-variant-numeric:tabular-nums}
.fslot-location{margin-top:.12rem;color:var(--ink);font-size:.82rem}
.fslot-people{font-size:.82rem;margin-top:.15rem}
.fslot-people .muted{color:var(--muted)}
.fbtn{flex:none;border:1px solid var(--red);color:var(--red);background:var(--card);border-radius:9px;
  padding:.4rem .65rem;font-size:.82rem;font-weight:600;white-space:nowrap;transition:.12s}
.fbtn:hover{background:var(--red-tint)}
.fbtn.on{background:var(--green);border-color:var(--green);color:#fff}
.airbnb-create-action{display:flex;justify-content:flex-end;margin:.65rem 0}.airbnb-create-action[hidden]{display:none}.airbnb-create-action .fbtn{background:var(--red);color:#fff}
.airbnb-slot-dialog{position:fixed;inset:0;margin:auto;width:min(620px,calc(100vw - 2rem));max-height:92dvh;overflow:auto;box-sizing:border-box;border:1px solid var(--line);border-radius:16px;padding:0;background:var(--card);color:var(--ink)}.airbnb-slot-dialog::backdrop{background:rgb(0 0 0 / .5)}.airbnb-slot-dialog form{padding:1.1rem}.airbnb-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.airbnb-dialog-head span{color:var(--red);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.airbnb-dialog-head h2{margin:.18rem 0 .3rem;font-size:1.35rem}.airbnb-dialog-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:1.25rem}.airbnb-slot-responsibility{margin:.8rem 0;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--orange) 55%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--orange) 12%,var(--card));font-size:.86rem;line-height:1.45}.airbnb-slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .75rem}.airbnb-slot-location-field{grid-column:1/-1}.airbnb-slot-participants{font-size:.8rem}.airbnb-dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line)}.airbnb-dialog-actions .btn-pri,.airbnb-dialog-actions .fbtn{width:auto;margin:0;padding:.55rem .8rem}.airbnb-delete-slot{padding:.55rem .7rem;border:1px solid var(--red);border-radius:9px;color:var(--red);font-weight:650}.airbnb-delete-slot:hover{background:var(--red-tint)}
@media(max-width:560px){.airbnb-slot-grid{grid-template-columns:1fr 1fr}.airbnb-slot-location-field,.airbnb-slot-grid .field:first-child{grid-column:1/-1}.airbnb-dialog-actions{grid-template-columns:1fr 1fr}.airbnb-dialog-actions>span{display:none}.airbnb-dialog-actions .airbnb-delete-slot{grid-column:1/-1}.airbnb-dialog-actions .btn-pri,.airbnb-dialog-actions .fbtn{width:100%}}

/* Generische Termingruppen verwenden dieselbe Darstellung wie alle übrigen Terminarten. */
.generic-event-group > summary .draft-preview-badge{margin-left:auto}
.event-slot{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.65rem 0;border-top:1px solid var(--line-soft)}
.event-slot:first-of-type{margin-top:.55rem}.event-slot.mine{color:var(--green)}
.event-slot>div:first-child{min-width:0;flex:1}
.event-lead-intro{display:flex;align-items:flex-start;gap:.6rem;margin:.7rem 0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:.78rem;line-height:1.45}.event-lead-intro strong{flex:none}.event-lead-intro span{color:var(--muted)}
.event-lead-status{display:flex;align-items:center;gap:.35rem;margin-top:.4rem;color:var(--muted);font-size:.76rem}.event-lead-status>span{color:var(--orange);font-size:.55rem}.event-lead-status.is-assigned,.event-lead-status.is-assigned>span{color:var(--green)}
.event-slot-participants{display:flex;align-items:baseline;gap:.25rem .35rem;flex-wrap:wrap;margin-top:.4rem;color:var(--muted);line-height:1.45}.event-slot-participants>b,.event-slot-participants strong{color:var(--ink)}
.event-slot-actions-kandi{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
.event-lead-button{flex:none;min-height:40px;padding:.4rem .65rem;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:var(--card);font-size:.78rem;font-weight:700;white-space:nowrap}.event-lead-button.is-on{border-color:var(--green);background:var(--card);color:var(--green)}
.event-guide-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.event-guide-link>div{display:grid;gap:.12rem;min-width:0}.event-guide-link strong{font-size:.84rem}.event-guide-link span{color:var(--muted);font-size:.76rem;line-height:1.4}
.event-guide-trigger{flex:none;min-height:40px;padding:.45rem .7rem;border:1px solid var(--red);border-radius:9px;background:var(--card);color:var(--red);font-size:.78rem;font-weight:700;white-space:nowrap}
.event-guide-trigger:hover{background:var(--red-tint)}
.event-guide-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 32px));max-height:min(88dvh,900px);box-sizing:border-box;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 24px 70px rgb(0 0 0 / .24)}
.event-guide-dialog::backdrop{background:rgb(12 20 28 / .62);backdrop-filter:blur(2px)}
.event-guide-dialog>article{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(88dvh,900px)}
.event-guide-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem 1rem;border-bottom:1px solid var(--line)}
.event-guide-dialog-head span{color:var(--red);font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.event-guide-dialog-head h2{margin:.2rem 0 0;font-size:1.35rem;line-height:1.25}
.event-guide-dialog-close{display:grid;flex:none;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:1.35rem;line-height:1}
.event-guide-dialog-close:hover{background:var(--paper);color:var(--ink)}
.event-guide-dialog-body{overflow:auto;padding:1.2rem 1.35rem 1.5rem;overscroll-behavior:contain}
.event-guide-dialog-body h3{margin:1.35rem 0 .45rem;font-size:.92rem;line-height:1.35}.event-guide-dialog-body h3:first-child{margin-top:0}
.event-guide-dialog-body p{margin:.55rem 0;color:var(--ink);font-size:.88rem;line-height:1.65}.event-guide-dialog-body .event-guide-lead{margin-top:0;padding:.8rem .9rem;border-radius:10px;background:var(--paper);font-weight:600}
.event-guide-dialog-body ul{display:grid;gap:.42rem;margin:.45rem 0 1rem;padding-left:1.2rem}.event-guide-dialog-body li{padding-left:.15rem;font-size:.86rem;line-height:1.55}
.event-guide-dialog footer{display:flex;justify-content:flex-end;padding:.85rem 1.35rem;border-top:1px solid var(--line);background:var(--card)}
.event-guide-dialog footer .fbtn{min-width:110px;background:var(--red);color:#fff}
.event-guide-dialog :is(button,[tabindex]):focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:600px){.event-guide-link{align-items:stretch;flex-direction:column}.event-guide-trigger{width:100%}.event-guide-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.event-guide-dialog>article{height:100dvh;max-height:none}.event-guide-dialog-head{padding:1rem}.event-guide-dialog-body{padding:1rem}.event-guide-dialog footer{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom))}.event-guide-dialog footer .fbtn{width:100%}}
.draft-preview-badge{display:inline-block;vertical-align:.1em;margin-left:.35rem;padding:.12rem .48rem;border-radius:999px;background:#fff3cd;color:#805b00;border:1px solid #e4bd52;font-size:.68rem;font-weight:800}
.draft-preview-note{margin:.55rem 0;padding:.55rem .7rem;border-radius:9px;background:#fff8df;color:#6f5100;border:1px solid #ead27c;font-size:.8rem;font-weight:650}

/* Slogans */
.slogan-ttl{font-weight:700;letter-spacing:.01em;text-transform:uppercase;font-size:.98rem}

/* Info & Dokumente */
.info-card{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;
  margin-top:.8rem;color:var(--ink);text-decoration:none;transition:.15s}
a.info-card:hover{border-color:var(--red)}
.info-card .ic-body{flex:1;min-width:0}
.info-card .ic-title{font-weight:600}
.info-card .ic-sub{font-size:.86rem;color:var(--muted);margin-top:.25rem;line-height:1.45}
.info-card .ic-sub a{color:var(--red);font-weight:600;text-decoration:none}
.info-card .ic-go{color:var(--red);font-size:1.2rem;font-weight:700;flex:none}
.info-card.soon{opacity:.7}
.soon-tag{display:inline-block;background:var(--line-soft);color:var(--muted);border-radius:999px;
  padding:.05rem .5rem;font-size:.7rem;font-weight:700;margin-left:.35rem;vertical-align:.08rem}

/* Inputs */
.input-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.8rem}
.input-item{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:.55rem .7rem;font-size:.93rem}
.input-item .by{display:block;font-size:.76rem;color:var(--muted);margin-top:.2rem}
.empty{color:var(--muted);font-size:.86rem;font-style:italic;padding:.3rem 0}

/* todo banner */
.todo{margin-top:1rem;background:var(--red-tint);border:1px solid var(--red);border-radius:12px;
  padding:.7rem .9rem;font-size:.9rem;color:var(--red-deep);font-weight:500}
.todo.done{background:var(--green-tint);border-color:var(--green);color:var(--green)}

/* action cards */
.cat{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted);margin:1.3rem 0 .5rem}
.act{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:.6rem .8rem;
  margin-bottom:.45rem;display:flex;gap:.7rem;align-items:center;animation:rise .25s ease}

/* statischer Abschnitt (immer offen, kein Auf-/Zuklappen) */
.panel{margin-top:1rem;border:1px solid var(--line);border-radius:11px;background:var(--card);
  padding:.7rem .9rem .8rem}
.panel-head{font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}
.sum-count{background:var(--red);color:#fff;border-radius:999px;font-size:.7rem;padding:.02rem .45rem;font-weight:700}
.act.fresh{border-color:var(--red);box-shadow:0 0 0 3px var(--red-tint)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.act .body{flex:1;min-width:0}
.act .ttl{font-weight:600}
.act .sub{font-size:.78rem;color:var(--muted);margin-top:.2rem}
.act .cat-chip{display:inline-block;background:var(--line-soft);color:var(--muted);border-radius:999px;
  padding:.05rem .5rem;font-size:.72rem;font-weight:600;letter-spacing:.02em}
.act-edit{display:flex;gap:.4rem;margin-top:.5rem}
.act-edit .iconbtn{border:1px solid var(--line);border-radius:8px;padding:.2rem .5rem;font-size:.85rem;
  background:var(--paper);line-height:1.2}
.act-edit .iconbtn:hover{border-color:var(--red)}
.act .newtag{display:inline-block;background:var(--red);color:#fff;font-size:.65rem;font-weight:700;
  border-radius:999px;padding:.1rem .45rem;margin-left:.4rem;vertical-align:1px}
.votes{display:flex;flex-direction:column;gap:.35rem;flex:none}
.vbtn{display:flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:9px;
  padding:.4rem .6rem;font-weight:600;font-size:.9rem;min-width:3.4rem;justify-content:center;transition:.13s}
.vbtn .c{font-variant-numeric:tabular-nums}
.vbtn.up.on{background:var(--green-tint);border-color:var(--green);color:var(--green)}
.vbtn.down.on{background:var(--red-tint);border-color:var(--red);color:var(--red-deep)}
.vbtn:hover{border-color:var(--ink)}

.idea-form{margin:.8rem 0 0;display:flex;gap:.5rem}
.idea-form input{flex:1;border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:var(--card);color:var(--ink)}
.idea-form button{background:var(--ink);color:var(--paper);font-weight:600;border-radius:10px;padding:0 1rem;flex:none}
.idea-form button:hover{background:var(--red)}
.dim{opacity:.5;pointer-events:none}

/* Vereinfachtes Supporter:innen-Portal */
.support-card{margin-top:1.2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.2rem 1rem 1rem}
.device-note{margin-top:1rem;color:var(--muted);font-size:.86rem;text-align:center}
.support-event{margin-top:1.6rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.1rem .9rem 1rem}
.support-event h2{margin-top:1rem}
.support-event-desc{font-size:.9rem;margin:.35rem 0 1rem}
.support-profile{margin-top:1.5rem}
.support-profile .btn-pri{margin-bottom:.3rem}
.support-help{margin-top:1.2rem;background:var(--red-tint);border:1px solid var(--red);border-radius:var(--radius);padding:.8rem 1rem;font-size:.9rem}
.support-help p{margin-top:.3rem;color:var(--muted)}
.support-help a{color:var(--red);font-weight:600}
.support-donate{display:flex;gap:.8rem;align-items:flex-start;margin-top:1.2rem;background:var(--green-tint);border:1px solid var(--green);border-radius:var(--radius);padding:.85rem 1rem;font-size:.9rem}
.support-donate-icon{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:700}
.support-donate p{margin:.25rem 0 .4rem;color:var(--muted)}
.support-donate a{color:var(--green);font-weight:700;text-decoration:none}

.support-page .fbtn:disabled{opacity:.45;cursor:not-allowed}

/* Social-Media-Redaktionsplan */
#editorialPlan{line-height:1.6}
#editorialPlan>h2{margin-bottom:1rem}
#editorialPlan>p{margin-bottom:1rem}
#editorialPlan>label{display:flex;align-items:center;gap:.65rem;margin:1.4rem 0}
#editorialPlan input[type=checkbox]{accent-color:var(--red);width:1.15rem;height:1.15rem}
#editorialItems{display:block}
.k-editorial-group{margin:0 0 1rem;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.k-editorial-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;cursor:pointer;list-style:none}
.k-editorial-group>summary::-webkit-details-marker{display:none}
.k-editorial-group>summary>span:first-child{display:flex;min-width:0;flex-direction:column;gap:.2rem}
.k-editorial-group>summary strong{font-size:1rem}
.k-editorial-group>summary small{color:var(--muted);font-size:.78rem;font-weight:400}
.k-editorial-group>summary::after{content:'⌄';margin-left:.2rem;color:var(--muted);font-size:1.25rem;line-height:1;transition:transform .18s ease}
.k-editorial-group[open]>summary::after{transform:rotate(180deg)}
.k-editorial-group-count{margin-left:auto;padding:.2rem .55rem;border-radius:999px;background:var(--paper);color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}
.k-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;padding:0 1.15rem 1.15rem}
#editorialItems .card{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.4rem;overflow-wrap:anywhere}
#editorialItems h3{font-size:1.15rem;line-height:1.4;margin:.55rem 0 .35rem}
#editorialItems p{margin:.65rem 0}
#editorialItems label{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;font-size:.9rem;font-weight:600}
#editorialItems input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:var(--card);color:var(--ink)}
#editorialItems button{display:inline-block;background:var(--red);color:white;border:1px solid var(--red);border-radius:10px;padding:.75rem 1rem;font-weight:600;margin:1rem .5rem 0 0;min-height:44px}
#editorialItems button[data-op=release]{background:var(--card);color:var(--ink);border-color:var(--line)}
#editorialItems button:disabled{opacity:.5;cursor:wait}
.k-editorial-card{display:flex;flex-direction:column}
.k-editorial-card.is-mine{border-color:color-mix(in srgb,var(--red) 38%,var(--line))!important}
.k-editorial-card-head>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.k-editorial-card-head>p{margin:0!important;color:var(--muted);font-size:.82rem}
.k-editorial-key{color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.06em}
.k-editorial-state{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:var(--paper);color:var(--muted);font-size:.7rem;font-weight:750}
.k-editorial-state[data-state="frei"]{background:var(--green-tint);color:var(--green)}
.k-editorial-state[data-state="dein-beitrag"],.k-editorial-state[data-state="geliefert"]{background:color-mix(in srgb,var(--red) 10%,var(--card));color:var(--red)}
.k-editorial-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:1rem 0}
.k-editorial-dates>div{padding:.75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.k-editorial-dates span{display:block;margin-bottom:.18rem;color:var(--muted);font-size:.7rem}
.k-editorial-dates strong{display:block;font-size:.84rem;line-height:1.35}
.k-editorial-assignment{flex:1;padding:1rem;border-radius:11px;background:var(--paper)}
#editorialItems .k-editorial-assignment h4{margin:0;font-size:.83rem}
#editorialItems .k-editorial-assignment>p{margin:.4rem 0 0;white-space:pre-line}
.k-editorial-how{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}
.k-editorial-how>strong{font-size:.76rem}
.k-editorial-how p{margin:.3rem 0 0!important;color:var(--muted);font-size:.8rem;white-space:pre-line}
.k-editorial-claim,.k-editorial-claim-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.k-editorial-claim.is-mine{padding:.9rem;border:1px solid color-mix(in srgb,var(--red) 24%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--red) 5%,var(--card))}
#editorialItems .k-editorial-claim p{margin:.25rem 0;font-size:.82rem}
#editorialItems .k-editorial-claim-title{color:var(--ink);font-weight:700}
.k-editorial-claim-form label span{color:var(--muted);font-weight:400}
.k-editorial-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.k-editorial-actions button{margin-right:0!important}
.k-editorial-empty{grid-column:1/-1;text-align:center}
.k-editorial-empty h3{margin:0!important}
.k-editorial-empty p{color:var(--muted)}
#editorialPlan :is(button,input,a):focus-visible{outline:2px solid var(--red);outline-offset:3px}
#editorialMessage:not(:empty){padding:1rem;border:1px solid var(--red);margin-bottom:1rem;border-radius:10px}
@media(max-width:600px){.k-editorial-group>summary{align-items:flex-start;padding:.9rem}.k-editorial-group-count{display:none}.k-editorial-grid{grid-template-columns:1fr;padding:0 .9rem .9rem}#editorialItems .card{padding:1rem}#editorialItems button{width:100%;margin-right:0}.k-editorial-dates{grid-template-columns:1fr}.k-editorial-actions{display:block}}

/* Abstand zwischen der fixierten Navigation und dem aktiven Inhalt. */
#appView>.tab{padding-top:1rem}
#editorialPlan a:not(.calendar-btn),#referralLinks a{color:var(--red);text-underline-offset:.15em}
#referralLinks{border:1px solid var(--line);border-radius:14px;padding:1rem;margin-top:1rem;background:var(--card)}
#referralLinks h2{margin:0 0 .6rem}
#referralLinks p{font-size:.9rem;color:var(--muted);line-height:1.55;margin-bottom:1rem}
#referralLinks label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;margin-top:.9rem}
#referralLinks input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:.7rem .8rem;font-size:.85rem}
#supportLoginOpen{display:block;margin:.85rem auto 0;padding:.4rem;color:var(--red);font-weight:600}
#supportLogin{margin:auto;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:1.4rem;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink)}
#supportLogin::backdrop{background:#0006}
#supportLogin h2{margin:0 0 1rem}
#supportLogin label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.85rem;margin-top:.9rem}
#supportLogin input{width:100%;min-width:0;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
#supportLoginHint{font-size:.85rem;color:var(--muted);line-height:1.5;margin-top:.8rem}
#supportLoginMessage:not(:empty){padding:.7rem 0;font-size:.9rem}
#supportLogin button{padding:.75rem 1rem;border-radius:10px;margin-top:1rem;font-weight:600;min-height:44px}
#supportLogin button[type=submit]{background:var(--red);color:white;margin-right:.5rem}
#supportLoginClose{border:1px solid var(--line)}
#supportLogin input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.support-upload{margin:1rem 0}
.support-upload a{color:var(--red);text-underline-offset:.15em}
@media(max-width:500px){#genericSupportEvents .event-slot{flex-wrap:wrap}#genericSupportEvents .event-slot>div{flex:1 1 100%}}
.support-profile>.btn-pri{width:calc(100% - 1.9rem)}
#supportLogoutBtn{padding:.65rem 0;color:var(--red);font-weight:600}
.action-page #actionDescription{white-space:pre-wrap;color:var(--muted);margin:.6rem 0 1.4rem}
#actionForm{padding:1.2rem;border:1px solid var(--line);border-radius:14px;background:var(--card)}
#actionForm label{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;font-size:.85rem;font-weight:600;color:var(--muted)}
#actionForm input,#actionForm select{width:100%;min-width:0;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
#actionForm p{font-size:.85rem;line-height:1.6;color:var(--muted)}
.action-page a{color:var(--red)}
.action-page>p:last-child{margin-top:1.2rem}
#actionMessage{white-space:pre-wrap}
#actionMessage:not(:empty){padding:1rem;border:1px solid var(--line);border-radius:10px;margin:1rem 0}
