/* Final responsive system: loaded after page styles so shared layout rules stay predictable. */
*,*::before,*::after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}img,video,iframe,canvas,svg{max-width:100%}.container,.content,.section,.page-hero,.admin-main,.admin-content,.portal-main,.portal-content,.dash-content{width:100%;max-width:100%;min-width:0}.admin-shell,.dashboard-shell,.portal-shell{align-items:start}.admin-main,.dashboard-shell>section,.portal-main{min-height:100dvh}.grid,.course-grid,.feature-grid,.steps,.admin-stats,.portal-stats,.dashboard-stats,.wallet-cards,.dash-grid,.portal-grid,.payment-layout,.split,.form-row,.responsive-form-grid{min-width:0}.grid>*,.course-grid>*,.feature-grid>*,.steps>*,.admin-stats>*,.portal-stats>*,.dashboard-stats>*,.wallet-cards>*,.dash-grid>*,.portal-grid>*,.form-row>*,.responsive-form-grid>*{min-width:0;max-width:100%}.card,.panel,.form-card,.step,.feature,.testimonial,.course-body,.course-catalog-card,.portal-action-card,.admin-stat{max-width:100%;min-width:0;overflow-wrap:anywhere}.card h1,.card h2,.card h3,.panel h1,.panel h2,.panel h3,.step h1,.step h2,.step h3,.course-title,.admin-content h1,.admin-content h2,.portal-title h1,.dash-title h1{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.btn,.admin-toolbar-actions,.admin-toolbar>span,.hero-actions,.receipt-actions,.registration-actions,.role-actions,.claim-actions,.table-actions{max-width:100%;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn{white-space:normal;overflow-wrap:anywhere}.form-control,input,select,textarea,button{max-width:100%;min-width:0}.form-row,.responsive-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap,.portal-table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.table-wrap table,.portal-table-wrap table{width:100%;min-width:680px}.table-wrap td,.table-wrap th,.portal-table td,.portal-table th{overflow-wrap:anywhere;word-break:break-word}.site-footer{max-width:100%;overflow:hidden}.footer-grid,.footer-bottom{min-width:0}.footer-grid>*{min-width:0;overflow-wrap:anywhere}.certificate-sheet,.student-id-card,.admin-id-card,.portal-id-card{width:100%;max-width:100%;min-width:0}.certificate-sheet{overflow:hidden}.certificate-sheet>img{width:100%;height:auto}.id-card-layout{min-width:0}.admin-id-card-stage{width:100%;max-width:100%;min-width:0;overflow:hidden}.admin-id-card{margin-inline:0}.admin-id-card[hidden]{display:none!important}.portal-id-card-top,.id-card-top{min-width:0;flex-wrap:wrap}.portal-id-card-top>*,.id-card-top>*{min-width:0}.nav-links,.dashboard-header-left,.dashboard-header-actions,.admin-header,.dash-header,.portal-header{min-width:0}.dashboard-header-actions{flex-wrap:wrap}.admin-sidebar,.dash-sidebar,.portal-sidebar{align-self:start;min-height:0;max-height:100dvh}.admin-nav,.dash-nav,.portal-sidebar nav{min-height:0;flex:1 1 auto;overflow-y:auto}.modal,.modal-dialog,.modal-content{max-width:calc(100vw - 24px)}.modal-content{max-height:calc(100dvh - 24px);overflow-y:auto}
@media(min-width:769px){.admin-shell{min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;max-height:100vh;align-self:start}.admin-main{min-height:100vh}.dash-sidebar{height:100vh;max-height:100vh;align-self:start}.portal-sidebar{height:100vh;max-height:100vh;align-self:start}}
@media(max-width:1200px){.admin-dashboard-grid{grid-template-columns:minmax(0,1fr)}.portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content h1{font-size:clamp(1.9rem,4vw,2.8rem)}}
@media(max-width:768px){.container{width:min(100% - 28px,var(--container))}.form-row,.responsive-form-grid,.split,.payment-layout{grid-template-columns:1fr!important}.course-grid,.feature-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats,.dashboard-stats,.wallet-cards,.portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content,.dash-content,.portal-content{padding-inline:14px}.admin-toolbar{align-items:stretch}.admin-toolbar-actions,.admin-toolbar>span,.admin-toolbar form{justify-content:flex-start;width:100%}.admin-toolbar form>*{flex:1 1 160px}.admin-content h1{font-size:clamp(1.8rem,7vw,2.5rem)}.admin-content h2,.portal-content h2,.dash-content h2{font-size:clamp(1.2rem,4vw,1.8rem)}.table-wrap table,.portal-table-wrap table{min-width:620px}.claim-actions,.table-actions,.role-actions{min-width:0;flex-wrap:wrap}.admin-id-card{margin-inline:auto}.certificate-overlay{font-size:clamp(7px,2vw,14px)}}
@media(max-width:480px){.container{width:calc(100% - 24px)}.course-grid,.feature-grid,.steps,.admin-stats,.dashboard-stats,.wallet-cards,.portal-stats{grid-template-columns:1fr!important}.hero-actions,.receipt-actions,.registration-actions,.admin-toolbar-actions{flex-direction:column;align-items:stretch}.hero-actions .btn,.receipt-actions .btn,.registration-actions .btn,.admin-toolbar-actions .btn{width:100%}.admin-content,.dash-content,.portal-content{padding-inline:12px}.table-wrap table,.portal-table-wrap table{min-width:560px}.admin-header,.dash-header,.portal-header{padding-inline:12px}.dashboard-header-actions{gap:6px}.header-logout{padding-inline:9px}.id-card-layout{grid-template-columns:1fr!important}.student-id-card{overflow:hidden}.id-card-meta{grid-template-columns:1fr 1fr}.id-card-main{gap:12px}.portal-id-card-top,.id-card-top{padding:15px}.modal,.modal-dialog,.modal-content{max-width:calc(100vw - 16px)}}
@media(max-width:360px){.admin-content,.dash-content,.portal-content{padding-inline:10px}.table-wrap table,.portal-table-wrap table{min-width:520px}.admin-content h1{font-size:1.75rem}.btn{width:100%}}
@media print{.admin-sidebar,.admin-header,.dash-sidebar,.dash-header,.portal-sidebar,.portal-header,.site-header,.site-footer,.admin-toolbar,.toast{display:none!important}.admin-content,.dash-content,.portal-content{padding:0!important}.admin-shell,.dashboard-shell,.portal-shell{display:block!important}.admin-id-card-stage{overflow:visible}}
/* Restore the centered page container: the full-width reset earlier in this file must not apply to .container (public page layout). */
.container{width:min(var(--container),calc(100% - 40px));max-width:var(--container);margin-inline:auto}
@media(max-width:768px){.container{width:min(100% - 28px,var(--container))}}
@media(max-width:480px){.container{width:calc(100% - 24px)}}
