:root{--bg:#edf0ee;--surface:#fbfcfb;--ink:#14262b;--muted:#5b6e70;--line:#d3dbd8;--accent:#0f6e5a;--accent-ink:#fff;--accent-soft:#d7ece4;--info:#2b5f8a;--info-bg:#dce8f3;--warn:#8a5a0b;--warn-bg:#f7e8cc;--bad:#a8322a;--bad-bg:#f6dad5;--ok:#176b45;--ok-bg:#daefe2;--neutral-bg:#e3e8e6;--f-display:"Barlow Condensed","Arial Narrow",sans-serif;--f-body:"Barlow",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1b1f;--surface:#17272c;--ink:#e6eeec;--muted:#93a7a8;--line:#28403f;--accent:#4cc3a0;--accent-ink:#08201a;--accent-soft:#1b3a35;--info:#8dbbe3;--info-bg:#1a3042;--warn:#e3b35b;--warn-bg:#3a2f18;--bad:#f08a7c;--bad-bg:#40201c;--ok:#6fd39f;--ok-bg:#16352a;--neutral-bg:#223437;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1b1f;--surface:#17272c;--ink:#e6eeec;--muted:#93a7a8;--line:#28403f;--accent:#4cc3a0;--accent-ink:#08201a;--accent-soft:#1b3a35;--info:#8dbbe3;--info-bg:#1a3042;--warn:#e3b35b;--warn-bg:#3a2f18;--bad:#f08a7c;--bad-bg:#40201c;--ok:#6fd39f;--ok-bg:#16352a;--neutral-bg:#223437;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 15px/1.45 var(--f-body);padding-block:0 64px}h1,h2,h3{font-family:var(--f-display);letter-spacing:.01em;text-wrap:balance;margin:0;font-weight:700}h2{font-size:24px}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:18px}button,input,select,textarea{font:inherit;color:inherit}.wrap{max-width:1100px;margin-inline:auto;padding-inline:16px}.top{background:var(--surface);border-bottom:1px solid var(--line);top:env(safe-area-inset-top,0px);z-index:5;position:sticky}.bar{justify-content:space-between;align-items:center;gap:12px;padding-block:10px;display:flex}.brand{flex-direction:column;min-width:0;display:flex}.brand b{font:700 22px/1 var(--f-display);text-transform:uppercase;letter-spacing:.05em}.brand small{color:var(--muted);margin-top:3px;font-size:12px}.who{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:6px 10px}nav.tabs{scrollbar-width:none;border-top:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}nav.tabs button{cursor:pointer;font:600 15px var(--f-body);color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 14px 9px}nav.tabs button[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}main{padding-block:20px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.row>*{min-width:0}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:4px;padding:8px 14px;font-weight:600}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.sm{padding:4px 9px;font-size:13px}.btn.ghost{background:0 0}.btn.danger{color:var(--bad)}.btn:focus-visible,.berth:focus-visible,nav.tabs button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.who:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;margin-bottom:18px;display:flex}.stats div{border-right:1px solid var(--line);flex:150px;padding:12px 16px}.stats dt{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:12px}.stats dd{font:700 26px/1.1 var(--f-display);font-variant-numeric:tabular-nums;margin:2px 0 0}.chip{font:600 11px/1 var(--f-body);letter-spacing:.07em;text-transform:uppercase;background:var(--neutral-bg);color:var(--muted);white-space:nowrap;border-radius:3px;padding:4px 7px;display:inline-block}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.info{background:var(--info-bg);color:var(--info)}.berths{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;display:grid}.berth{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:6px;flex-direction:column;gap:3px;min-width:0;padding:10px 12px;display:flex}.berth.vacant{color:var(--muted);background:0 0;border-style:dashed}.berth .top2{justify-content:space-between;align-items:center;gap:6px;display:flex}.berth .no{font:700 30px/1 var(--f-display);letter-spacing:.02em}.berth strong{overflow-wrap:anywhere}.sm{color:var(--muted);font-size:13px}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.tw{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px}th{font:600 12px var(--f-body);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:9px 12px}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 12px}tr:last-child td{border-bottom:0}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}.sec{margin-block:26px 10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px 16px}.jobs{gap:10px;display:grid}.job{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:6px;grid-template-columns:1fr auto;gap:4px 14px;width:100%;padding:12px 16px;display:grid}.job .t{font:700 20px/1.15 var(--f-display);overflow-wrap:anywhere}.job .meta{color:var(--muted);grid-column:1/-1;font-size:13px}.bar2{background:var(--neutral-bg);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.bar2 i{background:var(--accent);height:100%;display:block}.bar2 i.over{background:var(--bad)}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.cols{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}@media (max-width:780px){.cols{grid-template-columns:minmax(0,1fr)}}.feed{gap:10px;display:grid}.upd{border-left:4px solid var(--line);padding:8px 0 8px 12px}.upd.issue{border-color:var(--bad)}.upd.progress{border-color:var(--accent)}.upd.internal{border-color:var(--muted);border-left-style:dashed}.upd p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.thumbs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.thumbs button{cursor:pointer;background:0 0;border:0;padding:0}.thumbs img{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:84px;height:84px;display:block}.timer{background:var(--accent);color:var(--accent-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.timer .btn{background:var(--accent-ink);color:var(--accent);border-color:var(--accent-ink)}.big{font:700 34px/1 var(--f-display);font-variant-numeric:tabular-nums}.empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:6px;padding:28px 18px}.empty h2{color:var(--ink);margin-bottom:6px}.ov{z-index:20;background:#0812148c;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.dlg{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;width:100%;max-width:520px;margin-block:auto}.dlg.wide{max-width:760px}.dlg header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dlg .x{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:26px;line-height:1}.dlg .bd{gap:12px;padding:14px 16px;display:grid}.dlg footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.fl{gap:4px;min-width:0;display:grid}.fl>span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:12px;font-weight:600}.fl input,.fl select,.fl textarea{background:var(--bg);border:1px solid var(--line);border-radius:4px;width:100%;min-width:0;padding:8px 10px}.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (max-width:480px){.g2{grid-template-columns:minmax(0,1fr)}}.chk{align-items:center;gap:8px;display:flex}.rr{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) 92px 110px;align-items:center;gap:8px;padding:6px 0;display:grid}.rr input{background:var(--bg);border:1px solid var(--line);width:100%;min-width:0;font-family:var(--f-mono);border-radius:4px;padding:6px 8px}@media (max-width:480px){.rr{grid-template-columns:36px minmax(0,1fr) 100px}.rr .prev{display:none}}.lightbox img{border-radius:4px;max-width:100%;display:block}code.tok{font-family:var(--f-mono);background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:3px;padding:2px 6px}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:30;border-radius:4px;max-width:calc(100% - 32px);padding:9px 16px;position:fixed;transform:translate(-50%)}.note{background:var(--warn-bg);color:var(--warn);border-radius:4px;margin-bottom:14px;padding:10px 14px}.back{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-bottom:10px;padding:0;font-weight:600}.portal-hero{padding-block:26px 8px}.portal-hero h1{font-size:34px}@media (pointer:coarse){input,select,textarea{font-size:16px!important}.btn{min-height:44px}.btn.sm{min-height:38px}nav.tabs button{padding-block:14px 12px}.who{min-height:40px}}textarea.paste{font-family:var(--f-mono);font-size:14px}@media (prefers-reduced-motion:no-preference){.berth,.btn{transition:border-color .12s,background .12s}}.login{max-width:380px;margin:12vh auto 0;padding-inline:16px}.login .card{gap:12px;display:grid}.err{color:var(--bad);font-size:14px}.top .bar .out{align-items:center;gap:8px;display:flex}a{color:var(--accent)}nav.tabs a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:11px 14px 9px;font-weight:600;text-decoration:none}nav.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}@media (pointer:coarse){nav.tabs a{padding-block:14px 12px}}.cal{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px}.cal .hd{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.cal .hd b{font:700 18px var(--f-display);letter-spacing:.04em;text-transform:uppercase}.cal .grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.cal .dow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding:2px 0;font-size:11px}.cal .d{aspect-ratio:1;border:1px solid var(--line);background:var(--bg);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;max-height:56px;padding:0;display:flex}.cal .d small{color:var(--muted);font-size:10px}.cal .d.low{background:var(--warn-bg)}.cal .d.full{background:var(--bad-bg);color:var(--bad);cursor:not-allowed;text-decoration:line-through}.cal .d.past{opacity:.35;cursor:not-allowed}.cal .d.in{background:var(--accent-soft);border-color:var(--accent)}.cal .d.edge{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cal .d.edge small{color:var(--accent-ink)}.cal .d:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;display:flex}.legend i{border:1px solid var(--line);vertical-align:-2px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.quote{gap:4px;display:grid}.quote div{justify-content:space-between;gap:12px;display:flex}.quote .tot{border-top:1px solid var(--line);padding-top:6px;font-weight:600}:root{--navy:#0e3550;--navy-2:#13496b;--on-navy:#f2f7fa;--on-navy-muted:#a9c4d6;--sun:#e5a23a;--bg:#e9eff2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--navy:#0a2233;--navy-2:#0f2f45;--on-navy:#eaf2f7;--on-navy-muted:#8faec2;--sun:#f0b85a;--bg:#0d191f}}:root[data-theme=dark]{--navy:#0a2233;--navy-2:#0f2f45;--on-navy:#eaf2f7;--on-navy-muted:#8faec2;--sun:#f0b85a;--bg:#0d191f}body{background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.top{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--on-navy);border-bottom:0;box-shadow:0 2px 10px #081e2d2e}.top .brand b{color:var(--on-navy)}.top .brand b:before{content:"";background:var(--sun);vertical-align:2px;border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}.top .brand small,.top .sm{color:var(--on-navy-muted)}.top .who{color:var(--on-navy);border-color:#ffffff59}.top nav.tabs{border-top:1px solid #ffffff1f}.top nav.tabs a,.top nav.tabs button{color:var(--on-navy-muted)}.top nav.tabs a[aria-current=page],.top nav.tabs button[aria-current=page]{color:#fff;border-bottom-color:var(--sun)}.top nav.tabs a:hover,.top nav.tabs button:hover{color:#fff}.stats{background:0 0;border:0;gap:10px}.stats div{background:var(--surface);border:1px solid var(--line);border-right:1px solid var(--line);border-top:4px solid var(--accent);border-radius:6px}.stats div:nth-child(2){border-top-color:var(--navy-2)}.stats div:nth-child(3){border-top-color:var(--sun)}.stats div:nth-child(4){border-top-color:var(--info)}.stats div:last-child{border-right:1px solid var(--line)}.stats dd{color:var(--navy-2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stats dd{color:var(--ink)}}.berth:not(.vacant){border-top:4px solid var(--accent)}.berth:not(.vacant) .no{color:var(--navy-2)}.job{border-left:4px solid var(--accent)}.card{box-shadow:0 1px 2px #081e2d0d}h2{color:var(--navy-2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) h2{color:var(--ink)}}.btn.pri{box-shadow:0 1px #00000014}.btn.pri:hover{filter:brightness(1.08)}.login{margin-top:8vh}body:has(.login){background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 45%,var(--bg) 45.1%)}.login .brand b,.login .brand small{color:var(--on-navy)}.login .brand b:before{content:"";background:var(--sun);vertical-align:2px;border-radius:2px;width:12px;height:12px;margin-right:8px;display:inline-block}.portal-hero h1{color:var(--navy-2)}.top{padding-top:env(safe-area-inset-top,0px)}.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.tw{-webkit-overflow-scrolling:touch}nav.tabs{-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--accent);flex:none}@media (max-width:600px){h2{font-size:22px}main{padding-block:14px}.stats{gap:8px}.stats div{flex:calc(50% - 8px);padding:10px 12px}.stats dd{font-size:22px}.berths{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.berth .no{font-size:26px}.job{padding:12px}.row{gap:8px}.row .btn{flex:none}.ov{align-items:stretch;padding:0}.dlg,.dlg.wide{border:0;border-radius:0;flex-direction:column;max-width:none;min-height:100%;display:flex}.dlg header{background:var(--surface);z-index:1;padding-top:calc(12px + env(safe-area-inset-top,0px));position:sticky;top:0}.dlg form{flex-direction:column;flex:1;display:flex}.dlg .bd{flex:1}.dlg footer{background:var(--surface);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));position:sticky;bottom:0}.dlg footer .btn{flex:1}.timer{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.login{margin-top:6vh}}.top{top:0}body>.timer:first-child{padding-top:calc(8px + env(safe-area-inset-top,0px))}body>.timer:first-child~.top{padding-top:0}a.btn{color:var(--ink);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}a.btn.pri{color:var(--accent-ink)}@media (max-width:600px){.top .brand b{font-size:18px}.top .brand small,.top .out .sm{display:none}.top .bar{padding-block:8px}}.prose{max-width:720px;padding-block:20px 48px;line-height:1.6}.prose h1{margin:0 0 4px}.prose h2{margin:28px 0 8px}.prose ul{padding-left:20px}.prose li{margin:4px 0}.prose mark{background:var(--warn-bg);color:var(--warn);border-radius:3px;padding:0 4px}.legal{text-align:center;margin:14px 0 0}.legal a{color:inherit}.inv-edit input{width:100%;min-width:60px}.inv-edit td.n input{width:90px}.inv-edit td:first-child{width:100%}.inv-edit td:first-child input{min-width:240px}.invoice{max-width:820px;margin:0 auto;padding:20px 16px 48px}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:32px}.inv-head{border-bottom:2px solid var(--navy);flex-wrap:wrap;justify-content:space-between;gap:24px;padding-bottom:16px;display:flex}.inv-head h1{margin:0 0 4px;font-size:22px}.inv-meta h2{text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:16px}.inv-meta dl{grid-template-columns:auto auto;gap:2px 14px;margin:0;display:grid}.inv-meta dt{color:var(--muted)}.inv-meta dd{text-align:right;margin:0}.inv-meta .paid{color:var(--ok);text-transform:uppercase;letter-spacing:.06em;margin-top:8px;font-weight:700}.inv-to{margin:18px 0}.inv-lines{border-collapse:collapse;width:100%}.inv-lines th,.inv-lines td{border-bottom:1px solid var(--line);text-align:left;padding:8px 6px}.inv-lines .n{text-align:right}.inv-lines tfoot td{border-bottom:0}.inv-lines tr.tot td{border-top:2px solid var(--navy);font-size:17px;font-weight:700}.inv-foot{margin-top:24px}@media (max-width:600px){.sheet{padding:18px}.inv-lines th:nth-child(2),.inv-lines td:nth-child(2),.inv-lines th:nth-child(3),.inv-lines td:nth-child(3){display:none}.inv-lines tfoot td{padding-left:0}}@media print{body{color:#000;background:#fff!important}.no-print,.top,.toast{display:none!important}.invoice{max-width:none;padding:0}.sheet{background:#fff;border:0;padding:0}.inv-head,.inv-lines tr.tot td{border-color:#000}.inv-lines th,.inv-lines td{border-color:#ccc}.inv-meta dt,.sm{color:#444}}.preview-ov{background:var(--bg);display:block}.sheet.draft{position:relative;overflow:hidden}.sheet.draft:after{content:"DRAFT";font:700 120px/1 var(--f-body,sans-serif);color:#a8322a1f;pointer-events:none;letter-spacing:.1em;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)rotate(-25deg)}@media print{body:has(.preview-ov) *{visibility:hidden}.preview-ov .sheet,.preview-ov .sheet *{visibility:visible}.preview-ov{background:#fff;padding:0;position:absolute;inset:0}.preview-ov .sheet{width:100%;position:absolute;top:0;left:0}}.sheet.pdf{--ink:#14262b;--muted:#5b6e70;--line:#d3dbd8;--surface:#fff;--ok:#176b45;color:#14262b;background:#fff;border:0;border-radius:0;max-width:820px}.sheet.pdf h1,.sheet.pdf h2{color:#0e3550}.boatrow{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) auto;align-items:end;gap:12px;display:grid}@media (max-width:560px){.boatrow{grid-template-columns:repeat(2,minmax(0,1fr))}.boatrow>:first-child{grid-column:1/-1}}.boatcard h2{margin-bottom:2px}.boatcard .facts{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.srch{flex:220px;min-width:0;max-width:380px;position:relative}.srch input{width:100%}.srch-res{background:var(--surface);border:1px solid var(--line);z-index:20;border-radius:6px;max-height:60vh;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0000002e}.srch-res button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);font:inherit;background:0 0;padding:10px 12px;display:block}.srch-res button:last-child{border-bottom:0}.srch-res button:hover,.srch-res button:focus-visible{background:var(--neutral-bg)}.srch-res button span{color:var(--muted);overflow-wrap:anywhere;font-size:13px;display:block}.srch-none{color:var(--muted);padding:12px}@media (max-width:700px){.top .bar{flex-wrap:wrap}.srch{flex-basis:100%;order:3;max-width:none}}.apbanner{background:var(--warn-bg);color:var(--warn);border-radius:6px;margin-bottom:16px;padding:12px 16px;font-weight:600}.apbanner.done{background:var(--ok-bg);color:var(--ok)}.apbar{bottom:calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;box-shadow:0 -4px 16px #0000001a}.apbar .big{font:700 26px var(--f-display)}table.lines td{padding:6px 8px}table.qtbl td{padding:4px 6px}table.qtbl input,table.qtbl select{width:100%}.sale-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.sale-card{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:6px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 1px 2px #081e2d0d}.sale-card:hover{box-shadow:0 4px 14px #081e2d24}.sale-card .ph{aspect-ratio:4/3;background:var(--neutral-bg);color:var(--muted);justify-content:center;align-items:center;display:flex;position:relative}.sale-card .ph img{object-fit:cover;width:100%;height:100%;display:block}.sale-card .ph .chip{position:absolute;top:8px;left:8px}.sale-card .bd2{flex-direction:column;gap:2px;padding:10px 12px 12px;display:flex}.sale-card b{font:700 20px/1.15 var(--f-display);color:var(--navy-2)}.price{font:700 22px/1.1 var(--f-display);color:var(--ok)}.gallery .main{background:var(--neutral-bg);border-radius:6px;display:block;overflow:hidden}.gallery .main img{object-fit:contain;width:100%;max-height:70vh;margin:auto;display:block}.gallery .strip{-webkit-overflow-scrolling:touch;gap:6px;margin-top:6px;display:flex;overflow-x:auto}.gallery .strip button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:4px;flex:none;padding:0}.gallery .strip button[aria-pressed=true]{border-color:var(--accent)}.gallery .strip img{object-fit:cover;border-radius:2px;width:84px;height:63px;display:block}.sell-photos{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.sell-photos figure{border:1px solid var(--line);background:var(--neutral-bg);border-radius:4px;margin:0;position:relative;overflow:hidden}.sell-photos img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.sell-photos figcaption{justify-content:space-between;gap:4px;padding:4px;display:flex}.sell-photos .main-tag{position:absolute;top:4px;left:4px}.sale-hero{color:#fff;background:#0e3550;flex-direction:column;min-height:420px;display:flex;position:relative;overflow:hidden}.broads-scene{width:100%;height:100%;display:block;position:absolute;inset:0}.sale-hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0b2a3dd1 0%,#0b2a3d8c 38%,#0b2a3d00 66%);position:absolute;inset:0}@media (max-width:700px){.sale-hero:before{background:linear-gradient(#0b2a3d26 0%,#0b2a3d40 35%,#0b2a3dd9 100%)}}.sale-hero-in{z-index:2;padding-top:calc(12px + env(safe-area-inset-top,0px));flex-direction:column;flex:1;padding-bottom:64px;display:flex;position:relative}.sale-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.sale-top .brand{color:#fff;text-decoration:none}.sale-top .brand b{font:700 22px/1 var(--f-display);text-transform:uppercase;letter-spacing:.05em}.sale-top .brand b:before{content:"";background:var(--sun);vertical-align:2px;border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}.sale-top .brand small{color:#cfe0ea;margin-top:2px;font-size:13px;display:block}.sale-top .who{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e355059;border:1px solid #ffffff80;border-radius:4px;padding:8px 14px;font-weight:600;text-decoration:none}.sale-hero-text{text-shadow:0 2px 12px #0519288c;max-width:600px;margin-top:auto}.sale-hero-text h1{font:700 clamp(34px,6vw,58px)/1.02 var(--f-display);color:#fff;letter-spacing:.01em;margin:6px 0 10px}.sale-hero-text p{color:#f2f7fa;margin:0 0 14px;font-size:18px;line-height:1.45}.kicker{font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--sun);display:inline-block}.sale-hero .count{background:var(--sun);color:#0e3550;text-shadow:none;border-radius:999px;padding:6px 12px;font-weight:700;display:inline-block}.wave-edge{z-index:3;width:100%;height:40px;position:absolute;bottom:-1px;left:0;right:0}.wave-edge path{fill:var(--bg)}.bs-waves path{animation:14s linear infinite bs-drift}.bs-waves path:nth-child(2){animation-duration:20s}.bs-waves path:nth-child(3){animation-duration:28s}@keyframes bs-drift{0%{transform:translate(0)}to{transform:translate(-120px)}}.bs-bob{animation:5s ease-in-out infinite bs-bob}.bs-bob2{animation-duration:6.5s;animation-delay:-2s}@keyframes bs-bob{0%,to{translate:0;rotate:0deg}50%{translate:0 4px;rotate:-1.2deg}}.bs-sails{animation:30s linear infinite bs-turn}@keyframes bs-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.bs-waves path,.bs-bob,.bs-sails{animation:none}}@media (max-width:600px){.sale-hero{min-height:380px}.sale-hero-text p{font-size:16px}.sale-top .brand small{display:none}}.sale-tools{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 16px;display:flex}.sale-tools input[type=search]{flex:240px;min-width:0}.sale-tools .filters{flex-basis:100%}.sale-grid{gap:18px}.sale-card{border-radius:10px;transition:transform .18s,box-shadow .18s}.sale-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #081e2d2e}.sale-card .ph img{transition:transform .5s}.sale-card:hover .ph img{transform:scale(1.05)}.sale-card .ph{background:linear-gradient(160deg,#1f5f84,#0e3550);overflow:hidden}.sale-card .nophoto{opacity:.6;font-size:56px}.sale-card .badges{gap:6px;display:flex;position:absolute;top:10px;left:10px}.badge{font:700 12px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:6px 9px;box-shadow:0 2px 6px #0003}.badge.new{background:var(--sun);color:#0e3550}.badge.offer{color:var(--info);background:#fff}.sale-card .ph-foot{color:#fff;background:linear-gradient(#0000,#051928b3);justify-content:space-between;padding:22px 10px 8px;font-size:14px;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.sale-card .ph-foot span:only-child{margin-left:auto}.sale-card .bd2{gap:4px;padding:12px 14px 14px}.card-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;display:flex}.sale-empty{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:32px 16px}.sale-empty .big-boat{font-size:64px;line-height:1;animation:5s ease-in-out infinite bs-bob;display:inline-block}@media (prefers-reduced-motion:reduce){.sale-empty .big-boat{animation:none}}.sell-band{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);color:#f2f7fa;border-radius:12px;margin:32px 0 16px;padding:24px 20px;position:relative;overflow:hidden}.sell-band:after{content:"";border:24px solid #e5a23a2e;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-60px;right:-60px}.sell-band h2{color:#fff;margin:4px 0 14px}.sell-band a:not(.btn){color:#ffd98a}.sell-band .sm{color:#cfe0ea}.steps{z-index:1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid;position:relative}.steps li{background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:4px;padding:14px;display:flex}.steps .ic{font-size:28px}.steps b{font:700 19px/1.1 var(--f-display);color:#fff}.steps li span:last-child{color:#cfe0ea;font-size:15px}.sell-band .btn.pri{background:var(--sun);border-color:var(--sun);color:#0e3550}.sell-hero{min-height:340px}.sell-actions{flex-wrap:wrap;gap:10px;margin:4px 0 8px;display:flex}.sell-actions .btn{flex:220px;padding:14px 18px;font-size:17px}.install-tip{background:var(--info-bg);color:var(--info);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;display:flex}.install-tip .ic{font-size:22px}.hero-btn{background:var(--sun);color:#0e3550;font:700 19px/1 var(--f-display);letter-spacing:.02em;text-shadow:none;border-radius:999px;align-items:center;gap:8px;padding:14px 20px;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #05192859}.hero-btn:hover{filter:brightness(1.06)}.forsale-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-radius:12px;align-items:center;gap:14px;margin:12px 0 18px;padding:16px 18px;text-decoration:none;display:flex;box-shadow:0 2px 10px #081e2d2e}.forsale-cta .ic{font-size:36px;line-height:1}.forsale-cta>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.forsale-cta b{font:700 22px/1.1 var(--f-display);color:#fff}.forsale-cta .sm{color:#cfe0ea}.forsale-cta .go{color:var(--sun);font-size:28px}.install-tip span{flex:200px}.lift-opt{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.lift-opt.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.lift-opt>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.lift-opt .mono{font-weight:600}.photo-drop{text-align:center;border:2px dashed var(--accent);background:var(--ok-bg);color:var(--ink);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:22px 16px;transition:background .15s,transform .15s;display:flex}.photo-drop:hover,.photo-drop.over{background:color-mix(in srgb,var(--ok-bg) 70%,var(--accent) 30%)}.photo-drop:active{transform:scale(.99)}.photo-drop:focus-within{outline:3px solid var(--accent);outline-offset:2px}.photo-drop .ic{font-size:40px;line-height:1}.photo-drop b{font:700 22px/1.1 var(--f-display);color:var(--navy-2)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
