/* 0.30.70-r2: professional mobile density, clearer actions and card tables */
.mobile-search-toggle{display:none}
.table-empty{display:grid;gap:6px;place-items:center;min-height:150px}
.table-empty strong{color:var(--navy);font-size:13px}.table-empty span{color:var(--muted);font-size:10px;line-height:1.8}
.action-empty{display:grid;gap:8px;place-items:center;align-content:center;min-height:170px}
.action-empty strong{color:var(--navy);font-size:14px}.action-empty span{max-width:430px;font-size:10px;line-height:1.9}.action-empty button{margin-top:3px}
.form-upload-field{display:grid;gap:7px}.field-label{font-weight:800;font-size:11px;color:var(--text)}
.file-picker-button{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;min-width:126px;cursor:pointer}
.file-picker-button input{display:none!important}
.form-optional{grid-column:1/-1;border:1px solid var(--line);border-radius:13px;background:#fbfdff;overflow:hidden}
.form-optional>summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:800;color:var(--navy)}
.form-optional>summary::-webkit-details-marker{display:none}.form-optional[open]>summary{border-bottom:1px solid var(--line)}
.form-optional-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px}
.form-optional-body>.full{grid-column:1/-1}
.responsive-data-table td[data-label]::before{content:none}

@media(max-width:760px){
  body:has(#shell:not(.hidden)){padding-bottom:70px}
  header{height:60px;min-height:60px;padding:6px 9px;gap:7px;flex-wrap:nowrap}
  header h1{font-size:14px;margin:0 0 2px}header p{font-size:9px;max-width:130px}
  #menu,.mobile-search-toggle{display:grid;width:40px;height:40px;padding:8px;place-items:center;flex:none}
  .mobile-search-toggle svg,#menu svg{width:21px;height:21px}
  header .header-actions{gap:5px}.role-switch-button{min-height:40px;padding:5px 7px}.role-switch-icon{width:29px;height:29px}
  .global-search{display:none;position:absolute;top:59px;right:8px;left:8px;width:auto;margin:0;z-index:32;background:#fff;padding:6px;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #102a4b20}
  body.mobile-search-open .global-search{display:block}.global-search>input{min-height:39px;font-size:11px}
  .search-results{top:47px;right:0;left:0;width:100%;max-height:60vh}
  .page-loading:before{top:59px;right:0}
  main{padding:10px 10px 20px}.role-dashboard{gap:10px!important}
  .page-head{margin-bottom:10px;gap:8px;align-items:center}.page-head h2{font-size:17px;margin-bottom:3px}.page-head p{font-size:10px;line-height:1.7}
  .page-head>.head-actions{flex-direction:row;flex-wrap:wrap;gap:7px}.page-head>.head-actions>*{min-height:42px}
  .card,.role-launcher{padding:13px;border-radius:14px}.card-head{margin-bottom:10px}
  .toolbar{padding:9px;margin-bottom:10px;border-radius:12px;gap:8px}
  .empty{padding:28px 14px}
}

@media(max-width:760px){
  .responsive-table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none}
  .responsive-data-table{display:block;white-space:normal}.responsive-data-table thead{display:none}.responsive-data-table tbody{display:grid;gap:9px}
  .responsive-data-table tr{display:grid;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(19,44,78,.035)}
  .responsive-data-table td{display:grid;grid-template-columns:minmax(88px,34%) minmax(0,1fr);gap:9px;align-items:start;padding:7px 0;border:0;border-bottom:1px dashed #e8edf2;white-space:normal;overflow-wrap:anywhere}
  .responsive-data-table td:last-child{border-bottom:0}.responsive-data-table td[data-label]::before{content:attr(data-label);font-size:9px;color:var(--muted);font-weight:700}
  .responsive-data-table td.row-number{display:none}.responsive-data-table .row-actions{flex-wrap:wrap;justify-content:flex-start}.responsive-data-table .row-actions button{min-height:38px}
  #modal:not(.online-exam-modal){width:calc(100vw - 12px);max-width:none;max-height:calc(100dvh - 12px);padding:58px 13px 12px;border-radius:18px}
  #modal:not(.online-exam-modal) .modal-close{width:44px;height:44px;left:10px;top:9px;font-size:27px}
  #modal:not(.online-exam-modal) .modal-title{font-size:18px;margin:0 0 13px;padding-left:50px}
  #modal:not(.online-exam-modal) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  #modal:not(.online-exam-modal) .form-grid>.full,#modal:not(.online-exam-modal) .form-grid>fieldset.full,#modal:not(.online-exam-modal) .form-grid>div.full{grid-column:1/-1}
  #modal:not(.online-exam-modal) .form-grid label{font-size:11px;gap:6px}#modal:not(.online-exam-modal) input,#modal:not(.online-exam-modal) select,#modal:not(.online-exam-modal) textarea{min-height:44px;font-size:13px}
  #modal:not(.online-exam-modal) textarea{min-height:92px}#modal:not(.online-exam-modal) .form-actions{position:sticky;bottom:-12px;z-index:8;margin:10px -13px -12px;padding:10px 13px;background:#fffffff2;backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  #modal:not(.online-exam-modal) .form-actions button{min-height:44px}.form-optional-body{grid-template-columns:1fr}
}

@media(max-width:760px){
  .attendance-toolbar{display:grid!important;grid-template-columns:1fr 1fr;align-items:stretch}
  .attendance-toolbar>*{width:100%!important;max-width:none!important;min-width:0!important}.attendance-toolbar #attendance-period{grid-column:1/-1}.attendance-toolbar .auto-refresh-hint{grid-column:1/-1;text-align:center}
  .attendance-preference-controls{padding:9px 11px;margin-bottom:10px;gap:8px}.attendance-preference-controls p{font-size:11px;line-height:1.7}.attendance-preference-controls button{min-height:40px}
  .attendance-registration-summary{padding:11px;margin-bottom:10px;gap:8px}.attendance-registration-summary>strong{font-size:14px}.attendance-registration-summary>span,.attendance-registration-summary>small{font-size:10px}
  .attendance-registration-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.attendance-registration-counts>span{padding:6px 4px;font-size:10px;text-align:center}
  .attendance-head{display:none!important}.attendance-student-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:11px 0!important}
  .attendance-student-row>span:first-child strong{font-size:14px}.attendance-student-row .choice-button-group{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .attendance-student-row .choice-button-group button{min-height:39px}.attendance-late-minutes:disabled{display:none}.attendance-note{min-height:40px!important}
  .attendance-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:7px;position:sticky;bottom:68px;background:#fff;padding:9px 0 2px;z-index:7}.attendance-actions #print-attendance{display:none}.attendance-actions button{min-height:46px}
  body[data-role="teacher"] #schedule-board>.schedule-grid{display:none}.family-schedule-mobile{gap:8px}.family-schedule-week{padding:9px 11px}.family-schedule-day-card{padding:10px}
  .family-schedule-lessons article{padding:9px}.family-schedule-days button{flex-basis:70px;min-height:50px}
  .homework-grid{gap:10px}.homework-card{padding:13px!important}.homework-meta{gap:6px!important}.submission-summary{margin-top:10px!important}
  .teacher-followup-counts{gap:7px}.teacher-followup-counts>div{padding:9px}.teacher-followup-counts strong{font-size:1.2rem}
  .mobile-role-home{padding:12px!important;border-radius:15px!important}.mobile-home-head{margin-bottom:9px!important}.mobile-focus-grid{gap:7px!important}.mobile-focus-grid>button{padding:10px!important}
  .mobile-primary-actions{gap:7px!important;margin-top:8px!important}
  .dashboard-news .announcement{padding:10px 0}.dashboard-news .announcement p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
}

@media(max-width:760px){
  .semantic-filters,.homework-toolbar{display:grid!important;grid-template-columns:1fr 1fr;align-items:stretch}
  .semantic-filters>*,.homework-toolbar>*{width:100%!important;max-width:none!important;min-width:0!important}
  .semantic-filters>input,.homework-toolbar>input{grid-column:1/-1}
  .grade-workflow-note{padding:10px!important;margin-bottom:10px!important;gap:6px!important}.grade-workflow-note span{font-size:9px!important}
  .coverage-strip{margin-bottom:10px!important;padding:10px 12px!important}
  .staff-kpis-6{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.staff-kpis>div{padding:10px!important}
  .staff-scan-entry{padding:12px!important;gap:10px!important}.staff-scan-entry p{font-size:10px!important;line-height:1.75!important;margin:4px 0 0!important}.staff-scan-button{min-height:46px!important}
  .staff-attendance-grid{gap:10px!important}.staff-request-card .card-head{align-items:flex-start;gap:8px}.staff-request-card .card-head button{min-height:42px}
  .teacher-tools-grid{gap:8px!important}.teacher-tools-grid button{min-height:82px!important}
  .role-profile{margin-bottom:0!important}.dashboard-readiness,.dashboard-today,.teacher-followups{margin:0!important}
  .news-card{padding:13px!important}.news-card h3{margin:10px 0 6px!important}.news-card p{font-size:10px!important;line-height:1.8!important}
}
/* Final mobile cascade: intentionally loaded after web-theme and class-hub. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:clip}
  #shell header,body[data-role="teacher"] #shell header{height:60px;min-height:60px;flex-wrap:nowrap;flex-shrink:0;padding:6px 9px;row-gap:0}
  #shell .global-search,body[data-role="teacher"] #shell .global-search{display:none;position:absolute;top:59px;right:8px;left:8px;width:auto;max-width:none;order:initial;flex:none;margin:0;z-index:50}
  body.mobile-search-open #shell .global-search,body[data-role="teacher"].mobile-search-open #shell .global-search{display:block}
  #shell .header-actions .mobile-search-toggle{display:grid!important}
  #shell .sidebar:not(.open){display:none!important;transform:none!important}
  #shell .sidebar.open{display:flex!important;transform:none!important;right:0}
  body[data-role="teacher"] #schedule-board>.schedule-grid{display:none!important}
  body[data-role="teacher"] .family-schedule-mobile{display:grid!important}
}
