/* Desktop is intentionally unaffected. Touch landscape is included. */
.mobile-menu-toggle{display:none}
@media (max-width:650px), (max-width:1100px) and (pointer:coarse){
 .shell{display:flex;flex-direction:column;min-height:100svh;min-width:0}
 .workspace{width:100%;min-width:0}
 .sidebar{position:static;width:100%;height:auto;min-height:0;padding:10px 14px;display:flex;flex-direction:column;gap:10px}
 .sidebar>.mobile-menu-toggle{display:block;width:100%;text-align:left;min-height:44px;font-size:16px}
 .sidebar:not(.mobile-menu-open)>:not(.mobile-menu-toggle){display:none!important}
 .sidebar.mobile-menu-open .brand,.sidebar .label{display:none}
 .sidebar.mobile-menu-open .bottom{display:block;margin:8px 0 0;font-size:14px}
 .sidebar.mobile-menu-open .nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .nav button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;white-space:normal}
 .desktop-nav-label{display:none}.mobile-nav-label{display:inline}
 .topbar{padding:10px 14px;gap:8px;flex-wrap:wrap}.topbar .location,.topbar .identity{display:none}
 .mobilebrand{display:flex}.topbar .right{gap:6px}.accountmenu .accountlabel{display:none}
 main{padding:14px;min-width:0}.pagehead{flex-wrap:wrap;gap:10px}.pagehead p{max-width:none}
 .pagehead-actions{display:flex;flex-wrap:wrap;width:100%;gap:8px}.pagehead-actions button{flex:1;min-height:44px;max-width:none;white-space:normal}
 .calendar{padding:10px;min-width:0}.calendar-toolbar{gap:8px;min-width:0}
 .calendar-toolbar label{min-width:0;width:100%;flex-basis:100%}.calendar-toolbar input{max-width:100%;min-width:0;font-size:16px}
 .calendar-toolbar h2{order:-1;flex-basis:100%;font-size:18px}.calendar-modes{width:100%}.calendar-modes button{flex:1}
 .calendar-toolbar #newappointment{width:100%}.calendar-toolbar button{min-width:44px;min-height:44px}
 .calendar-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .calendar-grid.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));width:100%}
 .calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));font-size:12px}
 .calendar-month>.calendar-day{padding:2px;min-height:80px}.calendar-month .calendar-date{width:100%;padding:3px;font-size:15px;min-height:44px}
 .calendar-month .calendar-event,.calendar-month .calendar-empty{display:none}
 .calendar-month .calendar-mobile-count{display:flex;align-items:center;justify-content:center;width:100%;min-height:30px;padding:2px;background:#e5ddff;color:#4832ad;border:0;font-weight:750}
 .calendar-mobile-count span{font-size:8px}
 .calendar-grid.calendar-week{display:block}.calendar-week>.calendar-day{min-height:90px;border-bottom:1px solid #d9dfef}
 .calendar-grid.calendar-day{display:block}.calendar-grid.calendar-day>.calendar-day{min-height:180px}
 .tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 dialog{max-width:calc(100vw - 16px);max-height:94svh}.dialogbody{min-width:0;overflow-wrap:anywhere}
 .dialogbody input,.dialogbody select,.dialogbody textarea{font-size:16px;max-width:100%}
}

.mobile-client-text{display:inline-flex;align-items:center;min-height:40px;padding:8px 10px;font-size:14px;margin:4px 0}
.customer-table td:first-child>.call-link{display:inline-flex;align-items:center;vertical-align:middle;margin-right:8px}
@media (max-width:650px), (max-width:1100px) and (pointer:coarse){
 .tablewrap:has(.customer-table){overflow:visible}
 .customer-table,.customer-table tbody{display:block;width:100%;min-width:0;padding:0}
 .customer-table thead{display:none}
 .customer-table tr:not(.inline-history-row){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;margin:12px 0;border:1px solid var(--crm-line,#d8dcef);border-radius:14px;background:var(--crm-panel,#fff)}
 .customer-table td{display:block;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere;font-size:15px}
 .customer-table td:first-child{grid-column:1/-1;grid-row:1}
 .customer-table .namebutton{font-size:18px;min-height:48px;max-width:100%;white-space:normal;text-align:left}
 .customer-table td:first-child>.sub{font-size:14px;margin:6px 0}
 .customer-table td:nth-child(2){grid-column:1/-1;grid-row:2;font-size:15px}
 .customer-table td:nth-child(3){grid-column:1;grid-row:3;text-align:left}
 .customer-table td:nth-child(4){grid-column:2;grid-row:3;text-align:right;font-size:14px}
 .customer-table td:nth-child(5){grid-column:1/-1;grid-row:4;text-align:left;font-size:15px}
 .customer-table td.quick-notes-cell{grid-column:1/-1;grid-row:5;text-align:left}
 .customer-table .quick-notes-button{width:100%;min-height:46px;white-space:normal}
 .customer-table .call-link{display:inline-flex;align-items:center;min-height:46px;margin:6px 8px 6px 0;padding:8px 10px;border:1px solid var(--crm-line,#d8dcef);border-radius:10px}
 .mobile-client-text{display:inline-flex;align-items:center;min-height:46px;padding:8px 12px}
 .customer-table .history-toggle{margin:4px 0 0;min-height:44px}
 .customer-table tr.inline-history-row:not([hidden]){display:block;margin:0 0 12px;padding:10px;border-radius:12px}
 .customer-table tr.inline-history-row>td{padding:0;display:block}
 .inline-history-body .note p,.dialogbody .note p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:16px}
 .inline-history-body .note small,.dialogbody .note small{display:block;overflow-wrap:anywhere;line-height:1.5}
 dialog:has(#customerform),dialog:has(#noteform),dialog.quick-notes-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:94svh;margin:auto;border-radius:14px}
 dialog:has(#customerform) .dialogbody,dialog:has(#noteform) .dialogbody{padding:14px}
 #customerform .formgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 #customerform .formgrid>*{grid-column:1!important;min-width:0}
 #customerform input,#customerform select,#customerform textarea{width:100%;box-sizing:border-box;font-size:16px;min-height:46px}
 #customerform .actions{display:flex;flex-wrap:wrap;gap:8px}#customerform .actions button{flex:1;min-height:48px}
 .client-details{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.client-details .client-field{grid-column:1;min-width:0}
 .client-details dd{overflow-wrap:anywhere;font-size:16px}.client-details dt{font-size:14px}
 dialog:has(#noteform) .tabs{display:flex;flex-wrap:wrap;gap:8px}
 dialog:has(#noteform) .tabs button{flex:1 1 100%;min-width:0;min-height:46px;white-space:normal;line-height:1.4}
 #noteform textarea{min-height:120px;font-size:16px}#noteform .actions button{width:100%;min-height:48px}
 .quick-note-context{flex-wrap:wrap}.trade-section{padding:12px}.scan-toggle{max-width:100%;white-space:normal}
}

/* Compact phone/text action row on desktop and mobile. */
.customer-table .client-contact-line{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-top:4px}
.customer-table .client-contact-line .call-link{display:inline-flex;align-items:center;white-space:nowrap;overflow-wrap:normal;margin:0;padding:8px 0;min-height:40px;flex:0 0 auto}
.customer-table .client-contact-line .mobile-client-text{flex:0 0 auto;white-space:nowrap;margin:0;padding:7px 10px;min-height:40px}
