.school-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;padding:56px 0 32px;border-bottom:1px solid #e7e1ec;margin-bottom:32px}.school-heading h1{font-size:clamp(28px,4vw,44px);line-height:1.5;margin:8px 0}.school-heading p{max-width:60ch;color:#555260}.school-heading nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:14px}.school-heading nav a,.school-help a,.school-policy a{color:#581c87;text-decoration:underline;text-underline-offset:5px}.school-section{margin:32px 0}.school-section h2,.school-entry h2{font-size:23px;margin:0 0 10px}.school-section-head{display:flex;gap:16px;align-items:baseline;justify-content:space-between}.school-section-head p,.school-help{color:#625b68;font-size:14px}.school-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.school-person{display:flex;gap:14px;align-items:center;border:1px solid #e3dce9;background:#fff;padding:20px;text-decoration:none;color:#2e193f;border-radius:10px;min-height:96px}.school-person>span:nth-child(2){flex:1}.school-person strong,.school-person small,.school-class strong,.school-class small{display:block}.school-person small,.school-class small{color:#62596c;margin-top:7px;font-size:13px}.school-person:hover,.school-class:hover{border-color:#80529f;background:#fbf8fd}.school-person.is-selected,.school-class.is-selected{border:2px solid #6b3191;background:#f8f3fb}.school-initial{display:grid;place-items:center;background:#f0e5f6;width:44px;height:48px;flex:none;font-size:25px;color:#622c85}.school-record{background:#faf6fc;border-inline-start:5px solid #6b3191;padding:28px;margin:32px 0}.school-record h2{font-size:29px;margin:8px 0 16px}.school-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0 0}.school-facts dt{color:#62566b;font-size:13px;margin-bottom:10px}.school-facts dd{margin:0;line-height:1.9;font-weight:600}.school-record-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.school-record-columns .school-section{min-width:0;margin-top:8px}.school-table{overflow-x:auto;border-block:1px solid #e6ddeb;background:#fff}.school-table table{width:100%;border-collapse:collapse;font-size:14px;text-align:right}.school-table th{background:#f7f3fa;color:#51425c;font-weight:600}.school-table th,.school-table td{padding:15px 12px;vertical-align:top;border-bottom:1px solid #ece5f0}.school-table td small{display:block;color:#645a6b;margin-top:5px}.school-table tr:last-child td{border-bottom:0}.school-teacher{display:flex;gap:20px;align-items:baseline;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid #e6ddeb}.school-teacher strong{font-size:22px}.school-teacher span{color:#62596c}.school-class{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 12px;border-bottom:1px solid #e6ddeb;color:#582d73}.school-class>span:last-child{font-size:13px;flex:none}.school-entry{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#faf6fc;border-inline-start:4px solid #6b3191;padding:26px;margin:28px 0}.school-entry p{line-height:1.9}.school-entry .button{flex:none}.school-password{max-width:560px;margin:0 auto 48px}.school-password input{direction:ltr;text-align:left}.school-help{margin:24px 0 40px;line-height:2}.school-policy{max-width:850px;margin:0 auto 48px}.school-policy h2{font-size:22px;margin-top:28px}.school-policy p{line-height:2.1}.school-entry .eyebrow,.school-record .eyebrow{color:#74408f}.page-school a:focus-visible,.page-school-password a:focus-visible,.school-person:focus-visible,.school-class:focus-visible{outline:3px solid #9a4b16;outline-offset:4px}.page-school .notice a{font-weight:700;text-decoration:underline}.school-password button{min-height:44px}.school-password input:focus-visible{outline:3px solid #9a4b16;outline-offset:2px}.school-heading nav a,.school-heading nav button{min-height:44px;display:inline-flex;align-items:center}.school-help a{display:inline-block;padding:5px 0}
@media(max-width:760px){.school-heading{display:block;padding-top:28px}.school-heading nav{margin-top:18px;gap:10px 20px}.school-people,.school-record-columns{grid-template-columns:1fr}.school-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.school-section-head{display:block}.school-record{padding:20px}.school-entry{display:block;padding:20px}.school-entry .button{margin-top:12px}.school-person{padding:16px}.school-heading h1{font-size:30px}.school-table th,.school-table td{padding:12px 9px}.school-class{padding:18px 8px}.school-password{padding:22px!important}.school-record h2{font-size:25px}}
:is(.page-login,.page-register) .auth-layout h1{letter-spacing:normal}
:is(.page-login,.page-register) .auth-panel input{font-size:16px}
:is(.page-login,.page-register) .auth-panel input:focus-visible{outline:3px solid #71349b!important;outline-offset:2px}
@media(max-width:740px){:is(.page-login,.page-register) .auth-layout>div:first-child:before{position:static;inset:auto}:is(.page-login,.page-register) .auth-layout h1 em{display:block}:is(.page-login,.page-register) .auth-panel label{font-size:14px}:is(.page-login,.page-register) .auth-panel .muted{font-size:13px;line-height:2}}
