/* SASH CRM mobile layer — only applies below 768px; desktop untouched. */
@media (max-width:767px){
html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{font-size:15px}
input,select,textarea,button{font-size:16px!important;min-height:44px}
input[type=checkbox]{min-height:0;width:22px;height:22px}
a,button{touch-action:manipulation}
/* ---------- generic: tables become stacked cards ---------- */
table.mcards,table.mcards tbody{display:block;width:100%}
table.mcards tr{display:block;border:1px solid #eee;border-radius:10px;margin:8px 10px;padding:8px 12px;background:#fff}
table.mcards tr:first-child:has(th){display:none}
table.mcards td{display:flex;gap:10px;white-space:normal!important;max-width:none!important;border:0!important;padding:3px 0!important;overflow:visible!important;font-size:14px}
table.mcards td[data-l]:not(:empty)::before{content:attr(data-l);flex:0 0 96px;color:#888;font-size:12px;padding-top:2px}
table.mcards td:empty{display:none}

/* ---------- main CRM (/) ---------- */
body.crm{display:block;height:auto}
body.crm nav{width:auto;border-right:0;border-bottom:1px solid #eee;padding:10px 12px;position:sticky;top:0;background:#fff;z-index:20}
body.crm nav h1{display:flex;align-items:center;justify-content:space-between;margin:0}
body.crm nav #mnav-t{border:1px solid #ddd;border-radius:8px;background:#fff;padding:0 14px;min-height:44px}
body.crm nav>#tabs,body.crm nav>.b{display:none}
body.crm.nav-open nav>#tabs,body.crm.nav-open nav>.b{display:block}
body.crm nav a{padding:11px 8px;font-size:15px}
body.crm main{display:block}
body.crm .bar{position:sticky;top:65px;background:#fff;z-index:10;gap:6px}
body.crm .bar #q{flex:1 1 100%}body.crm .bar select{flex:1 1 30%}
body.crm .wrap{overflow:visible}
body.crm table.mcards tr.g{background:#f6f6f6;border:0;padding:6px 12px}
body.crm table.mcards tr.g td::before{display:none}
body.crm table.mcards tr.r td:nth-child(n+8){display:none}
body.crm table.mcards tr.r td:nth-child(1),body.crm table.mcards tr.r td:nth-child(2){font-weight:600}
body.crm #dr{width:100%!important;padding:14px 14px 40px}
body.crm #dr .x{min-width:44px;min-height:44px}

/* ---------- territories ---------- */
body.terr header{flex-wrap:wrap;gap:8px;padding:10px 12px}
body.terr header h1{flex:1 1 auto}body.terr header #ter{flex:1 1 60%}body.terr header #cnt{flex:1 1 100%;order:5;font-size:13px}
body.terr header a{min-height:44px;display:flex;align-items:center}
body.terr .cats{flex-wrap:nowrap;overflow-x:auto;padding:8px 12px;-webkit-overflow-scrolling:touch}
body.terr .cat{min-width:96px;flex:none;padding:8px 10px}body.terr .cat b{font-size:18px}
body.terr .mtools{display:flex;gap:8px;padding:6px 12px;position:sticky;top:0;background:#fff;z-index:15;border-bottom:1px solid #eee}
body.terr .mtools .seg{display:flex;border:1px solid #ddd;border-radius:9px;overflow:hidden}
body.terr .mtools .seg button{border:0;border-radius:0;min-width:64px}
body.terr .mtools .seg button.on{background:#111;color:#fff}
body.terr .mtools #mf-btn{margin-left:auto}
body.terr .bar{display:none;padding:8px 12px}
body.terr.f-open .bar{display:flex}
body.terr .bar>*{flex:1 1 45%}body.terr .bar #q{flex:1 1 100%}
body.terr .bar>span[style*="flex:1"]{display:none}
body.terr .mqs{padding:6px 12px}body.terr .mqs input{width:100%;box-sizing:border-box}
body.terr .grid{display:block;height:auto!important;border-top:0}
body.terr .tw{overflow:visible}
body.terr #map{display:none;height:calc(100vh - 170px);min-width:0;width:100%}
body.terr.v-map #map{display:block}body.terr.v-map .tw,body.terr.v-map .foot{display:none}
body.terr table.mcards tr:not(.gh):not(.ph) td:nth-child(n+5):nth-child(-n+7){display:none}
body.terr table.mcards tr{position:relative}body.terr table.mcards tr:not(.gh) td:first-child{position:absolute;right:8px;top:6px;padding:0!important}body.terr table.mcards tr:not(.gh):not(.ph) td:nth-child(2){padding-right:44px!important}body.terr table.mcards td:first-child input{width:26px;height:26px;margin:8px}
body.terr table.mcards td:first-child::before{display:none}
body.terr table.mcards td:nth-child(2){font-weight:600;font-size:15px}
body.terr table.mcards td:nth-child(2)::before,body.terr table.mcards td:nth-child(3)::before{display:none}
body.terr table.mcards tr.gh{background:#f7f7fb;font-weight:600}
body.terr table.mcards tr.gh td::before{display:none}
body.terr table.mcards tr.ph{margin-top:-9px;border-top:0;border-top-left-radius:0;border-top-right-radius:0;padding-top:4px}body.terr table.mcards tr:has(+tr.ph){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}body.terr table.mcards tr.ph td:first-child{position:static}
body.terr table.mcards tr.ph td{display:block;padding:0 0 8px!important}
body.terr table.mcards tr.ph td::before{display:none}
body.terr .ph img,body.terr .ph .pl{width:100%!important;height:auto!important;aspect-ratio:16/10}
body.terr .ph a,body.terr .ph button{display:inline-flex;align-items:center;min-height:44px;font-size:13px!important}
body.terr .mbulk{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #ddd;box-shadow:0 -6px 20px #0002;padding:8px 10px calc(8px + env(safe-area-inset-bottom));display:none;flex-wrap:wrap;gap:6px;z-index:1000}
body.terr.has-sel .mbulk{display:flex}body.terr.has-sel{padding-bottom:150px}
body.terr .mbulk>select{flex:1 1 30%}body.terr .mbulk>#sel{flex:1 1 100%;font-weight:600}body.terr .mbulk>button{flex:1 1 100%}
body.terr #more button{width:calc(100% - 24px);margin:8px 12px}

/* ---------- board ---------- */
body.brd .grid{grid-template-columns:1fr!important}
body.brd .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
body.brd .tabs a{white-space:nowrap;min-height:44px;display:flex;align-items:center;padding:0 12px}
body.brd .trow{flex-wrap:wrap;align-items:flex-start;row-gap:4px}
body.brd .trow>input{width:24px;height:24px;margin-top:4px}
body.brd .trow .tx{flex:1 1 calc(100% - 90px);min-width:0}
body.brd .trow .tt{font-size:15px;white-space:normal}
body.brd .trow .ta{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block}
body.brd .trow .tc{white-space:normal;font-size:13px;line-height:1.9}
body.brd .trow .tc a{display:inline-block;padding:6px 2px;min-height:32px;font-size:14px}
body.brd .trow .tg,body.brd .trow .tcm,body.brd .trow .cf,body.brd .trow .tm{margin-left:0}
body.brd .trow .tg{margin-left:34px}
body.brd .trow .tm{margin-left:auto;width:auto}
body.brd .tk input{width:22px;height:22px}
body.brd .addt input,body.brd .addt button{min-height:44px}
body.brd table:not(.mcards){display:block;overflow-x:auto}

/* ---------- login ---------- */
body.lgn form{width:calc(100% - 40px);max-width:360px}
}
