/* Seiten-Styles des internen Bereichs (Preset2-Look, angelehnt an css/style.css). */
:root{
  --bg:#07090f; --surface:#12161f; --surface-2:#171c28;
  --line:rgba(255,255,255,.09); --line-strong:rgba(255,255,255,.16);
  --text:#eef0f5; --muted:#9aa1b2;
  --accent:#8b5cf6; --accent-2:#22d3ee;
  --grad:linear-gradient(135deg,#8b5cf6 0%,#22d3ee 100%);
  --ok:#96c56b; --warn:#e9a94a; --err:#e07c74;
  --radius:14px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
body.p2-intern{
  min-height:100vh; background:var(--bg); color:var(--text);
  font-family:'Inter',system-ui,-apple-system,sans-serif; font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--accent-2); }
h1,h2,h3{ font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:.02em; line-height:1.2; }

/* ---------- Seite ---------- */
.page{ max-width:1100px; margin:0 auto; padding:32px 16px 64px; }
.page__head{ margin-bottom:24px; }
.page__kicker{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.14em;
  font-size:12px; color:var(--accent-2); margin-bottom:6px;
}
.page__title{ font-size:clamp(26px,4vw,34px); text-transform:uppercase; }
.page__lede{ color:var(--muted); margin-top:6px; max-width:62ch; }

.grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; display:flex; flex-direction:column; gap:10px;
}
.card h2{ font-size:18px; text-transform:uppercase; }
.card p{ color:var(--muted); }
.card__meta{ font-size:13px; color:var(--muted); }
.card__foot{ margin-top:auto; padding-top:6px; }
.card--muted{ background:transparent; border-style:dashed; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font:inherit; font-weight:600; font-size:14px; text-decoration:none; cursor:pointer;
  border-radius:999px; padding:10px 18px; border:1px solid var(--line-strong);
  background:var(--surface-2); color:var(--text);
}
.btn:hover{ border-color:rgba(255,255,255,.3); }
.btn--primary{ background:var(--grad); color:#0a0a0a; border:0; }
.btn--primary:hover{ opacity:.92; }
.btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}

/* ---------- Formulare ---------- */
.form{ display:flex; flex-direction:column; gap:14px; }
.field{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--muted); }
.field input, .field select, .field textarea{
  background:var(--surface); border:1px solid var(--line-strong); border-radius:10px;
  padding:11px 13px; color:var(--text); font:inherit; font-size:15px; width:100%;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--accent); }
.field__hint{ font-size:12px; color:var(--muted); }
.check{ display:flex; align-items:center; gap:8px; font-size:14px; color:var(--muted); cursor:pointer; }
.check input{ width:16px; height:16px; accent-color:var(--accent); }

