/* Scoped to the public Shortlist landing. Saved shortlist UI is independent. */
body:has(#loginGate.shortlist-landing[style*="block"]) { background:#F5F2EB; }
#pageContent:has(> #loginGate.shortlist-landing[style*="block"]) { max-width:1080px; }
body:has(#loginGate.shortlist-landing[style*="block"]) #vdrHeader { background:#F5F2EB; }
.shortlist-landing { color:#111; font-family:'DM Sans',Arial,sans-serif; }
.shortlist-landing button, .shortlist-landing input, .shortlist-landing textarea, .shortlist-landing select { font:inherit; }
.shortlist-landing button, .shortlist-landing summary, .shortlist-landing select { cursor:pointer; }
.shortlist-landing :is(a,button,summary,input,textarea,select,[tabindex]):focus-visible { outline:3px solid #16A34A; outline-offset:3px; }
.shortlist-landing .sl-hero { padding:24px 0 40px; text-align:center; }
.shortlist-landing .sl-eyebrow { color:#666; font-size:11px; letter-spacing:.09em; text-transform:uppercase; margin-bottom:20px; }
.shortlist-landing .sl-hero h1 { margin:0 auto 22px; font:400 clamp(38px,5.4vw,60px)/1.16 'Source Serif 4',Georgia,serif; letter-spacing:-.028em; text-wrap:balance; }
.shortlist-landing .sl-intro { max-width:650px; margin:0 auto 24px; color:#666; font-size:16px; line-height:1.8; text-wrap:pretty; }
.shortlist-landing .sl-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:24px; }
.shortlist-landing .sl-primary { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:48px; padding:13px 20px; border:1px solid #111; border-radius:6px; background:#111; color:#fff; font-size:14px; font-weight:500; }
.shortlist-landing .sl-primary:hover, .shortlist-landing .sl-export:hover { background:#333; }
.shortlist-landing .sl-secondary { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:8px 0; border-bottom:1px solid #999; color:#111; text-decoration:none; font-size:13px; }
.shortlist-landing .sl-signin { margin-top:16px; color:#666; font-size:12px; }
.shortlist-landing .sl-signin button { min-height:44px; padding:8px 4px; background:none; border:0; color:#111; text-decoration:underline; text-underline-offset:3px; font-size:12px; }
.shortlist-landing .sl-preview { margin:0; padding:24px; border:1px solid #C7E5D1; border-radius:14px; background:#F0FDF4; scroll-margin-top:90px; }
.shortlist-landing figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-bottom:16px; font-size:16px; line-height:1.5; }
.shortlist-landing .sl-sample { color:#52685A; font-size:11px; }
.shortlist-landing .sl-window { min-width:0; padding:26px; background:#fff; border:1px solid #E8E8E8; border-radius:10px; }
.shortlist-landing .sl-workspace-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:16px; }
.shortlist-landing .sl-label { color:#666; font-size:10px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.shortlist-landing .sl-workspace-head h2 { font-size:26px; line-height:1.3; letter-spacing:-.025em; }
.shortlist-landing .sl-meta { font-size:11px; line-height:1.5; color:#666; margin-top:6px; }
.shortlist-landing .sl-file-actions { display:flex; gap:8px; flex-shrink:0; }
.shortlist-landing .sl-import { min-height:44px; padding:10px 18px; border:1px solid #D8D5CE; border-radius:6px; background:#fff; color:#111; font-size:12px; font-weight:600; }
.shortlist-landing .sl-import:hover, .shortlist-landing .sl-import[aria-expanded="true"] { border-color:#16A34A; background:#F0FDF4; }
.shortlist-landing .sl-import-panel { padding:18px; margin-bottom:20px; background:#FAFCFA; border:1px solid #C7E5D1; border-radius:8px; }
.shortlist-landing .sl-import-panel[hidden] { display:none; }
.shortlist-landing .sl-import-panel h3 { font-size:18px; line-height:1.4; margin-bottom:6px; }
.shortlist-landing .sl-import-intro { font-size:12px; color:#555; line-height:1.7; }
.shortlist-landing .sl-import-rows { list-style:none; margin:14px 0; border:1px solid #E0E5E1; border-radius:6px; background:#fff; }
.shortlist-landing .sl-import-rows li { padding:12px; }
.shortlist-landing .sl-import-rows li+li { border-top:1px solid #E0E5E1; }
.shortlist-landing .sl-import-rows strong { display:block; font-size:12px; line-height:1.5; }
.shortlist-landing .sl-import-rows p { font-size:11px; color:#555; line-height:1.7; margin-top:3px; }
.shortlist-landing .sl-import-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.shortlist-landing .sl-import-actions .sl-save { width:auto; margin:0; padding:10px 14px; }
.shortlist-landing .sl-import-actions .sl-save:disabled { opacity:.6; cursor:default; }
.shortlist-landing .sl-import-cancel { border:0; min-height:44px; background:none; color:#555; font-size:12px; padding:8px; }
.shortlist-landing .sl-import-note { color:#666; font-size:11px; line-height:1.6; margin-top:10px; }
.shortlist-landing .sl-export { min-height:44px; flex-shrink:0; padding:10px 18px; border:1px solid #111; border-radius:6px; background:#111; color:#fff; font-size:12px; font-weight:600; }
.shortlist-landing .sl-export-hint { padding:12px 14px; margin-bottom:18px; background:#F5F2EB; border-radius:7px; color:#555; font-size:12px; line-height:1.6; }
.shortlist-landing .sl-tabs { display:flex; flex-wrap:wrap; gap:0 18px; border-bottom:1px solid #E8E8E8; }
.shortlist-landing .sl-tabs button { display:flex; align-items:center; gap:6px; min-height:44px; padding:10px 2px; border:0; border-bottom:2px solid transparent; background:none; color:#666; font-size:12px; text-align:left; }
.shortlist-landing .sl-tabs button[aria-selected="true"] { border-color:#16A34A; color:#111; font-weight:700; }
.shortlist-landing .sl-tabs button:hover { color:#166534; }
.shortlist-landing .sl-tabs span { font-size:10px; border-radius:14px; padding:1px 6px; background:#F4F5F4; }
.shortlist-landing .sl-scroll { height:470px; overflow:auto; scrollbar-width:thin; scrollbar-color:#AAC6B2 #F4F7F4; scrollbar-gutter:stable; padding:20px 8px 16px; margin:0 -8px; }
.shortlist-landing .sl-list-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.shortlist-landing .sl-list-head h3 { font-size:17px; letter-spacing:-.02em; line-height:1.4; }
.shortlist-landing .sl-list-head>span { color:#666; font-size:11px; white-space:nowrap; }
.shortlist-landing .sl-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.shortlist-landing .sl-card { min-width:0; padding:20px; border:1px solid #E8E8E8; border-radius:12px; }
.shortlist-landing .sl-card h4 { font-size:15px; line-height:1.4; margin-bottom:4px; }
.shortlist-landing .sl-location { color:#666; font-size:11px; line-height:1.5; }
.shortlist-landing .sl-category { display:inline-block; margin-top:12px; padding:3px 8px; border:1px solid #C7E5D1; border-radius:18px; background:#F0FDF4; color:#166534; font-size:10px; line-height:1.4; }
.shortlist-landing .sl-description { margin:12px 0; color:#666; font-size:12px; line-height:1.7; }
.shortlist-landing .sl-price { font-size:12px; line-height:1.6; margin-bottom:14px; }
.shortlist-landing .sl-price span { color:#666; }
.shortlist-landing .sl-note { padding:12px; border-radius:7px; background:#FAFAF8; }
.shortlist-landing .sl-note p:last-child { color:#555; font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.shortlist-landing .sl-edit summary { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#166534; font-size:12px; font-weight:600; list-style:none; }
.shortlist-landing .sl-edit summary::-webkit-details-marker { display:none; }
.shortlist-landing .sl-edit[open] summary span { transform:rotate(90deg); }
.shortlist-landing .sl-edit label { display:block; color:#555; font-size:11px; line-height:1.5; margin-bottom:10px; }
.shortlist-landing .sl-edit :is(input,textarea) { display:block; width:100%; min-width:0; margin-top:5px; padding:10px; border:1px solid #D5DDD7; border-radius:6px; font-size:13px; color:#111; background:white; line-height:1.5; }
.shortlist-landing .sl-edit textarea { min-height:100px; resize:vertical; }
.shortlist-landing .sl-save { width:100%; min-height:44px; margin-bottom:12px; border:1px solid #C7E5D1; border-radius:6px; background:#F0FDF4; color:#166534; font-size:12px; font-weight:600; }
.shortlist-landing .sl-move-label { display:block; color:#666; font-size:10px; line-height:1.5; padding-top:12px; border-top:1px solid #E8E8E8; }
.shortlist-landing .sl-move { width:100%; min-height:44px; margin-top:5px; padding:8px; border:1px solid #E0E5E1; border-radius:6px; background:#fff; color:#333; font-size:12px; }
.shortlist-landing .sl-empty { grid-column:1/-1; padding:36px 12px; color:#666; text-align:center; font-size:13px; line-height:1.8; }
.shortlist-landing .sl-demo-guide { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #E8E8E8; padding-top:12px; }
.shortlist-landing .sl-demo-guide p { color:#555; font-size:11px; line-height:1.7; }
.shortlist-landing .sl-demo-guide button { min-height:44px; flex-shrink:0; padding:8px 0; border:0; background:none; color:#166534; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.shortlist-landing .sl-footnote { margin-top:14px; font-size:11px; line-height:1.7; color:#52685A; }
.shortlist-landing .sl-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:40px 0 32px; }
.shortlist-landing .sl-benefits>div { padding-top:16px; border-top:1px solid #D8D5CE; }
.shortlist-landing .sl-benefits span { display:block; color:#666; font-size:10px; line-height:1.6; margin-bottom:10px; }
.shortlist-landing .sl-benefits h2 { font:400 24px/1.25 'Source Serif 4',Georgia,serif; letter-spacing:-.025em; margin-bottom:10px; }
.shortlist-landing .sl-benefits p { color:#666; font-size:13px; line-height:1.8; }
.shortlist-landing .sl-team-note { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid #D8D5CE; padding-top:20px; font-size:12px; line-height:1.7; color:#666; }
.shortlist-landing .sl-team-note a { color:#166534; min-height:44px; display:inline-flex; align-items:center; gap:16px; text-underline-offset:4px; }
@media(max-width:760px) {
  .shortlist-landing .sl-preview { padding:16px; }
  .shortlist-landing .sl-window { padding:18px; }
  .shortlist-landing .sl-workspace-head { align-items:flex-start; }
  .shortlist-landing .sl-cards, .shortlist-landing .sl-benefits { grid-template-columns:1fr; }
  .shortlist-landing .sl-benefits { gap:24px; }
  .shortlist-landing .sl-tabs { gap:0 14px; }
}
@media(max-width:480px) {
  .shortlist-landing .sl-hero { padding:8px 0 28px; }
  .shortlist-landing .sl-hero h1 { font-size:38px; }
  .shortlist-landing .sl-intro { font-size:15px; line-height:1.7; }
  .shortlist-landing .sl-actions { flex-direction:column; gap:8px; }
  .shortlist-landing .sl-primary { width:100%; }
  .shortlist-landing .sl-signin { margin-top:8px; }
  .shortlist-landing .sl-preview { padding:12px; margin:0 -8px; }
  .shortlist-landing figcaption { font-size:15px; gap:4px; }
  .shortlist-landing .sl-window { padding:14px; }
  .shortlist-landing .sl-workspace-head { flex-direction:column; gap:12px; }
  .shortlist-landing .sl-file-actions { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shortlist-landing .sl-file-actions button { width:100%; min-width:0; padding:10px 8px; }
  .shortlist-landing .sl-import-panel { padding:12px; }
  .shortlist-landing .sl-workspace-head h2 { font-size:23px; }
  .shortlist-landing .sl-tabs { gap:0 12px; }
  .shortlist-landing .sl-tabs button { font-size:11px; }
  .shortlist-landing .sl-scroll { height:440px; }
  .shortlist-landing .sl-card { padding:14px; }
  .shortlist-landing .sl-list-head h3 { font-size:16px; }
  .shortlist-landing .sl-edit :is(input,textarea) { font-size:16px; }
  .shortlist-landing .sl-demo-guide { align-items:flex-start; }
}
