/* Same castle, distinct responsibility: the parent entry is a quiet, focused gate. */
body:not([data-role=parent]) [data-parent-only],body[data-role=parent] [data-student-only]{display:none!important}
body[data-access=locked]>.sidebar,body[data-access=locked]>.app-shell,body[data-access=locked]>.skip-link{display:none}
.parent-gate{min-height:100svh;max-width:1100px;margin:auto;padding:64px 40px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr);gap:68px;align-items:center}
.parent-entry-art{min-height:520px;position:relative;overflow:hidden;border-radius:12px;background:var(--panel)}
.parent-entry-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% center;opacity:.72}
.parent-entry-art>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:36px;background:linear-gradient(0deg,#0c182bf5,transparent 70%)}
.parent-entry-art svg{width:48px;height:56px;color:var(--gold-bright);margin-bottom:22px}
.parent-entry-art p{font:30px/1.7 var(--serif);color:var(--text)}
.parent-entry-form{max-width:380px;width:100%;padding:12px 0}
.parent-entry-form h1{font:500 34px/1.45 var(--serif);color:var(--gold-bright);text-wrap:balance}
.parent-entry-form>p{font-size:16px;color:var(--muted);line-height:1.85;margin-top:16px}
#parent-login-form{margin-top:34px}
#parent-login-form label{display:block;font-size:14px;margin-bottom:10px}
.password-field{display:flex;align-items:center;border:1px solid #536276;border-radius:8px;background:var(--panel)}
.password-field:focus-within{outline:2px solid var(--gold-bright);outline-offset:3px}
.password-field input{width:100%;min-width:0;min-height:54px;padding:13px 14px;background:transparent;border:0;outline:none;color:var(--text);font-size:16px;caret-color:var(--gold)}
.password-field input::placeholder{color:var(--muted)}
.password-field .text-button{min-width:58px;min-height:48px;font-size:14px;padding-inline:12px}
#parent-login-submit{width:100%;min-height:54px;font-size:16px;margin-top:20px}
#parent-login-error:empty{display:none}
#parent-login-error{margin-top:14px;font-size:14px;line-height:1.7}
.parent-entry-form>.parent-login-help{font-size:13px;margin-top:22px}
.parent-entry-form>a{font-size:14px;margin-top:12px}
.parent-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1430px;margin:0 auto;padding:14px 40px;border-bottom:1px solid var(--line);background:var(--panel)}
.parent-toolbar>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.parent-toolbar strong{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--gold-bright)}
.parent-toolbar strong svg{width:17px;height:19px}
.parent-toolbar>div>span{color:var(--muted);font-size:12px}
.parent-toolbar-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}
.parent-toolbar-actions .text-button{font-size:13px}
.parent-toolbar-actions .button{font-size:13px;padding-inline:14px}
body[data-role=student] .topbar-title{display:block}
#parent-password-form>label{margin-bottom:18px}
#parent-password-form>.button{width:100%;margin-top:12px}
@media(max-width:1100px){.parent-toolbar{padding-inline:28px}.parent-toolbar>div:first-child{display:block}.parent-toolbar>div>span{display:block;margin-top:3px}.parent-toolbar-actions{gap:16px}}
@media(max-width:800px){.parent-gate{gap:34px;padding:40px 28px}.parent-entry-art{min-height:460px}.parent-entry-art>div{padding:26px}.parent-entry-art p{font-size:25px}.parent-entry-form h1{font-size:30px}}
@media(max-width:600px){.parent-gate{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:26px 24px 38px;min-height:100svh}.parent-entry-art{min-height:155px;height:155px}.parent-entry-art>img{object-position:65% 38%}.parent-entry-art>div{padding:22px;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;background:linear-gradient(90deg,#0c182bd9,transparent)}.parent-entry-art svg{width:38px;height:46px;margin:0}.parent-entry-art p{font-size:22px;line-height:1.65}.parent-entry-form{max-width:none;padding:0}.parent-entry-form h1{font-size:29px}.parent-entry-form>p{font-size:14px;margin-top:10px}.parent-entry-form>p br{display:none}#parent-login-form{margin-top:24px}.parent-toolbar{display:block;padding:12px 20px}.parent-toolbar-actions{justify-content:space-between;gap:12px;margin-top:8px}.parent-toolbar>div>span{font-size:12px}.parent-toolbar-actions .text-button{font-size:14px}body[data-role=student] .topbar-actions{width:auto;margin-left:auto}}
