/* One drawer and accessible menu control shared by every portal. */
.kd-mobile-menu,.kd-mobile-backdrop{display:none}
.kd-mobile-menu[hidden],.kd-mobile-backdrop[hidden]{display:none!important}
@media(max-width:991.98px){
 body.kd-has-menu #sidebarToggle,body.kd-has-menu #agentMenuBtn,body.kd-has-menu #customerMenuBtn,body.kd-has-menu #technicianMenuBtn,body.kd-has-menu .customer-menu-btn{display:none!important}
 .kd-mobile-menu{display:grid;place-items:center;position:fixed;top:max(12px,env(safe-area-inset-top));left:12px;width:44px;height:44px;z-index:1072;border:1px solid #d4dce8;border-radius:12px;background:#fff;color:#142943;font-size:25px;box-shadow:0 3px 14px #10234426}
 .kd-mobile-menu:focus-visible,.kd-mobile-backdrop:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
 .kd-mobile-backdrop{display:block;position:fixed;inset:0;z-index:1068;border:0;background:#07152e99;backdrop-filter:blur(2px)}
 .kd-mobile-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(300px,86vw)!important;max-width:86vw;height:100vh!important;height:100dvh!important;z-index:1070!important;display:flex!important;flex-direction:column;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))!important;transform:translateX(-105%)!important;transition:transform .22s ease;visibility:hidden}
 .kd-mobile-sidebar.show{transform:translateX(0)!important;visibility:visible}
 .kd-mobile-sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain}
 .kd-mobile-sidebar a{min-height:44px}
 .kd-mobile-sidebar .sidebar-brand,.kd-mobile-sidebar .admin-sidebar-brand,.kd-mobile-sidebar .customer-brand,.kd-mobile-sidebar .technician-brand{padding-right:62px!important}
 .kd-mobile-sidebar .sidebar-brand>div,.kd-mobile-sidebar .sidebar-brand>span:last-child,.kd-mobile-sidebar .admin-sidebar-brand>div,.kd-mobile-sidebar .customer-brand>span:last-child,.kd-mobile-sidebar .technician-brand>div{min-width:0;flex:1}
 .kd-mobile-sidebar .sidebar-brand strong,.kd-mobile-sidebar .admin-sidebar-brand strong,.kd-mobile-sidebar .customer-brand strong,.kd-mobile-sidebar .technician-brand strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.kd-menu-open{overflow:hidden}
 body.kd-menu-open .tooltip{display:none!important}
 body.kd-menu-open .kd-mobile-menu{left:calc(min(300px,86vw) - 54px)}
 .kd-has-menu .topbar,.kd-has-menu .customer-topbar{padding-left:68px!important}
 .kd-has-menu .main-content,.kd-has-menu .customer-main,.kd-has-menu .technician-main{margin-left:0!important;min-width:0}
 .kd-has-menu .main-content:not(:has(.topbar)),.kd-has-menu .customer-main:not(:has(.customer-topbar)){padding-top:76px}
 .customer-mobile-backdrop,.technician-backdrop{display:none!important}
 .kd-has-menu .table-responsive{max-width:100%;overflow-x:auto}
 .kd-has-menu input,.kd-has-menu textarea,.kd-has-menu select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.kd-mobile-sidebar{transition:none}}
@media print{.kd-mobile-menu,.kd-mobile-backdrop,.kd-install-link{display:none!important}}

/* Compact screens reserve a separate account-control row, then page content. */
@media(max-width:991.98px){
 body[data-role] .topbar,body[data-role] .customer-topbar{padding-top:76px!important;padding-left:16px!important;padding-right:16px!important;min-height:132px;gap:16px;position:relative}
 body[data-role] .kd-mobile-menu,body[data-role] .global-profile-button,body[data-role] .global-portal-logout,body[data-role] .global-notification-button{top:max(12px,env(safe-area-inset-top));height:44px;width:44px}
 body[data-role] .global-portal-logout{right:12px}body[data-role] .global-notification-button{right:68px}body[data-role] .global-profile-button{right:124px}
 body[data-role] .technician-portal-body>nav,body.technician-portal-body>nav,body.customer-legacy-body>nav{padding-top:76px!important;flex-wrap:wrap;gap:16px}
 .main-content,.customer-main,.technician-main,.customer-content,.technician-content{min-width:0;max-width:100%}
 .main-content>.p-4,.customer-content,.technician-content{padding:20px 16px!important}
 .content-card.p-4,.luxury-card.p-4,.luxury-icon-card.p-4{padding:20px!important}
 .luxury-card-header,.topbar>.d-flex,.customer-topbar>.d-flex{flex-wrap:wrap;gap:16px}
 .row{--bs-gutter-y:1.25rem}.d-flex.justify-content-between{gap:12px;flex-wrap:wrap}
 .d-flex>div,.d-flex>strong,.row>[class*="col-"]{min-width:0}
 h1,h2,h3,h4,h5,h6,p,.badge,.content-card,.luxury-card{overflow-wrap:anywhere}
 .badge{white-space:normal}.btn{min-height:44px;white-space:normal}.btn-group{flex-wrap:wrap;gap:8px}
 .form-control,.form-select{min-height:44px;max-width:100%;font-size:16px!important}
 .modal-dialog{margin:16px}.modal-footer{gap:12px}.modal-footer>*{margin:0}
 .table-responsive{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
 canvas{max-width:100%}.portal-hero,.luxury-hero{padding:24px 20px!important}
 .fs-2,.fs-3,.display-6{font-size:clamp(1.25rem,5vw,2rem)!important}
}
@media(max-width:359.98px){.row>.col-6{width:100%}.eft-details dl{grid-template-columns:1fr!important}}

@media(max-width:991.98px){.global-notification-panel{right:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 90px)}body.modal-open .kd-mobile-menu,body.modal-open .global-profile-button,body.modal-open .global-portal-logout,body.modal-open .global-notification-button{visibility:hidden}}
