/* Final responsive layer. Legacy page rules include fixed widths and !important
   declarations; keep these overrides scoped to small screens and shared components. */
.mhd-mobile-sort{display:none}
@media screen and (max-width:980px){
  body:is(.has-app-sidebar,.client-portal-body) :is(.main,.content-wrap,.page,.card,.table-wrap,.form-grid,.field){min-width:0}
  body:is(.has-app-sidebar,.client-portal-body) .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.has-app-sidebar{--main-side-pad:14px}
  body.has-app-sidebar .main.has-sidebar{margin-left:0!important;width:100%;max-width:100%}
  body.has-app-sidebar .sidebar{width:min(320px,86vw)!important;transform:translateX(-110%)!important;z-index:320!important;visibility:hidden;pointer-events:none}
  body.has-app-sidebar.sidebar-open .sidebar{transform:translateX(0)!important;visibility:visible;pointer-events:auto}
  body.has-app-sidebar .sidebar .nav-label,body.has-app-sidebar .sidebar .sidebar-logo__text{display:inline!important}
  body.has-app-sidebar .sidebar .nav-item{justify-content:flex-start!important;gap:12px!important}
  body.has-app-sidebar .topbar{left:0!important;width:100%!important;max-width:100%;gap:8px;padding-inline:12px}
  body.has-app-sidebar .topbar-center{display:none!important}
  body.has-app-sidebar .topbar-left{flex:1;min-width:0}
  body.has-app-sidebar .topbar-left :is(.brand,.company-chip){min-width:0;max-width:100%}
  body.has-app-sidebar .topbar-right{flex:0 0 auto;min-width:0;gap:6px}
  body.has-app-sidebar .content-wrap{max-width:100%}
}
@media screen and (max-width:860px){
  body:is(.has-app-sidebar,.client-portal-body) .mhd-mobile-sort{display:flex;align-items:flex-end;gap:8px;margin-top:12px;max-width:100%}
  .mhd-mobile-sort label{display:grid;gap:5px;flex:1;min-width:0;color:var(--muted);font-size:12px}
  .mhd-mobile-sort select{width:100%;min-width:0;font-size:16px!important}
  .mhd-mobile-sort button{flex:none;min-height:42px}
  /* Reuse the actual table DOM, labels and row actions. No duplicate mobile records. */
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card{display:block!important;table-layout:auto!important;width:100%!important;min-width:0!important;max-width:100%!important}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card colgroup{display:none!important}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;width:100%!important;min-width:0!important;padding:8px!important}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr{display:block!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;padding:8px!important;box-sizing:border-box;position:relative;overflow:hidden}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr>td{display:block!important;grid-area:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important;border:0!important;padding:7px 4px!important}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr>td::before{content:attr(data-label)!important;display:block!important;position:static!important;margin:0 0 4px!important;font-size:10px!important;line-height:1.35;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr>td[colspan]::before{content:none!important}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr>td>*{max-width:100%;min-width:0}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card :is(.cell-main,.people-contact-name,.people-contact-cell,.tk-ticket-title-link){white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:100%!important;overflow-wrap:anywhere!important}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card :is(.people-name-line,.people-contact-inline,.actions,.tk-row-actions){flex-wrap:wrap!important;max-width:100%;gap:7px}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr>.mhd-action-cell-hidden{display:none!important}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr>.mhd-select-cell{display:flex!important;gap:10px;align-items:center}
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card tbody tr>.mhd-select-cell::before{content:'Selecionar registro'!important;margin:0!important}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-row-select-input{width:22px!important;height:22px!important;cursor:pointer}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-table-sticky-head{display:none!important}
  body:is(.has-app-sidebar,.client-portal-body) .table-wrap:not(.viewport-grid):has(>.table-mobile-card){overflow:visible!important;max-height:none!important}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-table-action-dock{left:10px!important;right:10px!important;top:auto!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;transform:none!important;height:auto!important;min-height:0!important;max-height:45dvh;overflow-y:auto!important;display:flex;align-items:center!important;gap:10px!important;padding:12px!important}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-table-action-dock__text{flex:0 0 auto!important;width:100%;min-height:0!important}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-table-action-dock__close{position:absolute!important;right:8px;top:8px;min-height:32px!important}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-table-action-dock__text{padding-right:35px}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-table-action-dock__actions{flex-wrap:wrap!important;min-width:0!important}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-table-action-dock__actions .mhd-dock-action{min-height:42px!important;flex:1 1 auto!important;max-width:100%!important}
  body.has-app-sidebar:has(.mhd-table-action-dock:not([hidden])) .main{padding-bottom:210px!important}
  body.has-app-sidebar:has(.mhd-table-action-dock:not([hidden])) .mhd-page-summary-fab{visibility:hidden;pointer-events:none}
}
@media screen and (max-width:720px){
  body:is(.has-app-sidebar,.client-portal-body){overflow-x:clip}
  body.has-app-sidebar .main{padding:calc(var(--topbar-h) + 12px) 10px 24px!important}
  body.has-app-sidebar :is(.page,.content-wrap){width:100%!important;max-width:100%!important}
  body.has-app-sidebar .topbar-left :is(.brand-sub,.brand-title,.company-chip){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.has-app-sidebar .topbar :is(.topbar-tutorials,.topbar-support){width:34px!important;height:34px!important;min-width:34px!important;padding:6px!important}
  body.has-app-sidebar .topbar :is(.topbar-tutorials,.topbar-support)>span:last-child{display:none!important}
  body.has-app-sidebar .topbar .mhd-theme__label{display:none!important}
  body.has-app-sidebar .topbar .mhd-theme__track{width:58px!important}
  body:is(.has-app-sidebar,.client-portal-body) :is(.form-grid,.grid[style*="grid-template-columns"],.filters,.people-filter-grid){grid-template-columns:minmax(0,1fr)!important}
  body:is(.has-app-sidebar,.client-portal-body) .form-grid>*,body:is(.has-app-sidebar,.client-portal-body) .grid[style*="grid-template-columns"]>*{grid-column:1 / -1!important;min-width:0!important}
  body:is(.has-app-sidebar,.client-portal-body) :is(.field,.form-field){min-width:0!important;max-width:100%}
  body:is(.has-app-sidebar,.client-portal-body) :is(.field,.form-field,.form-grid,.modal__body) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0!important;max-width:100%;font-size:16px!important}
  body:is(.has-app-sidebar,.client-portal-body) :is(.searchbar,.searchbar__input,.mhd-filterbar,.mhd-filterbar__search,.mhd-filterbar__search-wrap){min-width:0!important;max-width:100%!important;flex-wrap:wrap!important}
  body:is(.has-app-sidebar,.client-portal-body) :is(.mhd-filterbar__main,.mhd-filterbar__left,.mhd-filterbar__actions){min-width:0!important;flex-wrap:wrap!important;width:100%!important}
  body:is(.has-app-sidebar,.client-portal-body) .mhd-filterbar__primary{margin-left:0!important;max-width:100%}
  body:is(.has-app-sidebar,.client-portal-body) :is(.page-head,.page-header,.tk-head,.ch-head,.section-head,.card-head){flex-wrap:wrap!important;gap:12px;min-width:0}
  body:is(.has-app-sidebar,.client-portal-body) :is(.page-head,.page-header,.tk-head,.ch-head)>*{min-width:0!important;max-width:100%!important}
  body:is(.has-app-sidebar,.client-portal-body) :is(.tk-head__right,.ch-head__right,.page-actions,.toolbar,.modal__head-actions){flex-wrap:wrap!important;max-width:100%;gap:8px}
  body:is(.has-app-sidebar,.client-portal-body) :is(.tabs,.tk-view-tabs,.modal-tabs){max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;justify-content:flex-start!important;scrollbar-width:thin}
  body:is(.has-app-sidebar,.client-portal-body) :is(.tabs,.tk-view-tabs,.modal-tabs)>*{flex-shrink:0}
  body:is(.has-app-sidebar,.client-portal-body) .modal{padding:10px!important}
  body:is(.has-app-sidebar,.client-portal-body) :is(.modal__panel,.modal__dialog,.modal__content){width:100%!important;min-width:0!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:auto!important;box-sizing:border-box}
  body:is(.has-app-sidebar,.client-portal-body) :is(.modal__head,.modal__header){flex-wrap:wrap!important;gap:10px;padding:14px!important}
  body:is(.has-app-sidebar,.client-portal-body) .modal__body{min-width:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding:14px!important;overscroll-behavior:contain}
  body:is(.has-app-sidebar,.client-portal-body) .modal__foot{flex-wrap:wrap!important;padding:12px!important;gap:8px}
  body:is(.has-app-sidebar,.client-portal-body) :is(.tk-foot,.tk-foot__right,.tk-perpage,.tk-pager){flex-wrap:wrap!important;min-width:0;gap:8px}
  body.has-app-sidebar :is(.chart-wrap,.report-chart,.tkb-board){max-width:100%;min-width:0;overflow-x:auto}
  body.has-app-sidebar :is(.dash-grid,.dash-main-grid,.report-grid,.finance-grid,.crm-grid){grid-template-columns:minmax(0,1fr)!important}
  body.has-app-sidebar .people-page :is(.people-contact-inline,.people-contact-chip){white-space:normal!important}
  body.has-app-sidebar .topbar .brand-txt{min-width:0}
  body.has-app-sidebar .topbar .brand-txt strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* Explicitly hidden records/fields must stay hidden after the display overrides. */
@media screen and (max-width:860px){
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card :is(tr,td)[hidden],
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card :is(tr,td)[style*="display: none"],
  body:is(.has-app-sidebar,.client-portal-body) .table.table-mobile-card :is(tr,td)[style*="display:none"]{display:none!important}
}
@media screen and (max-width:400px){
  body.has-app-sidebar .topbar{gap:4px;padding-inline:7px}
  body.has-app-sidebar .topbar-right{gap:3px}
  body.has-app-sidebar .topbar .topbar-left .brand{gap:4px}
  body.has-app-sidebar .topbar .topbar-left .brand img{max-width:28px}
}
