/* Page sizing: let contents shrink, and scroll wide tables inside their panels. */
.view-root,#view-root,.card,.form-grid>div,.kpi-tile,.view-header>div{min-width:0}
.view-root{max-width:calc(100% - 210px)}
.table-viewport{max-width:100%;overflow:auto;max-height:70vh;position:relative;isolation:isolate}
.table-viewport table.data-table{table-layout:auto;width:100%;min-width:650px;border-collapse:separate;border-spacing:0}
.table-viewport table.data-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-1)}
.table-viewport td input,.table-viewport td select{min-width:110px}
.card.table-scroll{overflow:visible}
.mobile-quote-sort{display:none}
.quote-filter-details>summary{display:none}
#nav-backdrop{display:none}
#support-banner{overflow-wrap:anywhere}
#support-banner input,#support-banner label{max-width:100%;min-width:0}
pre{overflow-wrap:anywhere;max-width:100%}
@media(max-width:860px){
  .view-root{margin-left:0;max-width:100%;width:100%;padding:16px 12px 40px}
  .topbar-inner{min-height:56px;padding:6px 12px}
  .nav-toggle{display:block;min-width:44px;min-height:44px}
  .sidenav{top:56px;width:min(290px,85vw);z-index:30;visibility:hidden;transform:translateX(-105%)}
  .sidenav.open{visibility:visible;transform:translateX(0)}
  #nav-backdrop:not([hidden]){display:block;position:fixed;inset:56px 0 0;background:#0006;z-index:25;border:0}
  .sidenav a,.nav-logout{min-height:44px}
  .btn,input:not([type=checkbox]),select,textarea{min-height:44px;font-size:16px!important}
  .filter-check-group label{min-height:40px;white-space:normal}
  .form-grid,.quote-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;max-width:100%}
  .filter-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .filter-range input{width:100%;min-width:0}
  .filters-row>*{max-width:100%;min-width:0}
  .filter-group-wrap{min-width:0}
  .dashboard-primary-grid,.dashboard-secondary-grid,.dashboard-breakdown-grid,.dashboard-bottom-grid{grid-template-columns:minmax(0,1fr)}
  .dashboard-section-title{display:block}
  .collection-progress{grid-template-columns:minmax(0,1fr)}
  .collection-progress>div:first-child{flex-wrap:wrap}
  .pipeline-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pipeline-strip>div{flex-wrap:wrap;padding:12px}
  .action-list button,.action-list a{gap:12px;align-items:flex-start}
  .action-list span{min-width:0;overflow-wrap:anywhere}
  .action-list b{flex-shrink:0}
  .card{padding:14px}
  .chart-card{overflow:auto}
  .viz-root svg{max-width:100%}
  .dashboard-drill-close{min-width:44px;min-height:44px}
  .dashboard-drill-header{gap:8px}
  .dashboard-drill-header>div{min-width:0}
  .dashboard-drill-modal{max-height:92dvh}
  .toast{max-width:calc(100vw - 24px);bottom:12px}
}
@media(max-width:600px){
  .quote-filter-details>summary{display:list-item;cursor:pointer;font-weight:700;padding:12px 4px;min-height:44px}
  .form-grid,.quote-filter-grid,.payment-summary,.kpi-grid{grid-template-columns:minmax(0,1fr)}
  .view-header{align-items:stretch}
  .view-header>div,.quote-header-actions{width:100%}
  .quote-header-actions .btn{flex:1;text-align:center}
  .quote-filter-heading{flex-wrap:wrap}
  .quote-filter-card{padding:12px}
  .form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}
  .breakdown-list li{gap:12px;flex-wrap:wrap}
  .login-card{padding:24px 18px}
  .mobile-quote-sort{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
  .mobile-quote-sort select{flex:1;min-width:140px;max-width:100%}
  .quotes-card{max-height:none;overflow:visible;padding:0;border:0;background:transparent}
  #quotes-table{display:block;min-width:0;width:100%;font-size:14px}
  #quotes-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  #quotes-table tbody,#quotes-table tfoot{display:block;width:100%}
  #quotes-table tbody tr,#quotes-table tfoot tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--gridline);border-radius:10px;background:var(--surface-1);margin-bottom:14px;padding:8px}
  #quotes-table td:nth-child(n){display:block;width:auto;min-width:0;max-width:none;padding:8px;white-space:normal;overflow-wrap:anywhere;border:0}
  #quotes-table td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:var(--text-secondary);margin-bottom:3px}
  #quotes-table td:nth-child(1),#quotes-table td:nth-child(2),#quotes-table td[colspan]{grid-column:1/-1}
  #quotes-table tbody td:nth-child(1){font-weight:700;font-size:16px}
  #quotes-table .quotes-total-row td:first-child{text-align:left}
  #quotes-table .badge{font-size:12px;padding:4px 8px}
  #quotes-table .payment-add{font-size:14px;margin-top:8px;min-height:44px}
}
