.nptherbie-harbour-transfers, .nptherbie-harbour-itinerary { margin:20px 0; padding:18px; border:1px solid #bae6fd; border-radius:12px; background:#f0f9ff; color:#0f172a; text-align:left; }
.nptherbie-harbour-transfers *, .nptherbie-harbour-admin * { box-sizing:border-box; }
.nptherbie-harbour-transfers[hidden], .nptherbie-harbour-transfers [hidden], [data-harbour-summary][hidden] { display:none!important; }
.nptherbie-harbour-transfers h3, .nptherbie-harbour-itinerary h3 { margin:0 0 8px; font-size:17px; color:#0f172a; }
.nptherbie-harbour-transfers h3 small { font-size:12px; font-weight:400; }
.nptherbie-harbour-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.nptherbie-harbour-choice { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:16px 0 0; min-width:0; border:0; }
.nptherbie-harbour-choice label { display:flex!important; align-items:center; flex:1 1 200px; gap:9px; margin:0; padding:12px 14px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#334155; font-size:13px; line-height:1.5; font-weight:600; cursor:pointer; }
.nptherbie-harbour-choice label:has(input:checked) { border-color:var(--brand-color,#ff5b00); background:#fff7ed; color:#0f172a; }
.nptherbie-harbour-choice input, .nptherbie-harbour-toggle input { appearance:auto!important; flex:0 0 auto; width:18px!important; height:18px!important; padding:0!important; margin:0!important; accent-color:var(--brand-color,#ff5b00); }
.nptherbie-harbour-transfers [data-harbour-options] { margin-top:16px; }
.nptherbie-harbour-leg:has(input[data-harbour-field=enabled]:checked) { border-color:var(--brand-color,#ff5b00); }
.nptherbie-harbour-leg .nptherbie-harbour-availability { margin:7px 0 0 27px; color:#475569; }
.nptherbie-harbour-leg:has(input[data-harbour-field=enabled]:disabled) { background:#f8fafc; }
.nptherbie-harbour-transfers .nptherbie-harbour-feedback { padding:10px; border-left:3px solid #b91c1c; background:#fef2f2; color:#991b1b; }
.nptherbie-harbour-transfers p, .nptherbie-harbour-itinerary p { margin:6px 0 12px; font-size:12px; line-height:1.6; }
.nptherbie-harbour-leg { min-width:0; padding:14px; margin:12px 0; border:1px solid #cbd5e1; border-radius:9px; background:#fff; }
.nptherbie-harbour-toggle { display:flex!important; align-items:flex-start; gap:9px; cursor:pointer; font-size:13px; line-height:1.5; }
.nptherbie-harbour-toggle input { flex:0 0 auto; width:17px; height:17px; margin:1px 0 0; }
.nptherbie-harbour-fields { padding:0; margin:14px 0 0; min-width:0; border:0; }
.nptherbie-harbour-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.nptherbie-harbour-grid label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:600; }
.nptherbie-harbour-grid input, .nptherbie-harbour-grid select, .nptherbie-harbour-grid textarea { width:100%; min-width:0; max-width:100%; padding:10px; border:1px solid #cbd5e1; border-radius:6px; color:#0f172a; background:#fff; font:inherit; font-weight:400; }
.nptherbie-harbour-grid small { color:#64748b; font-size:11px; line-height:1.5; font-weight:400; }
.nptherbie-harbour-wide { grid-column:1 / -1; }
.nptherbie-harbour-line-total { margin-top:12px; color:#0369a1; font-size:13px; font-weight:700; }
.nptherbie-harbour-total, [data-harbour-summary] { display:flex; justify-content:space-between; gap:12px; padding:12px 0; font-size:13px; }
.nptherbie-harbour-detail { padding:12px 0; border-bottom:1px solid #cbd5e1; font-size:13px; overflow-wrap:anywhere; }
.nptherbie-harbour-detail:last-of-type { border-bottom:0; }
.nptherbie-harbour-detail p { margin:5px 0; }
.nptherbie-harbour-footnote { color:#475569; }
.nptherbie-harbour-admin-scroll { overflow-x:auto; }
.nptherbie-harbour-admin-scroll table { min-width:580px; }
.nptherbie-harbour-admin-scroll input[type=number] { width:130px; max-width:100%; }
@media(max-width:480px) { .nptherbie-harbour-grid { grid-template-columns:minmax(0,1fr); } .nptherbie-harbour-transfers { padding:12px; } .nptherbie-harbour-leg { padding:10px; } }
@media print { .nptherbie-harbour-itinerary { break-inside:avoid; background:#fff; } }

.pdf-table .nptherbie-transfer-schedule-row td{background:#f0f9ff;vertical-align:top;overflow-wrap:anywhere}
.nptherbie-transfer-schedule-row{break-inside:avoid;page-break-inside:avoid}
.nptherbie-transfer-schedule-time{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:8px;padding:6px 7px;border-radius:6px;background:#e0f2fe;color:#075985;font-size:11px;line-height:1.4}
.nptherbie-transfer-schedule-time>span{font-size:10px;font-weight:500}
.nptherbie-transfer-schedule-drop{margin-top:10px}
.nptherbie-transfer-schedule-badge{display:inline-block;margin-bottom:5px;padding:3px 7px;border-radius:5px;background:#075985;color:#fff;font-size:10px;font-weight:600;line-height:1.4}
.nptherbie-transfer-schedule-heading{display:block;line-height:1.5}
.nptherbie-transfer-schedule-info{margin-top:5px;font-size:11px;line-height:1.5}
@media print{.pdf-table .nptherbie-transfer-schedule-row td{background:#f8fafc}.nptherbie-transfer-schedule-badge{background:#fff;color:#0f172a;border:1px solid #94a3b8}}
