/* Boati buyer shortlist (universal v4, t245) — base carried over from the approved Dan/Charlie shortlist CSS, navy/ocean canvas (mobile-first). */
:root{
  --navy:#0B2437; --navy2:#12304F; --ocean:#0E2F4A; --teal:#115DAE; --aqua:#E5EFF8;
  --brass:#FFC928; --brass-d:#8A6400;
  --sand:#F3EFE8; --sand2:#E3E7EC; --ink:#0B2437; --muted:#9BB0C4; --line:rgba(229,239,248,.14);
  --surface:#F7F4EE; --surface-2:#FFFFFF;
  --serif:'Plus Jakarta Sans','Manrope',system-ui,sans-serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --max:720px;
  --header-h:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.dan-body{
  margin:0; font-family:var(--sans); color:var(--aqua);
  background:linear-gradient(180deg, var(--navy) 0%, var(--ocean) 42%, var(--navy2) 100%);
  background-attachment:fixed;
  line-height:1.55; font-size:16px; -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--brass)}
h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.15; color:#fff; margin:0 0 .4em; letter-spacing:-.01em}
.muted{color:var(--muted)}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Sticky navy header */
.dan-top{
  position:sticky; top:0; z-index:40;
  background:rgba(11,36,55,.94); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.dan-top-inner{
  max-width:var(--max); margin:0 auto; padding:10px 18px;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
.dan-logo{display:flex; align-items:center; text-decoration:none; line-height:0}
.dan-logo img{height:34px; width:auto; display:block}
.dan-dest{display:flex; gap:4px; margin-left:auto; flex-wrap:wrap}
.dan-dest a{
  text-decoration:none; color:var(--aqua); font-weight:600; font-size:.82rem;
  padding:8px 12px; border-radius:999px;
}
.dan-dest a:hover{background:rgba(229,239,248,.08)}
.dan-dest a.is-on{background:var(--brass); color:var(--navy)}

.dan-wrap{max-width:var(--max); margin:0 auto; padding:28px 18px 80px}

/* Intro on navy */
.dan-intro{margin:8px 0 36px}
.dan-intro h1{font-size:clamp(1.85rem, 5.5vw, 2.45rem); margin-bottom:14px; color:#fff}
.dan-intro .dan-note{font-size:1.05rem; color:var(--aqua); opacity:.92; max-width:36em; margin:0 0 22px}
.dan-advisor{display:flex; align-items:center; gap:12px; margin:0 0 14px}
.dan-advisor img{
  width:48px; height:48px; border-radius:50%; object-fit:cover;
  border:2px solid var(--brass);
}
.dan-advisor .nm{font:700 .95rem/1.25 var(--sans); color:#fff; margin:0}
.dan-advisor .role{font:500 .8rem/1.3 var(--sans); color:var(--muted); margin:2px 0 0}
.dan-meta{font-size:.82rem; color:var(--muted); margin:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.preview-chip{
  display:inline-flex; align-items:center;
  font:600 .68rem/1 var(--sans); letter-spacing:.06em; text-transform:uppercase;
  color:var(--navy); background:var(--brass); border-radius:999px; padding:5px 9px;
}

/* Sections + scroll offset under sticky header */
.dan-sec{margin:40px 0 8px; scroll-margin-top:calc(var(--header-h) + 12px)}
.dan-sec h2{font-size:1.35rem; margin-bottom:10px; color:#fff}
.dan-sec .lead{margin:0 0 18px; color:var(--muted); font-size:.95rem}

/* Boat cards — light surfaces on navy canvas */
.boat{
  background:var(--surface); color:var(--ink);
  border-radius:20px; margin:0 0 28px; padding:0 0 18px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.22);
}
.boat-media{
  border-radius:0; overflow:hidden; background:var(--navy2);
  aspect-ratio:16/10; margin-bottom:16px;
}
.boat-media img{width:100%; height:100%; object-fit:cover}
.boat-body{padding:0 18px}
.boat-make{font-family:var(--serif); font-size:1.35rem; font-weight:600; color:var(--navy); margin:0 0 6px; line-height:1.2}
.boat-price{font:700 1.15rem/1.3 var(--sans); color:var(--navy); margin:0 0 6px}
.boat-facts{font-size:.92rem; color:#4F5D6E; margin:0 0 6px}
.boat-engines{font-size:.9rem; color:#4F5D6E; margin:0 0 6px}
.boat-head{font-size:.9rem; color:#4F5D6E; margin:0 0 6px}
.boat-avail-note{font-size:.9rem; color:#7A4E0C; margin:0 0 10px; font-weight:600}
.photo-credit{position:absolute; left:12px; bottom:10px; margin:0; padding:3px 8px; background:rgba(11,36,55,.78); color:#F3EFE8; font-size:.72rem; letter-spacing:.02em; border-radius:4px}
.boat-media{position:relative}
.boat-take{font-size:1rem; color:var(--ink); margin:0 0 16px; max-width:38em}

.rate-row{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0 0 10px}
.rate-btn{
  appearance:none; border:1.5px solid #D5DCE4; background:#fff; color:var(--navy);
  border-radius:999px; padding:12px 10px; font:700 .9rem var(--sans); cursor:pointer;
  transition:.15s;
}
.rate-btn:hover{border-color:var(--navy)}
.rate-btn[data-r=keen].is-on{background:var(--teal); border-color:var(--teal); color:#fff}
.rate-btn[data-r=maybe].is-on{background:var(--brass); border-color:var(--brass); color:var(--navy)}
.rate-btn[data-r=pass].is-on{background:var(--navy2); border-color:var(--navy2); color:#fff}
.rate-btn:disabled{opacity:.55; cursor:not-allowed}
.rate-status{font-size:.8rem; color:#4F5D6E; min-height:1.2em; margin:0 0 8px}
.rate-status.is-ok{color:#0B6B3A}
.rate-status.is-err{color:#8A1F1F}

.details-tog{
  appearance:none; background:none; border:0; color:var(--teal); font:600 .9rem var(--sans);
  padding:6px 0; cursor:pointer; text-align:left;
}
.details{
  margin:8px 0 0; padding:14px 0 0; border-top:1px solid #E3E7EC;
  font-size:.9rem; color:#4F5D6E;
}
.details dl{margin:0; display:grid; gap:8px}
.details dt{font-weight:700; color:var(--navy); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em}
.details dd{margin:0}
.details a{word-break:break-word; color:var(--teal)}

.empty-fav{color:var(--muted); font-size:.95rem; padding:8px 0 24px}
#favourites-list .empty-fav,
#shortlist-main .empty-fav{color:#4F5D6E; padding:18px}

.caveats{
  margin:48px 0 24px; padding:20px 0 0; border-top:1px solid var(--line);
  font-size:.88rem; color:var(--muted);
}
.caveats h3{font-size:.95rem; color:#fff; margin:0 0 10px}
.caveats ul{margin:0; padding-left:1.1em}
.caveats li{margin:0 0 6px}

.ask-jack{
  margin:40px 0 20px; padding-top:24px; border-top:1px solid var(--line);
  scroll-margin-top:calc(var(--header-h) + 12px);
}
.ask-jack h2{font-size:1.25rem}
.ask-jack .lead{margin:0 0 16px}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:0; border-radius:999px; padding:13px 22px; font:600 .95rem var(--sans);
  cursor:pointer; text-decoration:none; transition:.15s; line-height:1.2;
}
.btn-primary{background:var(--teal); color:#fff}
.btn-primary:hover{background:#084A8C}
.btn-brass{background:var(--brass); color:var(--navy)}
.btn-brass:hover{background:#e6b520; color:var(--navy)}
.btn-ghost{background:transparent; color:#fff; border:1.5px solid rgba(229,239,248,.35)}
.btn-ghost:hover{background:rgba(229,239,248,.08)}

.auth-banner{display:none!important} /* no scary access warnings */
.bsb, .chatw, #hf-footer .bsb{display:none!important}

@media(min-width:760px){
  .dan-wrap{padding:36px 24px 100px}
  .rate-row{max-width:420px}
  .boat-body{padding:0 22px}
  .dan-logo img{height:38px}
}

.dan-summary{display:none}

/* Native one-tap View details */
.boat-details{margin:8px 0 0}
.boat-details > summary{
  cursor:pointer; color:var(--teal); font:600 .9rem var(--sans);
  padding:6px 0; list-style:none; user-select:none;
}
.boat-details > summary::-webkit-details-marker{display:none}
.boat-details > summary::marker{content:''}
.boat-details > summary::before{
  content:''; display:inline-block; width:.42em; height:.42em;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(-45deg); margin-right:.55em; position:relative; top:-1px;
}
.boat-details[open] > summary::before{transform:rotate(45deg); top:-2px}
.boat-details .details{margin:8px 0 0; padding:14px 0 0; border-top:1px solid #E3E7EC}

/* Desktop: centred ~1360px, two-column grid. Mobile 1-col unchanged below this breakpoint. */
@media(min-width:1024px){
  :root{--max:1360px}
  .dan-wrap{max-width:1360px; padding:40px 32px 120px}
  .dan-top-inner{max-width:1360px; padding:12px 32px}
  .dan-intro{margin:8px 0 40px}
  .dan-intro h1{font-size:clamp(2rem, 3vw, 2.6rem)}
  .dan-intro .dan-note{max-width:38em}
  #shortlist-count{display:none}
  .dan-summary{display:inline; color:var(--muted)}
  #shortlist-main, #explore-more, #favourites-list, #passed-list, #previously-sent-list{
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:32px 28px; align-items:start;
  }
  #shortlist-main > .empty-fav,
  #shortlist-main > .empty-current,
  #explore-more > .empty-fav,
  #favourites-list > .empty-fav,
  #passed-list > .empty-fav{grid-column:1 / -1}
  .boat{margin:0; height:auto; align-self:start; display:flex; flex-direction:column}
  .boat-media{aspect-ratio:16 / 10; margin-bottom:16px}
  .boat-body{padding:0 22px 8px; display:flex; flex-direction:column}
  .boat-details{margin-top:8px}
}

/* Compact brief recap — under intro, not a dashboard panel */
.dan-brief{margin:0 0 32px; max-width:42em; scroll-margin-top:calc(var(--header-h) + 12px)}
.dan-brief h2{font-size:1.05rem; color:#fff; margin:0 0 10px; font-weight:600}
.brief-recap{margin:0; display:grid; gap:10px}
.brief-recap > div{margin:0}
.brief-recap dt{
  font-size:.7rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin:0 0 2px
}
.brief-recap dd{margin:0; color:var(--aqua); font-size:.92rem; line-height:1.45}
.brief-updated{margin:8px 0 0; font-size:.78rem; color:var(--muted)}
.brief-tweak{margin:10px 0 0}
.brief-tweak > summary{
  cursor:pointer; color:var(--brass); font:600 .88rem var(--sans);
  padding:4px 0; list-style:none; user-select:none; width:fit-content
}
.brief-tweak > summary::-webkit-details-marker{display:none}
.brief-tweak > summary::marker{content:''}
.brief-tweak > summary::before{
  content:''; display:inline-block; width:.42em; height:.42em;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(-45deg); margin-right:.5em; position:relative; top:-1px
}
.brief-tweak[open] > summary::before{transform:rotate(45deg); top:-2px}
.brief-form{margin:12px 0 0; max-width:28em}
.brief-form-note{margin:0 0 12px; font-size:.82rem; color:var(--muted); line-height:1.4}
.brief-fields{display:grid; gap:10px}
.brief-fields label{display:block; font-size:.75rem; color:var(--muted); font-weight:600}
.brief-fields input,
.brief-fields textarea{
  display:block; width:100%; margin-top:4px;
  background:rgba(229,239,248,.08); border:1.5px solid rgba(229,239,248,.22);
  color:#fff; border-radius:10px; padding:10px 12px; font:500 .95rem var(--sans);
  line-height:1.4
}
.brief-fields textarea{resize:vertical; min-height:4.5em}
.brief-fields input:focus,
.brief-fields textarea:focus{outline:2px solid var(--brass); outline-offset:1px; border-color:var(--brass)}
.brief-actions{display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 0}
.brief-status{min-height:1.2em; margin:8px 0 0; font-size:.85rem; color:var(--muted)}
.brief-status.is-ok{color:#9BE7B5}
.brief-status.is-err{color:#FFB4B4}
.brief-fields input:disabled,
.brief-fields textarea:disabled,
.brief-actions button:disabled{opacity:.6}

@media(min-width:1024px){
  .dan-brief{margin:0 0 40px; max-width:40em}
  .brief-recap{gap:12px 28px}
}

/* Original brief label — compact history status, not a panel */
.brief-origin{
  margin:-4px 0 10px; font:600 .72rem/1.3 var(--sans);
  letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
}

/* Empty current shortlist on navy canvas */
.empty-current{color:var(--muted); font-size:.98rem; line-height:1.5; max-width:36em; margin:0 0 8px; padding:4px 0 8px}
#shortlist-main > .empty-current{color:var(--muted); padding:4px 0 8px}

/* Compact collapsed Previously sent folder */
.dan-prev{margin:28px 0 8px}
.prev-sent{margin:0}
.prev-sent > summary{
  cursor:pointer; color:#fff; font:600 1.05rem/1.3 var(--serif);
  padding:4px 0; list-style:none; user-select:none; width:fit-content;
  letter-spacing:-.01em;
}
.prev-sent > summary::-webkit-details-marker{display:none}
.prev-sent > summary::marker{content:''}
.prev-sent > summary::before{
  content:''; display:inline-block; width:.42em; height:.42em;
  border-right:2px solid var(--brass); border-bottom:2px solid var(--brass);
  transform:rotate(-45deg); margin-right:.55em; position:relative; top:-1px
}
.prev-sent[open] > summary::before{transform:rotate(45deg); top:-2px}
.prev-sent .prev-count{
  margin-left:.45em; font:600 .78rem/1 var(--sans); letter-spacing:.02em;
  color:var(--muted); font-style:normal;
}
.prev-sent > .lead{margin:10px 0 16px}
.prev-sent[open] #previously-sent-list{margin-top:4px}

.brief-check{display:flex;align-items:center;gap:8px;color:var(--aqua);font-size:.85rem;font-weight:600;margin:2px 0}
.brief-check input{width:auto;margin:0;accent-color:var(--brass)}

/* Dan’s updated search profile card — compact, under intro, Boati palette */
.dan-profile{margin:0 0 32px; max-width:52em; scroll-margin-top:calc(var(--header-h) + 12px)}
.profile-card{
  background:rgba(229,239,248,.06);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 20px 16px;
}
.profile-card-head{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 14px}
.profile-card-head h2{font-size:1.15rem; color:#fff; margin:0; font-weight:600}
.qualified-tag{
  display:inline-flex; align-items:center;
  font:700 .68rem/1 var(--sans); letter-spacing:.06em; text-transform:uppercase;
  color:var(--navy); background:var(--brass); border-radius:999px; padding:5px 9px;
}
.profile-grid{margin:0; display:grid; gap:12px 28px; grid-template-columns:1fr}
.profile-grid > div{margin:0}
.profile-grid dt{
  font-size:.7rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin:0 0 2px
}
.profile-grid dd{margin:0; color:var(--aqua); font-size:.95rem; line-height:1.45}
.profile-grid dd.age-unconfirmed{color:var(--brass)}
.profile-keep{margin:14px 0 0; color:var(--aqua); font-size:.92rem; line-height:1.45}
.profile-critical{margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line)}
.profile-critical h3{
  font-size:.7rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin:0 0 6px
}
.profile-critical p{margin:0; color:var(--aqua); font-size:.92rem; line-height:1.45}
.brief-age{margin:4px 0 0; padding:0; border:0}
.brief-age legend{font-size:.75rem; color:var(--muted); font-weight:600; padding:0}
.brief-age-note{margin:4px 0 8px; font-size:.8rem; color:var(--muted); line-height:1.4}
.dan-sub{margin:0 0 28px}
.dan-sub h2{font-size:1.35rem; margin-bottom:10px; color:#fff}
.shortlist-note{margin:8px 0 0}
.status-pill{
  display:inline-flex; align-items:center;
  font:700 .68rem/1 var(--sans); letter-spacing:.04em; text-transform:uppercase;
  border-radius:999px; padding:5px 8px; margin:0 6px 8px 0;
  background:rgba(229,239,248,.12); color:var(--aqua);
}
.status-pill.watching{color:var(--navy); background:var(--brass)}
.status-pill.unconfirmed{color:var(--brass); background:transparent; border:1px solid var(--brass)}
.match-line{font-size:.85rem; color:#4F5D6E; margin:0 0 8px}
.match-line strong{color:var(--navy); font-weight:700}
.why-line, .tradeoff-line, .flag-line{font-size:.92rem; color:#4F5D6E; margin:0 0 8px}
.flag-line{font-size:.85rem}
.model-card .boat-body, .avail-card .boat-body{padding-top:0}
.boat-media-placeholder{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:linear-gradient(160deg, var(--navy) 0%, #12324a 100%);
  color:var(--brass); gap:6px;
}
.boat-media-placeholder .ph-mark{font:600 1.15rem/1 var(--serif); letter-spacing:.02em}
.boat-media-placeholder .ph-caption{font:500 .75rem/1.2 var(--sans); color:#E5EFF8; letter-spacing:.01em}
.match-pills{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; align-items:center}
.match-pill{
  display:inline-block; background:var(--navy); color:#fff;
  font:700 .72rem/1 var(--sans); letter-spacing:.02em;
  padding:5px 9px; border-radius:999px;
}
.conf-pill{
  display:inline-block; background:rgba(11,36,55,.08); color:var(--navy);
  font:600 .72rem/1 var(--sans); letter-spacing:.02em;
  padding:5px 9px; border-radius:999px; border:1px solid rgba(11,36,55,.18);
}
.research-footnote{font-size:.75rem; color:#6A7A8A; margin:10px 0 0; max-width:42em}
.listing-link, .boat-details a.listing-link, .flag-line a{
  color:#0B4F8A; font-weight:600; text-decoration:underline; text-underline-offset:2px;
}
.listing-link:hover, .boat-details a.listing-link:hover, .flag-line a:hover{color:#083A66}
.models-fold{margin:0}
.models-fold > summary{
  cursor:pointer; color:#fff; font:600 1.05rem/1.3 var(--serif);
  padding:4px 0; list-style:none; user-select:none; width:fit-content;
  letter-spacing:-.01em;
}
.models-fold > summary::-webkit-details-marker{display:none}
.models-fold > summary::marker{content:''}
.models-fold > summary::before{
  content:''; display:inline-block; width:.42em; height:.42em;
  border-right:2px solid var(--brass); border-bottom:2px solid var(--brass);
  transform:rotate(-45deg); margin-right:.55em; position:relative; top:-1px
}
.models-fold[open] > summary::before{transform:rotate(45deg); top:-2px}
.models-fold .prev-count{
  margin-left:.45em; font:600 .78rem/1 var(--sans); letter-spacing:.02em;
  color:var(--muted); font-style:normal;
}
.models-fold > .lead{margin:10px 0 16px}
.models-fold[open] #models-considering-list{margin-top:4px}
.review-banner{
  margin:0 0 18px; padding:10px 14px; border-radius:12px;
  background:rgba(255,201,40,.16); color:var(--brass);
  font-size:.88rem; line-height:1.4;
}
@media(min-width:720px){
  .profile-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media(min-width:1024px){
  .dan-profile{margin:0 0 40px; max-width:52em}
  #models-considering-list, #available-now-list{
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:32px 28px; align-items:start;
  }
  #models-considering-list > .empty-current,
  #available-now-list > .empty-current{grid-column:1 / -1}
}

/* t200 — optional Pass feedback sheet (additive overlay; card layouts unchanged) */
.pass-sheet{position:fixed; inset:0; z-index:200; background:rgba(5,18,30,.62); display:flex; align-items:flex-end; justify-content:center; padding:0}
.pass-sheet-card{width:100%; max-width:520px; background:#fff; color:var(--navy); border-radius:20px 20px 0 0; padding:20px 20px calc(18px + env(safe-area-inset-bottom)); box-shadow:0 -12px 40px rgba(0,0,0,.25)}
.pass-sheet-card h3{color:var(--navy); font-size:1.25rem; margin:0 0 4px}
.pass-sheet-kicker{margin:0 0 6px; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--teal)}
.pass-sheet-sub{margin:0 0 14px; font-size:.88rem; color:#4F5D6E}
.pass-chips{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px}
.pass-chip{border:1.5px solid #D5DCE4; background:#fff; color:var(--navy); border-radius:999px; padding:8px 14px; font:inherit; font-size:.88rem; font-weight:600; cursor:pointer; min-height:40px}
.pass-chip:hover{border-color:var(--navy)}
.pass-chip.is-on{background:var(--navy2); border-color:var(--navy2); color:#fff}
.pass-label{display:block; font-size:.78rem; font-weight:600; color:#4F5D6E; margin:0 0 6px}
.pass-sheet textarea{width:100%; box-sizing:border-box; border:1.5px solid #D5DCE4; border-radius:12px; padding:10px 12px; font:inherit; font-size:16px; color:var(--navy); resize:vertical; min-height:76px}
.pass-sheet textarea:focus,.pass-chip:focus-visible,.pass-save:focus-visible,.pass-skip:focus-visible{outline:2px solid var(--teal); outline-offset:2px}
.pass-sheet-status{min-height:1.2em; margin:8px 0 0; font-size:.82rem; color:var(--teal)}
.pass-actions{display:flex; gap:10px; justify-content:flex-end; margin-top:8px}
.pass-skip,.pass-save{border-radius:999px; padding:10px 20px; font:inherit; font-weight:700; font-size:.92rem; cursor:pointer; min-height:44px}
.pass-skip{background:transparent; border:1.5px solid #D5DCE4; color:var(--navy)}
.pass-save{background:var(--brass); border:1.5px solid var(--brass); color:var(--navy)}
.pass-save:disabled{opacity:.6; cursor:wait}
@media (min-width:700px){
  .pass-sheet{align-items:center; padding:24px}
  .pass-sheet-card{border-radius:20px; padding:24px}
}

/* t200 — family & friends link: same shortlist and voting; the buyer's private search profile is hidden */
.is-friends-view #dan-brief,.is-friends-view #preview-chip{display:none !important}
.friends-banner{background:var(--aqua); color:var(--navy); text-align:center; padding:10px 16px; font-weight:600; font-size:.88rem}
.auth-banner.friends-banner{display:block !important}
.pass-sheet .fam-name{width:100%; box-sizing:border-box; border:1.5px solid #D5DCE4; border-radius:12px; padding:10px 12px; font:inherit; font-size:16px; color:var(--navy)}
.pass-sheet .fam-name:focus{outline:2px solid var(--teal); outline-offset:2px}
.pass-sheet .heard-select{width:100%; box-sizing:border-box; border:1.5px solid #D5DCE4; border-radius:12px; padding:10px 12px; font:inherit; font-size:16px; color:var(--navy); background:#fff}
.pass-sheet .heard-select:focus{outline:2px solid var(--teal); outline-offset:2px}
.pass-sheet .heard-other{margin-top:12px}


/* ===================== t245 shortlist refresh ===================== */
:root{ --muted:#B4C5D6; --muted-card:#4A5868; --header-h:56px }
.sl4 .dan-top-inner{padding:8px 16px; flex-wrap:nowrap; gap:10px}
.sl4 .dan-logo img{height:28px}
.sl4 .dan-dest{flex-wrap:nowrap; gap:2px}
.sl4 .dan-dest a{font-size:.8rem; padding:7px 10px; white-space:nowrap; display:inline-flex; align-items:center; gap:5px}
.sl4 .nav-n{display:inline-flex; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--teal); color:#fff; font-size:.68rem; align-items:center; justify-content:center}
.sl4 .dan-dest a.is-on .nav-n{background:var(--navy)}
.sl4 .dan-wrap{padding:20px 16px 96px}

/* Intro */
.sl4 .dan-intro{margin:4px 0 26px}
.sl4 .eyebrow{margin:0 0 8px; font:700 .74rem/1.2 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--brass)}
.sl4 .dan-intro h1{font-size:clamp(1.7rem, 6.4vw, 2.5rem); margin-bottom:12px}
.sl4 .dan-intro .dan-note{font-size:1.02rem; opacity:1; margin:0 0 16px; max-width:36em}
.sl4 .dan-advisor{gap:10px; margin:0 0 10px}
.sl4 .dan-advisor img{width:40px; height:40px; object-position:50% 22%}
.sl4 .adv-line{margin:0; font-size:.92rem; color:var(--muted)}
.sl4 .adv-line .nm{font-weight:700; color:#fff}
.sl4 .adv-line .role{white-space:nowrap}
.sl4 .dan-meta{font-size:.84rem; color:var(--muted); gap:6px 8px; margin:0 0 16px}
.sl4 .dan-meta strong{color:#fff; font-weight:700}
.sl4 #meta-count{display:inline-flex; flex-wrap:wrap; gap:6px 8px; align-items:center}
.sl4 .meta-dot{color:var(--muted)}
.sl4 .journey{list-style:none; margin:0 0 18px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; counter-reset:j}
.sl4 .journey li{counter-increment:j; background:rgba(229,239,248,.06); border:1px solid var(--line); border-radius:12px; padding:9px 10px; font-size:.76rem; line-height:1.3; color:var(--muted)}
.sl4 .journey li strong{display:block; color:#fff; font-size:.84rem; margin-bottom:2px}
.sl4 .journey li strong::before{content:counter(j) '. '; color:var(--brass)}
.sl4 .share-fam{margin:0; padding:14px 16px; border-radius:16px; background:rgba(255,201,40,.1); border:1px solid rgba(255,201,40,.35)}
.sl4 .btn-share{background:var(--brass); color:var(--navy); width:100%; font-weight:700}
.sl4 .btn-share:hover{background:#e6b520}
.sl4 .btn-share.is-copied{background:#9BE7B5}
.sl4 .share-copy{margin:8px 0 0; font-size:.88rem; color:var(--aqua)}
.sl4 .share-status{margin:6px 0 0; font-size:.84rem; min-height:0; color:var(--muted)}
.sl4 .share-status:empty{display:none}
.sl4 .share-status.is-ok{color:#9BE7B5}
.sl4 .share-status.is-err{color:#FFB4B4}

/* Search profile */
.sl4 .dan-profile{margin:0 0 26px}
.sl4 .profile-card{padding:16px 18px 14px}
.sl4 .profile-card h2{font-size:1.15rem; margin:0 0 12px}
.sl4 .profile-grid dt{color:var(--muted)}
.sl4 .profile-grid dd .rc-main{display:block; color:#fff; font-weight:600}
.sl4 .profile-grid dd .rc-extra{display:block; color:var(--aqua); font-size:.88rem; margin-top:2px}
.sl4 .profile-grid dd.is-tbc .rc-main{display:inline; color:var(--brass); font-weight:600}
.sl4 .rc-clarify{appearance:none; background:none; border:0; padding:0 0 0 6px; color:var(--aqua); text-decoration:underline; text-underline-offset:2px; font:600 .86rem var(--sans); cursor:pointer}
.sl4 .brief-more{margin:12px 0 0}
.sl4 .brief-more > summary, .sl4 .note-more > summary{cursor:pointer; color:var(--aqua); font:600 .88rem var(--sans); list-style:none; width:fit-content}
.sl4 .brief-more > summary::-webkit-details-marker, .sl4 .note-more > summary::-webkit-details-marker{display:none}
.sl4 .brief-more > summary::before, .sl4 .note-more > summary::before{content:''; display:inline-block; width:.42em; height:.42em; border-right:2px solid var(--brass); border-bottom:2px solid var(--brass); transform:rotate(-45deg); margin-right:.55em; position:relative; top:-1px}
.sl4 .brief-more[open] > summary::before, .sl4 .note-more[open] > summary::before{transform:rotate(45deg); top:-2px}
.sl4 .profile-more{margin-top:10px}
.sl4 .profile-more dd{font-size:.9rem}
.sl4 .profile-more dd.is-tbc{color:var(--brass)}
.sl4 .brief-tweak > summary{margin-top:4px}

/* Feedback intro */
.sl4 .feedback-intro{margin:0 0 22px; padding:16px 18px; border-radius:16px; background:var(--surface); color:var(--ink)}
.sl4 .feedback-intro h2{color:var(--navy); font-size:1.2rem; margin:0 0 6px}
.sl4 .feedback-intro p{margin:0 0 10px; color:var(--muted-card); font-size:.95rem}
.sl4 .fb-legend{list-style:none; margin:0 0 10px; padding:0; display:flex; flex-wrap:wrap; gap:8px 16px}
.sl4 .fb-legend li{display:flex; align-items:center; gap:8px; font-size:.9rem; color:var(--navy); font-weight:600}
.sl4 .fb-chip{display:inline-flex; align-items:center; border-radius:999px; padding:4px 11px; font:700 .8rem var(--sans)}
.sl4 .fb-keen{background:var(--teal); color:#fff}
.sl4 .fb-maybe{background:var(--brass); color:var(--navy)}
.sl4 .fb-pass{background:var(--navy2); color:#fff}
.sl4 .fb-support{margin:0!important; font-size:.86rem!important}

/* Shortlist + cards */
.sl4 .dan-sec{margin:28px 0 8px}
.sl4 #shortlist{margin-top:0}
.sl4 .dan-sub{margin:0 0 22px}
.sl4 .dan-sub > h2{font-size:1.3rem; margin-bottom:12px}
.sl4 .boat{margin:0 0 20px; border-radius:18px}
.sl4 .boat.is-flash{box-shadow:0 0 0 3px var(--brass), 0 12px 36px rgba(0,0,0,.22)}
.sl4 .boat-media{margin-bottom:14px}
.sl4 .pill-row{display:flex; flex-wrap:wrap}
.sl4 .status-pill{background:rgba(11,36,55,.08); color:var(--navy)}
.sl4 .status-pill.watching{background:var(--brass); color:var(--navy)}
.sl4 .boat-facts, .sl4 .boat-engines, .sl4 .boat-head, .sl4 .flag-line, .sl4 .rate-status{color:var(--muted-card)}
.sl4 .rate-row{gap:8px; margin:4px 0 8px}
.sl4 .rate-btn{min-height:48px; font-size:.98rem; border-width:2px; border-color:#C9D3DE}
.sl4 .rate-btn[data-r=keen]:not(.is-on):hover{border-color:var(--teal); color:var(--teal)}
.sl4 .rate-btn:disabled{opacity:.6}
.sl4 .fam-votes{margin:0 0 8px; font-size:.84rem; color:var(--muted-card); display:flex; flex-wrap:wrap; gap:6px; align-items:center}
.sl4 .fv-h{font-weight:700; color:var(--navy); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase}
.sl4 .fv{background:rgba(11,36,55,.06); border-radius:999px; padding:3px 9px; color:var(--navy)}
.sl4 .fv-keen{background:rgba(17,93,174,.12)}
.sl4 .fv-rel{color:var(--muted-card)}
.sl4 .show-more{width:100%; margin:4px 0 0}
.sl4 .prev-sent > summary, .sl4 .models-fold > summary{font-size:1.05rem}

/* Favourites */
.sl4 .fav-sec{margin-top:30px}
.sl4 .fav-sec h2{font-size:1.35rem}
.sl4 .fav-sec .lead{margin:0 0 12px}
.sl4 .fav-filters{display:flex; gap:8px; margin:0 0 12px; flex-wrap:wrap}
.sl4 .fav-chip{appearance:none; border:1.5px solid rgba(229,239,248,.35); background:transparent; color:#fff; border-radius:999px; padding:8px 14px; font:600 .88rem var(--sans); cursor:pointer; min-height:40px; display:inline-flex; gap:8px; align-items:center}
.sl4 .fav-chip .n{background:rgba(229,239,248,.16); border-radius:999px; padding:1px 8px; font-size:.78rem}
.sl4 .fav-chip.is-on{background:var(--aqua); color:var(--navy); border-color:var(--aqua)}
.sl4 .fav-chip.is-on .n{background:var(--navy); color:#fff}
.sl4 .fav-list{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.sl4 .fav-row{display:grid; grid-template-columns:84px minmax(0,1fr) auto; gap:12px; align-items:center; background:var(--surface); color:var(--ink); border-radius:14px; padding:8px 12px 8px 8px}
.sl4 .fav-thumb img, .sl4 .fav-ph{width:84px; height:56px; object-fit:cover; border-radius:9px; display:flex; align-items:center; justify-content:center; background:var(--navy2); color:var(--brass); font:600 .8rem var(--serif)}
.sl4 .fav-name{margin:0; font:700 .95rem/1.25 var(--sans); color:var(--navy)}
.sl4 .fav-facts{margin:2px 0 0; font-size:.82rem; color:var(--muted-card)}
.sl4 .fav-who{margin:3px 0 0; font-size:.8rem; color:var(--teal); font-weight:600}
.sl4 .fav-who .fv-rel{color:var(--muted-card); font-weight:500}
.sl4 .fav-also{display:inline-block; margin-top:3px; font-size:.72rem; font-weight:700; color:var(--navy); background:rgba(17,93,174,.12); border-radius:999px; padding:2px 8px}
.sl4 .fav-see{font:700 .84rem var(--sans); color:var(--teal); text-decoration:none; white-space:nowrap}
.sl4 .fav-empty{background:rgba(229,239,248,.06); border:1px dashed rgba(229,239,248,.3); border-radius:14px; padding:14px 16px}
.sl4 .fav-empty p{margin:0 0 10px; color:var(--aqua); font-size:.94rem}
.sl4 .btn-sm{padding:9px 16px; font-size:.88rem}

/* Note about matches */
.sl4 .note-matches{margin:34px 0 0; padding:16px 18px; border-radius:16px; border:1px solid var(--line); background:rgba(229,239,248,.04)}
.sl4 .note-matches h2{font-size:1.02rem; margin:0 0 8px}
.sl4 .note-matches p{margin:0 0 8px; font-size:.9rem; color:var(--aqua)}
.sl4 .note-more ul{margin:10px 0 0; padding-left:1.1em; font-size:.86rem; color:var(--muted)}
.sl4 .note-more li{margin:0 0 6px}

/* Contact */
.sl4 .ask-jack{margin:28px 0 10px; padding:0; border:0}
.sl4 .ask-card{display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; align-items:start; background:var(--surface); color:var(--ink); border-radius:20px; padding:18px}
.sl4 .ask-photo img{width:96px; height:96px; border-radius:50%; object-fit:cover; object-position:50% 22%; border:3px solid var(--brass)}
.sl4 .ask-body h2{color:var(--navy); font-size:1.35rem; margin:0 0 4px}
.sl4 .ask-body .adv-line{color:var(--muted-card); margin:0 0 10px}
.sl4 .ask-body .adv-line .nm{color:var(--navy)}

.sl4 .ask-body p{margin:0 0 10px; color:var(--muted-card); font-size:.95rem}
.sl4 .ask-body .btn{margin-top:4px}
.sl4 .chat-fab{position:fixed; right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); z-index:60; display:inline-flex; align-items:center; gap:8px; background:var(--brass); color:var(--navy); text-decoration:none; font:700 .9rem var(--sans); padding:6px 16px 6px 6px; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.35); transition:transform .2s, opacity .2s}
.sl4 .chat-fab img{width:30px; height:30px; border-radius:50%; object-fit:cover; object-position:50% 22%}
.sl4 .chat-fab.is-tucked, .has-sheet .sl4 .chat-fab, html.has-sheet .chat-fab{opacity:0; transform:translateY(20px); pointer-events:none}

/* Family view */
.is-friends-view .sl4 #dan-brief, .is-friends-view #share-fam, .is-friends-view #fav-filters{display:none!important}
.sl4 .friends-banner{background:var(--aqua); color:var(--navy); text-align:left; padding:10px 16px; font-weight:600; font-size:.88rem; max-width:none}

@media (max-width:420px){
  .sl4 .dan-dest a{padding:7px 8px; font-size:.78rem}
  .sl4 .journey li span{display:none}
  .sl4 .journey li{padding:8px 9px; text-align:center}
}
@media (min-width:760px){
  .sl4 .dan-top-inner{padding:10px 24px}
  .sl4 .dan-logo img{height:32px}
  .sl4 .chat-fab{display:none}
  .sl4 .dan-wrap{padding:30px 24px 80px}
  .sl4 .share-fam{display:flex; align-items:center; gap:8px 16px; flex-wrap:wrap}
  .sl4 .btn-share{width:auto}
  .sl4 .share-copy{margin:0; flex:1 1 260px}
  .sl4 .share-status{flex-basis:100%}
  .sl4 .ask-card{grid-template-columns:150px minmax(0,1fr); padding:24px; gap:24px}
  .sl4 .ask-photo img{width:150px; height:150px}
  .sl4 .show-more{width:auto}
}
@media (min-width:1024px){
  .sl4 .dan-top-inner{max-width:1360px; padding:10px 32px}
  .sl4 .dan-wrap{max-width:1360px; padding:34px 32px 100px}
  .sl4 .dan-intro{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); column-gap:48px; align-items:end; margin-bottom:28px}
  .sl4 .dan-intro > *{grid-column:1}
  .sl4 .dan-intro .journey{grid-column:2; grid-row:2 / span 3; align-self:start; margin:0}
  .sl4 .dan-intro .eyebrow{grid-row:1}
  .sl4 .dan-profile{max-width:none}
  .sl4 .profile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sl4 .profile-more{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sl4 .feedback-intro{display:grid; grid-template-columns:minmax(0,1.2fr) auto; column-gap:32px; align-items:center}
  .sl4 .feedback-intro > *{grid-column:1}
  .sl4 .feedback-intro .fb-legend{grid-column:2; grid-row:1 / span 3; flex-direction:column; margin:0}
  .sl4 .card-grid, .sl4 #available-now-list, .sl4 #models-considering-list, .sl4 #previously-sent-list, .sl4 #passed-list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start}
  .sl4 .card-grid > .empty-current{grid-column:1 / -1}
  .sl4 .boat{margin:0}
  .sl4 .boat-make{font-size:1.2rem}
  .sl4 .rate-row{max-width:none}
  .sl4 .fav-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sl4 .note-matches{max-width:none}
  .sl4 .ask-card{max-width:900px}
}
html{background:var(--navy)}
body.dan-body.sl4{background:linear-gradient(180deg, var(--navy) 0%, var(--ocean) 30%, var(--navy2) 100%); background-attachment:scroll}
.sl4 .nav-n[hidden]{display:none}

/* t245b: shared shortlist — invite, header share, toast, enthusiasm */
.sl4 .invite{display:flex; flex-direction:column; gap:10px; margin:0 0 22px; padding:14px 16px; border-radius:16px; border:1px solid var(--line); background:rgba(229,239,248,.05)}
.sl4 .invite h2{font-size:1.02rem; margin:0 0 4px; color:#fff}
.sl4 .invite p{margin:0; font-size:.9rem; color:var(--aqua)}
.sl4 .btn-invite{background:transparent; color:#fff; border:1.5px solid rgba(255,201,40,.75); padding:10px 18px; font-weight:700; align-self:flex-start}
.sl4 .btn-invite:hover{background:rgba(255,201,40,.12)}
.sl4 .btn-invite.is-copied{border-color:#9BE7B5; color:#9BE7B5}
.sl4 .hdr-share{appearance:none; margin-left:auto; order:2; width:36px; height:36px; border-radius:50%; border:1px solid rgba(229,239,248,.3); background:transparent; color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; flex:0 0 auto}
.sl4 .hdr-share:hover{background:rgba(229,239,248,.1)}
.sl4 .hdr-share[hidden]{display:none}
.sl4 .hdr-share:not([hidden]) + .dan-dest{margin-left:0}
.sl4 .dan-dest{order:1; margin-left:auto}
.sl4 .hdr-share:not([hidden]) ~ .dan-dest{margin-left:auto}
.sl4 .dan-top-inner > .dan-logo{order:0}
.sl4 .toast{position:fixed; left:50%; bottom:calc(72px + env(safe-area-inset-bottom)); transform:translate(-50%,20px); z-index:120; background:#fff; color:var(--navy); font:600 .9rem/1.35 var(--sans); padding:10px 16px; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.35); opacity:0; pointer-events:none; transition:.2s; max-width:min(92vw,440px); text-align:center}
.sl4 .toast.is-on{opacity:1; transform:translate(-50%,0)}
.sl4 .toast.is-err{background:#FFE3E3; color:#7A1F1F}
.sl4 .keen-hint{margin:0 0 8px; font-size:.84rem; color:var(--teal); font-weight:600}
.sl4 .keen-hint::before{content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--teal); margin-right:7px; position:relative; top:-1px}
.sl4 .fav-chip.is-person{border-style:dashed}
.sl4 .fav-chip.is-person.is-on{border-style:solid}
.sl4 .opt{font-weight:500; color:#6B7887}
@media (min-width:760px){
  .sl4 .invite{flex-direction:row; align-items:center; justify-content:space-between; gap:24px}
  .sl4 .btn-invite{align-self:center; flex:0 0 auto}
  .sl4 .toast{bottom:28px}
}
.sl4 .dan-dest{order:1}
.sl4 .hdr-share{order:2; margin-left:6px}
.sl4 .dan-dest{margin-left:auto}
.sl4 [hidden]{display:none!important}
.sl4 .dan-intro .eyebrow{color:#5AA9E6!important} /* AA on navy: 6.2:1 (was #115DAE, 2.6:1) */
.sl4 .pass-label .opt{display:inline!important; margin:0 0 0 4px; padding:0; border:0; background:none; font-size:inherit}
.sl4 #favourites-list{display:block}
@media (min-width:900px){ .sl4 .fav-list{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px} }
/* t245b: Arrange a closer look (interim, email) */
.sl4 .look-row{display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:14px 0 2px}
.sl4 .look-btn{border-radius:999px; padding:10px 18px; min-height:44px; font:inherit; font-weight:700; font-size:.92rem; cursor:pointer; background:transparent; color:var(--navy); border:1.5px solid var(--navy)}
.sl4 .look-btn.is-primary{background:var(--navy); color:#fff; border-color:var(--navy)}
.sl4 .look-btn.is-small{min-height:36px; padding:6px 14px; font-size:.82rem; margin-top:8px}
.sl4 .ask-btn{background:none; border:0; padding:8px 2px; min-height:44px; font:inherit; font-weight:700; font-size:.9rem; color:#0D4F96; text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.sl4 .look-btn:focus-visible,.sl4 .ask-btn:focus-visible{outline:2px solid var(--teal); outline-offset:2px}
.sl4 .look-check{display:flex; align-items:center; gap:10px; margin:14px 0 0; font-size:.92rem; color:var(--navy); font-weight:600}
.sl4 .look-check input{width:20px; height:20px; accent-color:var(--navy)}
.sl4 .look-sheet .heard-select{width:100%}
.sl4 .look-sheet [data-look-done] h3{outline:none}
.sl4 .look-fallback a{color:#0D4F96; font-weight:700}
/* t245c */
.sl4 .aboard-line{margin:14px 0 0; font-size:.88rem; font-style:italic; color:#4A5868}
.sl4 .fav-aboard{margin:0 0 12px; color:var(--aqua); font-style:italic}
.sl4 .fav-names{display:flex; flex-wrap:wrap; gap:4px; margin:4px 0 0}
.sl4 .fav-name-chip{font-size:.74rem; font-weight:700; color:var(--navy); background:#E3ECF5; border-radius:999px; padding:2px 8px}
.sl4 .fav-actions{display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-top:6px}
.sl4 .fav-actions .look-btn.is-small{margin-top:0}
.sl4 .ask-btn.is-small{min-height:36px; padding:4px 2px; font-size:.82rem}
.sl4 .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.sl4 .fav-row{align-items:start}
