/* Veranstaltungs-Fahrplan: Eingabe, Vorschau als fließendes A4-Dokument, Druck */
.vf-sec{padding:56px 0 72px;}
.vf-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:40px;align-items:start;}
.vf-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin:0 0 18px;}
.vf-box h2{font-size:1.15rem;color:var(--dark);margin:0 0 12px;}
.vf-box .hilfe{color:var(--grey);font-size:.88rem;line-height:1.5;margin:0 0 10px;}
.vf-feld{display:block;margin:0 0 12px;}
.vf-feld > span{display:block;font-weight:700;color:var(--dark);font-size:.9rem;margin:0 0 6px;}
.vf-feld small{font-weight:400;color:var(--grey);}
.vf-sec input[type=text],.vf-sec input[type=date],.vf-sec input[type=time],.vf-sec input[type=number],.vf-sec select{width:100%;padding:9px 10px;font:inherit;font-size:.93rem;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);box-sizing:border-box;}
.vf-sec input:focus,.vf-sec select:focus{outline:3px solid var(--red);outline-offset:1px;border-color:var(--red);}
.vf-sec input[aria-invalid="true"]{border-color:var(--red);background:#fff4f4;}
.vf-drei{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:10px;}
.vf-meldung{color:var(--red);font-size:.85rem;font-weight:700;margin:0;}
.vf-meldung:empty{display:none;}
.vf-chips{display:flex;flex-wrap:wrap;gap:6px;}
.vf-chip{position:relative;cursor:pointer;}
.vf-chip input{position:absolute;opacity:0;width:1px;height:1px;}
.vf-chip span{display:inline-block;padding:6px 12px;border:1.5px solid var(--line);border-radius:999px;font-size:.86rem;background:#fff;}
.vf-chip input:checked + span{border-color:var(--red);background:#fff1f1;color:var(--dark);font-weight:700;}
.vf-chip input:focus-visible + span{outline:3px solid var(--red);outline-offset:2px;}
.vf-wahl{display:flex;gap:10px;align-items:flex-start;padding:5px 0;cursor:pointer;line-height:1.4;font-size:.92rem;}
.vf-wahl input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--red);flex:0 0 auto;}
.vf-einzug{margin:2px 0 8px 27px;}
.vf-liste{list-style:none;margin:0;padding:0;}
.vf-liste li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:8px 0;border-top:1px solid var(--line);font-size:.9rem;line-height:1.4;}
.vf-liste li:first-child{border-top:0;}
.vf-liste input[type=checkbox]{width:17px;height:17px;margin:2px 0 0;accent-color:var(--red);}
.vf-liste .wann{display:block;color:var(--grey);font-size:.8rem;}
.vf-liste .vf-sec-wer,.vf-sec .vf-liste input[type=text]{grid-column:2;padding:5px 8px;font-size:.85rem;}
.vf-liste li.aus label{color:var(--grey);text-decoration:line-through;}
.vf-liste li.aus input[type=text]{display:none;}

/* Vorschau */
.vf-vorschau{position:sticky;top:96px;}
.vf-vorschau-kopf{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;}
.vf-vorschau-kopf h2{font-size:1.2rem;color:var(--dark);margin:0;}
.vf-vorschau .btn{border:0;cursor:pointer;font:inherit;font-weight:700;}
.vf-vorschau .btn-ghost{border:1.5px solid var(--line);}
.vf-knoepfe{display:flex;gap:8px;flex-wrap:wrap;}
.vf-pdf-meldung{margin:-4px 0 10px;font-size:.9rem;color:var(--grey);}
.vf-pdf-meldung:empty{display:none;}
.vf-pdf-meldung.fehler{color:var(--red);font-weight:700;}
.vf-papier.vf-pdf{transform:none !important;width:666px;min-height:0;padding:0;box-shadow:none;}
.vf-blaetter{max-height:calc(100vh - 250px);overflow:auto;padding:8px;border-radius:12px;background:#ece7e2;}
.vf-blatt{position:relative;width:100%;overflow:hidden;}
.vf-aktionen{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;}
.vf-aktionen label.btn{cursor:pointer;position:relative;}
.vf-aktionen label.btn input{position:absolute;width:1px;height:1px;opacity:0;}
.vf-aktionen label.btn:focus-within{outline:3px solid var(--red);outline-offset:2px;}
.vf-hinweis{margin:14px 0 0;color:var(--grey);font-size:.88rem;line-height:1.55;}

/* Das Dokument (Breite A4 bei 96 dpi, Höhe wächst mit) */
.vf-papier{position:absolute;top:0;left:0;width:794px;min-height:1123px;transform-origin:0 0;background:#fff;box-sizing:border-box;padding:56px 64px 64px;color:#2B2B2B;font-family:'Ubuntu','Trebuchet MS',Arial,sans-serif;font-size:14px;line-height:1.45;box-shadow:0 6px 20px -10px rgba(34,31,29,.4);}
.vf-dkopf{border-bottom:5px solid #C00000;padding-bottom:14px;margin-bottom:18px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;}
.vf-dueber{margin:0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b625c;}
.vf-dkopf h2{margin:4px 0 0;font-size:30px;line-height:1.15;color:#221f1d;}
.vf-dunter{margin:6px 0 0;font-size:15px;color:#4a4440;}
.vf-countdown{flex:0 0 auto;text-align:center;background:#C00000;color:#fff;border-radius:12px;padding:10px 16px;}
.vf-countdown b{display:block;font-size:30px;line-height:1;}
.vf-countdown span{font-size:12px;}
.vf-dwoche{margin:16px 0 6px;font-size:15px;color:#C00000;break-after:avoid;}
.vf-dtab{width:100%;border-collapse:collapse;}
.vf-dtab td{border-top:1px solid #e3dcd6;padding:7px 6px;vertical-align:top;}
.vf-dtab .k{width:18px;}
.vf-dtab .k span{display:inline-block;width:13px;height:13px;border:1.5px solid #4a4440;border-radius:3px;margin-top:2px;}
.vf-dtab .d{width:118px;white-space:nowrap;color:#4a4440;}
.vf-dtab .w{width:150px;color:#4a4440;}
.vf-dtab .w i{display:block;border-bottom:1px solid #b9b0a9;height:16px;}
.vf-dtab small{display:block;color:#6b625c;font-size:12px;}
.vf-dtab tr.vorbei .d{color:#C00000;font-weight:700;}
.vf-dtab tr.tag td{background:#f6f3f0;font-weight:700;}
.vf-dleer{margin:24px 0;color:#6b625c;}
.vf-dstand{margin:22px 0 0;font-size:12px;color:#6b625c;}

@media (max-width:1060px){ .vf-grid{grid-template-columns:1fr;} .vf-vorschau{position:static;} .vf-blaetter{max-height:none;} }
@media (max-width:600px){ .vf-box{padding:18px;} .vf-drei{grid-template-columns:1fr 1fr;} }

@media print{
  @page{size:A4;margin:16mm 18mm;}
  html,body{background:#fff;}
  body > *:not(main),main > *:not(.vf-sec),.vf-sec > .wrap > form,.vf-vorschau > *:not(.vf-blaetter){display:none !important;}
  .vf-sec{padding:0;}
  .vf-sec > .wrap{padding:0;max-width:none;display:block;}
  .vf-vorschau{position:static;}
  .vf-blaetter{max-height:none;overflow:visible;background:none;padding:0;border-radius:0;}
  .vf-blatt{height:auto !important;overflow:visible;}
  .vf-papier{position:static;transform:none !important;width:auto;min-height:0;padding:0;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .vf-dtab tr{break-inside:avoid;}
}
