:root{--navy: #2b3c54;--navy-dark: #1f2e42;--sky: #99ccff;--mist: #f1f4f7;--line: #dde3ea;--ink: #1f2a37;--text: #55606e;--white: #ffffff;--ok: #237451;--ok-bg: #e3f5ec;--warn: #8a5a00;--warn-bg: #fff1d6;--bad: #a3122c;--bad-bg: #ffe8ec;--radius: 12px;--radius-large: 16px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--mist);-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--mist)}button,input,select,textarea{font:inherit}a,h1,h2,h3{color:var(--navy)}h1{margin:0 0 18px;font-size:clamp(1.5rem,3vw,1.8rem);line-height:1.1}h2{margin:26px 0 12px;font-size:1.05rem}h3{margin:0}.shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;padding:8px max(16px,env(safe-area-inset-left)) 8px max(16px,env(safe-area-inset-right));border-bottom:1px solid var(--line);color:var(--navy);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{font-size:.94rem;font-weight:800;letter-spacing:-.01em}.page{width:min(900px,100%);margin:0 auto;padding:22px 16px calc(92px + env(safe-area-inset-bottom))}.centre{display:grid;min-height:100vh;place-items:center;padding:16px}.login-page{background:var(--mist)}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:stretch;padding:0 max(4px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-right));border-top:1px solid var(--line);border-radius:0;background:var(--white)}.tabbar .tab{position:relative;display:flex;min-width:0;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;color:var(--text);font-size:12px;font-weight:600;line-height:1;text-decoration:none}.tabbar .tab svg{width:24px;height:24px}.tabbar .tab[aria-current=page]{color:var(--navy)}.tabbar .tab[aria-current=page]:before{position:absolute;top:0;right:0;left:0;height:3px;background:var(--sky);content:""}button,.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 16px;border:1px solid var(--line);border-radius:10px;color:var(--navy);background:var(--white);font-weight:750;line-height:1.15;cursor:pointer}button:hover:not(:disabled),.button:hover{border-color:#b9c4d0;background:#f8fafc}button.primary{border-color:var(--navy);color:var(--white);background:var(--navy)}button.primary:hover:not(:disabled){border-color:var(--navy-dark);background:var(--navy-dark)}button.danger{border-color:var(--bad);color:var(--bad)}button.link{min-height:44px;padding:0;border:0;border-radius:0;color:var(--navy);background:transparent;text-decoration:underline}button:disabled,button.primary:disabled{border-color:#a0adbb;color:#34495f;background:#dbe3eb;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:2px}label{display:grid;gap:6px;color:var(--navy);font-size:.88rem;font-weight:750}input,select,textarea{width:100%;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--white)}textarea{min-height:82px;resize:vertical}[aria-invalid=true]{border-color:var(--bad)}.field-error{color:var(--bad);font-weight:700}.tick{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:550}.tick input{width:22px;min-width:22px;min-height:22px;height:22px;accent-color:var(--navy)}.ticks{display:grid;gap:10px;margin:14px 0}.card,.panel{padding:18px;border:1px solid var(--line);border-radius:var(--radius-large);background:var(--white);box-shadow:0 1px 2px #1f2a3708}.panel{margin:16px 0}.login{display:grid;width:min(420px,calc(100vw - 32px));gap:14px}.login-card{padding:24px}.row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.hint,.empty{color:var(--text)}.settings-list{display:grid;gap:10px}.settings-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;min-height:76px;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-large);color:var(--ink);background:var(--white);box-shadow:0 1px 2px #1f2a3708;font-size:1rem;text-decoration:none}.settings-row:hover{border-color:#b9c4d0;color:var(--ink);background:#fbfcfd}.settings-icon,.staff-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;color:var(--navy);background:#eef6ff}.settings-icon svg,.staff-icon svg{width:23px;height:23px}.settings-chevron{color:var(--text);font-size:1.8rem;font-weight:400;line-height:1}.staff-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.staff-list li{display:grid;grid-template-columns:42px minmax(0,1fr) auto;min-height:70px;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 1px 2px #1f2a3706}.staff-list .main{min-width:0}.staff-list .main span{overflow-wrap:anywhere}.staff-confirmation{margin:16px 0}.staff-confirmation p{margin:0}.staff-password{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.staff-password button{min-width:100px}.password-notice{display:flex;align-items:center;justify-content:space-between;gap:12px}.password-notice p{margin:0}.password-reveal{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;-webkit-user-select:all;user-select:all}.settings-heading-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.settings-heading-row h2{margin:0}.settings-form{display:grid;gap:12px}.settings-form h2{margin:0}.gear-groups{display:grid;gap:12px}.gear-group-card{padding:16px;border:1px solid var(--line);border-radius:var(--radius-large);background:var(--white);box-shadow:0 1px 2px #1f2a3708}.gear-group-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}.gear-group-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;color:var(--navy);background:#eef6ff}.gear-group-icon svg{width:23px;height:23px}.gear-group-head h3{min-width:0;overflow-wrap:anywhere}.settings-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.settings-icon-button{display:inline-grid;width:44px;min-width:44px;min-height:44px;height:44px;place-items:center;padding:0;border-color:var(--line);background:var(--white)}.settings-icon-button svg{width:19px;height:19px}.settings-items-list{display:grid;gap:8px;margin:14px 0;padding:0;list-style:none}.settings-items-list li,.ordered-settings-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.settings-items-list li>span{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.settings-add-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.45fr);gap:12px;margin-top:12px}.settings-add-item .row{grid-column:1 / -1;margin-top:0}.settings-inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;width:100%}.settings-inline-form label{flex:1 1 180px}.settings-inline-form button{flex:none}.settings-item-edit{grid-column:1 / -1}.icon-picker{min-width:0;margin:0;padding:0;border:0}.icon-picker legend{margin-bottom:6px;font-weight:800}.icon-picker-options{display:flex;flex-wrap:wrap;gap:8px}.icon-picker-button{display:inline-grid;width:44px;min-width:44px;min-height:44px;height:44px;place-items:center;padding:0;border-color:var(--line);color:var(--navy);background:var(--white)}.icon-picker-button[aria-pressed=true]{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy);background:#eef6ff}.icon-picker-button svg{width:21px;height:21px}.per-boat{margin-top:28px}.gear-grid-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.gear-grid{width:100%;min-width:690px;border-collapse:collapse}.gear-grid th,.gear-grid td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.gear-grid thead th{color:var(--navy);background:#f8fafc;font-size:.82rem}.gear-grid tbody tr:last-child>*{border-bottom:0}.gear-grid tbody th{min-width:160px}.gear-grid tbody th span,.gear-grid tbody th small{display:block}.gear-grid tbody th small{margin-top:3px;color:var(--text);font-size:.72rem;font-weight:700}.gear-grid td{min-width:126px}.gear-carry{display:inline-flex;min-height:44px;align-items:center;gap:7px;color:var(--ink);font-size:.78rem}.gear-carry input{width:22px;min-width:22px;min-height:22px;height:22px;accent-color:var(--navy)}.gear-grid td>input{min-width:96px;margin-top:5px}.ordered-settings-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:settings}.ordered-settings-list li{counter-increment:settings;grid-template-columns:32px minmax(0,1fr) auto}.ordered-settings-list li:before{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:var(--navy);background:#eef6ff;content:counter(settings);font-size:.78rem;font-weight:850}.ordered-settings-list .settings-inline-form{grid-column:2 / -1}.blocks-form h2,.blocks-heading{display:flex;align-items:center;gap:8px}.blocks-form h2{margin-top:0}.blocks-form h2 svg,.blocks-heading svg{width:20px;height:20px}.notice{margin:12px 0;padding:12px 14px;border:1px solid transparent;border-radius:10px;font-weight:700}.notice.error{border-color:#f5bdca;color:var(--bad);background:var(--bad-bg)}.notice.info{border-color:#c9dff6;color:var(--navy);background:#eef6ff}.notice.success{border-color:#bce4d0;color:var(--ok);background:var(--ok-bg)}.warning{margin-top:16px;padding:14px;border:1px solid #f0d8a6;border-radius:var(--radius);color:var(--warn);background:var(--warn-bg)}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px}.filters .grow{flex:1 1 220px}.tabs,.seg{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--white)}.tabs button{min-height:44px;border:0;border-radius:0}.seg{padding:3px}.seg>*{flex:1;padding:8px;border-radius:7px;color:var(--text);font-size:.78rem;font-weight:750;text-align:center}.tabs button,.seg>button{color:var(--text);background:transparent}.tabs button[aria-pressed=true],.tabs button[aria-pressed=true]:hover:not(:disabled),.tabs button[aria-pressed=true]:focus-visible,.seg>button.active,.seg>button[aria-pressed=true],.seg>button.active:hover:not(:disabled),.seg>button[aria-pressed=true]:hover:not(:disabled),.seg>button.active:focus-visible,.seg>button[aria-pressed=true]:focus-visible{color:var(--white);background:var(--navy)}.booking-list,.block-list,.invoices,.timeline{margin:0;padding:0;list-style:none}.booking-list{display:grid;gap:8px}.booking-list li{margin:0}.booking-row,.row-card,.block-list li{display:grid;align-items:center;gap:6px 14px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);color:inherit;background:var(--white);box-shadow:0 1px 2px #1f2a3706;text-decoration:none}.booking-row{grid-template-columns:64px 1fr auto auto}.row-card{grid-template-columns:1fr auto}.booking-row:hover,.row-card:hover{border-color:#b9c4d0;background:#fbfcfd}.today-row{grid-template-columns:58px minmax(0,1fr) auto;gap:10px;padding:10px}.today-time{display:grid;align-content:center;line-height:1.1}.today-time strong{font-size:1rem;font-variant-numeric:tabular-nums;font-weight:800}.today-time small{margin-top:2px;color:var(--text);font-size:.69rem;font-weight:600}.today-row .main{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:6px}.today-name{color:var(--ink);font-size:.875rem;font-weight:600}.today-row .badges{flex-wrap:nowrap;justify-self:end}.block-list{display:grid;gap:8px}.block-list li{grid-template-columns:64px 1fr auto}.code,.boat-badge{display:inline-flex;width:fit-content;align-items:center;border-radius:6px;color:var(--white);background:var(--navy);font-size:.83rem;font-style:normal;font-weight:850;letter-spacing:.01em}.code{padding:5px 7px}.boat-badge{padding:4px 8px}.main .boat-badge,.badges .boat-badge{color:var(--white)}.main{display:grid;gap:2px}.main span{color:var(--text)}.amount{font-weight:800;font-variant-numeric:tabular-nums}.badges,.chips{display:flex;flex-wrap:wrap;gap:6px}.row-card:not(.today-row) .badges{align-items:center;justify-content:flex-end;gap:10px}.payment-status{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:.83rem;font-weight:700;white-space:nowrap}.badge,.chip{display:inline-flex;min-height:26px;align-items:center;padding:3px 8px;border:1px solid transparent;border-radius:999px;font-size:.77rem;font-weight:750;white-space:nowrap}.badge.paid,.chip.done{color:var(--ok);background:var(--ok-bg)}.badge.due,.chip.part{color:var(--warn);background:var(--warn-bg)}.badge.muted,.chip.none{border-color:var(--line);color:var(--text);background:var(--white)}.chip.missing{color:var(--bad);background:var(--bad-bg)}.dot{display:inline-grid;width:30px;min-width:30px;height:30px;place-items:center;border:1px solid transparent;border-radius:50%}.dot svg{width:16px;height:16px}.dot.done,.tile.done{color:var(--ok);background:var(--ok-bg)}.dot.part,.tile.part{color:var(--warn);background:var(--warn-bg)}.dot.missing,.tile.missing{color:var(--bad);background:var(--bad-bg)}.dot.none,.tile.none{border-color:var(--line);color:var(--text);background:var(--white)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.tile{display:flex;min-height:84px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 4px 8px;border:1px solid transparent;border-radius:var(--radius);font-size:.72rem;font-weight:800;text-align:center}.tile svg{width:26px;height:26px}.big-button{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:12px;border:0;border-radius:var(--radius);color:var(--white);background:var(--navy);font-weight:800;text-decoration:none}.big-button:hover{color:var(--white);background:var(--navy-dark)}.summary-bar{padding:14px;border-radius:14px;color:var(--white);background:var(--navy)}.report-page{width:min(720px,100%);margin:0 auto}.report-head{padding:16px;border:1px solid var(--line);border-radius:var(--radius-large);background:var(--white);text-align:center}.report-head h1{margin:8px 0 4px;font-size:1.35rem}.report-head p{margin:0;color:var(--text);font-weight:650}.report-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:16px 0;padding:0;list-style:none}.report-progress li{display:grid;gap:5px;color:var(--text);font-size:.72rem;font-weight:800;text-align:center}.report-progress span{display:block;height:6px;border-radius:999px;background:var(--line)}.report-progress .done{color:var(--ok)}.report-progress .done span{background:var(--ok)}.report-progress .current{color:var(--navy)}.report-progress .current span{background:var(--navy)}.report-step{display:grid;gap:14px}.report-step>h2{margin:0}.photo-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-slot{display:grid;align-content:start;gap:9px;min-height:190px;padding:12px;border:2px solid var(--line);border-radius:var(--radius-large);background:var(--white)}.photo-slot.missing{border-color:var(--bad);background:var(--bad-bg)}.photo-slot header{display:flex;align-items:center;justify-content:space-between;gap:8px}.photo-slot h3{font-size:.92rem}.photo-done{display:grid;width:26px;height:26px;flex:none;place-items:center;border-radius:50%;color:var(--white);background:var(--ok)}.photo-done svg{width:16px;height:16px}.photo-reference{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:7px;margin:0;color:var(--text);font-size:.72rem;font-weight:750}.photo-reference img{width:70px;height:54px;border-radius:7px;object-fit:cover}.photo-reference figcaption{margin:0}.photo-thumb{width:100%;height:122px;border-radius:9px;object-fit:cover}.photo-uploading,.photo-error{margin:0;font-size:.78rem;font-weight:750}.photo-uploading{color:var(--navy)}.photo-error{color:var(--bad)}.photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.photo-add{position:relative;min-width:0;flex:1 1 112px;overflow:hidden}.photo-add input{position:absolute;width:1px;min-width:1px;height:1px;min-height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-add:focus-within{outline:3px solid var(--sky);outline-offset:2px}.photo-comparison-slot{grid-column:1 / -1;min-height:0}.photo-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-tile{display:grid;grid-template-rows:auto auto;gap:7px;min-width:0;margin:0}.photo-tile-image,.photo-tile-empty,.photo-tile-add{display:grid;width:100%;height:clamp(150px,27vw,220px);min-height:0;align-items:center;justify-content:center;overflow:hidden;border-radius:9px}.photo-tile-image{padding:0;border:1px solid var(--line);background:var(--mist);cursor:zoom-in}.photo-tile-image:hover{border-color:var(--navy);background:var(--mist)}.photo-tile-image:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.photo-tile-image img{width:100%;height:100%;min-height:0;object-fit:cover}.photo-tile-empty{padding:12px;border:1px solid var(--line);color:var(--text);background:var(--mist);font-size:.8rem;font-weight:750;text-align:center}.photo-tile-add{padding:12px;text-align:center}.photo-tile figcaption{color:var(--text);font-size:.78rem;font-weight:800;text-align:center}.photo-comparison-slot .photo-actions{align-items:center;margin-top:0}.photo-comparison-slot .photo-error{flex:1 1 180px}.photo-viewer{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:64px 20px 20px;background:#0e1a26e0}.photo-viewer img{max-width:min(100%,980px);max-height:calc(100vh - 100px);border-radius:9px;object-fit:contain}.photo-viewer-close{position:absolute;top:16px;right:16px;min-height:44px;border-color:var(--white);color:var(--white);background:var(--navy)}.photo-viewer-close:hover:not(:disabled){border-color:var(--white);color:var(--navy);background:var(--white)}.report-gear-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gear-tile{position:relative;display:flex;min-height:160px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px 10px;border:2px solid var(--line);border-radius:14px;background:var(--white);text-align:center}.gear-tile>svg,.gear-tile-head>svg{width:30px;height:30px;color:var(--navy)}.gear-tile>h3{font-size:.88rem}.gear-tile.on{border-color:var(--ok);background:#f6fcf9}.gear-tile-check{position:absolute;top:7px;right:7px;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:var(--white);background:var(--ok)}.gear-tile-check svg{width:14px;height:14px}.gear-tile.wide{grid-column:1 / -1;min-height:0;align-items:stretch;justify-content:flex-start;text-align:left}.gear-tile-head{display:flex;align-items:center;gap:9px}.gear-expand{min-height:44px;flex:1;justify-content:flex-start;padding:0;border:0;color:var(--ink);background:transparent;font-weight:850}.gear-expand:hover:not(:disabled){border:0;background:transparent}.gear-subitems{display:grid;gap:8px;width:100%}.gear-subitem{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line);font-size:.84rem;font-weight:750}.gear-counter-wrap,.gear-tick-wrap{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}.gear-counter{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--white)}.gear-counter button{width:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:var(--mist);font-size:1.15rem}.gear-counter output{display:grid;min-width:40px;place-items:center;padding:0 8px;font-variant-numeric:tabular-nums;font-weight:850}.gear-tick{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;padding:0;border-radius:50%;color:var(--text)}.gear-tick.on{border-color:var(--ok);color:var(--white);background:var(--ok)}.gear-tick svg{width:20px;height:20px}.gear-out{color:var(--text);font-size:.7rem;font-weight:800;white-space:nowrap}.report-fieldset{display:grid;gap:7px;margin:0;padding:0;border:0}.report-fieldset legend{padding:0;color:var(--navy);font-size:.88rem;font-weight:750}.report-seg{width:100%}.report-seg>button{min-height:44px}.report-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.report-controls>button{width:100%;min-height:52px}.report-result{display:grid;gap:14px}.report-result h2{margin:0}.report-bond{display:inline-flex;width:fit-content;min-height:44px;align-items:center;padding:9px 12px;border-radius:10px;font-size:1rem}.report-bond.refund{color:var(--ok);background:var(--ok-bg)}.report-bond.decide{color:var(--warn);background:var(--warn-bg)}.report-flags{margin:0}.new-booking{padding-bottom:246px}.new-booking>.panel{padding:12px 14px 14px}.new-booking .booking-section-heading{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:var(--navy);font-size:.75rem;font-weight:850;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.new-booking .booking-section-heading svg{width:16px;height:16px}.new-booking .boat-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.new-booking .boat-option{position:relative;display:flex;min-height:64px;height:88px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);text-align:center}.new-booking .boat-option input{position:absolute;inset:0;z-index:1;width:100%;min-width:0;min-height:0;height:100%;margin:0;opacity:0;cursor:pointer}.new-booking .boat-option .code{min-width:0;padding:0;border-radius:0;color:inherit;background:transparent;font-size:1.125rem;font-weight:850;letter-spacing:0}.new-booking .boat-option .code+span{color:var(--text);font-size:.75rem;font-weight:700}.new-booking .boat-option.selected{border-color:var(--navy);color:var(--white);background:var(--navy);box-shadow:none}.new-booking .boat-option.selected .code+span{color:#dbe9f6}.new-booking .boat-option:has(input:focus-visible){outline:3px solid var(--sky);outline-offset:2px}.new-booking .when{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.new-booking .when+.duration-chips{margin:6px 0}.new-booking .duration-chips{gap:6px}.new-booking .duration-chips button{min-height:44px;padding:6px 10px;border:1.5px solid var(--line);border-radius:999px;color:var(--text);background:var(--white);font-size:.75rem;font-weight:800}.new-booking .duration-chips button[aria-pressed=true],.new-booking .duration-chips button[aria-pressed=true]:hover:not(:disabled){border-color:var(--navy);color:var(--white);background:var(--navy)}.new-booking .availability-bar{margin-top:8px;padding:10px 12px;border-radius:var(--radius);font-size:.86rem;font-weight:800}.new-booking .availability-bar.free{color:var(--ok);background:var(--ok-bg)}.new-booking .availability-bar.booked{color:var(--bad);background:var(--bad-bg)}.new-booking .availability-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.new-booking .availability-status>span{display:inline-flex;min-width:0;align-items:center;gap:6px}.new-booking .availability-status svg{width:18px;height:18px;flex:none}.new-booking .availability-status strong{color:inherit;font-size:.75rem;white-space:nowrap}.new-booking .availability-bar p{margin:8px 0 6px;color:var(--text);font-size:.75rem;font-weight:700}.new-booking .free-boat-options{display:flex;flex-wrap:wrap;gap:6px}.new-booking .free-boat-options button{min-height:44px;padding:5px 9px;border:1.5px solid var(--ok);border-radius:999px;color:var(--ok);background:var(--white);font-size:.75rem;font-weight:800}.new-booking .free-boat-options button:hover:not(:disabled){border-color:var(--ok);background:var(--ok-bg)}.new-booking .extra-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--white);font-size:.82rem;font-weight:700}.new-booking .extra-actions{display:inline-flex;flex:none;align-items:center;gap:10px;color:var(--text)}.new-booking .extra-actions strong{color:var(--text);font-variant-numeric:tabular-nums}.new-booking .switch{position:relative;display:block;width:46px;min-width:46px;height:28px;min-height:28px;cursor:pointer}.new-booking .switch input{position:absolute;width:1px;min-width:1px;min-height:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.new-booking .switch-track{display:block;width:46px;height:28px;border-radius:999px;background:var(--line);transition:background .15s ease}.new-booking .switch-track:after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:0 1px 2px #1f2a3738;content:"";transition:transform .15s ease}.new-booking .switch input:checked+.switch-track{background:var(--ok)}.new-booking .switch input:checked+.switch-track:after{transform:translate(18px)}.new-booking .switch input:focus-visible+.switch-track{outline:3px solid var(--sky);outline-offset:2px}.new-booking .summary-bar{position:fixed;z-index:15;bottom:calc(56px + env(safe-area-inset-bottom));left:50%;width:min(868px,calc(100% - 32px));margin:0;padding:12px;border-radius:14px 14px 0 0;color:var(--white);background:var(--navy);box-shadow:0 -8px 24px #1f2a372e;transform:translate(-50%)}.new-booking .summary-total,.new-booking .summary-bar p{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0}.new-booking .summary-total>span{font-size:.75rem;font-weight:750}.new-booking .summary-total strong{font-size:1.4rem;font-variant-numeric:tabular-nums;line-height:1}.new-booking .summary-bar p{margin-top:5px;color:#dbe9f6;font-size:.73rem;font-weight:650}.new-booking .summary-bar p span:last-child{font-variant-numeric:tabular-nums;text-align:right}.new-booking .summary-bar .summary-empty,.new-booking .summary-bar .summary-booked{display:block;margin:0 0 10px;color:var(--white);font-size:.85rem}.new-booking .summary-bar .big-button{min-height:44px;margin-top:10px;border:0;color:var(--navy);background:var(--white)}.new-booking .summary-bar .big-button:hover:not(:disabled){color:var(--navy);background:#edf3f8}.new-booking .summary-bar .big-button:disabled{border:1px solid #a0adbb;color:#34495f;background:#dbe3eb}.detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.booking-hero{text-align:center}.booking-hero h1{margin:8px 0 2px;font-size:1.25rem}.booking-hero .booking-times{margin:0}.booking-hero .booking-reference{margin:6px 0 0;font-size:.75rem}.facts{display:grid;margin:0 0 8px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.facts div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.facts div:last-child{border-bottom:0}.facts dt{color:var(--navy);font-weight:800}.facts dd{margin:0}.lines,.changes{width:100%;overflow:hidden;border:1px solid var(--line);border-collapse:separate;border-spacing:0;border-radius:var(--radius);background:var(--white);font-variant-numeric:tabular-nums}.lines th,.lines td,.changes th,.changes td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.lines tr:last-child>*,.changes tr:last-child>*{border-bottom:0}.lines td:last-child{text-align:right}.lines .total th,.lines .total td{font-weight:850}.changes caption{padding:8px 0;color:var(--navy);font-weight:800;text-align:left}.changes .changed td:last-child{color:var(--navy);font-weight:850}.invoices li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;border-bottom:1px solid var(--line)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.timeline li{padding:8px 0;border-bottom:1px solid var(--line)}.timeline time{display:inline-block;min-width:210px;color:var(--text)}.result{margin:12px 0}.booking-primary{width:100%;margin:12px 0 0;text-align:center}.condition-tab{display:grid;gap:12px;margin-top:12px}.condition-report{display:grid;gap:12px}.condition-report-head,.bond-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.condition-report-head h2,.bond-panel-head h2{margin:0;font-size:1.05rem}.condition-report-head p,.bond-panel-head p{margin:3px 0 0;color:var(--text);font-size:.82rem;font-weight:650}.condition-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.condition-meta div{padding:9px 10px;border-radius:9px;background:var(--mist)}.condition-meta dt{color:var(--text);font-size:.72rem;font-weight:750}.condition-meta dd{margin:3px 0 0;color:var(--navy);font-weight:800}.condition-photos{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.condition-photo{width:96px;min-width:96px;height:76px;min-height:44px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--mist)}.condition-photo img{display:block;width:100%;height:100%;object-fit:cover}.condition-gear{display:grid;gap:0;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.condition-gear li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.85rem}.condition-gear-value{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;color:var(--text);text-align:right}.condition-notes{display:grid;gap:3px;margin:0;font-size:.88rem}.condition-notes span{color:var(--text);white-space:pre-wrap}.condition-flags{margin:0}.bond-panel{display:grid;gap:12px}.bond-panel-head p{color:var(--navy);font-size:1.15rem;font-weight:850}.bond-state{display:inline-flex;min-height:32px;align-items:center;padding:5px 9px;border-radius:999px;font-size:.78rem;white-space:nowrap}.bond-state.refund,.bond-state.to_refund,.bond-state.refunded{color:var(--ok);background:var(--ok-bg)}.bond-state.decide{color:var(--warn);background:var(--warn-bg)}.bond-state.not_back,.bond-state.settled{border:1px solid var(--line);color:var(--text);background:var(--white)}.bond-stale{margin:0;color:var(--bad);font-size:.85rem;font-weight:750}.bond-decision,.bond-fields{display:grid;gap:10px}.bond-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bond-choice button{min-height:44px}.bond-choice button.active{border-color:var(--navy);color:var(--white);background:var(--navy)}.bond-fields label{display:grid;gap:5px;color:var(--navy);font-size:.85rem;font-weight:750}.bond-panel .big-button{width:100%}.bond-work{margin-top:24px}.bond-work h2{margin:0 0 8px}.bond-work-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.bond-work-row .main{display:grid;gap:2px;min-width:0}.bond-work-row .main small{color:var(--text);font-size:.75rem}.bond-work-amount{font-variant-numeric:tabular-nums}.bond-work-amount.refund{color:var(--ok)}.when{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.when .days{grid-column:1 / -1;margin:0;color:var(--navy);font-weight:800}.boat-options{display:grid;gap:8px}.boat-option{display:grid;grid-template-columns:auto 64px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--white);font-weight:550;cursor:pointer}.boat-option input{width:22px;min-width:22px;min-height:22px;height:22px;accent-color:var(--navy)}.boat-option.selected{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.boat-option.booked{opacity:.55;background:var(--mist);cursor:not-allowed}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.when,.grid{grid-template-columns:1fr 1fr}.booking-row{grid-template-columns:52px 1fr auto}.booking-row .badges{grid-column:2 / -1}.facts div{grid-template-columns:1fr;gap:2px}.condition-meta{grid-template-columns:1fr}.timeline time{display:block}.gear-group-head{grid-template-columns:42px minmax(0,1fr)}.gear-group-head>.settings-card-actions{grid-column:1 / -1;justify-content:flex-start}.settings-items-list li,.ordered-settings-list li{grid-template-columns:1fr}.settings-items-list .settings-card-actions{justify-content:flex-start}.ordered-settings-list li:before{display:none}.ordered-settings-list .settings-inline-form{grid-column:auto}}@media(max-width:420px){.when,.grid{grid-template-columns:1fr}.booking-row,.block-list li{grid-template-columns:52px 1fr}.booking-row .amount,.block-list li button{grid-column:2;justify-self:start}.tiles{gap:5px}.settings-add-item{grid-template-columns:1fr}}@media(max-width:479px){.new-booking .boat-options,.new-booking .when{grid-template-columns:repeat(2,minmax(0,1fr))}.new-booking .availability-status,.new-booking .extra-row{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
