html,body{overscroll-behavior-x:none}
body{touch-action:pan-y}
.sidebar,.archive-toolbar,.school-organization-toolbar{touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.school-organization-toolbar{display:flex;flex-wrap:wrap;gap:5px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;margin-bottom:22px}
.school-organization-toolbar button{padding:10px 14px;border:0;border-radius:8px;font:inherit;color:var(--ink-2);background:transparent;cursor:pointer;min-height:40px;white-space:nowrap}
.school-organization-toolbar button:hover{background:#f5f5f8;color:var(--ink)}
.school-organization-toolbar button.active{background:#efeffc;color:var(--brand);font-weight:600}
.school-organization-toolbar button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.school-organization-note{margin:0 0 20px;color:var(--ink-2);line-height:1.8}
#schoolModuleView{position:relative;min-width:0}
#schoolModuleFrame{display:block;width:100%;height:calc(100dvh - 140px);min-height:650px;border:0;border-radius:14px;background:var(--bg)}
.school-module-loading{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-2)}
@media(max-width:768px){.school-organization-toolbar{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin;margin-bottom:16px}.school-organization-toolbar button{flex-shrink:0;min-height:44px;padding:10px 12px}#schoolModuleFrame{height:calc(100dvh - 110px);min-height:620px}}
