*{box-sizing:border-box}body{margin:0;background:#f2f6fa;color:#0b2d57;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}header{height:92px;background:#0d3868;color:white;border-bottom:4px solid #d3a21d;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;}.brand{display:flex;flex-direction:column;letter-spacing:4px}.brand b{font-size:28px}.brand span{font-size:11px;margin-top:5px}main{max-width:1180px;margin:42px auto 80px;padding:0 18px}.hero{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.eyebrow{color:#aa7300;font-weight:800;letter-spacing:2px;font-size:13px}.hero h1{font-size:42px;margin:10px 0}.hero p,.panel p{color:#60758e}.pill{padding:13px 20px;border-radius:30px;font-weight:800;font-size:13px}.green{background:#e0f4e8;color:#087336}.amber{background:#fff0c8;color:#8a5b00}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel{background:#fff;border:1px solid #d5e0ea;border-radius:16px;box-shadow:0 8px 25px rgba(25,58,90,.05)}.card{padding:24px}.card span{display:block;color:#647990}.card strong{font-size:34px;margin-top:7px;display:block}.panel{padding:26px;margin:24px 0}.panelhead{display:flex;justify-content:space-between;gap:20px;align-items:end}.panel h2{font-size:27px;margin:0 0 8px}.panelhead label,.controlform label{font-size:11px;font-weight:800;letter-spacing:1px;color:#60758e}select,input,textarea{width:100%;border:1px solid #bdcad7;border-radius:9px;background:white;padding:11px 12px;margin-top:7px;color:#0b2d57;font:inherit}.panelhead select{min-width:180px}.tablewrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;min-width:940px}th{text-align:left;font-size:11px;color:#647990;letter-spacing:.5px;padding:12px}td{padding:13px 12px;border-top:1px solid #e0e7ee;vertical-align:top}small{display:block;color:#7a8da1;margin-top:4px}.status{display:inline-block;padding:6px 10px;border-radius:20px;font-size:11px;font-weight:800}.status.booked{background:#dff3e6;color:#087238}.status.individual{background:#dceffd;color:#0969a7}.status.premium{background:#fff0c8;color:#946100}.status.neutral{background:#edf1f4;color:#556a80}.manage{display:inline-block;background:#0d3868;color:white;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:700}.flash{padding:14px 18px;border-radius:10px;margin:16px 0}.flash.ok{background:#e0f4e8;color:#087336}.flash.bad{background:#fde7e7;color:#992c2c}.decision{border-left:5px solid #d3a21d}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.facts div{background:#f5f8fb;border-radius:10px;padding:15px}.facts span{display:block;color:#6b7f94;font-size:12px}.facts b{display:block;margin-top:5px;font-size:18px}.premiumcallout{background:#fff5d9;border:1px solid #efd38b;border-radius:10px;padding:15px;margin:18px 0}.controlform{display:grid;grid-template-columns:2fr 1.2fr 1fr;gap:16px;margin-top:18px}.wide{grid-column:1/-1}.actions{display:flex;gap:12px;align-items:center}.actions button{background:#0d3868;color:white;border:0;border-radius:9px;padding:12px 18px;font-weight:800;cursor:pointer}.actions a{color:#0d3868}.safety{border-top:1px solid #e0e7ee;padding-top:16px}.panel.safety{border-left:5px solid #d3a21d}@media(max-width:800px){.cards,.facts{grid-template-columns:1fr 1fr}.hero,.panelhead{display:block}.pill{display:inline-block;margin-top:10px}.controlform{grid-template-columns:1fr}.wide{grid-column:auto}}
.bookingbox{margin:22px 0 14px;border:1px solid #d5e0ea;border-radius:12px;overflow:hidden}
.bookingboxhead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#f5f8fb;padding:16px 18px}
.bookingboxhead h3{margin:0 0 4px;font-size:18px}.bookingboxhead p{margin:0;font-size:13px}
.privacy{white-space:nowrap;background:#e8eef5;color:#536b83;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:800;letter-spacing:.7px}
.contacttable{overflow:auto}.contacttable table{min-width:760px}.contacttable th,.contacttable td{padding:11px 14px}
.emptycontact{padding:18px;color:#536b83}.emptycontact b{color:#0b2d57}.emptycontact span{font-size:13px}
.notehelp{background:#eef6fb;border-left:4px solid #2a82b8;padding:13px 15px;border-radius:8px;color:#536b83;font-size:13px;margin:14px 0 18px}
.topaction{display:block;margin-top:10px;text-align:center;background:#0d3868;color:#fff;text-decoration:none;padding:10px 14px;border-radius:9px;font-weight:800}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.formgrid .wide{grid-column:1/-1}.calcbox{background:#f5f8fb;border:1px solid #d5e0ea;border-radius:12px;padding:18px;margin:18px 0}.calcgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calcgrid div{background:white;border-radius:9px;padding:12px}.calcgrid span{display:block;color:#6b7f94;font-size:12px}.calcgrid b{display:block;margin-top:5px;font-size:18px}.subnav{display:flex;gap:10px;margin:0 0 20px}.subnav a{background:#e8eef5;color:#0d3868;text-decoration:none;padding:9px 13px;border-radius:8px;font-weight:800}.subnav a.active{background:#0d3868;color:#fff}.checkbox{display:flex;gap:9px;align-items:center;margin-top:24px}.checkbox input{width:auto;margin:0}.muted{color:#6b7f94}.warning{background:#fff5d9;border:1px solid #efd38b;border-radius:10px;padding:14px;margin:15px 0}.recent table{min-width:1050px}@media(max-width:800px){.formgrid,.calcgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}}

/* Stage 5A.3 — multiple bookings */
.batchtoolbar{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:22px 0 10px;padding:12px 14px;background:#f3f7fb;border:1px solid #d6e1ec;border-radius:10px}.batchtoolbar span{color:#536b86}.batchlist{max-height:520px;overflow:auto;border:1px solid #d6e1ec;border-radius:10px;background:#fff;margin-bottom:18px}.batchrow{display:grid;grid-template-columns:28px 1.4fr .7fr .6fr .7fr 2fr;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid #e4ebf2;font-size:14px}.batchrow:last-child{border-bottom:0}.batchrow:hover{background:#f7faff}.batchrow.hasbooking{background:#f5f6f8;color:#65778b}.batchrow input{width:18px;height:18px}.batchrow span:last-child{font-size:12px;text-transform:uppercase;letter-spacing:.03em}@media(max-width:850px){.batchrow{grid-template-columns:28px 1fr 1fr}.batchrow span:nth-of-type(4),.batchrow span:nth-of-type(5){grid-column:2/-1}}

/* Stage 5A.4 mixed batch + account controls */
.batchrow.mixed{display:grid;grid-template-columns:28px minmax(190px,1.4fr) minmax(190px,1fr) 120px minmax(180px,1fr);gap:12px;align-items:center}
.batchrow.mixed .placesmini{display:flex;align-items:center;gap:6px;margin:0}.batchrow.mixed .placesmini input{width:64px}.batchrow.mixed select{margin:0}
#customer-account a{color:inherit}.panel table small{display:block}
@media(max-width:900px){.batchrow.mixed{grid-template-columns:28px 1fr}.batchrow.mixed>*:not(.batchcheck){grid-column:2}}

/* Stage 5A.5 — payment and rolling-credit ledger */
.ledgerforms{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.ledgerbox{border:1px solid #d6e1ec;background:#f7faff;border-radius:12px;padding:16px}.ledgerbox h3{margin:0 0 12px;font-size:18px}.ledgerbox label{display:block;font-size:11px;font-weight:800;letter-spacing:.7px;color:#60758e;margin-top:10px}.ledgerbox button{width:100%;margin-top:14px;background:#0d3868;color:#fff;border:0;border-radius:9px;padding:11px 14px;font-weight:800;cursor:pointer}.ledgerbox button:disabled{background:#a9b6c3;cursor:not-allowed}.ledgerheading{margin:26px 0 6px}@media(max-width:900px){.ledgerforms{grid-template-columns:1fr}}


/* Stage 5A.6 — booking management and status audit */
.bookingmanage{margin:24px 0;border:2px solid #d3a21d;border-radius:14px;background:#fff;padding:18px}.bookingmanagehead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.bookingmanagehead h3{margin:5px 0 3px;font-size:22px}.bookingmanagehead p{margin:0}.closemanage{background:#e8eef5;color:#0d3868;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:800}.managementform{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.managementform label{font-size:11px;font-weight:800;letter-spacing:.7px;color:#60758e}.managementform .wide{grid-column:1/-1}@media(max-width:800px){.managementform{grid-template-columns:1fr}.managementform .wide{grid-column:auto}.bookingmanagehead{display:block}.closemanage{display:inline-block;margin-top:10px}}


/* Stage 5A.7 — electronic charter diary */
.diarypanel{border-top:4px solid #d3a21d}.diaryfilters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end;margin:20px 0}.diaryfilters label{font-size:11px;font-weight:800;letter-spacing:.7px;color:#60758e}.diaryfilteractions{display:flex;gap:8px;align-items:center;padding-bottom:1px}.diaryfilteractions button,.diaryfilteractions a{border:0;border-radius:9px;padding:11px 14px;font-weight:800;text-decoration:none;cursor:pointer}.diaryfilteractions button{background:#0d3868;color:#fff}.diaryfilteractions a{background:#e8eef5;color:#0d3868}.diarycards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.diarycards div{background:#f5f8fb;border:1px solid #dce5ed;border-radius:10px;padding:13px}.diarycards span{display:block;color:#647990;font-size:11px}.diarycards b{display:block;font-size:20px;margin-top:5px}.diarytable table{min-width:1280px}.diarystatus{display:inline-block;background:#edf3f8;border-radius:18px;padding:6px 9px;font-size:11px;font-weight:800}.diaryactions{display:flex;gap:6px}.diaryactions a{display:inline-block;background:#0d3868;color:#fff;text-decoration:none;padding:7px 9px;border-radius:7px;font-size:12px;font-weight:800}.diaryactions a:first-child{background:#e8eef5;color:#0d3868}.diarysafety{margin-top:18px;background:#fff5d9;border:1px solid #efd38b;border-radius:10px;padding:13px}.diarysafety a{color:#0d3868;font-weight:800}.emptydiary{padding:22px;background:#f5f8fb;border-radius:10px;color:#60758e;margin-top:16px}@media(max-width:950px){.diaryfilters{grid-template-columns:1fr 1fr}.diarycards{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.diaryfilters,.diarycards{grid-template-columns:1fr}}
