.mobile-toolbar,.mobile-booking-bar{display:none}
.mobile-plot-select{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
.mobile-plot-select input{margin:0}
.map-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.map-zoom button{min-width:44px;min-height:44px}
.map-scroll{overscroll-behavior-x:contain;scroll-margin-top:70px}
.map-scroll svg,.map-scroll .original-map{min-width:0;max-width:none;height:auto}
@media(max-width:800px){
 .mobile-toolbar{display:flex;align-items:center;gap:14px;padding:8px 14px;background:var(--nav);color:#e0eef7;position:sticky;top:0;z-index:4}
 .mobile-toolbar button{min-height:44px;border-color:#476071;background:#23455f;color:white;white-space:nowrap}
 .mobile-toolbar span{font-size:14px;font-weight:600}
 #appNav{display:none;padding:10px 14px 14px;overflow:visible}
 #appNav.mobile-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:sticky;top:60px;z-index:4;box-shadow:0 8px 16px #12334b22}
 #appNav button{min-height:46px;white-space:normal;padding:10px;text-align:left;line-height:1.4}
 header{grid-template-columns:minmax(0,1fr)}
 #appNav .sidebar-brand{grid-column:1/-1;flex-direction:row;justify-content:flex-start;gap:8px;margin-bottom:4px;padding:8px 10px;text-align:left}
 #appNav .sidebar-brand .brand-logo{width:80px;height:58px}
 #appNav .sidebar-brand .brand-title{flex:1;min-width:0}
 main{padding:20px 14px;margin:0;scroll-margin-top:70px}
 .metric{min-width:0}
 .metric strong{overflow-wrap:anywhere;font-size:18px}
 button,.button-link{min-height:44px}
 input,select,textarea{font-size:16px;min-height:44px}
 input[type=checkbox]{min-height:0;width:24px;height:24px;flex-shrink:0}
 .grid,.grid.two,.grid.four{grid-template-columns:1fr}
 .padded,.payment-box{padding:16px}
 .actions{gap:8px}
 .actions button{max-width:100%;white-space:normal}
 dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:94vh;max-height:94dvh;padding:16px;border-radius:12px;overflow:auto;overscroll-behavior:contain}
 .dialog-head{gap:10px;margin-bottom:16px}
 .dialog-head h2{font-size:21px;line-height:1.3}
 .dialog-head button{flex-shrink:0;min-width:44px}
 .dialog-foot{position:static;display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;margin-top:16px}
 .dialog-foot button{flex:1 1 180px;white-space:normal}
 label.inline{align-items:flex-start;padding:10px 0;line-height:1.5}
 label.inline input{margin-top:0;flex-shrink:0}
 details>summary{padding:8px 0;min-height:44px}
 .mobile-booking-active{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 .mobile-booking-bar:not([hidden]){position:fixed;display:flex;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));background:white;border-top:1px solid #b5d6d9;box-shadow:0 -5px 20px #12334b14;z-index:5}
 .mobile-booking-bar span{font-size:13px;font-weight:650;line-height:1.4}
 .mobile-booking-bar button{flex-shrink:0;font-size:14px}
 .cart{padding:16px}
 .cart h2{font-size:26px}
 .map-tools{gap:8px}
 .map-tools input{flex:1 1 140px;width:0}
 .map-tools button{font-size:14px;padding:9px 12px}
 .legend{gap:8px 12px;font-size:12px}
 .map-scroll{max-height:65vh;max-height:65dvh}
 .filters{padding:14px}
 .filters button{flex-shrink:0}
 .cash-breakdown{gap:8px 16px}
}
@media(max-width:640px){
 .table-wide{overflow:visible}
 table.mobile-cards,table.mobile-cards tbody{display:block;width:100%;font-size:14px}
 table.mobile-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 table.mobile-cards tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:10px;border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden}
 table.mobile-cards tbody tr.auto-balance{background:#e7f8ed}
 table.mobile-cards tbody tr.booking-payment{background:#f1f8fa}
 table.mobile-cards tbody td{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px 12px;min-width:0!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere;border-bottom:1px solid #edf2f6}
 table.mobile-cards tbody td::before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--muted);line-height:1.4}
 table.mobile-cards tbody td[data-label=""]::before{display:none}
 table.mobile-cards tbody td.mobile-row-title{grid-column:1/-1;background:#edf5f8;font-size:17px;font-weight:700}
 table.mobile-cards tbody td:has(input,select,textarea,button),table.mobile-cards tbody td[colspan],table.mobile-cards tbody td:has(.account-plot-list){grid-column:1/-1}
 table.mobile-cards tbody td:empty{display:none}
 table.mobile-cards .table-empty-row{display:block}
 table.mobile-cards .empty{padding:20px 12px}
 table.mobile-cards input,table.mobile-cards select{display:block;width:100%;min-width:0!important;max-width:none!important}
 table.mobile-cards button{white-space:normal;max-width:100%}
 table.mobile-cards .schedule-note{min-height:0;line-height:1.5}
 .account-plot-list{min-width:0;max-width:none}
 .sale-overview .sale-plot-count{font-size:27px}
 #availableTable,#availableTable thead,#availableTable tbody{display:block;width:100%}
 #availableTable thead{position:sticky;top:0;z-index:1;background:#edf3f7}
 #availableTable thead tr{display:block}
 #availableTable th{position:static}
 #availableTable th:not(:first-child){display:none}
 #availableTable th:first-child{display:flex;align-items:center;gap:12px;padding:12px}
 #availableTable th:first-child::after{content:'Dikh rahe sabhi plots chunein';font-weight:600;font-size:13px}
 #availableTable tbody tr{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);gap:4px 8px;padding:10px 12px;border-bottom:1px solid var(--line)}
 #availableTable td{display:block;min-width:0;border:0;padding:0;white-space:normal;overflow-wrap:anywhere}
 #availableTable td:first-child{grid-column:1;grid-row:1/4}
 #availableTable td:nth-child(2){grid-column:2/-1;font-size:18px;font-weight:750}
 #availableTable td:nth-child(2)::before{content:'Plot ';font-size:14px;font-weight:500;color:var(--muted)}
 #availableTable td:nth-child(3)::before{content:'Area / gaj';display:block;font-size:11px;color:var(--muted)}
 #availableTable td:nth-child(4)::before{content:'PLC / gaj';display:block;font-size:11px;color:var(--muted)}
 #availableTable td:nth-child(5){grid-column:2/-1;font-size:12px;color:var(--muted);line-height:1.5}
 #availableTable td[colspan]{grid-column:1/-1!important;grid-row:auto!important;padding:20px 10px}
 .table-scroll{min-height:200px;max-height:54vh;max-height:54dvh}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .payment-count{max-width:none}
 .payment-count input{max-width:140px}
}
@media(max-width:360px){.metrics{grid-template-columns:1fr}.mobile-booking-bar{gap:8px}.mobile-booking-bar button{padding:10px}.owner-title small{letter-spacing:0}}
