/* Booking and account preferences, using the approved HandyFan palette. */
.required-star{color:var(--red);font-weight:700;white-space:nowrap}.required-note{font-size:12px;color:var(--muted);margin:0 0 18px}.field-error{display:block;color:var(--red);margin-top:6px;font-weight:600}[aria-invalid=true]{border-color:var(--red)!important}.booking-steps{display:flex;list-style:none;padding:0;gap:12px;margin:24px 0}.booking-steps li{flex:1;display:flex;align-items:center;gap:10px;color:var(--muted);border-bottom:3px solid var(--border);padding:12px 0}.booking-steps li.active{border-color:var(--blue);color:var(--navy)}.booking-steps li span{width:28px;height:28px;background:var(--paper);border:1px solid var(--border);border-radius:50%;display:grid;place-items:center}.booking-steps li[aria-current] span{background:var(--blue);color:#fff}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px}.booking-main{min-width:0}.booking-main .panel{padding:24px}.booking-main h2 svg,.booking-record h2 svg,.priority-request h2 svg{width:20px;height:20px;vertical-align:middle;color:var(--blue)}.response-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.response-option{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;min-width:0;background:var(--white)}.response-option input{position:absolute;right:12px;top:12px;width:18px!important;height:18px!important;margin:0}.response-option svg{width:21px;height:21px;color:var(--blue)}.response-option strong{font-size:14px;line-height:1.4}.response-option span{font-size:12px;font-weight:400;line-height:1.5;color:var(--muted)}.response-option.chosen{border:2px solid var(--blue);padding:17px 11px;background:var(--blue-soft)}.urgent-booking{font-size:12px;border-left:3px solid var(--teal);padding:8px 12px;background:var(--paper)}.booking-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0}.booking-toolbar label{margin:0;font-size:12px}.booking-toolbar select,.booking-toolbar input{margin-top:7px;min-height:42px}.date-controls{display:flex;gap:8px;align-items:end}.date-controls .icon-btn{width:42px;height:42px;flex-shrink:0}.selection-summary{display:flex;flex-direction:column;gap:5px;background:var(--blue-soft);padding:13px;border-radius:8px;margin:16px 0;color:var(--navy);font-size:13px}.selection-summary span{font-size:12px}.selected-windows{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.selected-windows:empty{display:none}.selected-windows .btn{font-size:11px;padding:7px}.selected-windows svg{width:14px}.selected-windows .stale{border-color:var(--red);color:var(--red)}.arrival-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px}.arrival-day{padding:15px 8px;min-width:0;border-right:1px solid var(--border);text-align:center}.arrival-day:last-child{border:0}.arrival-day h3{font-size:15px;margin:0}.arrival-day>p{font-size:11px;margin:7px 0 18px;color:var(--muted)}.arrival-day .btn{width:100%;display:flex;justify-content:center;gap:5px;padding:11px 4px;min-height:44px;margin:0 0 9px;font-size:12px;border-radius:7px;font-weight:600}.arrival-day .day-all{font-size:11px;border-style:dashed;min-height:53px}.arrival-slot{background:var(--white);color:var(--navy);border:1px solid var(--border);position:relative}.arrival-slot.selected{background:var(--blue-soft);border:2px solid var(--blue);color:var(--blue-hover);padding:10px 3px}.arrival-slot svg{width:12px;flex-shrink:0}.arrival-slot:disabled{background:var(--paper);color:var(--muted);cursor:not-allowed;opacity:.65;display:flex;flex-direction:column;gap:2px}.arrival-slot small{font-size:9px;font-weight:400}.mobile-days{display:none}.booking-price{position:sticky;top:100px}.booking-price h2{font-size:21px}.booking-price dt{margin-top:16px}.booking-price dd{margin:6px 0}.booking-price-total{font-size:25px;font-weight:700}.booking-photo{width:100%;max-height:170px;object-fit:cover;border-radius:9px}.booking-success{max-width:800px}.booking-success>svg{width:40px;height:40px;color:var(--green);margin-bottom:16px}.booking-record details{margin-top:16px}.priority-request{border-left:4px solid var(--blue)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-tile{display:flex;gap:18px;align-items:center;padding:24px}.settings-tile>svg{width:24px;height:24px;color:var(--blue);flex-shrink:0}.settings-tile>svg:last-child{margin-left:auto;width:17px}.settings-tile h2{font-size:18px;margin:0 0 6px}.settings-tile p{font-size:13px;margin:0;color:var(--muted)}.settings-tile:hover{border-color:var(--blue)}.settings-form{max-width:820px}.settings-form fieldset{margin:22px 0;padding:18px;border:1px solid var(--border);border-radius:10px}.settings-form legend{font-weight:700;padding:0 7px}.setting-check{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--border);font-weight:500}.setting-check input{width:20px!important;height:20px!important;margin:0;flex-shrink:0;accent-color:var(--blue)}.setting-check span{display:flex;align-items:center;gap:12px}.setting-check svg{width:19px}.appearance-choices,.accent-choices{display:flex;gap:18px;flex-wrap:wrap}.appearance-choices label,.accent-choices label{display:flex;align-items:center;gap:8px;margin:0;min-height:44px}.appearance-choices input,.accent-choices input,.plan-choice input{width:18px!important;margin:0;accent-color:var(--blue)}.appearance-choices svg{width:18px}.colour-dot{width:20px;height:20px;display:inline-block;border-radius:50%;border:1px solid var(--border)}.colour-dot.blue{background:#0866ff}.colour-dot.navy{background:#082448}.colour-dot.teal{background:#19766f}.settings-avatar{width:72px;height:72px;object-fit:cover;border-radius:50%;margin-bottom:15px}.volume-control{margin:24px 0 16px;position:relative}.volume-control output{float:right;font-weight:700}.volume-control input{width:100%;accent-color:var(--blue);padding:0;min-height:44px}.settings-form .plan-choice{padding:20px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:15px}.plan-choice:has(input:checked){background:var(--blue-soft);border-color:var(--blue)}.plan-choice small{display:block;font-weight:400;margin-top:7px;line-height:1.5;color:var(--muted)}.settings-form details{margin:15px 0}.settings-form small{color:var(--muted)}
body[data-accent=navy][data-portal]:not([data-portal=""]){--blue:#123e71;--blue-hover:#082448;--blue-soft:#e9eff6;--action:#123e71}body[data-accent=teal][data-portal]:not([data-portal=""]){--blue:#19766f;--blue-hover:#115b55;--blue-soft:#e7f4f2;--action:#19766f}body[data-accent=blue]{--action:#0866ff}.primary,.room-tabs .active{background:var(--action,var(--blue));border-color:var(--action,var(--blue));color:#fff}.primary:hover{filter:brightness(.94)}
body[data-theme=dark][data-portal]:not([data-portal=""]){color-scheme:dark;--paper:#0a1729;--surface:#10243a;--ink:#edf3fa;--navy:#edf3fa;--muted:#adc1d5;--border:#324d66;--blue:#87b5ff;--blue-hover:#b3d0ff;--blue-soft:#173961;--pending-bg:#3b3018;--pending-ink:#ffda8a;--confirmed-bg:#15392d;--green:#8ed8ae;--error-bg:#3e242c;--red:#ffabb2;--shadow:0 8px 26px #0002;background:var(--paper)}
body[data-theme=dark][data-portal][data-accent=teal]{--blue:#8cd1c8;--blue-hover:#bce8e1;--blue-soft:#153e3e;--action:#19766f}body[data-theme=dark][data-portal][data-accent=navy]{--blue:#a1c5f2;--blue-hover:#cce1ff;--blue-soft:#1c354f;--action:#245b98}
body[data-theme=dark] :is(.app-header,.sidebar,.panel,.metric,.request-card,.filters,.property-hero,.table-wrap,.insight-metrics>div,.outline,.icon-btn,.view-switch>div,.response-option,.arrival-slot,.settings-tile,dialog,.earning-card,.earnings-cards>div,.referral-points>div){background:var(--surface);color:var(--ink);border-color:var(--border)}
body[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){background:var(--paper);color:var(--ink);border-color:#627e98}body[data-theme=dark] .brand img{background:#fff;border-radius:7px}body[data-theme=dark] :is(thead th,.calendar-weekday,.footer){background:#061526;color:#fff}body[data-theme=dark] :is(.calendar-day,.day-number,.conversation,.job-chat,.booking-price,.booking-main){color:var(--ink)}body[data-theme=dark] :is(.response-option.chosen,.arrival-slot.selected,.plan-choice:has(input:checked),.message.own,.conversation.active){background:var(--blue-soft);color:var(--ink)}body[data-theme=dark] :is(.earnings-cards,.chat-people li,.offer-highlight,.rate-note,.record-health,.daily-job,.handover-checks,.booking-total,.setting-detail-row,.report-preview,.schedule-preview){background:var(--paper);color:var(--ink);border-color:var(--border)}body[data-theme=dark] .primary,body[data-theme=dark] .btn.danger,body[data-theme=dark] .status.resolved{color:#fff;background:var(--action,#0866ff)}body[data-theme=dark] .primary:hover{background:var(--action,#0866ff)}body[data-theme=dark] .booking-steps li[aria-current] span{background:var(--action);color:#fff}body[data-theme=dark] :is(.sidebar nav a,.profile strong,.next-panel h2,.rate-note b,.earnings-cards strong){color:var(--ink)}body[data-theme=dark] .calendar-event{background:var(--paper)}
body[data-text-size=large] .workspace{font-size:18px}body[data-text-size=large] .workspace :is(p,label,td,dd,.btn){font-size:16px}body[data-text-size=large] .workspace small{font-size:13px}body[data-reduce-motion=true] *,body[data-reduce-motion=true] *::before,body[data-reduce-motion=true] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(max-width:1200px){.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-layout>aside{order:-1}.booking-price{position:static}.booking-price dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.booking-price dl dt,.booking-price dl dd{margin:4px 0}.booking-photo{display:none}}
@media(max-width:650px){.settings-grid{grid-template-columns:1fr;gap:12px}.settings-tile{padding:20px}.booking-steps{gap:8px;font-size:11px}.booking-steps li{gap:6px}.booking-steps li span{width:23px;height:23px;flex-shrink:0}.booking-main .panel{padding:18px}.response-options{grid-template-columns:1fr}.response-option{padding:15px 40px 15px 15px;gap:6px}.response-option.chosen{padding:14px 39px 14px 14px}.response-option svg{display:none}.booking-toolbar{align-items:stretch}.booking-toolbar>label,.date-controls{width:100%}.date-controls label{flex:1;min-width:0}.date-controls input{width:100%;min-width:0}.mobile-days{display:flex;overflow:auto;gap:6px;padding:5px 0 14px}.mobile-days .btn{min-width:65px;min-height:44px}.mobile-days [aria-pressed=true]{border:2px solid var(--blue);background:var(--blue-soft)}.arrival-grid{grid-template-columns:1fr}.arrival-day{display:none;border:0}.arrival-day.mobile-active{display:block}.arrival-day .btn{font-size:15px}.arrival-day .day-all{min-height:44px}.arrival-day>p{margin-bottom:12px}.appearance-choices{flex-direction:column}.booking-layout .form-footer{display:flex;flex-direction:column}.booking-layout .form-footer>.btn{width:100%}}
@media print{body[data-theme=dark]{--paper:#fff;--surface:#fff;--ink:#000;--navy:#000;--muted:#333;--border:#aaa;color-scheme:light;background:#fff;color:#000}.booking-steps,.settings-form{display:none}}

body[data-theme=dark] :is(.nav-group,.nav-group summary,.labour-earnings output){color:var(--ink)}
body[data-theme=dark] :is(.rate-note span,.chat-people li span,.referral-row small){color:var(--muted)}
body[data-theme=dark] :is(.tenant-next .tenant-do,.variation-card,.issue-row,.pricing-note,.draft-controls,.availability-summary,.report-preview){background:var(--paper);color:var(--ink);border-color:var(--border)}
body[data-theme=dark] .issue-notice{background:var(--pending-bg);color:var(--pending-ink)}
@media(max-width:650px){.mobile-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:4px}.mobile-days .btn{min-width:0;min-height:44px;padding:6px 2px;font-size:11px;white-space:normal}}
