/* Final responsive layer: loaded after feature styles so mobile rules remain authoritative. */
.mobile-menu,.mobile-nav-close,.mobile-nav-scrim{display:none}.mobile-menu{border:0;background:transparent;color:var(--ink);width:36px;height:36px;padding:0;font-size:22px;line-height:1}
.data-panel,.work-panel,.activity-panel{border-radius:4px}
.page-head h1{font-size:24px}.page-head p{max-width:760px}
.btn{min-height:36px}.notification-trigger{min-height:34px}

@media (max-width:760px){
  body{font-size:14px;overflow-x:hidden}
  .shell{display:block;min-height:100dvh}
  .side{display:flex;position:fixed;inset:0 auto 0 0;z-index:70;width:min(286px,84vw);padding:16px 12px;gap:16px;overflow-y:auto;box-shadow:18px 0 38px rgba(17,31,41,.24);transform:translateX(-105%);transition:transform .2s ease}
  .mobile-nav-open .side{transform:translateX(0)}
  .mobile-nav-scrim{border:0;background:rgba(17,31,41,.42);position:fixed;inset:0;z-index:60}.mobile-nav-open .mobile-nav-scrim{display:block}
  .side .brand{background-size:155px auto;min-height:65px}.side-foot{margin-top:14px}
  .mobile-menu{display:grid;place-items:center;flex:none}.mobile-nav-close{display:grid;place-items:center;position:absolute;top:12px;right:10px;z-index:1;width:32px;height:32px;border:1px solid rgba(255,255,255,.22);border-radius:4px;background:#243947;color:#fff;font-size:24px;line-height:1}
  .topbar{position:sticky;top:0;z-index:40;height:56px;padding:0 12px;gap:8px}
  .crumb{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.crumb span{display:none}
  .status{display:none}.avatar{width:29px;height:29px;font-size:12px}.notification-trigger{font-size:0;width:36px;padding:0}.notification-trigger::before{content:'通';font-size:12px}.notification-trigger i{font-size:10px}
  .page{padding:16px 12px 28px;max-width:none;overflow-x:hidden}
  .page-head{display:block;min-width:0;margin-bottom:14px}.page-head h1{font-size:20px;line-height:1.25}.page-head p{font-size:12px;margin-top:6px}
  .actions{width:100%;margin:13px 0 0;overflow-x:auto;padding-bottom:2px;justify-content:flex-start}.actions .btn{white-space:nowrap;flex:none}
  .business-kpis,.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;min-width:0;margin-bottom:14px}.metric,.kpi{min-height:96px;padding:14px 12px}.metric b,.kpi b{font-size:22px}.metric span,.metric small{font-size:11px}
  .distribution-grid,.admin-layout,.permission-layout,.staff-layout,.teacher-grid{display:block;min-width:0}.distribution-grid>*{margin-bottom:12px}.admin-layout>*{margin-bottom:12px}
  .workspace{display:block;min-width:0;min-height:0;overflow:visible}.pane{border-right:0;border-bottom:1px solid var(--line)}.pane:first-child,.pane:nth-child(2){max-height:none;overflow:visible}.editor-body{overflow:visible}
  .data-panel{max-width:100%;margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:620px}.resource-table{min-width:560px}.panel-title{padding:12px}.panel-title b{font-size:13px}.panel-title span{max-width:52%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .form-grid,.inline-fields{grid-template-columns:1fr;gap:10px}.field.full{grid-column:auto}.field input,.field textarea,.field select{min-height:40px}.field textarea{min-height:104px}
  .dialog{width:100%;max-height:calc(100dvh - 18px);overflow-y:auto;padding:18px;border-radius:8px 8px 0 0}.create-dialog{place-items:end;padding:0}.dialog-foot{position:sticky;bottom:-18px;background:#fff;padding:14px 0 0;margin-top:15px}.dialog-foot .btn{flex:1}
  .modal-backdrop{padding:0}.modal{width:100%;height:100%;border-radius:0}.modal-head{padding:0 12px}.modal-head span{display:none}
  .teacher-page .page,.teacher-grid{min-width:0}.classroom-workspace{display:block;min-width:0}.class-schedule,.class-guide{border:0;border-bottom:1px solid var(--line)}.teaching-stage{min-height:360px}.stage-head{padding:10px 12px}.stage-controls{padding:10px 12px;overflow-x:auto}.stage-controls .btn{white-space:nowrap;min-height:36px}
  .access-users,.access-editor{min-height:0}.access-user-list{display:block}.access-foot{align-items:stretch;flex-wrap:wrap}.access-foot .btn{margin-left:0;flex:1}.role-matrix{overflow-x:auto}
  .catalog-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch;min-width:0}.catalog-toolbar .field{width:100%}.catalog-toolbar>span{margin:0;padding:0}.curriculum-map{overflow-x:auto}.map-table{min-width:760px}.readiness-strip{min-width:0}.course-release-bar{height:auto;min-width:0;padding:10px;flex-wrap:wrap}
  .login-page{min-height:100dvh}.login-shell{display:block;min-height:100dvh}.login-intro{display:none}.login-panel{min-height:100dvh;padding:34px 24px;display:flex;flex-direction:column;justify-content:center}
}

@media (max-width:390px){
  .page{padding-left:10px;padding-right:10px}.metric,.kpi{min-height:82px}.actions{gap:6px}.btn{padding-left:10px;padding-right:10px}.teaching-stage{min-height:320px}
}
