html{
 -webkit-text-size-adjust:100%;
 scroll-behavior:smooth;
}
img,
video,
svg{
 max-width:100%;
 height:auto;
}
html,
body{
 overflow-x:hidden;
 max-width:100%;
}
.page-shell,
.top-nav {
 max-width:100%;
 overflow-x:clip;
}
/* Do not clip .app-layout — overflow-x:clip breaks position:sticky on the sidebar */
.app-layout{
 max-width:100%;
 overflow-x:visible;
}
.app-layout>main,
.app-layout>.app-sidebar,
.top-nav-inner,
.container-soft{
 min-width:0;
 max-width:100%;
}
@media (max-width:991.98px){
 .page-shell{
 overflow-x:hidden;
 width:100%;
}
 .top-nav .container-soft{
 width:100%;
 padding-left:clamp(0.5rem,2vw,0.85rem);
 padding-right:clamp(0.5rem,2vw,0.85rem);
}
 .app-layout{
 width:100%;
 overflow-x:hidden;
}
 .app-layout>main{
 overflow-x:hidden;
 width:100%;
}
 .app-layout main .row{
 margin-left:0;
 margin-right:0;
 max-width:100%;
}
 .dash-hero,
 .dash-hero-inner,
 .dash-hero-title,
 .dash-hero-sub,
 .dash-panel,
 .card-soft{
 max-width:100%;
 overflow-wrap:anywhere;
 word-break:break-word;
}
}
@media (min-width:1400px){
 .container-soft{
 max-width:1280px;
}
}
@media (min-width:992px) and (max-width:1199.98px){
 .app-layout{
 grid-template-columns:minmax(0,200px) minmax(0,1fr);
}
 .side-link{
 font-size:0.82rem;
 padding:7px 8px;
}
}
@media (max-width:991.98px){
 .app-sidebar{
 position:sticky;
 top:56px;
 z-index:50;
 width:100%;
 max-width:100%;
 min-width:0;
 box-sizing:border-box;
 overflow-x:auto;
 overflow-y:hidden;
 overscroll-behavior-x:contain;
}
 .app-sidebar .side-link{
 flex:0 0 auto;
}
}
@media (max-width:575.98px){
 .app-sidebar .side-link{
 font-size:0.78rem;
 padding:7px 10px;
}
}
@media (max-width:575.98px){
 .ph-title,
 .pay-due-title,
 .reports-title,
 .dash-hero-title{
 font-size:1.25rem;
}
 .section-title{
 font-size:1.05rem;
}
}
@media (max-width:767.98px){
 .app-layout main .btn-lg,
 .reports-load-btn,
 .ph-filter-btn,
 .ph-submit-btn,
 .pd-search-btn,
 .seats-setting-head .btn,
 .dash-btn-more{
 width:100%;
 max-width:100%;
}
 .reports-toolbar .row>[class*="col-"],
 .ph-toolbar-filter .row>[class*="col-"],
 .ph-toolbar-pay .row>[class*="col-"],
 .search-form .row>[class*="col-"],
 .pd-search-row{
 width:100%;
}
 .ph-summary-row .ph-stat--compact{
 flex:1 1 calc(50% - 0.35rem);
}
 .reports-toolbar .reports-load-btn,
 .ph-toolbar-filter .ph-filter-btn{
 margin-top:0.15rem;
}
}
@media (max-width:575.98px){
 .ph-summary-row{
 flex-direction:column;
}
 .ph-summary-row .ph-stat--compact{
 flex:1 1 100%;
 width:100%;
}
}
.reports-table-wrap,
.ph-pending-wrap,
.pay-due-table-wrap,
.search-table-scroll,
.app-layout main .table-responsive{
 max-width:100%;
 overflow-x:auto;
 -webkit-overflow-scrolling:touch;
}
@media (max-width:767.98px){
 .app-layout main .table{
 font-size:0.82rem;
}
 .app-layout main .table th,
 .app-layout main .table td{
 padding:0.45rem 0.4rem;
 white-space:nowrap;
}
 .reports-table thead th,
 .ph-pending-table thead th,
 .pay-due-table thead th,
 .search-table-head th{
 font-size:0.68rem;
}
}
@media (max-width:991.98px){
 .dash-hero-header{
 flex-direction:column;
 align-items:flex-start !important;
}
 .dash-hero-date{
 width:100%;
 text-align:left;
}
 .dash-panel-head{
 flex-direction:column !important;
 align-items:stretch !important;
}
 .dash-panel-head .dash-btn-more{
 width:100%;
 text-align:center;
}
}
@media (max-width:767.98px){
 .dash-stat-card{
 flex-direction:row;
 align-items:center;
}
 .dash-quick-tile{
 min-height:auto;
}
}
.seats-board,
.seats-board--compact{
 width:100%;
 max-width:100%;
 box-sizing:border-box;
}
#dashSeatBoardWrap,
#seatBoardWrap{
 max-width:100%;
 overflow-x:hidden;
}
@media (max-width:991.98px){
 .seats-board{
 grid-template-columns:repeat(auto-fill,minmax(min(88px,100%),1fr));
}
 .seats-board--compact{
 grid-template-columns:repeat(auto-fill,minmax(min(72px,100%),1fr));
}
}
@media (max-width:399.98px){
 .seats-board--compact{
 grid-template-columns:repeat(auto-fill,minmax(min(68px,100%),1fr));
 gap:5px;
}
 .seats-board{
 grid-template-columns:repeat(auto-fill,minmax(min(80px,100%),1fr));
 gap:8px;
}
}
.seats-board-tray,
.seats-board-wrap{
 max-width:100%;
 overflow-x:auto;
 -webkit-overflow-scrolling:touch;
}
@media (max-width:575.98px){
 .seats-setting-head{
 flex-direction:column;
 align-items:stretch !important;
}
 .seats-setting-head .btn{
 width:100%;
}
 .seats-setting-page .row.g-3>[class*="col-md"]{
 flex:0 0 100%;
 max-width:100%;
}
}
@media (max-width:575.98px){
 .pd-user-actions{
 flex-direction:column;
}
 .pd-btn-history,
 .pd-btn-pay{
 width:100%;
 text-align:center;
}
 .pd-user-top{
 flex-direction:column;
 align-items:center;
 text-align:center;
}
 .pd-user-fields{
 width:100%;
}
}
@media (max-width:767.98px){
 #cdMain .col-lg-7,
 #cdMain .col-lg-5,
 body[data-page="student-detail"] .col-md-8,
 body[data-page="student-detail"] .col-md-4,
 body[data-page="student-detail"] .col-md-6{
 flex:0 0 100%;
 max-width:100%;
}
}
@media (max-width:575.98px){
 #ccSeatGrid .seat-tile,
 #ccSeatGrid>*{
 flex:0 0 calc(33.333% - 6px);
 min-width:0;
}
}
@media (max-width:767.98px){
 body[data-page="notifications"] .row.g-2>[class*="col-md"],
 body[data-page="booking"] .row.g-2>[class*="col-md"]{
 flex:0 0 100%;
 max-width:100%;
}
 body[data-page="notifications"] .d-flex.justify-content-end{
 justify-content:stretch !important;
}
 body[data-page="notifications"] .d-flex.justify-content-end .btn{
 width:100%;
}
}
@media (max-width:575.98px){
 #profileUpdateForm>[class*="col-"]{
 flex:0 0 100%;
 max-width:100%;
}
 .profile-display-top,
 .profile-lib-block{
 flex-direction:column;
 align-items:flex-start;
 text-align:left;
}
}
@media (max-width:767.98px){
 .footer-main .row>[class*="col-"]{
 text-align:center;
}
 .footer-main a{
 display:inline-block;
 margin:0.15rem 0;
}
}
@media (max-width:575.98px){
 main.container-soft[style*="max-width"]{
 max-width:100% !important;
 width:100%;
}
 main .card-soft.mt-5,
 main .card-soft.mt-4{
 margin-top:1.25rem !important;
}
 .page-shell .row.g-3>[class*="col-md-3"]{
 flex:0 0 50%;
 max-width:50%;
}
}
@media (max-width:359.98px){
 .page-shell .row.g-3>[class*="col-md-3"]{
 flex:0 0 100%;
 max-width:100%;
}
}
@media (max-width:575.98px){
 .toast-container{
 width:min(calc(100% - 1rem),100%);
 top:max(4.25rem,env(safe-area-inset-top,0px)+3.75rem) !important;
}
}
@media (max-width:767.98px){
 .app-layout main .btn,
 .side-link,
 .top-nav-link{
 min-height:40px;
}
 .form-control,
 .form-select{
 font-size:16px;
}
}
.min-w-0{
 min-width:0;
}
.w-100-xs{
 width:100%;
}
@media (min-width:576px){
 .w-100-xs{
 width:auto;
}
}
