/* Shared containment: keep tables scrollable without hiding page overflow. */
#app,#app>section,.panel{min-width:0}
#app h1,#app h2,#app h3,#app p,#app label,#app summary,#app a{overflow-wrap:anywhere}
#app input,#app select,#app textarea{min-width:0;max-width:100%}
#app button{max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:44px}
#app .actions>*{min-width:0}
#practice .pr-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
#exams .ex-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
#calendar .cal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
#dashboard .learn-steps{border:1px solid #dce5f2;border-radius:18px;padding:20px;margin:20px 0;background:#f8fbff}
#dashboard .learn-steps a,#dashboard .learn-continue{display:inline-block;padding:12px 16px;border-radius:10px;margin:5px 7px 5px 0;min-height:44px;background:#edf3ff;color:#123d78;font-weight:650;text-decoration:none;overflow-wrap:anywhere}
#dashboard .hero .learn-continue{background:white;color:#123d78}
#dashboard .hero>div:first-child{min-width:0;flex:1}
#practice .pr-source [aria-current=page]{background:#123d78;color:white}
#practice .pr-source button{background:#edf3ff;color:#123d78}
@media(max-width:650px){
 #app input,#app select,#app textarea{font-size:16px}
 #app .panel{padding:16px 12px}
 #app .actions{gap:8px}
 #app button{margin-left:0;margin-right:0}
 #app .actions button{flex:0 1 auto}
 #mobile .mob-range label,#calendar .cal-inline label,#exams .ex-filters label{min-width:0;flex-basis:100%}
 #dashboard .tile{min-width:0;padding:14px;overflow-wrap:anywhere}
 #dashboard .tile strong{hyphens:auto}
 #dashboard .stats,#mobile .stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
 #mobile .financial-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
 #dashboard .hero{padding:22px 18px}
 #mobile details,#practice details,#exams details,#calendar details{padding:12px 6px}
 #app input[type=checkbox],#app input[type=radio]{min-width:20px;min-height:20px;vertical-align:middle}
}
@media(max-width:360px){#dashboard .tiles{grid-template-columns:1fr}#app .actions>button{flex-basis:100%}}
