/* Shared screen layout: preserve the existing identity and printed reports. */
@media screen {
 :root{--touch-target:44px;--page-gutter:clamp(16px,2.2vw,32px);--dock-clearance:calc(90px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-block:24px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .layout,.workspace,#main,#modal-body{min-width:0;max-width:100%}
 #main{width:100%;padding-inline:var(--page-gutter)}
 :where(.grid,.detail-grid,.filters,.row,.actions,.section-heading,.header-actions,.guest-banner,.preq-workspace-layout)>*{min-width:0}
 :where(.card,.empty,.page-intro,.notice,.section-heading,.preq-workspace-content,.preq-emphasis-editor){overflow-wrap:anywhere}
 :where(img,video){max-width:100%;height:auto}
 :where(button,.button,.journey-primary,.journey-secondary,summary):not(:where(#studio-stage *,.vb-presentation *,.as1-stage *,[data-stimulus] *)){min-height:var(--touch-target)}
 :where(button,.button,.journey-primary,.journey-secondary){white-space:normal;overflow-wrap:anywhere}
 :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){max-width:100%;min-height:var(--touch-target)}
 :where(label,legend){overflow-wrap:anywhere}
 fieldset{min-inline-size:0;max-width:100%}
 :where(.table-wrap,.preq-table-wrap,.responsive-scroll){max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;scrollbar-color:#779ac4 #edf4fc}
 .responsive-scroll:focus-visible,.table-wrap:focus-visible,.preq-table-wrap:focus-visible{outline:3px solid #30a8d7;outline-offset:3px}
 .responsive-scroll{margin-block:16px;border:1px solid var(--line);border-radius:12px}
 .responsive-scroll>table{margin:0}
 .responsive-scroll-note{color:var(--muted);font-size:.8rem;margin:6px 0 10px;line-height:1.5}
 .responsive-scroll-note[hidden]{display:none}
 .preq-report{min-width:0;overflow-wrap:anywhere}
 .preq-report :where(.preq-source-record,.preq-source,.preq-auto,.preq-chart,.preq-test,.preq-hc-group,.preq-clinical){min-width:0;max-width:100%}
 .preq-report :where(svg,canvas){max-width:100%;height:auto}
 .preq-report .preq-rey-panel img{width:100%;height:auto;object-fit:contain}
 .preq-report :where(.preq-cover-logos,.preq-report-heading){flex-wrap:wrap;gap:16px}
 .preq-report .preq-cover-logos img{margin:0;max-width:100%;object-fit:contain}
 dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scroll-padding-block:60px 24px}
 dialog .close{width:44px;height:44px;min-width:44px;z-index:10;background:#f0f6fc;box-shadow:0 2px 9px #12345612}
 dialog :where(input,select,textarea,[contenteditable=true]){scroll-margin-block:70px 24px}
 #toast{max-width:min(560px,calc(100vw - 32px));overflow-wrap:anywhere}
 .responsive-nav-close{display:none}
 .responsive-demo-options{display:contents}
 .responsive-demo-options>summary{display:none}
 .responsive-demo-options>div{display:flex;gap:8px;flex-wrap:wrap}
}
@media screen and (max-width:1023px){
 .workspace>header{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px 12px;padding:12px var(--page-gutter);min-height:0}
 .workspace>header>div:not(.header-actions){width:auto;min-width:0}
 .workspace>header>.header-actions{grid-column:1/-1;width:100%;min-width:0;gap:8px}
 .workspace>header #guide-tools{flex:1 1 260px;gap:8px}
 #mobile-menu-button{width:48px;height:48px;padding:11px}
 #mobile-dock{padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom));gap:4px}
 #mobile-dock a,#mobile-dock button{min-height:48px;min-width:0;padding:6px 2px;font-size:.72rem}
 #mobile-dock span{display:block;max-width:100%;font-size:clamp(11px,.68rem,14px);text-align:center;overflow-wrap:anywhere}
 .layout>aside{width:min(360px,calc(100vw - 48px));height:100dvh;max-height:100dvh;padding:20px 16px;overscroll-behavior:contain}
 .layout>aside .brand{padding-right:40px;flex-shrink:0}
 .layout>aside #nav{min-height:0;overflow:auto;overscroll-behavior:contain}
 .layout>aside .responsive-nav-close{display:grid;place-items:center;position:absolute;right:10px;top:12px;width:44px;min-height:44px;padding:0;font-size:26px}
 #nav-shade{width:100%;height:100%;padding:0}
 #main{padding-bottom:32px}
 .workspace>footer{padding-bottom:var(--dock-clearance)}
 #toast{bottom:var(--dock-clearance)}
 .guest-banner>div{flex-wrap:wrap;flex:1 1 100%;gap:8px}
 .guest-banner button{flex:1 1 140px}
 .responsive-demo-options{display:block;width:100%}
 .responsive-demo-options>summary{display:flex;align-items:center;gap:8px;cursor:pointer;color:#174b85;font-weight:700;list-style:none}
 .responsive-demo-options>summary::after{content:'＋';margin-left:auto;font-size:1.2rem}
 .responsive-demo-options[open]>summary::after{content:'−'}
 .responsive-demo-options>div{padding-top:8px}
 .preq-editor-toolbar{position:static;flex-wrap:wrap}
 .preq-workflow-rail .preq-tabs{scroll-padding-inline:6px}
 .preq-workflow-rail .preq-step{min-height:48px}
 .preq-report .preq-source-record>header{display:flex;flex-wrap:wrap;height:auto;gap:8px;padding:10px 0}
 .preq-report .preq-source-record>header>*{min-width:0;max-width:100%}
 :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.preq-emphasis-editor){font-size:max(16px,1rem)}
}
@media screen and (min-width:761px) and (max-width:1023px){
 .journey-home-hero{padding:30px}
 .journey-home-hero h1{font-size:clamp(2rem,4vw,2.7rem)}
 .journey-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .guest-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
 .grid.two,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:600px){
 .workspace>header .header-actions>#guide-tools{flex-basis:100%}
 #guide-tools button,#guide-tools a{flex:1 1 auto;text-align:center}
 .header-actions #access{flex:1 1 100%}
 .section-heading,.card-top,.preq-test-heading,.preq-evaluation-bar{flex-wrap:wrap}
 .section-heading>:where(.actions,button,.button){max-width:100%}
 .actions{gap:8px;align-items:stretch}
 .actions>:where(button,.button,a){flex:1 1 140px;min-width:0;text-align:center}
 :where(.filters,.detail-grid,.grid.two,.grid.three,.preq-custom-row,.preq-test-browser-tools,.preq-review-tools,.preq-catalog-tools){grid-template-columns:minmax(0,1fr)}
 .filters input{grid-column:auto}
 .preq-report :where(.preq-facts,.preq-localization,.preq-report-index){grid-template-columns:1fr}
 .preq-report .preq-cover{padding:16px}
 .preq-report .preq-fact{display:block;padding:10px 0}
 .preq-report .preq-cover-logos img{max-width:100%;max-height:70px}
 .preq-report .preq-network-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .preq-report .preq-network-brand{min-width:0;border:0;padding:0;justify-content:center}
 .preq-report .preq-network-brand:first-child{grid-column:1/-1}
 #preq-content>.preq-report{padding:12px 4px;box-shadow:none;border:0}
 .preq-report :where(.preq-hc-group,.preq-source-record,.preq-clinical,.preq-auto){padding-inline:12px}
 .preq-report .preq-narrative,.preq-report .preq-hc p,.preq-report .preq-clinical p,.preq-report .preq-source-record>p{font-size:1rem;line-height:1.75;text-align:left}
 .preq-report .preq-source{display:block}
 .preq-report .preq-source dd{margin:3px 0 12px}
 .preq-report .preq-rey-row{grid-template-columns:minmax(0,1fr)}
 .preq-catalog{grid-template-columns:minmax(0,1fr)}
 dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:18px 14px;border-radius:16px;max-height:calc(100dvh - 16px)}
 dialog .close{margin:-6px -2px 8px 8px}
 dialog .actions{padding-top:12px}
 dialog .actions>:where(button,.button){flex:1 1 130px}
 .preq-workspace-content,.card{padding:18px}
 :root[data-text=larger] .journey-cards,:root[data-text=larger] .guest-quick{grid-template-columns:1fr}
 :root[data-text=larger] .guest-progress{grid-template-columns:minmax(0,1fr)}
 .guest-progress>div,.guest-progress>a,.guest-progress span{min-width:0;overflow-wrap:anywhere}
}
@media screen and (max-width:380px){
 .guest-quick,.guide-lessons{grid-template-columns:minmax(0,1fr)}
 .journey-home-hero{padding:22px 16px}
 .journey-home-hero h1{font-size:1.85rem}
 .guest-progress{gap:14px;padding:16px}
 .guest-banner button{flex-basis:100%}
 .journey-strip{display:flex;overflow-x:auto;scroll-snap-type:x proximity}
 .journey-strip a{flex:0 0 92px;scroll-snap-align:start;font-size:.75rem}
}
@media screen and (max-height:520px){
 .layout>aside .aside-bottom{display:none}
 .preq-editor-toolbar,.preq-workflow-rail{position:static}
 dialog{max-height:calc(100dvh - 12px);margin:6px auto}
}
@media screen and (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.responsive-scroll{border:0;margin:0;overflow:visible!important}.responsive-scroll-note,.responsive-nav-close{display:none!important}}
