button,input,select,textarea{font:inherit}button.chip,button.tab{cursor:pointer}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-shell>main{flex:1}.mobile-menu-btn{display:none;border:0;background:transparent;color:var(--text, #4a382c);padding:.55rem}.mobile-menu-btn .ic{width:1.55rem;height:1.55rem}.mobile-logout{display:none}.page-state{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.page-state>.ic{width:2.2rem;height:2.2rem;color:var(--red, #9a3224)}.loading-ring{width:2.4rem;height:2.4rem;border-radius:50%;border:3px solid rgba(166,111,34,.2);border-top-color:var(--gold, #b47d2c);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bare-shell{display:block}.login-tools{position:fixed;inset-block-start:1.25rem;inset-inline-end:1.25rem;display:flex;gap:.65rem;z-index:4}.narrow-panel{max-width:620px;margin-inline:auto}.profile-panel .form-actions{grid-column:1 / -1}.form-note{display:flex;align-items:center;gap:.5rem;color:var(--muted, #7d6d60)}.form-note .ic{flex:0 0 auto}.tabs button{border:0;font:inherit}.appointment-link .ic{width:1rem;height:1rem}.actions-cell>button{white-space:nowrap}@media(max-width:1050px){.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;order:2}.topbar-inner{flex-wrap:wrap}.mainnav{display:none;order:4;width:100%;padding-block:.5rem 1rem;gap:.35rem;overflow-x:auto}.mainnav.is-open{display:flex}.topbar-actions{margin-inline-start:auto}}@media(max-width:700px){.brand-text small{display:none}.topbar-inner{gap:.4rem}.topbar-actions{gap:.35rem}.user-meta,.desktop-logout{display:none}.user-chip{padding:.2rem;border:0;background:transparent}.lang-btn{min-width:auto;padding-inline:.65rem}.mainnav.is-open{flex-direction:column;align-items:stretch}.mainnav a{text-align:center}.mobile-logout{display:block;border:1px solid var(--line, #dcc9a8);border-radius:999px;background:transparent;color:var(--red, #963526);padding:.65rem 1rem;cursor:pointer}.page-head{align-items:flex-start}.page-head h1{font-size:clamp(1.55rem,8vw,2.2rem)}.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{white-space:nowrap}.footer-inner{text-align:center}.footer-contact{justify-content:center}.actions-cell{min-width:170px}.teacher-bar-row{grid-template-columns:minmax(110px,1fr) minmax(80px,2fr) auto}.login-card{width:min(94vw,520px)}}