.alert{ border-radius:10px; padding:10px 13px; font-size:14px; border:1px solid; }
.alert--err{ background:rgba(224,124,116,.12); border-color:rgba(224,124,116,.4); color:#efc2bd; }
.alert--ok{ background:rgba(150,197,107,.12); border-color:rgba(150,197,107,.4); color:#cfe6b9; }
.alert--info{ background:rgba(34,211,238,.08); border-color:rgba(34,211,238,.3); color:#bfeef6; }

/* ---------- Login / Setup ---------- */
body.p2-auth{ display:flex; align-items:center; justify-content:center; padding:24px 16px; }
.auth{ width:100%; max-width:380px; text-align:center; }
.auth__logo{ height:34px; width:auto; margin:0 auto 26px; display:block; }
.auth h1{ font-size:24px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:20px; }
.auth .form{ text-align:left; }
.auth .alert{ margin-bottom:14px; text-align:left; }
.auth .btn--primary{ width:100%; padding:13px; font-size:15px; margin-top:4px; }
.auth__text{ color:var(--muted); font-size:14px; margin:-8px 0 18px; }
.auth__back{ display:inline-block; margin-top:22px; font-size:13px; color:var(--muted); text-decoration:none; }
.auth__back:hover{ color:var(--text); }
.auth--wide{ max-width:460px; }

/* ---------- Hinweise ---------- */
.flashes{ display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.alert--warn{ background:rgba(233,169,74,.12); border-color:rgba(233,169,74,.4); color:#f3d5a6; }
.alert code, .alert .copy{ word-break:break-all; }

/* ---------- Kopfzeile mit Aktion ---------- */
.page__head--row{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* ---------- Tabellen ---------- */
.table-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.table{ width:100%; border-collapse:collapse; font-size:14px; }
.table th, .table td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap; }
.table th{ font-family:'Oswald',sans-serif; font-weight:500; text-transform:uppercase; letter-spacing:.08em; font-size:12px; color:var(--muted); }
.table tr:last-child td{ border-bottom:0; }
.table td.wrap{ white-space:normal; }
.table a{ color:var(--text); font-weight:600; text-decoration:none; }
.table a:hover{ color:var(--accent-2); }
.table .muted{ color:var(--muted); }
.table tr.is-disabled td{ opacity:.55; }

/* ---------- Badges ---------- */
.badge{ display:inline-block; font-size:12px; font-weight:600; border-radius:999px; padding:2px 10px; border:1px solid var(--line-strong); color:var(--muted); }
.badge--active{ color:var(--ok); border-color:rgba(150,197,107,.45); }
.badge--invited{ color:var(--warn); border-color:rgba(233,169,74,.45); }
.badge--disabled{ color:var(--err); border-color:rgba(224,124,116,.45); }
.badge--admin{ color:#c4b5fd; border-color:rgba(139,92,246,.5); }

/* ---------- Formular-Layout ---------- */
.panel{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.panel + .panel{ margin-top:18px; }
.panel h2{ font-size:17px; text-transform:uppercase; margin-bottom:6px; }
.panel > p{ color:var(--muted); margin-bottom:14px; font-size:14px; }
.form-grid{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.form-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:6px; }
.inline-form{ display:inline; }
.btn--danger{ color:#efc2bd; border-color:rgba(224,124,116,.45); background:transparent; }
.btn--danger:hover{ border-color:var(--err); }
.btn--small{ padding:7px 13px; font-size:13px; }
.meta-list{ display:grid; grid-template-columns:auto 1fr; gap:4px 16px; font-size:14px; color:var(--muted); }
.meta-list dd{ color:var(--text); }
.back-link{ display:inline-block; margin-bottom:12px; font-size:14px; color:var(--muted); text-decoration:none; }
.back-link:hover{ color:var(--text); }

/* ---------- Events ---------- */
.section-title{ font-size:16px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:8px 0 12px; }
.past{ margin-top:28px; }
.past summary{ cursor:pointer; color:var(--muted); font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; }
.past summary:hover{ color:var(--text); }
.badge--ev-draft{ color:var(--muted); }
.badge--ev-announced{ color:var(--ok); border-color:rgba(150,197,107,.45); }
.badge--ev-sold_out{ color:var(--warn); border-color:rgba(233,169,74,.45); }
.badge--ev-cancelled{ color:var(--err); border-color:rgba(224,124,116,.45); }
.field textarea{ resize:vertical; min-height:110px; line-height:1.5; }
.field input[type=file]{ padding:9px; }
.image-current{ display:flex; align-items:center; gap:16px; margin:4px 0 8px; }
.image-current img{ width:120px; height:auto; border-radius:8px; border:1px solid var(--line); }
.countdown{ font-family:'Oswald',sans-serif; font-size:22px; color:var(--accent-2) !important; text-transform:uppercase; letter-spacing:.04em; }

/* ---------- Blog-Editor ---------- */
.card__foot{ display:flex; gap:8px; flex-wrap:wrap; }
.editor-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; align-items:start; }
.editor-main, .editor-side{ display:flex; flex-direction:column; gap:18px; min-width:0; }
.editor-main .panel + .panel, .editor-side .panel + .panel{ margin-top:0; }
.editor-side h2{ margin-bottom:2px; }
@media (max-width:900px){ .editor-layout{ grid-template-columns:1fr; } }
.input-title{ font-family:'Oswald',sans-serif !important; font-size:20px !important; letter-spacing:.02em; }
.form-grid--tight{ grid-template-columns:1fr 1fr; gap:10px; }
.form-actions--stack .btn{ flex:1 1 auto; }
.image-current--wide img{ width:100%; max-height:200px; object-fit:cover; }
.slug-prefix{ font-size:12px; color:var(--muted); word-break:break-all; }

/* Quill im dunklen Preset2-Look */
.editor{ position:relative; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); }
.editor:focus-within{ border-color:var(--accent); }
.editor .ql-toolbar.ql-snow{ border:0; border-bottom:1px solid var(--line); padding:8px; font-family:inherit; position:sticky; top:52px; z-index:5; background:var(--surface); border-radius:10px 10px 0 0; }
.editor .ql-container.ql-snow{ border:0; font-family:'Inter',system-ui,sans-serif; font-size:16px; color:var(--text); }
.editor .ql-editor{ min-height:320px; line-height:1.65; padding:18px 18px 28px; }
.editor .ql-editor.ql-blank::before{ color:var(--muted); font-style:normal; left:18px; }
.editor .ql-editor h2{ font-family:'Oswald',sans-serif; font-weight:600; text-transform:uppercase; font-size:22px; margin:18px 0 6px; }
.editor .ql-editor h3{ font-family:'Oswald',sans-serif; font-weight:600; text-transform:uppercase; font-size:18px; margin:14px 0 4px; }
.editor .ql-editor a{ color:var(--accent-2); }
.editor .ql-snow .ql-stroke{ stroke:var(--muted); }
.editor .ql-snow .ql-fill{ fill:var(--muted); }
.editor .ql-snow .ql-picker{ color:var(--muted); }
.editor .ql-snow button:hover .ql-stroke, .editor .ql-snow button.ql-active .ql-stroke,
.editor .ql-snow .ql-picker-label:hover .ql-stroke, .editor .ql-snow .ql-picker-label.ql-active .ql-stroke{ stroke:var(--accent-2); }
.editor .ql-snow button:hover .ql-fill, .editor .ql-snow button.ql-active .ql-fill{ fill:var(--accent-2); }
.editor .ql-snow .ql-picker-label:hover, .editor .ql-snow .ql-picker-label.ql-active, .editor .ql-snow .ql-picker-item:hover, .editor .ql-snow .ql-picker-item.ql-selected{ color:var(--accent-2); }
.editor .ql-snow .ql-picker-options{ background:var(--surface-2); border-color:var(--line-strong) !important; border-radius:8px; }
.editor .ql-snow .ql-picker.ql-header{ width:170px; }
.editor .ql-snow .ql-picker.ql-header .ql-picker-label::before, .editor .ql-snow .ql-picker.ql-header .ql-picker-item::before{ content:'Normaler Text'; }
.editor .ql-snow .ql-picker.ql-header [data-value="2"]::before{ content:'Überschrift' !important; }
.editor .ql-snow .ql-picker.ql-header [data-value="3"]::before{ content:'Zwischenüberschrift' !important; }
.editor .ql-snow .ql-emoji{ width:auto; font-size:17px; line-height:1; padding:2px 6px; }
/* Link-Dialog auf Deutsch */
.editor .ql-snow .ql-tooltip{ background:var(--surface-2); color:var(--text); border:1px solid var(--line-strong); box-shadow:0 8px 24px rgba(0,0,0,.4); border-radius:8px; z-index:20; }
.editor .ql-snow .ql-tooltip input[type=text]{ background:var(--surface); color:var(--text); border-color:var(--line-strong); border-radius:6px; }
.editor .ql-snow .ql-tooltip::before{ content:'Link öffnen:'; color:var(--muted); }
.editor .ql-snow .ql-tooltip[data-mode=link]::before{ content:'Link-Adresse:'; }
.editor .ql-snow .ql-tooltip a.ql-action::after{ content:'Bearbeiten'; }
.editor .ql-snow .ql-tooltip a.ql-remove::before{ content:'Entfernen'; }
.editor .ql-snow .ql-tooltip.ql-editing a.ql-action::after{ content:'Übernehmen'; }
.editor .ql-snow .ql-tooltip a{ color:var(--accent-2); }

.emoji-pop{ position:absolute; top:48px; right:8px; z-index:30; box-shadow:0 12px 40px rgba(0,0,0,.55); border-radius:10px; overflow:hidden; }
.emoji-pop emoji-picker{ --background:#171c28; --border-color:rgba(255,255,255,.12); --indicator-color:#8b5cf6; --input-border-color:rgba(255,255,255,.16); --input-font-color:#eef0f5; --button-hover-background:rgba(139,92,246,.25); --outline-color:#8b5cf6; height:360px; width:min(340px, calc(100vw - 48px)); }

/* Galerie */
.gallery__list{ list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; margin-bottom:14px; }
.gallery__item{ position:relative; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#05070c; aspect-ratio:4/3; }
.gallery__item img, .gallery__item video{ width:100%; height:100%; object-fit:cover; display:block; }
.gallery__tag{ position:absolute; top:8px; left:8px; background:rgba(7,9,15,.8); font-size:12px; border-radius:999px; padding:2px 9px; }
.gallery__actions{ position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:4px; padding:6px; background:linear-gradient(transparent, rgba(7,9,15,.9)); }
.gallery__actions button{ font:inherit; font-size:13px; color:var(--text); background:rgba(23,28,40,.9); border:1px solid var(--line-strong); border-radius:6px; padding:3px 9px; cursor:pointer; }
.gallery__actions button:hover:not(:disabled){ border-color:var(--accent); }
.gallery__actions button:disabled{ opacity:.3; cursor:default; }
.gallery__add{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; cursor:pointer; }
.gallery__add input{ position:absolute; width:1px; height:1px; opacity:0; }
.gallery__add:focus-within .btn{ outline:2px solid var(--accent); outline-offset:2px; }
.gallery__status{ margin-top:10px; font-size:13.5px; color:var(--muted); }
@media (max-width:640px){
  .editor .ql-toolbar.ql-snow{ position:static; }
  .gallery__list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ---------- Dateien: Upload-Fortschritt ---------- */
.upload-status{ display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.upload-row{ display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:2px 12px; align-items:center; font-size:13.5px; }
.upload-row__name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.upload-row progress{ width:100%; height:8px; accent-color:var(--accent); }
.upload-row__msg{ grid-column:1 / -1; color:var(--muted); font-size:12.5px; }
.upload-row.is-done .upload-row__msg{ color:var(--ok); }
.upload-row.is-error .upload-row__msg{ color:var(--err); }
.upload-row.is-error progress{ display:none; }

/* ---------- Dateien: Vorschau-Overlay ---------- */
body.has-overlay{ overflow:hidden; }
.preview{ position:fixed; inset:0; z-index:2000; background:rgba(5,7,12,.92); display:flex; flex-direction:column; }
.preview__bar{ display:flex; align-items:center; gap:10px; padding:10px 16px; border-bottom:1px solid var(--line); background:var(--surface); }
.preview__name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.preview__body{ flex:1; min-height:0; overflow:auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:16px; }
.preview__body img, .preview__body video{ max-width:100%; max-height:100%; object-fit:contain; }
.preview__body audio{ width:min(560px, 100%); }
.preview__body iframe{ width:100%; height:100%; border:0; background:#fff; border-radius:6px; }
.preview__body pre{ align-self:stretch; white-space:pre-wrap; word-break:break-word; font-size:14px; line-height:1.55; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px; margin:0 auto; max-width:900px; width:100%; }
.preview__note{ color:var(--muted); text-align:center; max-width:460px; }

/* ---------- Songs ---------- */
.filter-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin:0 0 16px; }
.filter-tabs a{ font-size:13.5px; color:var(--muted); text-decoration:none; border:1px solid var(--line); border-radius:999px; padding:5px 13px; }
.filter-tabs a span{ opacity:.7; margin-left:3px; }
.filter-tabs a:hover{ color:var(--text); border-color:var(--line-strong); }
.filter-tabs a.is-active{ color:var(--text); border-color:var(--accent); background:rgba(139,92,246,.14); }
.badge--song-idea{ color:var(--muted); }
.badge--song-prep{ color:var(--warn); border-color:rgba(233,169,74,.45); }
.badge--song-active{ color:var(--ok); border-color:rgba(150,197,107,.45); }

.song-layout{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:18px; align-items:start; }
.song-main, .song-side{ display:flex; flex-direction:column; gap:18px; min-width:0; }
.song-main .panel + .panel, .song-side .panel + .panel{ margin-top:0; }
/* Handy: Infos, Liedtext, Notizen, Dateien – Liedtext soll im Proberaum schnell erreichbar sein */
@media (max-width:900px){
  .song-layout{ display:flex; flex-direction:column; align-items:stretch; }
  .song-main, .song-side{ display:contents; }
  .song-info{ order:1; } .song-lyrics{ order:2; } .song-notes{ order:3; } .song-files{ order:4; }
}
@media (max-width:640px){
  .table .hide-sm{ display:none; }
  .table--songs th, .table--songs td{ padding:10px; }
  .table--songs td:nth-child(2) .badge{ white-space:nowrap; }
}

.richtext{ line-height:1.7; overflow-wrap:anywhere; }
.richtext p{ margin:0 0 .8em; }
.richtext p:last-child{ margin-bottom:0; }
.richtext h2{ font-size:20px; margin:1em 0 .4em; text-transform:uppercase; }
.richtext h3{ font-size:16px; margin:.9em 0 .3em; text-transform:uppercase; color:var(--accent-2); }
.richtext ul, .richtext ol{ margin:0 0 .8em 1.4em; }
.richtext--lyrics{ font-size:17px; }
/* Liedtext wie im Editor: jede Zeile ein Absatz, Leerzeilen trennen Strophen */
.richtext--lyrics p{ margin:0; min-height:1.7em; }

.tempo-list{ display:flex; flex-direction:column; gap:8px; margin:4px 0 8px; }
.tempo-row{ display:grid; grid-template-columns:80px minmax(0,1fr) auto; gap:8px; }
.tempo-chip{ display:inline-block; margin:0 6px 4px 0; padding:1px 9px; border:1px solid var(--line-strong); border-radius:999px; font-size:13px; }
.editor--compact .ql-editor{ min-height:160px; }

.file-group__title{ font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin:16px 0 6px; }
.file-group__title:first-of-type{ margin-top:4px; }
.file-list{ list-style:none; display:flex; flex-direction:column; gap:6px; }
.file-list__item{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 10px; align-items:center; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.file-list__name{ font:inherit; font-weight:600; color:var(--text); background:none; border:0; padding:0; text-align:left; cursor:pointer; display:flex; align-items:center; gap:8px; min-width:0; overflow-wrap:anywhere; }
.file-list__name:hover{ color:var(--accent-2); }
.file-list__meta{ grid-column:1; font-size:12.5px; color:var(--muted); padding-left:26px; }
.file-list__actions{ grid-column:2; grid-row:1 / span 2; display:flex; gap:6px; }
.file-list__actions .btn{ padding:5px 10px; }
.file-icon{ flex:none; width:18px; height:18px; border-radius:4px; background:var(--line-strong); position:relative; }
.file-icon::after{ position:absolute; inset:0; display:grid; place-items:center; font-size:11px; font-weight:700; color:var(--bg); }
.file-icon--gp{ background:var(--accent); } .file-icon--gp::after{ content:'GP'; font-size:9px; color:#fff; }
.file-icon--audio{ background:var(--accent-2); } .file-icon--audio::after{ content:'♪'; }
.file-icon--video{ background:#f472b6; } .file-icon--video::after{ content:'▶'; font-size:9px; }
.file-icon--image{ background:var(--ok); } .file-icon--image::after{ content:'▣'; }
.file-icon--pdf{ background:var(--err); } .file-icon--pdf::after{ content:'P'; }
.file-icon--text{ background:var(--muted); } .file-icon--text::after{ content:'T'; }
.file-upload{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }

/* Guitar-Pro-Vorschau */
.preview__body--gp{ display:block; padding:0; }
.gp{ display:flex; flex-direction:column; height:100%; }
.gp__controls{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:10px 16px; background:var(--surface-2); border-bottom:1px solid var(--line); }
.gp__track{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--muted); }
.gp__track select{ font:inherit; font-size:13px; color:var(--text); background:var(--surface); border:1px solid var(--line-strong); border-radius:6px; padding:4px 8px; max-width:200px; }
.gp__status{ font-size:13px; color:var(--muted); }
.gp__scroll{ flex:1; min-height:0; overflow:auto; background:#fff; }
.gp__sheet{ color:#000; }

/* ---------- Setlists ---------- */
.sl-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.sl-total{ font-family:'Oswald',sans-serif; color:var(--accent-2); letter-spacing:.03em; }
.sl-list{ list-style:none; display:flex; flex-direction:column; gap:8px; }
.sl-empty{ color:var(--muted); font-size:14px; padding:14px; border:1px dashed var(--line-strong); border-radius:10px; text-align:center; }
.sl-item{ display:grid; grid-template-columns:auto 26px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px 10px 6px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.sl-item--free{ background:transparent; border-style:dashed; }
.sl-item__handle{ cursor:grab; touch-action:none; user-select:none; font-size:20px; line-height:1; color:var(--muted); padding:10px 6px; }
.sl-item__handle:active{ cursor:grabbing; }
.sl-item__nr{ font-family:'Oswald',sans-serif; font-size:20px; color:var(--muted); text-align:right; }
.sl-item__body{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.sl-item__title{ font-weight:600; font-size:16px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.sl-item__badge{ color:var(--warn); border-color:rgba(233,169,74,.45); font-size:11px; }
.sl-item__meta{ font-size:13px; color:var(--muted); }
.sl-item__free{ display:grid; grid-template-columns:minmax(0,1fr) 80px; gap:8px; }
.sl-item input{ font:inherit; font-size:14px; color:var(--text); background:var(--surface); border:1px solid var(--line-strong); border-radius:8px; padding:7px 10px; width:100%; min-width:0; }
.sl-item input:focus{ outline:none; border-color:var(--accent); }
.sl-item .sl-item__hint{ font-size:13px; padding:5px 10px; background:transparent; }
.sl-item.is-ghost{ opacity:.35; }
.sl-item.is-chosen{ border-color:var(--accent); box-shadow:0 6px 20px rgba(0,0,0,.4); }
.sl-add{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:14px 0 8px; }
.sl-add select{ flex:1 1 220px; min-width:0; font:inherit; font-size:14px; color:var(--text); background:var(--surface); border:1px solid var(--line-strong); border-radius:8px; padding:8px 10px; }
.sl-pdf{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
#sl-export > .btn{ width:100%; margin-bottom:6px; }
@media (max-width:640px){
  .sl-item{ grid-template-columns:auto 20px minmax(0,1fr) auto; gap:6px; padding-right:8px; }
  .sl-item__free{ grid-template-columns:1fr; }
  .sl-item__free-dur{ max-width:90px; }
  .sl-item__remove{ padding:5px 9px; }
}

/* ---------- Dateien ---------- */
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:-6px 0 16px; font-size:14px; color:var(--muted); }
.crumbs a{ color:var(--accent-2); text-decoration:none; }
.crumbs a:hover{ text-decoration:underline; }
.crumbs [aria-current]{ color:var(--text); font-weight:600; }
.folder-tiles{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.folder-tile{ display:flex; flex-direction:column; gap:4px; padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:var(--text); text-decoration:none; transition:border-color .15s; }
.folder-tile:hover{ border-color:var(--accent); }
.folder-tile__icon, .folder-icon{ display:block; width:34px; height:26px; border-radius:4px; background:linear-gradient(135deg,#8b5cf6,#22d3ee); position:relative; margin-bottom:6px; }
.folder-tile__icon::before, .folder-icon::before{ content:''; position:absolute; left:0; top:-5px; width:14px; height:7px; border-radius:3px 3px 0 0; background:#8b5cf6; }
.folder-icon{ width:24px; height:18px; margin:0; flex:none; }
.folder-icon::before{ top:-4px; width:10px; height:5px; }
.folder-tile__name{ font-family:'Oswald',sans-serif; font-size:20px; text-transform:uppercase; letter-spacing:.03em; }
.folder-tile__info{ font-size:13px; color:var(--muted); }
.folder-tile__count{ font-size:12px; color:var(--muted); margin-top:4px; }

.files-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:12px; }
.files-toolbar .field__hint{ flex-basis:100%; }
.files-app{ border-radius:var(--radius); outline:2px dashed transparent; outline-offset:6px; transition:outline-color .15s; }
.files-app.is-drop{ outline-color:var(--accent); }
.files-app .upload-status{ margin-bottom:14px; }

.dir-list{ list-style:none; display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.dir-list__item{ display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; background:var(--surface); padding-right:8px; }
.dir-list__link{ flex:1; min-width:0; display:flex; align-items:center; gap:12px; padding:12px 14px; color:var(--text); text-decoration:none; font-weight:600; }
.dir-list__link:hover{ color:var(--accent-2); }
.dir-list__name{ flex:1; min-width:0; overflow-wrap:anywhere; }
.dir-list__count{ font-size:12.5px; color:var(--muted); font-weight:400; }
.file-list--wide .file-list__item{ background:var(--surface); }

.thumb-grid{ list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; }
.thumb{ border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--surface); display:flex; flex-direction:column; }
/* Bild absolut im Kasten: Safari laesst sonst Hochkant-Fotos den 4:3-Kasten in die Hoehe druecken */
.thumb__open{ position:relative; display:block; width:100%; aspect-ratio:4/3; overflow:hidden; background:#05070c; border:0; padding:0; cursor:zoom-in; }
@supports not (aspect-ratio:4/3){ .thumb__open{ height:0; padding-top:75%; } }
.thumb__open img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.thumb__open .file-icon--big{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.thumb__bar{ display:flex; align-items:center; gap:6px; padding:6px 6px 6px 10px; }
.thumb__name{ flex:1; min-width:0; font-size:13px; line-height:1.35; overflow:hidden; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.thumb__menu{ font:inherit; color:var(--text); background:transparent; border:1px solid var(--line-strong); border-radius:6px; padding:1px 8px; cursor:pointer; }
.thumb__menu:hover{ border-color:var(--accent); }
.file-icon--big{ width:48px; height:48px; border-radius:8px; }
.file-icon--big::after{ font-size:18px; }
@media (max-width:640px){ .thumb-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } }

/* Dialoge */
.modal{ border:1px solid var(--line-strong); border-radius:var(--radius); background:var(--surface-2); color:var(--text); padding:0; width:min(440px, calc(100vw - 32px)); margin:auto; }
.modal::backdrop{ background:rgba(5,7,12,.75); }
.modal__body{ display:flex; flex-direction:column; gap:12px; padding:22px; }
.modal__body h2{ font-size:18px; text-transform:uppercase; overflow-wrap:anywhere; }
#item-dialog-title{ text-transform:none; font-family:"Inter",system-ui,sans-serif; font-size:17px; }
.modal__body p{ color:var(--muted); font-size:14px; }
.modal__actions{ display:flex; flex-direction:column; gap:8px; }
.modal__actions .btn{ width:100%; justify-content:center; text-align:center; }
.modal__actions [hidden]{ display:none; }
.choice{ display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); border-radius:10px; cursor:pointer; font-size:14px; }
.choice:has(input:checked){ border-color:var(--accent); background:rgba(139,92,246,.1); }
.choice input{ margin-top:4px; accent-color:var(--accent); }
.choice small{ color:var(--muted); }

/* ---------- Speicheranzeige ---------- */
.meter{ height:8px; border-radius:999px; background:var(--line); overflow:hidden; }
.meter span{ display:block; height:100%; min-width:3px; border-radius:inherit; background:var(--grad); }
.muted-inline{ color:var(--muted); font-weight:400; font-size:.8em; }
.storage{ display:flex; flex-direction:column; gap:8px; margin:0 0 18px; max-width:560px; }
.storage__text{ font-size:14px; }
.storage__text .muted-inline{ font-size:13px; }

/* ---------- Auswahlfenster "Aus Dateien wählen" ---------- */
.modal--picker{ width:min(760px, calc(100vw - 24px)); }
.modal--picker .modal__body{ max-height:calc(100vh - 48px); }
.picker__hint{ margin-top:-4px; }
.picker__crumbs{ margin:0; }
.picker__list{ display:flex; flex-direction:column; gap:6px; overflow:auto; min-height:200px; max-height:55vh; padding:2px; }
.picker__dir{ display:flex; align-items:center; gap:10px; font:inherit; font-weight:600; color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:10px 12px; text-align:left; cursor:pointer; }
.picker__dir:hover{ border-color:var(--accent); }
.picker__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; margin-top:4px; }
.picker__file{ display:flex; flex-direction:column; align-items:center; gap:4px; font:inherit; font-size:12.5px; color:var(--text); background:var(--surface); border:2px solid var(--line); border-radius:10px; padding:6px; cursor:pointer; }
.picker__file img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:6px; background:#05070c; flex:none; }
.picker__file .file-icon--big{ margin:18px 0; }
.picker__file.is-selected{ border-color:var(--accent); background:rgba(139,92,246,.15); }
.picker__file:disabled{ opacity:.45; cursor:not-allowed; }
.picker__name{ width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; }
.picker__note{ color:var(--warn); font-size:11.5px; }
.picker__empty{ color:var(--muted); font-size:14px; padding:12px 2px; }
.pick-from-files{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px; }
.pick-from-files__label:empty{ display:none; }

/* ---------- Dateien: Mehrfachauswahl ---------- */
.pick-box{ display:none; align-items:center; justify-content:center; padding:0 0 0 12px; cursor:pointer; }
.pick-box input{ width:20px; height:20px; accent-color:var(--accent); cursor:pointer; }
.is-selecting .pick-box{ display:flex; }
.is-selecting .file-list__item{ grid-template-columns:auto minmax(0,1fr) auto; }
.is-selecting .file-list__item .pick-box{ grid-row:1 / span 2; padding:0 4px 0 0; }
.is-selecting .file-list__meta, .is-selecting .file-list__actions{ grid-column:auto; }
.is-selecting .file-list__item .file-list__meta{ grid-column:2; }
.is-selecting .file-list__item .file-list__actions{ grid-column:3; grid-row:1 / span 2; }
.is-selecting .item-menu-btn, .is-selecting .file-list__actions .btn{ visibility:hidden; }
.is-selecting .thumb__open{ cursor:pointer; }
.thumb{ position:relative; }
.pick-box--thumb{ position:absolute; top:6px; left:6px; z-index:2; padding:4px; background:rgba(7,9,15,.75); border-radius:6px; }
.is-picked{ border-color:var(--accent) !important; box-shadow:0 0 0 1px var(--accent); }
.select-bar{ position:sticky; bottom:12px; z-index:50; display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; padding:10px 12px; border:1px solid var(--accent); border-radius:var(--radius); background:var(--surface-2); box-shadow:0 10px 30px rgba(0,0,0,.5); }
.select-bar[hidden]{ display:none; }
.select-bar__count{ font-weight:600; margin-right:auto; }

/* Umbenennen nach Schema */
.modal--wide{ width:min(720px, calc(100vw - 24px)); }
.modal--wide .modal__body{ max-height:calc(100vh - 48px); overflow:auto; }
.rn-blocks{ display:flex; flex-direction:column; gap:6px; }
.rn-block{ display:grid; grid-template-columns:130px minmax(0,1fr) auto; gap:8px; align-items:center; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface); font-size:13.5px; }
.rn-block__label{ font-weight:600; }
.rn-block__fields{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; color:var(--muted); }
.rn-block__fields input, .rn-block__fields select{ font:inherit; color:var(--text); background:var(--surface-2); border:1px solid var(--line-strong); border-radius:6px; padding:5px 8px; min-width:0; }
.rn-block__fields input[type=text]{ flex:1 1 160px; }
.rn-block__fields .rn-num{ width:80px; }
.rn-block__tools{ display:flex; gap:4px; }
.rn-block__tools .btn{ padding:4px 9px; }
.rn-add{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13.5px; color:var(--muted); }
.rn-order select{ max-width:320px; }
.rn-preview-wrap{ max-height:260px; overflow:auto; border:1px solid var(--line); border-radius:10px; }
.rn-preview th, .rn-preview td{ white-space:normal; overflow-wrap:anywhere; padding:7px 10px; font-size:13px; }
.rn-preview tr.is-bad td:last-child{ color:var(--err); }
.rn-problem{ color:var(--err) !important; font-size:13.5px; }
@media (max-width:640px){
  .rn-block{ grid-template-columns:1fr auto; }
  .rn-block__fields{ grid-column:1 / -1; grid-row:2; }
}

/* ---------- Versionen ---------- */
.intern-footer{ max-width:1180px; margin:0 auto; padding:24px 24px 40px; text-align:center; font-size:12.5px; }
.intern-footer a{ color:var(--muted); text-decoration:none; }
.intern-footer a:hover{ color:var(--text); }
.versions{ display:flex; flex-direction:column; gap:16px; max-width:760px; }
.versions .panel + .panel{ margin-top:0; }
.versions__date{ margin:-2px 0 10px !important; font-size:13px !important; }
.versions__notes{ margin-left:1.2em; display:flex; flex-direction:column; gap:6px; }

/* ---------- Postfach ---------- */
.filter-tabs__sep{ width:1px; background:var(--line-strong); margin:2px 4px; }
.mail-list{ list-style:none; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.mail-list__item + .mail-list__item{ border-top:1px solid var(--line); }
.mail-list__item a{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 14px; padding:12px 16px; color:var(--text); text-decoration:none; }
.mail-list__item a:hover{ background:var(--surface-2); }
.mail-list__who{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); }
.mail-list__date{ font-size:13px; color:var(--muted); }
.mail-list__subject{ grid-column:1 / -1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mail-list__activity{ grid-column:1 / -1; font-size:12.5px; color:var(--accent-2); }
.mail-list__item.is-unread .mail-list__who, .mail-list__item.is-unread .mail-list__subject{ color:var(--text); font-weight:700; }
.mail-list__item.is-unread a{ box-shadow:inset 3px 0 0 var(--accent); }
.mail-list__hint{ margin-top:10px; }
.mail-clip{ font-size:13px; }
.mail-view{ display:flex; flex-direction:column; gap:18px; max-width:980px; }
.mail-view .panel + .panel{ margin-top:0; }
.mail-view__subject{ font-size:22px; text-transform:none; letter-spacing:0; margin-bottom:12px; overflow-wrap:anywhere; }
.mail-view .meta-list dd{ overflow-wrap:anywhere; }
.mail-acts{ list-style:none; margin:12px 0 4px; display:flex; flex-direction:column; gap:2px; font-size:13.5px; color:var(--accent-2); }
.mail-view__body{ padding:16px; }
.mail-view__html{ display:block; width:100%; height:70vh; border:0; border-radius:8px; background:#fff; }
.mail-view__text{ white-space:normal; overflow-wrap:anywhere; line-height:1.6; font-size:15px; }
.mail-view__switch{ display:flex; gap:6px; margin-bottom:10px; }
.mail-view__switch .is-active{ border-color:var(--accent); }
.mail-view__body .field__hint{ margin-top:8px; }
.mail-compose{ max-width:860px; }
.mail-compose textarea{ font:inherit; font-size:15px; line-height:1.55; min-height:280px; }
.mail-dash{ display:flex; flex-direction:column; gap:4px; list-style:none; }
.mail-dash li{ display:flex; justify-content:space-between; gap:12px; }

/* ---------- Dashboard: Logbuch + Listen in Kacheln ---------- */
.muted{ color:var(--muted); }
.log-list, .dash-list{ list-style:none; display:flex; flex-direction:column; gap:10px; font-size:14px; }
.log-list li{ display:flex; flex-direction:column; gap:1px; line-height:1.45; }
.log-list a{ color:var(--text); text-decoration:none; }
.log-list a:hover{ text-decoration:underline; text-decoration-color:var(--accent); }
.log-list .muted, .dash-list .muted{ font-size:12.5px; }
.dash-list{ gap:6px; }
.dash-list li{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.dash-list li a{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dash-list li > span{ flex-shrink:0; }

/* ---------- Aufgaben ---------- */
.todo-list{ list-style:none; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.todo{ display:flex; gap:14px; align-items:flex-start; padding:12px 16px; }
.todo + .todo{ border-top:1px solid var(--line); }
.todo__check{ width:24px; height:24px; flex-shrink:0; margin-top:1px; border-radius:7px; border:2px solid var(--line-strong); background:transparent;
  color:#0a0a0a; font-weight:800; font-size:14px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.todo__check:hover{ border-color:var(--accent); }
.todo.is-done .todo__check{ background:var(--ok); border-color:var(--ok); }
.todo__body{ min-width:0; flex:1; }
.todo__title{ color:var(--text); text-decoration:none; overflow-wrap:anywhere; }
.todo__title:hover{ text-decoration:underline; text-decoration-color:var(--accent); }
.todo.is-done .todo__title{ color:var(--muted); text-decoration:line-through; }
.todo__meta{ display:flex; flex-wrap:wrap; gap:4px 8px; margin-top:4px; font-size:12.5px; align-items:center; }
.person{ border:1px solid var(--line-strong); border-radius:999px; padding:0 8px; color:var(--muted); }
.person--me{ color:var(--text); border-color:var(--accent); }
.due{ color:var(--muted); font-size:12.5px; }
.due--soon{ color:var(--warn); }
.due--late{ color:var(--err); font-weight:600; }
.panel--narrow{ max-width:720px; }
.field--set{ border:0; padding:0; margin:0; min-width:0; }
.field--set legend{ padding:0; margin-bottom:6px; }
.person-picks{ display:flex; flex-wrap:wrap; gap:8px; }
.person-pick input{ position:absolute; opacity:0; pointer-events:none; }
.person-pick span{ display:inline-block; border:1px solid var(--line-strong); border-radius:999px; padding:6px 14px; font-size:14px; color:var(--muted); cursor:pointer; user-select:none; }
.person-pick input:checked + span{ color:var(--text); border-color:var(--accent); background:rgba(139,92,246,.18); }
.person-pick input:focus-visible + span{ outline:2px solid var(--accent-2); outline-offset:2px; }

/* ---------- Abstimmungen ---------- */
.poll-list{ list-style:none; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.poll-item + .poll-item{ border-top:1px solid var(--line); }
.poll-item a{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; padding:12px 16px; color:var(--text); text-decoration:none; }
.poll-item a:hover{ background:var(--surface-2); }
.poll-item__title{ font-weight:600; overflow-wrap:anywhere; }
.poll-item__meta{ flex-basis:100%; font-size:13px; color:var(--muted); }
.poll-form .choice-row{ display:flex; flex-wrap:wrap; gap:8px; }
.choice-pill input{ position:absolute; opacity:0; pointer-events:none; }
.choice-pill span{ display:inline-block; border:1px solid var(--line-strong); border-radius:999px; padding:6px 14px; font-size:14px; color:var(--muted); cursor:pointer; }
.choice-pill input:checked + span{ color:var(--text); border-color:var(--accent); background:rgba(139,92,246,.18); }
.choice-pill input:disabled + span{ cursor:not-allowed; opacity:.7; }
.choice-pill input:focus-visible + span{ outline:2px solid var(--accent-2); outline-offset:2px; }
.choice-col{ display:flex; flex-direction:column; gap:6px; }
.field .check input{ width:16px; height:16px; padding:0; }
.locked-value{ color:var(--text); font-size:15px; }
.poll-form[data-kind=choice] .only-dates, .poll-form[data-kind=dates] .only-choice{ display:none; }
.poll-opts{ list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.poll-opt{ display:flex; gap:8px; align-items:center; }
.poll-opt input{ background:var(--surface); border:1px solid var(--line-strong); border-radius:10px; padding:9px 11px; color:var(--text); font:inherit; font-size:15px; min-width:0; }
.poll-opt input:focus{ outline:none; border-color:var(--accent); }
.poll-opt input{ width:auto; }
.poll-opt .poll-opt__label{ flex:1; }
.poll-opt input[type=date]{ width:11.5em; }
.poll-opt .poll-opt__time{ width:7.5em; }
#poll-add{ align-self:flex-start; }
.poll-opt__remove{ flex-shrink:0; }
.poll-desc{ margin-bottom:18px; }
.poll-desc p{ color:var(--text) !important; margin:0 !important; font-size:15px !important; overflow-wrap:anywhere; }
.poll-layout{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:18px; align-items:start; }
.poll-layout .panel + .panel{ margin-top:0; }
.poll-comments{ margin-top:18px; }
.vote-list, .result-list{ list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.vote-row{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px 12px; }
.vote-row .check{ color:var(--text); font-size:15px; }
.vote-row__label{ font-size:15px; }
.ynm{ margin-left:auto; display:inline-flex; border:1px solid var(--line-strong); border-radius:999px; overflow:hidden; }
.ynm__opt input{ position:absolute; opacity:0; pointer-events:none; }
.ynm__opt > span{ display:inline-block; padding:5px 12px; font-size:13.5px; color:var(--muted); cursor:pointer; user-select:none; }
.ynm__opt + .ynm__opt > span{ border-left:1px solid var(--line-strong); }
.ynm__opt input:focus-visible + span{ outline:2px solid var(--accent-2); outline-offset:-2px; }
.ynm__opt--yes input:checked + span{ background:rgba(150,197,107,.25); color:#d9efc4; }
.ynm__opt--maybe input:checked + span{ background:rgba(233,169,74,.25); color:#f6dcb0; }
.ynm__opt--no input:checked + span{ background:rgba(224,124,116,.25); color:#f2c9c4; }
.result__head{ display:flex; justify-content:space-between; gap:12px; font-size:15px; }
.result__label{ overflow-wrap:anywhere; }
.result.is-best .result__label{ color:var(--text); font-weight:700; }
.result__count{ font-weight:700; white-space:nowrap; }
.result__bar{ display:flex; height:6px; border-radius:999px; background:var(--surface-2); overflow:hidden; margin:5px 0 3px; }
.result__yes{ background:var(--grad); }
.result__maybe{ background:rgba(233,169,74,.55); }
.result__names{ display:flex; flex-wrap:wrap; gap:2px 12px; font-size:12.5px; color:var(--text); }
.comment-list{ list-style:none; display:flex; flex-direction:column; gap:14px; margin-bottom:16px; }
.comment__meta{ font-size:13px; color:var(--muted); display:flex; gap:6px; align-items:baseline; flex-wrap:wrap; }
.comment__meta strong{ color:var(--text); }
.comment__body{ margin-top:2px; font-size:15px; overflow-wrap:anywhere; }
.link-btn{ background:none; border:0; padding:0; color:var(--muted); font:inherit; font-size:12.5px; cursor:pointer; text-decoration:underline; }
.link-btn:hover{ color:var(--err); }
@media (max-width:640px){
  .poll-opts{ gap:12px; }
  .poll-form[data-kind=dates] .poll-opt{ flex-wrap:wrap; padding-bottom:12px; border-bottom:1px solid var(--line); }
  .poll-form[data-kind=dates] .poll-opt input[type=date]{ flex:1 1 0; width:auto; }
  .poll-form[data-kind=dates] .poll-opt .poll-opt__time{ width:6.8em; }
  .poll-form[data-kind=dates] .poll-opt__label{ flex-basis:100%; order:3; }
  .ynm__text{ display:none; }
  .ynm__opt > span{ padding:6px 14px; font-size:15px; }
  .poll-layout{ grid-template-columns:1fr; }
}
