/* Adaptações gerais para iPad, tablets e celulares. */
@media screen and (max-width:1366px){
  .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
  .preview-toolbar{max-width:100%;flex-wrap:wrap}
  .calendar-dialog{max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto}
}

@media screen and (max-width:980px){
  .registry-list-controls{align-items:stretch}
  .preview-toolbar strong{flex:1 1 100%}
  .preview-toolbar .spacer{display:none}
  .dialog-backdrop,.registry-backdrop{padding:12px}
  .app-dialog{max-height:calc(100dvh - 24px)}
  #printArea,#reportPrintArea,#frequencyPrintArea,#timeBankPrintArea{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .sheet,.report-sheet{transform:none!important;transform-origin:top left!important;margin-bottom:0!important;zoom:.88}
  .sector-report,.frequency-sheet{transform:none!important;zoom:.62}
}

@media screen and (max-width:700px){
  #onlineApp>.layout>main{scrollbar-gutter:auto}
  main .card{padding:14px;border-radius:11px;margin-bottom:12px}
  main .card h2{font-size:18px;line-height:1.25}
  main .card h3{font-size:15px;line-height:1.3}
  input,select,textarea{min-height:44px;font-size:16px}
  textarea{min-height:92px}
  .segmented{min-height:44px}
  .segmented span{height:36px}
  .btn{min-height:42px;padding:9px 12px}
  .mini-btn{min-height:36px;padding:7px 9px}
  .notice{padding:11px 12px;font-size:12px;line-height:1.45}
  .actions{align-items:stretch;gap:8px}
  .actions>.btn,.actions>label.btn{flex:1 1 145px;display:flex!important;align-items:center;justify-content:center;text-align:center}
  .movement-tabs{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .movement-tab{flex:1 0 auto;min-height:40px;padding:8px 12px;white-space:nowrap}
  .registry-toolbar{align-items:stretch}
  .registry-search{width:100%;min-width:0}
  .registry-list-controls{display:grid;grid-template-columns:1fr;gap:8px}
  .column-picker,.column-picker summary{width:100%}
  .column-picker summary{min-height:42px;display:flex;align-items:center;justify-content:space-between}
  .column-menu{width:min(310px,calc(100vw - 58px));max-height:min(330px,60dvh)}
  .page-size-box{width:100%;justify-content:flex-start}
  .page-size-box label{flex:1}
  .page-size-box select{flex:1;width:100%;min-width:0}
  .registry-list-controls>.btn{width:100%;min-height:42px}
  .registry-list-meta{gap:6px;font-size:11px;line-height:1.35}
  .registry-list-meta .spacer{display:none}
  .registry-pagination{justify-content:center}
  .table-wrap:has(table.data):before,.table-wrap:has(.admin-table):before{content:"Deslize para ver todas as colunas →";position:sticky;left:0;z-index:5;display:block;width:max-content;padding:6px 9px;color:#667085;background:#f8fafc;font-size:10px;font-weight:700}
  table.data{min-width:max-content}
  .admin-table{min-width:640px}
  :is(#employeeTable,#teacherTable,#absenceTable,#occurrenceTable,#timeBankTable) table :is(th,td):first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:4px 0 7px -7px #101828}
  :is(#employeeTable,#teacherTable,#absenceTable,#occurrenceTable,#timeBankTable) table th:first-child{z-index:4;background:#f9fafb}
  :is(#employeeTable,#teacherTable,#absenceTable,#occurrenceTable,#timeBankTable) table :is(th,td):last-child{position:sticky;right:0;z-index:3;background:#fff;box-shadow:-4px 0 7px -7px #101828}
  :is(#employeeTable,#teacherTable,#absenceTable,#occurrenceTable,#timeBankTable) table th:last-child{z-index:4;background:#f9fafb}
  table.data th,table.data td{padding:10px 9px}
  #view-calendario .calendar-filters{grid-template-columns:1fr 1fr}
  #view-calendario .calendar-filters label:last-child{grid-column:1/-1}
  .calendar-column{max-height:560px}
  .calendar-column-head{padding:12px}
  .calendar-list{padding:10px}
  .calendar-card{grid-template-columns:54px minmax(0,1fr) auto;gap:8px;padding:10px}
  .calendar-date{min-width:52px;padding:7px 5px}
  .calendar-title{font-size:12px}
  .calendar-meta{font-size:10px;line-height:1.35}
  .calendar-dialog{width:calc(100vw - 16px);max-width:none;max-height:92dvh;margin:auto;border-radius:16px}
  .calendar-dialog-body{padding:14px}
  .calendar-dialog-head{align-items:flex-start}
  .timebank-head>div{width:100%}
  .timebank-filters{width:100%;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:end}
  .timebank-filters label,.timebank-filters select,.timebank-filters input{width:100%;min-width:0}
  .timebank-total{align-self:flex-start;white-space:normal}
  .timebank-extract-summary{grid-template-columns:1fr}
  .timebank-dialog{width:calc(100vw - 16px)}
  .documents-heading{display:block}
  .documents-filters{grid-template-columns:1fr}
  .document-item-top{flex-wrap:wrap}
  .document-actions{display:grid;grid-template-columns:1fr 1fr}
  .document-actions .mini-btn{width:100%}
  .preview-toolbar{position:sticky;top:0;padding:9px;gap:7px}
  .preview-toolbar .btn{flex:1 1 140px;min-height:44px}
  .select-list{max-height:55dvh;-webkit-overflow-scrolling:touch}
  .select-item{align-items:flex-start;padding:10px 8px}
  .select-item input{margin-top:2px}
  .admin-form-grid{grid-template-columns:1fr}
  .audit-toolbar{display:grid;grid-template-columns:1fr}
  .audit-toolbar label{min-width:0}
  .about-grid{gap:16px}
  .about-grid img{width:150px;height:112px}
  .about-news{padding-top:15px}
  .about-news-list{gap:7px}
  .app-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
  .app-dialog-actions .btn{width:100%}
  .sheet,.report-sheet{transform:none!important;margin-bottom:0!important;zoom:.42}
  .sector-report,.frequency-sheet{transform:none!important;zoom:.30}
}

@media screen and (max-width:380px){
  main .card{padding:12px}
  .calendar-card{grid-template-columns:48px minmax(0,1fr)}
  .calendar-card>span:last-child{grid-column:2;justify-self:start}
  .timebank-filters{grid-template-columns:1fr}
  .app-dialog-actions{grid-template-columns:1fr}
}
