/* Pilot accessibility and responsive safeguards loaded after feature styles. */
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;overflow-x:hidden}
body{min-width:0;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:3px}
:focus-visible{outline:3px solid #236b61!important;box-shadow:0 0 0 2px #fff!important}
button,.primary-btn,.secondary-btn,.action-btn,.grade-tab{min-height:44px;touch-action:manipulation}
input,select,textarea{min-height:44px;max-width:100%}
textarea{resize:vertical}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-wrap:focus{outline:3px solid #236b61}
.modal-card{overscroll-behavior:contain}
.modal-card code,.panel code{overflow-wrap:anywhere;word-break:break-word}
.security-note.warning-note{border-color:#d99b45;background:#fff7e8;color:#704817}
.security-note.warning-note small{color:#704817}
#googleIdentityButton,#googleIdentityButton>div,#googleIdentityButton iframe{max-width:100%!important}
.legal-page{width:min(900px,100%);margin:auto;padding:32px 20px}
.legal-page .panel{line-height:1.75}
.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}

@media(max-width:780px){
  .signin-panel{display:grid;align-content:start;min-height:100dvh;padding:24px 18px}
  .mobile-brand{margin-bottom:clamp(28px,10vh,64px)}
  .signin-box{width:100%;max-width:480px;margin-inline:auto}
  .signin-box h2{font-size:clamp(2rem,10vw,3rem)}
  .sidebar{width:min(88vw,320px);padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .sidebar nav{overscroll-behavior:contain}
  .nav-item{min-height:46px}
  .topbar{height:64px;padding-inline:12px}
  .top-actions{gap:6px;min-width:0}
  .context-switcher{max-width:130px}
  .page{width:100%;padding:20px 14px max(40px,env(safe-area-inset-bottom))}
  .page-head{gap:12px;flex-wrap:wrap}
  .page-head>div,.page-head .header-filters{min-width:0;max-width:100%}
  .page-head-actions{width:100%;justify-content:flex-start}
  .page-head h1{font-size:clamp(1.55rem,7vw,2rem);overflow-wrap:anywhere}
  .page .primary-btn{width:auto;min-width:44px;padding-inline:14px;font-size:.82rem}
  .page .primary-btn span{font-size:inherit}
  .panel,.data-panel,.welcome-card,.meeting-hero{max-width:100%;padding:16px;border-radius:14px}
  .toolbar,.header-filters,.modal-actions,.role-tags{gap:8px}
  .header-filters{width:100%;overflow-x:auto;padding-bottom:2px}
  .header-filters>*{flex:0 0 auto}
  .upload-zone{padding:28px 14px}
  .modal{align-items:end;padding:0}
  .modal-card{width:100%;max-height:min(92dvh,760px);border-radius:20px 20px 0 0;padding:20px 16px max(20px,env(safe-area-inset-bottom))}
  .modal-actions{position:sticky;bottom:0;z-index:2;background:#fff;padding-block:10px;flex-wrap:wrap}
  .modal-actions>*{flex:1 1 140px}
  .data-table{min-width:680px}
  .table-wrap::after{content:"ניתן לגלול לצדדים לצפייה בכל העמודות";display:block;padding:8px 12px;color:#596b66;font-size:.75rem;background:#f6f7f3}
  .legal-page{padding:18px 12px}
}

@media(max-width:480px){
  .icon-btn,.menu-btn{width:44px;height:44px;flex:0 0 44px}
  .top-actions>.primary-btn{width:44px;min-width:44px}
  .stats-grid,.kpi-strip,.settings-grid,.content-grid{grid-template-columns:1fr!important}
  .form-grid{display:grid;grid-template-columns:1fr!important}
  .field,.field.full{grid-column:1!important;min-width:0}
  .role-tags label{display:flex;align-items:center;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:9px}
  .role-tags input{min-height:auto}
  .toolbar>*{width:100%;min-width:0}
  .upload-zone label,.upload-zone button{width:100%}
  .student-profile{align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
