/* Shared responsive layout: public journeys and provider/management workspaces. */
.app-shell.layout-responsive{width:100%;max-width:1120px;min-width:0}
.app-shell.layout-responsive .form-card{min-width:0}
.app-shell.layout-responsive img{max-width:100%}
.app-shell.layout-responsive .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.app-shell.layout-responsive input,.app-shell.layout-responsive select,.app-shell.layout-responsive textarea{max-width:100%}
.app-shell.layout-responsive .provider-list>.empty-state{grid-column:1/-1}
@media(min-width:760px){
 body{padding:16px}
 .app-shell.layout-responsive,.app-shell.layout-responsive:has(.balanced-home){max-width:1120px;border-radius:24px;padding-bottom:82px;overflow:visible}
 .app-shell.layout-responsive.shell-admin{max-width:1280px;padding-bottom:0}
 .app-shell.layout-responsive .topbar{height:76px;padding:0 28px;border-radius:24px 24px 0 0}
 .app-shell.layout-responsive .nav-actions{gap:14px;font-size:14px}
 .app-shell.layout-responsive .bottom-nav{width:min(calc(100% - 32px),1120px);border-radius:16px 16px 0 0;padding-top:9px}
 .app-shell.layout-responsive .bottom-nav a{font-size:12px}
 .app-shell.layout-responsive .form-card{width:calc(100% - 48px);max-width:960px;margin:24px auto;padding:28px}
 .app-shell.layout-responsive .form-card.providers-shell,.app-shell.layout-responsive .form-card.provider-workspace{max-width:1060px}
 .app-shell.layout-responsive .form-card.gd-workspace{width:calc(100% - 48px);max-width:1180px;margin:24px auto;padding:28px}
 .app-shell.layout-responsive .form-card:has(input[autocomplete="one-time-code"]),.app-shell.layout-responsive .form-card:has(input[type="password"]){max-width:580px}
 .app-shell.layout-responsive .section{padding:18px 28px 24px}
 .app-shell.layout-responsive .hero{padding:32px 28px 20px}
 .app-shell.layout-responsive .hero h1{font-size:38px;line-height:1.15}
 .app-shell.layout-responsive .provider-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}
 .app-shell.layout-responsive .provider-filter-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
 .app-shell.layout-responsive .provider-filter-submit{grid-column:1/-1}
 .app-shell.layout-responsive .provider-filter-layout{grid-template-columns:minmax(0,1fr) 180px}
 .app-shell.layout-responsive .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app-shell.layout-responsive .dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .app-shell.layout-responsive .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .app-shell.layout-responsive .gd-grid,.app-shell.layout-responsive .gd-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app-shell.layout-responsive .home-hero{padding:24px 28px 8px}
 .app-shell.layout-responsive .home-hero-card{min-height:330px;padding:36px}
 .app-shell.layout-responsive .home-hero-copy,.app-shell.layout-responsive .gaodim-wide-hero .home-hero-copy{width:65%;max-width:680px}
 .app-shell.layout-responsive .home-hero h1,.app-shell.layout-responsive .gaodim-wide-hero h1{font-size:42px;line-height:1.12}
 .app-shell.layout-responsive .home-hero p{font-size:16px;max-width:560px}
 .app-shell.layout-responsive .home-hero-art.mockup-art{width:30%;max-width:300px;right:24px}
 .app-shell.layout-responsive .auto-problem-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .app-shell.layout-responsive .auto-issue-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .app-shell.layout-responsive .auto-group-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .app-shell.layout-responsive .home-cta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app-shell.layout-responsive .site-footer{margin:24px 28px 0;padding:20px 0 26px;display:flex;flex-direction:row;justify-content:space-between;text-align:left}
 .app-shell.layout-responsive .footer-identity{align-items:flex-start}
 .app-shell.layout-responsive .sticky-cta{position:static;margin:18px 0 0;padding:0;background:none}
 .app-shell.layout-responsive .gd-hero{margin:24px 24px 0}
 .app-shell.layout-responsive .workspace-banner{min-height:190px}.app-shell.layout-responsive .workspace-art{max-width:150px}
 .app-shell.layout-responsive .gd-nav{flex-wrap:wrap;white-space:normal;overflow:visible;padding:12px 24px}
 .app-shell.layout-responsive .gd-nav a{font-size:13px}
}
@media(min-width:1050px){
 .app-shell.layout-responsive .gd-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
 .app-shell.layout-responsive .auto-problem-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:759px){
 body{padding:0}
 .app-shell.layout-responsive,.app-shell.layout-responsive:has(.balanced-home){max-width:none;border:0;border-radius:0;box-shadow:none;padding-bottom:74px}
 .app-shell.layout-responsive .bottom-nav{width:100%;max-width:none}
 .app-shell.layout-responsive .provider-list{grid-template-columns:1fr}
 .app-shell.layout-responsive .form-card{max-width:none;width:auto;margin:14px 12px}
 .app-shell.layout-responsive .gd-grid,.app-shell.layout-responsive .gd-slots{grid-template-columns:1fr}
 .app-shell.layout-responsive .gd-workspace .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app-shell.layout-responsive .choice-grid{grid-template-columns:1fr}
 .app-shell.layout-responsive .gd-nav{overflow-x:auto;white-space:nowrap}
 .app-shell.layout-responsive .field input,.app-shell.layout-responsive .field select,.app-shell.layout-responsive .field textarea{font-size:16px}
}
@media(max-width:390px){
 .app-shell.layout-responsive .topbar{padding:0 10px}.app-shell.layout-responsive .nav-actions{gap:4px}
 .app-shell.layout-responsive .brand-crop{max-width:140px}
}

/* Three language choices remain reachable on compact screens. */
@media(max-width:600px){.app-shell.layout-responsive .topbar{height:auto;min-height:58px;gap:8px;padding-top:8px;padding-bottom:8px}.app-shell.layout-responsive .nav-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}.app-shell.layout-responsive .lang-switch{flex-shrink:0}.app-shell.layout-responsive .brand-crop{max-width:140px}.app-shell.layout-responsive .brand-mini{flex-shrink:0}}
