.install-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.install-step{border:1px solid var(--border);border-radius:10px;padding:16px;background:#f8fafc}.install-step h3{margin:0 0 8px}.install-step p{margin:0}.install-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.install-actions .muted{margin:0}
@media(min-width:761px){body:not(.auth){display:grid;grid-template-columns:238px minmax(0,1fr);align-items:start;min-height:100vh}.sidebar{position:relative;inset:auto;width:238px;height:auto;min-height:100vh;overflow:visible}.workspace{min-width:0;margin-left:0}}
@media(min-width:761px) and (max-width:1100px){body:not(.auth){grid-template-columns:212px minmax(0,1fr)}.sidebar{width:212px}}
@media(max-width:760px){html,body{max-width:100%;overflow-x:hidden}button,.button,input,select,textarea{min-height:44px}.sidebar{width:min(86vw,280px);padding-bottom:max(28px,env(safe-area-inset-bottom))}.sidebar nav a{min-height:48px}.table-scroll{max-width:100%;-webkit-overflow-scrolling:touch}.grade-scroll{max-height:calc(100dvh - 190px)}.grade-scroll .student{min-width:150px;max-width:170px}.grade-input{min-width:96px;min-height:46px;font-size:16px}input,select,textarea{font-size:16px}.section-heading .toolbar{width:100%}.section-heading .toolbar>*{flex:1 1 140px}.inline-form{width:100%}.inline-form label{min-width:0;flex:1 1 180px}.install-grid{grid-template-columns:1fr}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.topbar{height:64px}.page-heading{margin-bottom:20px}}
