/* Calm shared surfaces, with a distinct family accent. */
body.app28 #student-list>.student-edit-row33{position:relative;overflow:visible;flex:0 0 206px!important;width:206px!important;padding:0!important;border-radius:14px}
body.app28 #student-list>.student-edit-row33>.student-pill{width:100%!important;flex:1 1 auto!important;padding-right:42px!important;min-height:76px!important;border-radius:14px!important}
body.app28 #student-list>.student-edit-row33>button.student-pencil35{position:absolute!important;top:2px;right:2px;z-index:2;width:40px!important;height:40px!important;min-height:40px!important;padding:10px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#ccd9df!important}
body.app28 #student-list .student-pencil35:hover{background:#b9a4d02b!important}
body.compact-login{--login-accent:#98183f;--login-ink:#fff}
body.compact-login.login-parent35{--login-accent:#bba8d4;--login-ink:#222d39}
.role-switch35{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid #607985;border-radius:14px;background:#1a303c;margin-bottom:22px}
.role-switch35>span{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:10px;background:var(--login-accent);transition:transform .38s cubic-bezier(.22,1,.36,1),background-color .3s}
.login-parent35 .role-switch35>span{transform:translateX(100%)}
body.compact-login .role-switch35>button{margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:48px;padding:10px!important;color:#e9eef0!important;font:inherit;cursor:pointer;transition:color .25s}
body.compact-login .role-switch35>button[aria-pressed=true]{color:var(--login-ink)!important;font-weight:700}
body.compact-login #live-form>button[type=submit]{background:var(--login-accent)!important;color:var(--login-ink)!important;border:1px solid #ffffff30!important;min-height:50px;border-radius:12px!important;transition:background-color .3s,color .3s}
body.compact-login .login-book35{display:block;width:108px;height:108px;border-radius:50%;object-fit:cover;margin:0 auto 20px}
body.compact-login #live-view .eyebrow{color:#d6b6ca!important;text-align:center;font-size:10px;letter-spacing:1.4px}
body.compact-login #login-title35{text-align:center;font-size:clamp(24px,5vw,32px)!important;line-height:1.25}
body.compact-login #login-sub35{text-align:center;font-size:14px!important;color:#cbd8df!important;min-height:42px}
body.compact-login #live-form input{min-height:50px!important;background:#253d49!important;color:#f3f5f7!important;border:1px solid #5a7582!important;border-radius:12px!important}
body.parent-layout{background:#1d333f;color:#edf3f5;--parent-accent:#bba8d4;--parent-line:#556c7b;font:15px/1.55 Manrope,Arial,sans-serif}
body.parent-layout .parent-topbar{background:#223a46;border-color:#4c6471;box-shadow:none;max-width:1100px}
body.parent-layout .parent-topbar .brand{font-size:21px}
body.parent-layout .parent-shell{max-width:1020px;padding:0 20px 48px}
.parent-eyebrow35{color:#cbb8dd!important;letter-spacing:2px;font-weight:700;font-size:11px}
body.parent-layout .parent-shell h1{font-size:30px}
body.parent-layout button,body.parent-layout a.btn-ghost,body.parent-layout .parent-dialog a:not(.brand){font:inherit;min-height:48px;padding:12px 16px;border:1px solid #627788;border-radius:12px;background:#29424f;color:#f0f3f7;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.35}
body.parent-layout button:hover{background:#344e5d}
body.parent-layout button:focus-visible,body.parent-layout a:focus-visible{outline:3px solid #cdbade;outline-offset:3px}
body.parent-layout .family-actions33{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 24px}
body.parent-layout .family-actions33>button{flex-direction:column;padding:16px 12px;min-height:96px;background:#243e4b;border-radius:16px;text-align:center}
.family-actions33 svg{width:26px;height:26px;color:#cebce0;flex:none}
body.parent-layout .parent-avatar{width:62px;height:62px}
body.parent-layout .parent-child{min-height:80px;border-radius:16px!important;font-size:20px;font-weight:650;gap:16px}
body.parent-layout .parent-child[aria-pressed=true]{background:#bba8d414!important;border-color:#c5b0d9!important}
body.parent-layout .parent-next,body.parent-layout .parent-work-section{background:#253e4b;border-color:#506a77;border-radius:16px;padding:18px}
body.parent-layout .parent-counts button{background:#2c4352!important;align-items:flex-start;flex-direction:column;gap:4px}
body.parent-layout .parent-counts strong{font-size:30px;color:#f4eef8}
body.parent-layout .parent-counts span{font-size:13px}
body.parent-layout .parent-dialog{background:#233c48;color:#edf3f6;border:1px solid #697f8d;border-radius:20px;padding:24px;overflow:auto;box-sizing:border-box}
body.parent-layout .parent-dialog>header{align-items:center;margin-bottom:20px}
body.parent-layout .parent-dialog h2{font-size:22px}
body.parent-layout .parent-dialog .dialog-close35{width:48px;height:48px;padding:0;flex:none}
.dialog-actions35{display:grid;gap:10px;margin-top:20px}
body.parent-layout .dialog-actions35>*{width:100%;box-sizing:border-box}
body.parent-layout .primary35,body.parent-layout .parent-balance35{background:#bba8d4!important;color:#24303c!important;border-color:#cdbbe0!important;font-weight:650}
.empty-notices35{text-align:center;padding:26px 10px;color:#c4d1d9}
.empty-notices35 svg{width:40px;height:40px;margin-bottom:10px;color:#c9b5dd}
.empty-notices35 strong{display:block;color:#f3f0f6;font-size:18px}
.empty-notices35 p{max-width:330px;margin:8px auto}
.parent-week35{border-left:3px solid #bba8d4;padding:10px 16px;margin:20px 0;color:#d8e1e7}
.parent-week35 h2{margin-bottom:4px;font-size:17px}
body.parent-layout .parent-balance35{width:100%;justify-content:space-between;margin-bottom:20px;padding:18px 20px;font-size:18px}
.billing-total35{background:#bba8d4;color:#25303a;border-radius:14px;padding:18px;font-size:22px;font-weight:700;margin:16px 0}
.billing-row35{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:16px 0;border-bottom:1px solid #526a76}
.billing-row35 small{grid-column:1/-1;color:#c5d1d9}
.billing-state35{font-size:12px;border-radius:20px;padding:5px 10px;align-self:center;white-space:normal}
.billing-state35[data-state=paid]{background:#315d52;color:#c9efdc}
.billing-state35[data-state=due],.billing-state35[data-state=partial]{background:#65583b;color:#f3e0ad}
.billing-state35[data-state=cancelled]{background:#45515c;color:#dce3e8}
body.parent-layout .parent-dialog input{width:100%;min-height:48px;background:#1b313d;color:#f1f3f6;border:1px solid #7a8b98;border-radius:10px;padding:12px;font:inherit;margin:8px 0 16px}
body.parent-layout #app-onboarding,body.parent-layout .app-onboarding{margin:16px;border-radius:16px}
.credentials35{display:grid;gap:10px;padding:16px;border:1px solid #728294;border-radius:12px;margin-top:16px}
.credentials35 textarea{width:100%;min-height:130px;font:inherit;background:#1d333f;color:#fff;padding:12px;border-radius:8px}
@media(max-width:650px){body.parent-layout .family-actions33{grid-template-columns:repeat(2,minmax(0,1fr))}body.parent-layout .parent-shell{padding:0 16px 32px}body.parent-layout .parent-topbar{margin:12px 16px;padding:10px;gap:8px;flex-wrap:wrap}body.parent-layout .parent-topbar .brand{font-size:18px}body.parent-layout .parent-topbar button{font-size:12px;min-height:44px;padding:10px}body.parent-layout .parent-dialog{width:calc(100vw - 24px);padding:18px;max-height:90dvh}body.parent-layout .parent-work{grid-template-columns:minmax(0,1fr)}body.parent-layout .parent-work>button{justify-self:stretch;margin-top:8px}body.parent-layout .parent-counts button{padding:14px 10px!important}}
@media(max-width:340px){body.parent-layout .family-actions33{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.role-switch35>span,body.compact-login .role-switch35>button,body.compact-login #live-form>button[type=submit]{transition:none}}

body.parent-layout .app-nudge{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 24px;padding:18px;border:1px solid #607685;border-radius:16px;background:#2b4350}body.parent-layout .app-nudge>div:first-child{flex:1 1 220px}body.parent-layout .app-nudge p{margin:6px 0}body.parent-layout .nudge-actions{display:flex;flex-wrap:wrap;gap:10px}body.parent-layout .nudge-actions .btn-primary{background:#bba8d4;color:#24313d}

body.app28.compact-login .login-card{border-radius:18px!important}body.app28 #student-list .student-pencil35{font-size:18px!important}
body.parent-layout [hidden]{display:none!important}
