/* Project-wide responsive safety layer. Loaded last so every page shares it. */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{width:100%;max-width:100%;overflow-x:hidden}main{display:block;width:100%;min-width:0}img,svg,video,canvas{max-width:100%}input,select,textarea,button{max-width:100%}.container,.container-fluid,.row,[class*=col-]{min-width:0}.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:620px}.btn,.gold-button,.form-control,.form-select{min-height:44px}.icon-link{max-width:100%}

@media(max-width:991.98px){
 .user-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-metrics>div{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:767.98px){
 .navbar{height:auto!important;min-height:62px;padding:9px 12px!important;gap:8px}.navbar-brand{max-width:45%;font-size:1rem}.navbar .ms-auto{min-width:0;gap:6px!important}.navbar .btn{min-height:38px;padding:.4rem .6rem;font-size:.75rem}.navbar form{margin:0}.navbar+main{min-height:0}
 .gold-hero{min-height:auto}.gold-hero__copy{padding:48px 20px 190px}.gold-hero h1{font-size:clamp(3.4rem,18vw,5rem)}.gold-features article{padding:24px 18px}.hero-actions{width:100%}.hero-actions .gold-button{width:100%;max-width:340px}.text-link{padding:8px 0}
 .user-home,.simple-admin,.admin-shell,.provider-shell{min-height:calc(100svh - 62px);padding:30px 14px 46px}.user-home>header h1,.simple-admin>header h1{overflow-wrap:anywhere}.user-actions{grid-template-columns:1fr;margin-top:28px}.user-actions>a{min-height:215px;padding:22px}.simple-admin>header{display:block}.simple-admin>header>a{display:inline-flex;margin-top:18px}.simple-status{grid-template-columns:auto minmax(0,1fr);padding:17px}.simple-status>a{grid-column:2}.simple-step-grid{grid-template-columns:1fr}.simple-step-grid>a{min-height:145px}.simple-metrics>div{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-advanced summary{align-items:flex-start}.simple-advanced summary>b{white-space:nowrap}
 .user-recent>div:first-child{display:block}.user-recent h2{margin-top:7px}.user-recent__list>a{grid-template-columns:minmax(0,1fr) auto;gap:10px}.user-recent__list b{display:none}
 .chat-shell{height:calc(100svh - 62px);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.chat-sidebar{display:flex!important;gap:8px;padding:9px 10px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden}.chat-sidebar>.btn{flex:0 0 auto;width:auto!important;margin:0!important}.chat-sidebar>label,.chat-sidebar>input{display:none}.chat-sidebar #conversations{display:flex;gap:6px}.chat-sidebar .conversation{flex:0 0 auto;max-width:180px;padding:9px 11px}.chat-main{height:auto!important;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}.chat-header{align-items:flex-start;gap:9px;padding:10px 12px}.chat-header>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header>div{flex-wrap:wrap;justify-content:flex-end}.chat-header select{width:155px}.messages{min-height:0;padding:12px}.bubble{max-width:86vw;overflow-wrap:anywhere}.composer{width:calc(100% - 16px);margin:8px auto max(8px,env(safe-area-inset-bottom));padding:7px}.composer textarea{min-width:0}
 .provider-head h1{font-size:clamp(2.6rem,13vw,4rem)}.provider-card,.provider-guide,.provider-saved{padding:20px 16px}.provider-card__title{gap:12px}.provider-card .gold-button{width:100%;min-width:0}.provider-list article{overflow-wrap:anywhere}.provider-list article p{word-break:break-word}
 .container,.container-fluid{padding-left:14px!important;padding-right:14px!important}.container.py-5{padding-top:2rem!important;padding-bottom:2rem!important}.card.p-4{padding:1.1rem!important}.d-flex.justify-content-between{gap:12px;flex-wrap:wrap}.d-flex.align-items-center{flex-wrap:wrap}.row>.col{flex:0 0 100%;width:100%}
 .practice-messages{max-height:calc(100svh - 300px);overflow-y:auto}.score-ring{width:125px;height:125px;font-size:38px}
 .app-footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}

@media(max-width:479.98px){
 .navbar-brand{max-width:38%}.navbar-brand-logo{max-width:86px}.navbar .btn-outline-primary{font-size:0;width:38px;padding:0;justify-content:center}.navbar .btn-outline-primary .app-icon{font-size:1rem}.navbar .btn-outline-secondary{font-size:.68rem;padding-inline:.48rem}
 .auth-stage{min-height:calc(100svh - 62px);padding:16px 10px}.auth-card--gold{padding:25px 17px}.auth-card--gold h2{font-size:2.35rem}.auth-card--gold .row{gap:14px!important}.auth-card--gold .col-sm-6{width:100%}
 .simple-metrics>div{grid-template-columns:1fr 1fr}.simple-metrics article{padding:16px 12px}.simple-advanced summary{padding:17px 14px}.simple-advanced summary>b{font-size:0}.simple-advanced summary>b::after{content:'＋';font-size:1rem}.simple-advanced nav a{padding-inline:14px}
 .chat-header{display:grid}.chat-header>div{justify-content:flex-start}.chat-header select{width:min(100%,190px)}.bubble{max-width:90vw}.message-actions button{min-height:34px}.composer button{flex:0 0 40px}
 .voice-preset-grid{grid-template-columns:1fr}.provider-head{margin-bottom:24px}.provider-fields{gap:15px}.provider-card__title h2{font-size:1.4rem}.brand-color-field{grid-template-columns:48px minmax(0,1fr)}
 .table{font-size:.78rem}.table td,.table th{padding:.6rem}.table .d-flex{flex-wrap:nowrap}.alert{padding:.8rem;font-size:.82rem}
}

@media(max-width:340px){
 .navbar{padding-inline:8px!important}.navbar-brand{max-width:34%}.navbar-brand span:last-child{display:none}.navbar .btn{padding-inline:.4rem}.gold-hero__copy{padding-inline:15px}.user-home,.simple-admin,.admin-shell,.provider-shell{padding-inline:10px}.simple-metrics>div{grid-template-columns:1fr}.composer textarea{padding-inline:4px}.provider-card,.provider-guide,.provider-saved{padding-inline:13px}
}

@media(max-height:500px) and (orientation:landscape){
 .auth-stage{place-items:start center;overflow:auto}.gold-hero__copy{padding-top:30px}.practice-messages{max-height:45vh}.user-actions>a{min-height:180px}
}

@media(hover:none) and (pointer:coarse){a,button,label,select{touch-action:manipulation}.btn-sm{min-height:40px}.conversation{min-height:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

.chat-sidebar__head,.chat-history-open,.chat-history-close,.chat-history-backdrop{display:none}
@media(max-width:767.98px){
 .chat-shell{height:calc(var(--chat-viewport-height,100svh) - 62px);grid-template-rows:minmax(0,1fr)}
 .chat-sidebar{position:fixed;inset:0 auto 0 0;z-index:1050;display:block!important;width:min(86vw,330px);padding:18px 14px;overflow-y:auto;transform:translateX(-102%);transition:transform .22s ease}
 .chat-history-visible .chat-sidebar{transform:translateX(0)}.chat-sidebar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
 .chat-history-close,.chat-history-open{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:10px;background:#15171b;color:#e9dfca}.chat-history-close{font-size:1.6rem}
 .chat-history-backdrop{position:fixed;inset:0;z-index:1040;display:block;border:0;background:rgba(0,0,0,.68);opacity:0;visibility:hidden;transition:.2s}.chat-history-visible .chat-history-backdrop{opacity:1;visibility:visible}.chat-history-visible{overflow:hidden}
 .chat-sidebar>.btn{width:100%!important}.chat-sidebar>input{display:block}.chat-sidebar #conversations{display:grid}.chat-sidebar .conversation{max-width:none;min-height:48px;padding:11px 12px}
 .chat-main{height:100%!important}.chat-header{align-items:center;grid-template-columns:auto minmax(0,1fr) auto}.messages{overscroll-behavior:contain}.composer{width:calc(100% - 8px);margin-block:6px}.composer textarea{font-size:16px}.composer button,.message-actions button{min-width:44px;min-height:44px}
}
