/* Consultation selection: one persistent destination, then a focused review. */
html body.atc-selection-return-page { padding-bottom:100px; }
html body .atc-selection-return { position:fixed;z-index:240;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;min-height:52px;max-width:calc(100% - 40px);padding:14px 20px;border:1px solid var(--ui-control-border);border-radius:14px;background:var(--ui-raised);color:var(--ui-fg);font:600 14px/1.5 var(--atc-body);text-align:center;box-shadow:0 8px 28px oklch(from var(--atc-bg) l c h / .3),inset 0 1px 0 oklch(from var(--atc-fg) l c h / .18); }
html body .atc-selection-return[hidden] { display:none!important; }
html body .atc-selection-return:hover { color:var(--ui-fg);border-color:var(--ui-fg);text-decoration:underline;text-underline-offset:4px; }
html body .atc-selection-return:focus-visible { outline:3px solid var(--ui-accent-text);outline-offset:4px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) { --selection-dock-height:108px;padding-bottom:var(--selection-dock-height); }
html body.atc-selection-open { overflow:hidden; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) :is(button,a,input,select):focus-visible { outline:3px solid var(--ui-accent-text);outline-offset:4px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) [hidden] { display:none!important; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-intro { margin:40px 0 24px;padding-top:32px;border-top:1px solid var(--ui-border); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-intro h2 { font-family:var(--atc-display);font-size:clamp(24px,3vw,34px);line-height:1.25;letter-spacing:-.035em;margin:0 0 10px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-intro>p { max-width:70ch;color:var(--ui-muted);font-size:16px;line-height:1.65;margin:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:28px 0 0;padding:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-steps li { display:flex;align-items:center;gap:12px;padding-block:12px;border-top:1px solid var(--ui-control-border);font-size:14px;color:var(--ui-fg); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-steps span { font:12px var(--atc-mono);color:var(--ui-muted); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-steps strong { font-weight:600; }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-tools { margin-top:28px;padding:24px;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);gap:20px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .catalogue-tools :is(input,select) { background:var(--ui-field)!important;color:var(--ui-fg)!important; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .catalogue-meta { margin-block:20px; }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .log-row { display:flex!important;flex-direction:column;align-items:stretch;gap:18px;min-width:0;margin:0;padding:26px!important;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-surface);box-shadow:0 12px 30px oklch(from var(--atc-bg) l c h / .12),inset 0 1px 0 oklch(from var(--atc-fg) l c h / .05);transform:none!important; }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .log-row:hover { border-color:var(--ui-control-border);box-shadow:0 16px 36px oklch(from var(--atc-bg) l c h / .2); }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .log-row.atc-solution-selected { border-color:var(--ui-fg);box-shadow:inset 0 0 0 1px var(--ui-fg),0 12px 30px oklch(from var(--atc-bg) l c h / .15); }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .atc-catalogue-category { display:flex;align-items:center;gap:10px;font:12px/1.5 var(--atc-body);letter-spacing:.01em;text-transform:none;max-width:100%; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-catalogue-category img { width:32px!important;height:32px!important;flex-shrink:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .catalogue-list h3 { margin:0 0 10px;font-family:var(--atc-display);font-size:23px;line-height:1.3;letter-spacing:-.025em; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .catalogue-list h3 a { color:var(--ui-fg); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .catalogue-list h3 a:hover { text-decoration:underline;text-underline-offset:4px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .catalogue-list p { margin:0;color:var(--ui-muted);font-size:15px;line-height:1.65;text-wrap:pretty; }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .pull { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;max-width:none;width:100%;margin-top:auto;padding-top:8px;align-items:stretch; }
html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .pull>:is(a,button) { min-width:0;width:100%;min-height:48px;margin:0;padding:12px;font-size:14px;line-height:1.45;white-space:normal;text-align:center;justify-content:center;border-radius:12px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-toggle::before { content:'+';font:20px/1 var(--atc-body);flex-shrink:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-toggle[aria-pressed=true]::before { content:'✓';font-size:17px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-toggle { display:flex;align-items:center;gap:8px;background:var(--ui-raised)!important;color:var(--ui-fg)!important;box-shadow:inset 0 1px 0 oklch(from var(--atc-fg) l c h / .14),0 3px 8px oklch(from var(--atc-bg) l c h / .16); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-toggle:hover { border-color:var(--ui-fg); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-partner-catalogue { max-width:var(--container,1200px);margin:0 auto 64px;padding-inline:24px; }

/* Always-visible destination. Its measured height reserves space after the footer. */
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock { position:fixed;inset:auto 0 0;z-index:240;padding:16px max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border-top:1px solid var(--ui-control-border);background:var(--ui-surface);color:var(--ui-fg);box-shadow:0 -12px 40px oklch(from var(--atc-bg) l c h / .24); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-inner { max-width:1200px;margin:auto;display:flex;gap:18px;align-items:center; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-symbol { display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--ui-control-border);border-radius:14px;background:var(--ui-raised);flex-shrink:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-symbol svg { width:24px;height:24px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-copy { flex:1;min-width:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-title { display:flex;align-items:center;gap:10px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-title strong { font:600 17px/1.4 var(--atc-display); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-number { display:inline-grid;place-items:center;min-width:28px;min-height:28px;height:28px;padding:0 6px;border-radius:9px;background:var(--ui-raised);color:var(--ui-fg);font:600 13px/1 var(--atc-mono);flex-shrink:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-summary { color:var(--ui-muted);font:13px/1.5 var(--atc-body);margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-review,
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-ui-primary { border:1px solid var(--atc-accent)!important;background:var(--atc-accent)!important;color:var(--atc-action-ink)!important;border-radius:12px;min-height:48px;padding:13px 22px;font:650 14px/1.45 var(--atc-body);text-align:center;cursor:pointer;box-shadow:inset 0 1px 0 oklch(from var(--atc-fg) l c h / .45),0 4px 16px oklch(from var(--atc-accent) l c h / .14); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-review { max-width:42%;flex-shrink:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-review:hover,
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-ui-primary:hover { background:oklch(from var(--atc-accent) calc(l + .06) c h)!important;color:var(--atc-action-ink)!important;box-shadow:0 5px 20px oklch(from var(--atc-accent) l c h / .23); }

/* Native modal: list scrolling on tall screens; continuous scroll on short screens. */
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog { position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:min(560px,100%);height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:contain;max-width:100%;border:0;border-left:1px solid var(--ui-border);background:var(--ui-bg);color:var(--ui-fg);box-shadow:-24px 0 80px oklch(from var(--atc-bg) l c h / .45); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog:not([open]) { display:none; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog::backdrop { background:oklch(from var(--atc-bg) l c h / .72);backdrop-filter:blur(5px); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-shortlist-panel { min-width:0;display:flex;flex-direction:column;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:var(--ui-bg);container-type:normal; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-shortlist-head { flex-shrink:0;display:flex;align-items:center;gap:12px;padding:24px 28px;border-bottom:1px solid var(--ui-border); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog h2 { font:650 22px/1.35 var(--atc-display);letter-spacing:-.025em;margin:0;flex:1;min-width:0;overflow-wrap:anywhere; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-close { flex-shrink:0;min-width:44px;min-height:44px;padding:8px 12px;font:600 13px/1.4 var(--atc-body);border:1px solid var(--ui-control-border);border-radius:10px;background:var(--ui-raised);color:var(--ui-fg);cursor:pointer;box-shadow:inset 0 1px 0 oklch(from var(--atc-fg) l c h / .12),0 3px 8px oklch(from var(--atc-bg) l c h / .12); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-close:hover { border-color:var(--ui-fg); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-body { padding:24px 28px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-step { margin:0 0 12px;color:var(--ui-muted);font:12px/1.5 var(--atc-mono); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-help { margin:0 0 24px;font:15px/1.6 var(--atc-body);color:var(--ui-fg); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-items { display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-items li { display:flex;align-items:center;gap:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);padding:14px 16px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-items a { min-width:0;flex:1;color:var(--ui-fg);font:600 15px/1.5 var(--atc-body); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-items a:hover { text-decoration:underline;text-underline-offset:4px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-items button { min-height:44px;padding:8px 4px;max-width:36%;font:13px/1.4 var(--atc-body);color:var(--ui-fg); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-items button:hover { text-decoration-thickness:2px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer { flex-shrink:0;padding:20px 28px max(24px,env(safe-area-inset-bottom));border-top:1px solid var(--ui-border);background:var(--ui-surface); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer .atc-shortlist-actions { display:grid;gap:12px;margin:0; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-next { margin:0;font:13px/1.5 var(--atc-body);color:var(--ui-fg); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer .atc-ui-primary { display:flex;align-items:center;justify-content:center;text-decoration:none;white-space:normal; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer .atc-shortlist-reset { justify-self:center;min-height:44px;border:0;background:transparent;color:var(--ui-fg);text-decoration:underline;text-underline-offset:4px;box-shadow:none; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer .atc-shortlist-reset:hover { text-decoration-thickness:2px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-storage { margin:12px 0 0;font:12px/1.6 var(--atc-body);color:var(--ui-muted); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-empty { padding:28px 20px;border:1px dashed var(--ui-control-border);border-radius:16px;text-align:center; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-empty h3 { font:600 20px/1.4 var(--atc-display);color:var(--ui-fg);margin:0 0 12px; }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-shortlist-empty p { font:15px/1.6 var(--atc-body);margin:0 0 20px;color:var(--ui-muted); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-back { padding:12px 18px;min-height:48px;border:1px solid var(--ui-control-border);border-radius:12px;background:var(--ui-raised);color:var(--ui-fg);font:600 14px/1.4 var(--atc-body);cursor:pointer;box-shadow:inset 0 1px 0 oklch(from var(--atc-fg) l c h / .12),0 3px 8px oklch(from var(--atc-bg) l c h / .12); }
html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-back:hover { border-color:var(--ui-fg); }
@media (max-width:920px) {
 html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:600px) {
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) { --selection-dock-height:160px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-steps { gap:12px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-steps li { align-items:flex-start;flex-direction:column;gap:6px;font-size:12px; }
 html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-tools { padding:18px; }
 html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .log-row { padding:20px!important; }
 html body.atc-selection-page.atc-unified.atc-responsive.atc-visual-enhanced:is(#top,#atc-site) .catalogue-list .pull { grid-template-columns:minmax(0,1fr);gap:8px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .catalogue-list h3 { font-size:22px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock { padding:12px 16px max(12px,env(safe-area-inset-bottom)); }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-inner { display:grid;grid-template-columns:minmax(0,1fr);gap:10px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-symbol { display:none; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-title { justify-content:space-between; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-title strong { font-size:15px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-summary { margin-top:3px;font-size:12px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-review { width:100%;max-width:none;padding:11px 16px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-shortlist-head { padding:16px;gap:8px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog h2 { font-size:20px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-body { padding:20px 16px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer { padding:16px 16px max(16px,env(safe-area-inset-bottom)); }
}
@media (max-height:680px) {
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog { overflow-y:auto; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-shortlist-panel { height:auto;min-height:100%; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-body { flex:none;overflow:visible; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-shortlist-head { position:sticky;top:0;z-index:2;background:var(--ui-bg); }
}
@media (max-height:520px) {
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock { padding-block:8px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dock-inner { display:flex;gap:12px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-symbol { display:none; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-review { width:auto;max-width:48%;padding:10px 14px; }

 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog .atc-shortlist-head { padding-block:10px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer { padding-block:10px; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-footer .atc-shortlist-actions { grid-template-columns:1fr auto;gap:8px;align-items:center; }
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-next { grid-column:1/-1; }
}
@media (prefers-reduced-motion:no-preference) {
 html body.atc-selection-page.atc-unified:is(#top,#atc-site) .atc-selection-dialog[open] { animation:atc-selection-enter .22s ease-out; }
 @keyframes atc-selection-enter { from { opacity:.4;transform:translateX(24px); } to { opacity:1;transform:translateX(0); } }
}
