.planning-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:22px;align-items:start}.planning-grid>div{min-width:0}.planning-form{display:grid;gap:16px}.planning-form label{min-width:0}.planning-form .form-grid{gap:14px}.planning-form textarea{min-height:82px;resize:vertical}.planning-note{color:var(--muted,#6c7686);font-size:12px;line-height:1.65;margin:0}.planning-check{display:flex;align-items:center;gap:10px;line-height:1.5}.planning-check input{width:auto;margin:0;accent-color:#1b7768}.planning-status{min-height:1.5em;font-size:13px;color:#a43a36;margin:0;overflow-wrap:anywhere}.planning-result{margin-top:16px;padding:18px;border:1px solid #c9dfd9;border-radius:12px;background:#f2f8f6;line-height:1.6;overflow-wrap:anywhere}.planning-result h3{margin:0 0 9px;font-size:15px}.planning-result p{margin:8px 0}.planning-row-actions{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.planning-row-actions small{display:block;color:var(--muted,#6c7686);font-size:11px}.planning-band-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.planning-band-heading h3{margin:0;font-size:14px}.planning-band{display:grid;grid-template-columns:1fr 1fr 34px;gap:12px;align-items:end;margin:0 0 12px}.planning-band .icon-button{margin-bottom:3px}.planning-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.planning-facts div{min-width:0}.planning-facts dt{font-size:11px;color:var(--muted,#6c7686)}.planning-facts dd{margin:3px 0 0;font-weight:650;font-size:14px}.planning-grid table td{vertical-align:top}.planning-grid .sub{overflow-wrap:anywhere}.booking-portal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:22px;align-items:start}.booking-portal-form{display:grid;gap:16px}.booking-portal-card{padding:22px}.booking-portal-summary{border-bottom:1px solid #e6ebef;padding:20px 0}.booking-portal-summary:last-child{border-bottom:0}.booking-portal-summary h3{margin:0 0 8px}.booking-portal-summary p{margin:7px 0;font-size:13px;line-height:1.7}.booking-portal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.booking-confirmation{white-space:normal;line-height:1.75}.booking-confirmation dl{display:grid;gap:12px}.booking-confirmation dt{font-size:12px;color:#617084}.booking-confirmation dd{margin:0;font-weight:600;overflow-wrap:anywhere}@media(max-width:1100px){.planning-grid{grid-template-columns:1fr}.booking-portal-grid{grid-template-columns:1fr}}@media(max-width:600px){.planning-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:7px}.planning-band .icon-button{width:28px}.planning-facts{grid-template-columns:1fr}.booking-portal-card{padding:16px}.planning-result{padding:14px}}
@media print{body:has(.booking-confirmation) header,body:has(.booking-confirmation) main,body:has(.booking-confirmation) footer,body:has(.booking-confirmation) .dialog-head button,body:has(.booking-confirmation) .booking-print-actions{display:none!important}body:has(.booking-confirmation) dialog[open]{position:static;width:100%;max-width:none;border:0;box-shadow:none;max-height:none}body:has(.booking-confirmation) dialog::backdrop{background:transparent}.booking-confirmation{color:#000}}

.planning-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 20px;border-top:1px solid #e6ebef;font-size:12px;color:var(--muted,#6c7686)}.planning-pagination span{margin-right:auto}
