/* Shared, progressive mobile safeguards. No hiding of data or horizontal page clipping. */
html{scroll-padding-top:80px;-webkit-text-size-adjust:100%}
#kt_app_main,#kt_app_content,#kt_app_content_container,.app-main,.app-content,.app-container{min-width:0;max-width:100%}
.app-main img,.app-main video,.app-main iframe{max-width:100%}
.app-main .table-responsive{max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin}
.app-main :is(h1,h2,h3,h4,p,.alert,.card-title){overflow-wrap:break-word}
.app-main .card-title{min-width:0}
.mobile-table-region:focus-visible{outline:3px solid #438ce2;outline-offset:3px}
@media(max-width:1100px),(pointer:coarse){.app-main :is(.btn,.page-link,.form-select,.form-control,.historical-city-button){min-height:44px}}
@media(max-width:990px){
 .app-main .card-header{flex-wrap:wrap;gap:10px;min-height:0;padding:16px 18px}
 .app-main .card-header .card-title{margin:0}
 .app-main .card-body{padding:18px}
 .app-main .card-header .card-title h3{line-height:1.45;font-size:18px}
 .app-main .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .app-main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),.auth-page :is(input,select,textarea){font-size:16px!important;max-width:100%;min-width:0}
 .app-main :is(.btn,.page-link,.form-select,.form-control),.auth-page :is(.btn,.form-control,.form-select){min-height:44px}
 .app-main :is(.btn,.badge){white-space:normal;overflow-wrap:anywhere;line-height:1.45}
 .app-main .row>*{min-width:0}
 .app-main .dataTables_wrapper .row{row-gap:12px}
 .app-main .dataTables_wrapper :is(.dataTables_length,.dataTables_filter,.dataTables_info,.dataTables_paginate){max-width:100%;white-space:normal!important}
 .app-main .pagination{flex-wrap:wrap;gap:3px}
 .modal-dialog{width:auto;max-width:calc(100vw - 20px)!important;margin:10px auto}
 .modal-content{max-width:100%;min-width:0}
 .modal-header{gap:12px;align-items:flex-start}
 .modal-header>div{min-width:0;overflow-wrap:anywhere}
 .modal-header .btn-close{flex:none;min-width:30px;min-height:30px}
 .modal-dialog-scrollable{height:calc(100dvh - 20px)}
 .modal-dialog-scrollable .modal-body{overscroll-behavior:contain}
 .modal-footer{gap:8px;flex-wrap:wrap;padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}
 .modal-footer .btn{min-height:44px;margin:0;white-space:normal}
 .swal2-popup{max-width:calc(100vw - 24px)!important;padding:18px!important}
 .swal2-html-container{margin:12px 0!important;font-size:15px!important;overflow-wrap:anywhere}
 .swal2-actions{gap:8px}.swal2-actions button{min-height:44px}
 .app-main .mobile-card-table{border-collapse:separate;width:100%!important;min-width:0!important}
 .app-main .mobile-card-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .app-main .mobile-card-table,.app-main .mobile-card-table tbody{display:block}
 .app-main .mobile-card-table tbody tr{display:block;width:100%;margin:0 0 12px;padding:10px 14px;border:1px solid #dbe4ef;border-radius:14px;background:var(--bs-body-bg,#fff)}
 .app-main .mobile-card-table tbody :is(td,th){display:grid;grid-template-columns:minmax(90px,.72fr) minmax(0,1.28fr);gap:12px;width:auto!important;min-width:0!important;max-width:none!important;border:0!important;border-bottom:1px solid #e8edf4!important;padding:10px 0!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere;vertical-align:top}
 .app-main .mobile-card-table tbody :is(td,th)::before{content:attr(data-label);font-size:12px;color:var(--bs-gray-600,#596e85);font-weight:600;line-height:1.6}
 .app-main .mobile-card-table tbody :is(td,th):last-child{border-bottom:0!important}
 .app-main .mobile-card-table :is(td,th)[colspan]{display:block}
 .app-main .mobile-card-table [colspan]::before{content:none}
 .app-main .mobile-card-table .btn{font-size:13px;max-width:100%;padding:8px 10px}
}
@media(max-width:575px){
 #kt_app_content_container{padding-inline:12px!important}
 .app-main .card-header,.app-main .card-body{padding-inline:14px}
 .app-main .mobile-parity-panel{padding:15px}
 .app-main .mobile-parity-toolbar>*{min-width:0!important}
 .app-main .d-flex:not(.symbol):not(.app-navbar):not(.preference-order)>:is(.card-title,.flex-grow-1){min-width:0}
 .app-main .text-nowrap.mobile-wrap{white-space:normal!important}
 .modal-body{padding:16px}
}
@media(prefers-reduced-motion:reduce){.app-main *, .modal *, .swal2-popup *{scroll-behavior:auto!important;transition:none!important}}
