/* V15 mobile compatibility and touch layout hardening */
html,body{max-width:100%;overflow-x:hidden}.main,.content,#app{min-width:0}.card,.table-wrap,.grid2,.explore-grid,.tf-grid{min-width:0}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table-wrap table{max-width:none}.leaflet-container{max-width:100%}.modal-dialog{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:991px){
 .topbar{height:64px;gap:9px}.topbar .search-wrap{height:40px;min-width:0}.top-actions{gap:5px}.avatar{flex:0 0 auto}
 .content{padding:16px 12px calc(86px + env(safe-area-inset-bottom))!important}.page-head{gap:12px;margin-bottom:16px}.page-head h1{font-size:23px}.page-head .actions{width:100%}.page-head .actions>.btn,.page-head .actions>a.btn{flex:1 1 auto}
 .hero{border-radius:16px;padding:18px}.hero-actions{width:100%;flex-wrap:wrap}.hero-actions .btn{flex:1}
 .stats,.budget-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid2,.explore-grid,.tf-grid{grid-template-columns:minmax(0,1fr)!important}
 .card{border-radius:13px}.card-head,.card-body{padding:14px}.card-head{align-items:flex-start;flex-wrap:wrap}
 .table-wrap{margin:0 -2px;padding-bottom:4px}.table-wrap table{min-width:720px}.table-wrap th,.table-wrap td{padding:10px 11px}
 .map,.trip-map,.lh-map,.tf-map{height:min(58vh,520px)!important;min-height:340px!important}
 .bottom-nav{padding-bottom:env(safe-area-inset-bottom);z-index:1800}.bottom-nav button{min-height:54px;touch-action:manipulation}
 .sidebar{z-index:1900!important}.mobile-overlay{z-index:1850!important}
 .side-nav .nav-item{min-height:44px}.sidebar-foot{padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
 .modal{padding:0!important}.modal-dialog,#modal .modal-dialog{width:100%!important;max-width:100%!important;margin:0!important;min-height:100dvh!important;align-items:stretch!important}.modal-content,#modal .modal-content{border-radius:0!important;min-height:100dvh!important;max-height:100dvh!important}.modal-header,.modal-footer{padding:12px 14px}.modal-body{padding:14px!important}.modal-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}.modal-footer .btn{min-height:44px}
 .row>[class*="col-md-"]{width:100%;max-width:100%}
 .lh-search-grid{grid-template-columns:1fr!important}.lh-search-grid .lh-search-btn{grid-column:auto!important}.lh-locations{grid-template-columns:1fr!important}.lh-location{align-items:center}.lh-location-actions{flex-wrap:wrap;justify-content:flex-end}
 .tf-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tf-head{flex-direction:column}.tf-toolbar,.tf2-tools,.tf-map-actions{width:100%}.tf-toolbar .btn,.tf2-tools .btn{flex:1 1 auto}.tf-stop{align-items:flex-start}.tf-stop .tf-actions{flex:0 0 auto}
 .tp-calendar-grid{grid-template-columns:repeat(4,minmax(76px,1fr))!important;overflow-x:auto;padding-bottom:8px}.tp-cal-day{min-width:76px}.tp-cal-legend{width:100%;overflow-x:auto;white-space:nowrap}.tp-cal-quick{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.tp-cal-quick .btn{width:100%}
 .mobile-row-controls{display:inline-flex;gap:3px;margin-left:4px}.mobile-row-controls button{width:28px;height:28px;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--text);padding:0}
}
@media(max-width:600px){
 .stats,.budget-cards{grid-template-columns:1fr 1fr!important}.stats>div,.stat{min-width:0}.stats strong,.stat strong{overflow-wrap:anywhere}
 .topbar{padding:0 10px}.search-wrap{padding:0 10px}.search-wrap input{font-size:13px}.content{padding-left:10px!important;padding-right:10px!important}
 .page-head h1{font-size:21px}.page-head p{font-size:12px}.actions{width:100%}.actions .btn{flex:1 1 45%}
 .day-item{grid-template-columns:24px 42px minmax(0,1fr)!important;padding:11px 12px}.day-item>strong{display:none}.list{align-items:flex-start}.list time{white-space:nowrap}
 .country,.city-row{gap:8px}.city-row{grid-template-columns:20px minmax(0,1fr) auto}
 .tp-calendar-grid{grid-template-columns:repeat(3,minmax(76px,1fr))!important}
}
@media(max-width:390px){.stats,.budget-cards{grid-template-columns:1fr!important}.tp-calendar-grid{grid-template-columns:repeat(2,minmax(82px,1fr))!important}.bottom-nav span{font-size:9px}}
