.pfb{max-width:1000px;margin:0 auto}
.pfb h2{text-align:left;margin-bottom:12px}.pfb h3{font:700 1.8rem "Passion One",sans-serif;margin:40px 0 14px}.pfb h4{font:700 1.3rem "Passion One",sans-serif;margin:30px 0 10px}
.pfb-flash{padding:12px 16px;font-weight:700;border-left:5px solid;margin:16px 0}.pfb-flash.ok{border-color:#5e9a1a;background:rgba(94,154,26,.12)}.pfb-flash.err{border-color:#c8372d;background:rgba(200,55,45,.12)}
.pfb-legend{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:18px 0;padding:0;font-size:.9rem}
.pfb-legend i{display:inline-block;width:16px;height:16px;border-radius:3px;vertical-align:-3px;margin-right:6px;border:1px solid var(--line,#ccc)}
.pfb-legend .free,.pfb-cal td.free{background:#e7f1d4}.pfb-legend .busy,.pfb-cal td.busy{background:#c8372d;color:#fff}.pfb-legend .pend,.pfb-cal td.pend{background:#fbb01f;color:#1c1c1b}
.pfb-cals{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.pfb-cal{border-collapse:separate;border-spacing:3px;width:100%;table-layout:fixed;font-size:.85rem}
.pfb-cal caption{font:700 1.3rem "Passion One",sans-serif;text-align:left;padding:0 0 6px}
.pfb-cal th{font-size:.7rem;color:var(--mut,#666);padding:3px 0;text-align:center}
.pfb-cal td{text-align:center;padding:7px 0;border-radius:4px}
.pfb-cal td.e{background:none}.pfb-cal td.past{color:#999;background:rgba(128,128,128,.12)}.pfb-cal td.today{outline:2px solid var(--tx,#1c1c1b);outline-offset:-2px;font-weight:700}
.pfb-form{display:grid;gap:14px}
.pfb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pfb-form label{display:grid;gap:5px;font-weight:600;font-size:.88rem;text-align:left}
.pfb-form input,.pfb-form textarea{font:inherit;padding:11px 13px;border:1px solid var(--line,#ccc);border-radius:8px;background:var(--card,#fff);color:var(--tx,#1c1c1b);width:100%}
.pfb-form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}.pfb-form .chk input{width:auto;margin-top:4px}
.pfb-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.pfb-form .btn{justify-self:start}
.pfb-admin{margin-top:50px;padding-top:10px;border-top:3px solid var(--acc,#fbb01f)}
.pfb-table{width:100%;border-collapse:collapse;font-size:.85rem}
.pfb-table th,.pfb-table td{border-bottom:1px solid var(--line,#ddd);padding:9px 8px;text-align:left;vertical-align:top}
.pfb-table tr.s-pending{background:rgba(251,176,31,.14)}.pfb-table tr.s-rejected{opacity:.55}
.pfb-act{white-space:nowrap}.pfb-act form{display:inline-block;margin:0 4px 4px 0}
.pfb-confirm{background:#5e9a1a;border-color:#5e9a1a;color:#fff}.pfb-reject,.pfb-delete{background:none;color:inherit;border-color:var(--line,#999)}
.pfb-table .btn.sm{padding:6px 14px;font-size:.78rem}
@media(max-width:640px){.pfb-grid{grid-template-columns:1fr}.pfb-admin{overflow-x:auto}.pfb-table{min-width:640px}}

.pfb-extras{border:1px solid var(--line,#ccc);padding:14px 16px;margin:16px 0;display:grid;gap:10px}
.pfb-extras legend{font-weight:700;padding:0 8px}
.pfb-extra{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pfb-extra small{display:block;color:var(--mut,#666);font-size:.8rem}
.pfb-extra input{width:96px;flex:none}
.pfb-cal td.free{color:#1c1c1b}
.pfb-cal td.busy{color:#fff}
.pfb-cal td.pend{color:#1c1c1b}
.pfb-cal td.free.today{outline-color:#1c1c1b}

/* Blättern */
.pfb-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin:6px 0 14px}
.pfb-nav[hidden]{display:none}
.pfb-nav button{width:44px;height:44px;border-radius:50%;border:2px solid var(--acc,#fbb01f);background:transparent;color:var(--tx,inherit);font:700 1.5rem/1 Montserrat,sans-serif;cursor:pointer;padding:0}
.pfb-nav button:hover:not(:disabled){background:var(--acc,#fbb01f);color:#1c1c1b}
.pfb-nav button:disabled{opacity:.3;cursor:default}
.pfb-range{font:700 1.3rem "Passion One",sans-serif;min-width:15ch;text-align:center;letter-spacing:.02em}
.pfb-js .pfb-cals{grid-template-columns:repeat(var(--pfb-vis,3),1fr)}
.pfb-js .pfb-cal.pfb-hide{display:none}
.pfb-cta{margin:26px 0 8px}
/* Popup */
.pfb-dialog{border:0;padding:30px 30px 26px;background:var(--card,#fff);color:var(--tx,#1c1c1b);max-width:680px;width:calc(100% - 28px);max-height:calc(100vh - 28px);overflow:auto;margin:auto}
.pfb-dialog::backdrop{background:rgba(0,0,0,.7)}
.pfb-dialog h3{margin:0 0 16px}
.pfb-close{position:absolute;top:8px;right:12px;border:0;background:none;color:inherit;font:400 2rem/1 sans-serif;cursor:pointer;padding:4px 10px}
.pfb-cta{display:flex;flex-wrap:wrap;gap:12px}
.pfb-cta .btn.o{color:var(--tx,#1c1c1b)}
.pfb-cta [hidden]{display:none}
.pfb-dialog.pfb-wide{max-width:980px}
.pfb-dialog .price-grid{margin-bottom:8px}
.pfb-dialog .price-card{background:transparent}
.pfb-dialog .price-sub{margin:28px 0 14px;font-size:1.5rem}
.pfb-dialog .band-note{max-width:none;font-size:.9rem;color:var(--mut,#666)}
.pfb-dlg-act{margin:22px 0 0}
dialog.pfb-dialog input[type],dialog.pfb-dialog textarea{border-color:rgba(128,128,128,.7);background:rgba(128,128,128,.14)}
dialog.pfb-dialog input[type="checkbox"]{background:none}

.pfb-qty{display:flex;align-items:center;gap:10px;flex:none}.pfb-qty small{display:inline;white-space:nowrap}

/* Handy-Datumsauswahl */
.pf-dsel{display:grid;grid-template-columns:.85fr 1.5fr 1fr;gap:8px}
.pf-dsel select{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-weight:500;color:inherit;background:rgba(128,128,128,.14);border:1px solid rgba(128,128,128,.55);border-radius:10px;padding:11px 8px}
.pf-dsel select:focus{outline:0;border-color:var(--acc,#fbb01f);box-shadow:0 0 0 3px rgba(251,176,31,.25)}
.pf-dsel select option{color:#1c1c1b;background:#fff}
