/* V12.2 layout + modal stability overrides */
.app-shell{min-height:100vh}
.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:260px;height:100dvh;max-height:100dvh;z-index:1100;overflow:hidden;display:flex;flex-direction:column}
.side-nav{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar-foot{flex:0 0 auto;margin-top:0!important;background:var(--card);padding-bottom:4px}
.main{margin-left:260px!important;width:calc(100% - 260px);min-width:0;flex:1}
.topbar{width:100%;z-index:1000}
.content{width:100%!important;max-width:none!important;margin:0!important;padding:30px!important}
.modal{position:fixed!important;inset:0!important;z-index:2000!important;overflow-x:hidden;overflow-y:auto}
.modal-backdrop{position:fixed!important;inset:0!important;z-index:1990!important}
#modal .modal-dialog{width:auto;max-width:min(920px,calc(100vw - 32px));margin:1rem auto;min-height:calc(100% - 2rem);display:flex;align-items:center}
#modal .modal-content{width:100%;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}
#modal .modal-header,#modal .modal-footer{flex:0 0 auto}
#modal .modal-body{min-height:0;overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch}
#modal .modal-footer{position:relative!important;z-index:2}
.leaflet-container{z-index:1!important}
.leaflet-top,.leaflet-bottom{z-index:400!important}
.leaflet-popup-pane{z-index:700!important}
.trip-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.trip-actions .btn{font-size:12px}
.trip-actions .btn-danger-soft{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}
@media(max-width:991px){
 .sidebar{width:280px;transform:translateX(-100%);transition:transform .2s ease}
 .mobile-menu-open .sidebar{transform:translateX(0)}
 .main{margin-left:0!important;width:100%}
 .content{padding:20px 15px 85px!important}
 #modal .modal-dialog{max-width:calc(100vw - 16px);margin:8px auto;min-height:calc(100% - 16px)}
 #modal .modal-content{max-height:calc(100dvh - 16px)}
}
