/* MATCHSIK v28.8 UI consistency and overflow repair */
:root{--v288-line:#dbe4df;--v288-ink:#15342f;--v288-muted:#6b7f79;--v288-brand:#245f56;--v288-surface:#fffdf9}
html,body{width:100%;max-width:100%;overflow-x:hidden!important}
body{min-width:0}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,select,textarea{max-width:100%}
.grid,.grid-2,.grid-3,.grid-4,.teacher-admin-grid,.m28-assignment-grid,.t28-grid,.t286-dashboard-grid{align-items:stretch}
.grid>.card,.grid-2>.card,.grid-3>.card,.grid-4>.card,.grid-4>.kpi,.t28-grid>.t28-stat,.t286-dashboard-grid>.t28-card,.m28-assignment-grid>.m28-assignment-card{height:100%}
.kpi,.t28-stat{display:flex;min-height:106px;flex-direction:column;justify-content:space-between}
.kpi strong,.t28-stat b{margin-top:auto;padding-top:8px}
.course-card,.process-card,.benefit-card,.teacher-card,.m28-assignment-card{display:flex;min-width:0;flex-direction:column}
.course-card .arrow,.process-card .arrow,.benefit-card .arrow,.m28-course-options{margin-top:auto}
.m28-assignment-card{min-height:184px}.m28-course-options{padding-top:12px}
.teacher-row{height:100%;align-content:center}.teacher-list{grid-auto-rows:minmax(82px,auto)}
.actions,.toolbar,.portal-toolbar,.t28-head-actions{align-items:center}
.btn,.tab,.t28-head-actions button,.t28-head-actions a{line-height:1.25}
.tabs{display:flex;max-width:100%;flex-wrap:wrap;overflow:visible!important;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.t28-layout,.t28-main,.t28-sidebar,.t28-card,.t286-class-card,.t286-calendar-card,.m28-admin-panel,.m28-editor{max-width:100%;min-width:0}
.t28-sidebar{overflow:visible!important}
.t28-nav{min-width:0!important;max-width:100%}
.t28-nav button{min-width:0;justify-content:flex-start;white-space:normal;line-height:1.25}
.t286-stats{grid-auto-rows:1fr}.t286-stats .t28-stat{min-height:105px}
.t286-dashboard-grid{grid-auto-rows:1fr}.t286-dashboard-grid>.t28-card{margin-top:0}
.t286-class-head>div,.t286-card-head>div,.t28-page-head>div{min-width:0}
.t286-detail-grid dd,.t28-row b,.t28-row small{overflow-wrap:anywhere;word-break:keep-all}
.t28-calendar-weekdays,.t28-calendar-days{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
.t28-calendar-day{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.v288-server-state{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid #d7e1dc;border-radius:999px;background:#fff;color:#56706a;font-size:11px;font-weight:850;white-space:nowrap}
.v288-server-state::before{content:'';width:8px;height:8px;border-radius:50%;background:#d59a32;box-shadow:0 0 0 4px rgba(213,154,50,.12)}
.v288-server-state.ok{color:#176044;background:#eef8f3;border-color:#cfe7dc}.v288-server-state.ok::before{background:#2b9a70;box-shadow:0 0 0 4px rgba(43,154,112,.12)}
.v288-server-state.error{color:#ad3e34;background:#fff3f1;border-color:#f0d0cb}.v288-server-state.error::before{background:#d85549;box-shadow:0 0 0 4px rgba(216,85,73,.12)}
.v288-connection-banner{position:fixed;left:50%;top:12px;z-index:2000000;transform:translateX(-50%);width:min(680px,calc(100% - 24px));padding:12px 15px;border:1px solid #efc8c1;border-radius:14px;background:#fff3f1;color:#9f3c33;box-shadow:0 16px 38px rgba(50,26,22,.16);font-size:13px;font-weight:800;text-align:center}
@media(max-width:980px){
  .portal-toolbar{gap:6px}.portal-toolbar .btn,.portal-toolbar a{min-height:40px;padding:9px 11px}
  .teacher-admin-grid{grid-template-columns:1fr!important}
  .m28-teacher-list{grid-template-columns:1fr!important}
  .m28-teacher-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}
  .m28-teacher-nav button{min-width:0!important;height:100%}
}
@media(max-width:680px){
  .wrap,.admin-wrap,.my-wrap{width:calc(100% - 16px)!important;margin-left:auto!important;margin-right:auto!important}
  .topbar,.t28-header{min-width:0;padding-left:10px!important;padding-right:10px!important}
  .portal-brand-copy small,.t28-brand small{display:none!important}
  .portal-toolbar{flex-wrap:nowrap}.portal-toolbar .btn{font-size:12px;padding:8px 10px}.portal-support{display:none}
  .portal-hero{padding:23px 20px!important;border-radius:20px!important}.portal-hero.compact{grid-template-columns:1fr!important}.hero-security{white-space:normal;width:fit-content}
  .tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding-bottom:10px!important}
  .tab{width:100%;min-width:0;padding:9px 5px!important;font-size:11px;text-align:center;white-space:normal!important}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kpi{min-height:92px;padding:14px!important}.kpi strong{font-size:24px!important}
  .t28-layout{display:block!important;width:100%!important;margin:10px 0 48px!important;padding:0 8px!important}
  .t28-sidebar{position:sticky!important;top:68px!important;z-index:70!important;width:100%!important;margin:0 0 10px!important;padding:7px!important;border-radius:15px!important;background:rgba(255,253,249,.98)!important}
  .t28-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;overflow:visible!important}
  .t28-nav button{min-height:39px!important;padding:7px 3px!important;justify-content:center!important;text-align:center!important;font-size:10px!important}
  .t28-page-head{margin-bottom:13px!important}.t28-page-head h1{font-size:29px!important}.t28-page-head p{font-size:13px;line-height:1.55}
  .t28-card{padding:14px!important;border-radius:16px!important}.t286-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.t286-stats .t28-stat{min-height:86px!important;padding:12px!important}
  .t286-filterbar{grid-template-columns:1fr!important}.t286-class-head,.t286-card-head{display:grid!important}.t286-class-head>button,.t286-link-button{width:100%!important}
  .t286-detail-grid{grid-template-columns:1fr!important}.t286-detail-grid .wide{grid-column:auto!important}
  .t28-calendar-weekdays,.t28-calendar-days{gap:2px!important}.t28-calendar-weekdays div{padding:4px 0!important;font-size:9px!important}.t28-calendar-day{min-height:46px!important;padding:3px!important;border-radius:7px!important}.t28-calendar-day-number{font-size:9px!important}.t28-calendar-day small{font-size:7px!important}.t286-day-dots{gap:2px!important;margin-top:4px!important}.t286-day-dots i{width:5px!important;height:5px!important}
  .m28-admin-overlay{padding:0!important}.m28-admin-panel{width:100%!important;min-height:100dvh!important;margin:0!important;padding:12px!important;border-radius:0!important}.m28-admin-panel-head{position:sticky;top:0;z-index:4;margin:-12px -12px 12px;padding:12px;background:#f7f7f3}.m28-teacher-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}.m28-teacher-nav button{padding:10px 5px!important;font-size:11px;text-align:center!important}.m28-editor{padding:13px!important}.m28-form-grid{grid-template-columns:1fr!important}.m28-form-grid .full{grid-column:auto!important}.m28-assignment-grid{grid-template-columns:1fr!important}.m28-assignment-card{min-height:0!important}.m28-save-bar{margin:16px -13px -13px!important;padding:11px 13px!important}
  .v288-server-state{min-height:30px;padding:0 8px;font-size:10px}
}
@media(max-width:390px){
  .tabs,.t28-nav,.m28-teacher-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .grid-4{gap:7px!important}.t28-main{padding:0!important}.t28-card{padding:12px!important}.t28-calendar-day{min-height:42px!important}.t28-calendar-day small{font-size:0!important}.t28-calendar-day small::after{content:'•';font-size:9px;color:#2f7469}
}
