/* Shared illustrations keep their silhouette from navigation to desktop. */
.product-small,.product-art{object-fit:contain;flex-shrink:0}
.sidebar nav a>.product-small{width:24px;height:24px}
.sidebar .search-link>.product-small{width:24px;height:24px}
.dock-app.desktop,.dock-app.book{background-color:#fff8ec}
.dock-app>.product-small{width:36px;height:36px}
.window-bar .window-app-icon>.product-small{width:34px;height:34px}
.system-search>.product-small,.theme-toggle>.product-small{width:28px;height:28px}
.feedback-link>.product-small{width:26px;height:26px}
.palette-input>.product-small{width:26px;height:26px;flex-shrink:0}
.search-result-icon>.product-small{width:34px;height:34px}
.row-number>.product-small{width:24px;height:24px}
.workflow-icon>.product-art,.medication-icon>.product-art{width:64px;height:64px}

/* The two audience doors read as deliberate destinations on the wallpaper. */
.desktop-audiences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;justify-self:start;max-width:600px;width:100%;margin:28px 0 0}
.desktop-audiences>a{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:12px;align-items:center;min-height:74px;padding:13px 17px;border:1px solid #fff8ec70;border-radius:14px;background:#fff8eced;color:#1b3a5c;box-shadow:0 4px 12px #102a4330,inset 0 1px #fff;backdrop-filter:blur(16px);font-size:14px;font-weight:600;text-shadow:none;text-decoration:none;transition:background-color 160ms ease,border-color 160ms ease,transform 160ms ease}
.desktop-audiences>a>.product-art,.desktop-audiences>a>.product-small{width:42px;height:42px;filter:drop-shadow(0 2px 1px #102a4314)}
.desktop-audiences .audience-label{min-width:0;line-height:1.35}
.desktop-audiences .audience-label small{display:block;font-size:11px;font-weight:400;color:#536577;margin-top:3px}
.desktop-audiences>a>.glyph{width:18px;height:18px;justify-self:end}
.desktop-audiences>a:hover{background:#fffaf1;border-color:#fff8ec;text-decoration:none}
.desktop-audiences>a:focus-visible{outline:3px solid #f5c773;outline-offset:4px}

.booking-other{gap:10px 12px}
.booking-other>a{gap:10px;min-height:52px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-decoration:none;font-weight:500}
.booking-other>a>.product-small,.booking-other>a>.product-art{width:32px;height:32px}
.booking-other>a:hover{border-color:#65b7a6;background:var(--raised)}
.booking-other>a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

:root[data-theme=dark] .desktop-audiences>a{background:#19364ef0;color:#fff8ec;border-color:#8195a770;box-shadow:0 4px 14px #071c3740,inset 0 1px #ffffff13}
:root[data-theme=dark] .desktop-audiences .audience-label small{color:#c0ced8}
:root[data-theme=dark] .desktop-audiences>a:hover{background:#24465e;border-color:#a0b5c2}

@media(hover:hover) and (pointer:fine){.desktop-audiences>a:hover{transform:translateY(-2px)}}
@media(max-width:1000px){.desktop-audiences{max-width:600px;margin-top:24px}}
@media(max-width:600px){
  .sidebar nav a>.product-small{width:22px;height:22px}
  .window-bar .window-app-icon>.product-small{width:28px;height:28px}
  .desktop-audiences{gap:10px;margin:18px 0 0}
  .desktop-audiences>a{grid-template-columns:34px minmax(0,1fr);gap:9px;min-height:72px;padding:12px 10px;font-size:12px;border-radius:12px}
  .desktop-audiences>a>.product-art,.desktop-audiences>a>.product-small{width:34px;height:34px}
  .desktop-audiences>a>.glyph{display:none}
  .desktop-audiences .audience-label small{font-size:10px}
  .booking-other>a{flex:1 1 180px;min-height:52px;font-size:12px}
  .booking-other>a>.product-small,.booking-other>a>.product-art{width:30px;height:30px}
}
@media(prefers-reduced-motion:reduce){.desktop-audiences>a{transition:none}.desktop-audiences>a:hover{transform:none}}

/* Legal documents open as compact, independently scrollable desktop windows. */
.desktop-shell.has-legal-window .workspace-layout{display:flex;align-items:center;justify-content:center;min-height:calc(100svh - 230px);max-width:none}
.desktop-shell.has-legal-window .desktop-shortcuts{display:none}
.desktop-shell .app-window.legal-window{display:flex;flex-direction:column;width:min(700px,100%);max-height:72svh;min-width:0;margin:0 auto;border-radius:18px}
.legal-window>.window-bar{height:auto;min-height:68px;flex:0 0 auto;padding:10px 12px 10px 20px;background:linear-gradient(110deg,#f6eddb,#e6f2ed)}
.legal-window .window-identity{min-width:0;gap:12px}
.legal-window .window-title{font-size:20px;line-height:1.2;font-weight:500;letter-spacing:-.4px}
.legal-window .window-app-icon{width:38px;height:40px;border-radius:10px}
.legal-window .window-app-icon>.product-small{width:33px;height:33px}
.legal-window .window-controls{padding:0;border:0;background:transparent;box-shadow:none}
.legal-window>.window-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:26px 30px 12px;background:var(--surface);font-size:13.5px;scroll-behavior:auto}
.legal-window .legal-page{max-width:none;margin:0;padding-bottom:8px}
.legal-window .legal-page .eyebrow{font-size:9px;letter-spacing:1.4px;margin:0 0 9px}
.legal-window .legal-page h1{font-size:22px;line-height:1.25;letter-spacing:-.5px;margin:0 0 9px}
.legal-window .legal-page .legal-updated{font-size:11px;margin-bottom:18px}
.legal-window .legal-page p,.legal-window .legal-page li,.legal-window .legal-page .legal-intro{font-size:13.5px;line-height:1.7;overflow-wrap:anywhere}
.legal-window .legal-page p{margin:0 0 12px}
.legal-window .legal-page section{padding:19px 0}
.legal-window .legal-page h2{font-size:16px;line-height:1.4;letter-spacing:-.2px;margin:0 0 10px}
.legal-window .legal-page ul{padding-left:19px;margin:10px 0}
.legal-window .legal-page li{margin:6px 0}
.legal-window .legal-storage-list{gap:9px;margin:12px 0}
.legal-window .legal-storage-list>div{padding:12px 14px}
.legal-window .legal-storage-list dt{font-size:13px;line-height:1.5;margin:0 0 5px}
.legal-window .legal-storage-list dd{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.legal-window .privacy-choice-button{font-size:13px;padding:10px 14px}
.search-result-icon.privacy{background:#e4f1ec}
.search-result-icon.terms{background:#f9edd3}
:root[data-theme=dark] .legal-window>.window-bar{background:linear-gradient(110deg,#2c3c58,#213f46)}
:root[data-theme=dark] .legal-window>.window-content{background:#182c42}
@media(max-width:600px){
  .desktop-shell.has-legal-window .workspace-layout{min-height:0;padding:0 2px}
  .desktop-shell .app-window.legal-window{max-height:72svh;border-radius:15px}
  .legal-window>.window-bar{min-height:62px;padding:8px 9px 8px 14px}
  .legal-window .window-title{font-size:20px;letter-spacing:-.3px}
  .legal-window .window-identity{gap:9px}
  .legal-window .window-app-icon{width:34px;height:36px}
  .legal-window .window-app-icon>.product-small{width:29px;height:29px}
  .legal-window>.window-content{padding:22px 18px 10px}
  .legal-window .legal-page h1{font-size:22px}
  .legal-window .legal-page p,.legal-window .legal-page li,.legal-window .legal-page .legal-intro{font-size:13px}
}

.book-line-art .product-small{width:44px;height:44px;object-fit:contain;padding:5px;border:1px solid var(--border);border-radius:12px;background:#fff8ec}.book-line-art .product-small:nth-child(2){background:#fbe3dc}.book-line-art .product-small:nth-child(3){background:#ece4f6}

/* Policy links open over the current task; direct legal URLs still work. */
.legal-document-dialog{box-sizing:border-box;width:min(700px,calc(100vw - 28px));max-width:none;max-height:72svh;padding:0;border:1px solid var(--border,#c5c8bd);border-radius:18px;background:var(--surface,#fffaf1);color:var(--ink,#1b3a5c);box-shadow:0 24px 80px #102a4355;overflow:hidden;font-family:'DM Sans',sans-serif}
.legal-document-dialog[open]{display:flex;flex-direction:column}
.legal-document-dialog::backdrop{background:#102a4366;backdrop-filter:blur(4px)}
.legal-document-close{width:44px;height:44px;flex-shrink:0;background:transparent;border:0;border-radius:8px;color:inherit;font:26px 'DM Sans',sans-serif;cursor:pointer}
.legal-document-close:hover{background:#1b3a5c12}
.legal-document-close:focus-visible{outline:3px solid var(--focus,#0d7377);outline-offset:2px}
.legal-document-dialog .window-content{flex:1 1 auto}
@media(max-width:600px){.legal-document-dialog{max-height:80svh;border-radius:15px}}
