.header-tools .child-chip, .role-switcher { display: none !important; }
.account-entry { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .65rem 1rem; border: 1px solid #214e43; border-radius: 12px; background: #214e43; color: #fff; font: inherit; font-weight: 700; text-decoration: none; text-align: center; }
.account-entry[hidden] { display:none !important; }
.brand-copy { display:inline-flex; flex-direction:column; align-items:flex-start; line-height:1.15; }
.brand-copy small { margin-top:.15rem; color:#52645a; font-size:.62rem; font-weight:600; letter-spacing:.02em; }
.account-view { padding-block: 2rem 4rem; }
.account-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 4rem); max-width: 1040px; margin-inline: auto; align-items: start; }
.account-intro { padding-block: 1rem; }
.account-intro h1 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); line-height: 1.65; margin: .5rem 0 1rem; color: #214e43; }
.account-intro p, .account-card p { line-height: 1.9; }
.account-demo-access { display:grid; gap:.65rem; margin-top:1.25rem; padding:1rem 1.1rem; border:1px solid #b77d57; border-inline-start:5px solid #af512e; border-radius:14px; background:#fff6e9; text-align:start; }
.account-demo-access strong { color:#214e43; font-size:1.05rem; }
.account-demo-access p { margin:0; color:#52645a; }
.account-demo-access .account-button { justify-self:start; }
.account-card { background: #fffdf8; border: 1px solid #d6d8c9; border-radius: 22px; padding: clamp(1.2rem, 3vw, 2.2rem); min-width: 0; box-shadow: 0 12px 32px #214e4308; }
.account-card h2 { margin-top: 0; font-size: 1.4rem; }
.account-card form { display: grid; gap: 1.2rem; }
.simple-registration { max-width: 520px; margin-inline: auto; scroll-margin-top: 160px; }
.auth-heading { margin-bottom: 1.5rem; }
.auth-heading h2 { margin-bottom: .35rem; }
.auth-heading .account-note { margin: 0; }
.simple-registration .auth-submit { width: 100%; margin-top: .2rem; }
.simple-registration .password-visibility { justify-self:start; margin-top:-.7rem; background:transparent; }
.auth-forgot { margin: -.25rem 0 0; text-align: center; }
.auth-switch { margin: 1.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid #d6d8c9; color: #52645a; text-align: center; }
.auth-switch-button { min-height: 44px; margin: -.65rem -.5rem; padding: .65rem .5rem; border: 0; background: transparent; color: #214e43; font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: .22em; cursor: pointer; }
.auth-switch-button:hover { color: #81351b; }
@media(max-width:560px){.simple-registration{max-width:none;}.auth-heading{margin-bottom:1.25rem;}}
.account-field { display: grid; gap: .5rem; font-weight: 600; }
.account-field input { width: 100%; min-width: 0; box-sizing: border-box; padding: .8rem; min-height: 48px; border: 1px solid #899a8d; border-radius: 10px; background: #fff; color: #183b32; font: inherit; }
.account-card fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .7rem; min-width: 0; }
.account-card legend { padding: 0 0 .65rem; font-weight: 700; }
.account-role { display: flex; gap: .8rem; align-items: flex-start; padding: .85rem; border: 1px solid #b7c4b9; border-radius: 12px; cursor: pointer; }
.account-role:has(input:checked) { border-color: #214e43; background: #edf3e9; }
.account-role input { margin-top: .4rem; accent-color: #214e43; flex-shrink: 0; }
.platform-inbox{border-top:1px solid #d6d8c9;padding-top:.45rem}.platform-inbox>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;font-weight:700;cursor:pointer}.platform-inbox-badge{display:inline-grid;place-items:center;min-width:1.55rem;height:1.55rem;padding-inline:.35rem;border-radius:999px;background:#214e43;color:#fff;font-size:.75rem}.platform-inbox-list{display:grid;gap:.5rem;max-height:min(55vh,430px);overflow:auto;padding-block:.4rem}.platform-inbox-message{border:1px solid #d6d8c9;border-radius:12px;background:#fffdf7;overflow:hidden}.platform-inbox-message.is-unread{border-inline-start:4px solid #214e43}.platform-inbox-message-button{display:grid;gap:.35rem;width:100%;min-height:52px;padding:.75rem;border:0;background:transparent;color:inherit;text-align:inherit;cursor:pointer}.platform-inbox-message-head{display:flex;justify-content:space-between;gap:.75rem}.platform-inbox-message-head time{font-size:.75rem;color:#52645a;white-space:nowrap}.platform-inbox-unread{font-size:.75rem;color:#214e43}.platform-inbox-message-body{padding:.1rem .75rem .85rem;white-space:pre-wrap;line-height:1.8}.platform-inbox-message-body small{color:#52645a}.platform-inbox-message-button:focus-visible{outline:3px solid rgba(33,78,67,.3);outline-offset:-3px}@media(max-width:560px){.platform-inbox-message-head{display:grid}.platform-inbox-message-head time{white-space:normal}}
.account-role strong, .account-role small { display: block; line-height: 1.8; }
.account-role small { font-weight: 400; color: #52645a; }
.account-actions { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; margin-top: 1rem; }
.account-button { min-height: 44px; border: 1px solid #aab9aa; border-radius: 10px; background: #fffdf8; color: #214e43; padding: .7rem 1rem; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; text-align: center; }
.account-button.primary { background: #214e43; color: #fff; border-color: #214e43; }
.account-button:disabled { opacity: .55; cursor: wait; }
.account-view :focus-visible, .account-entry:focus-visible { outline: 3px solid #af512e; outline-offset: 3px; }
.account-status { margin-block: 1rem; padding: .8rem 1rem; border-radius: 10px; background: #edf3e9; line-height: 1.9; overflow-wrap: anywhere; }
.account-status:empty { display: none; }
.account-status.error { background: #fff0e8; color: #81351b; }
.account-note { color: #52645a; font-size: .88rem; line-height: 1.9; }
.account-person { padding-block: 1rem; border-top: 1px solid #d6d8c9; overflow-wrap: anywhere; }
.account-person h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.account-person p { margin-block: .3rem; }
.family-child-form { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(120px,.7fr) auto; gap:.6rem; align-items:end; margin-block:1rem; }
.family-child-form input { min-width:0; min-height:44px; box-sizing:border-box; padding:.7rem .8rem; border:1px solid #aab9aa; border-radius:10px; background:#fff; color:#214e43; font:inherit; }
.family-child-form input:focus { outline:3px solid #e8c7b7; outline-offset:2px; border-color:#214e43; }
.family-child { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.family-child h3,.family-child p { margin:0; }.family-child .account-button { margin:0; }
.family-hub { display:grid; gap:.8rem; margin-block:1rem 1.5rem; padding:1.1rem; border:1px solid #d6d8c9; border-radius:16px; background:#f6f3ea; }
.family-hub h2,.family-hub p { margin:0; }
.family-hub-title { color:#214e43; font-size:1.2rem; font-weight:800; }
.family-child-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.65rem; }
.family-child-card { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-height:64px; padding:.75rem .9rem; border:1px solid #d6d8c9; border-radius:12px; background:#fffdf8; color:#214e43; font:inherit; text-align:start; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.family-child-card:hover { transform:translateY(-2px); border-color:#aab9aa; box-shadow:0 7px 18px #214e4314; }
.family-child-card>span { display:grid; gap:.2rem; }.family-child-name { font-weight:800; }.family-child-card small { color:#52645a; }
.family-child-progress { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.family-child-progress p { padding:.7rem; border:1px solid #d6d8c9; border-radius:10px; background:#fffdf8; }
.family-back { justify-self:start; }
.family-hub .family-child-form { background:#fffdf8; padding:.8rem; border-radius:12px; }
@media(max-width:700px){.family-child-form{grid-template-columns:1fr;}.family-child-form .account-button{width:100%;}.family-child{align-items:flex-start;flex-direction:column;}}
@media(max-width:560px){.family-child-progress{grid-template-columns:1fr;}.family-child-card{align-items:flex-start;}}
.account-code { display: block; width: 100%; box-sizing: border-box; padding: .8rem; margin-block: .6rem; font: .9rem monospace; border: 1px solid #899a8d; border-radius: 8px; background: white; direction: ltr; }
.account-badge { display: inline-block; padding: .3rem .8rem; border-radius: 30px; color: #214e43; background: #edf3e9; font-weight: 700; }
body:has(#account.active) .pk-launcher { position: static; display: block; margin: 24px auto; }
@media (max-width: 700px) { .account-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; } .account-view { padding-block: 1rem 3rem; } .account-intro { padding-block: 0; } .account-intro h1 { margin-top: 0; } .account-entry { font-size: .8rem; padding: .5rem .65rem; } .account-card { border-radius: 16px; } }
@media (max-width: 700px) { .account-demo-access .account-button { width:100%; } }

/* Brand-preserving account menu and connection emphasis. */
.account-card details { border:1px solid #d6d8c9; border-radius:14px; padding:.85rem 1rem; background:#fffdf8; }
.account-card details>summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:800; color:#214e43; }
.account-card details[open] { background:#fffdf8; }
.account-header-menu { position:relative; z-index:50; }
.account-header-menu summary { list-style:none; display:flex; align-items:center; gap:.55rem; min-height:44px; padding:.35rem .45rem .35rem .7rem; border:1px solid #d6d8c9; border-radius:999px; background:#fffdf8; color:#214e43; cursor:pointer; font-weight:700; }
.account-header-menu summary::-webkit-details-marker { display:none; }
.account-header-trigger { max-width:220px; }
.account-header-trigger>span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-header-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#edf3e9; color:#214e43; flex:none; }
.account-header-icon svg,.account-header-logout svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.account-header-chevron { color:#52645a; font-size:.9rem; }
.account-header-panel { position:absolute; inset-inline-start:0; inset-inline-end:auto; top:calc(100% + .55rem); width:min(260px,calc(100vw - 2rem)); box-sizing:border-box; display:grid; gap:.35rem; padding:.8rem; border:1px solid #d6d8c9; border-radius:16px; background:#fffdf8; box-shadow:0 16px 36px rgba(33,78,67,.16); }
.account-header-panel strong { color:#214e43; }
.account-header-email { color:#52645a; font-size:.82rem; overflow-wrap:anywhere; }
.account-header-context { color:#214e43; font-size:.86rem; font-weight:700; overflow-wrap:anywhere; }
.account-header-back { min-height:44px; margin-top:.35rem; border:1px solid #aab9aa; border-radius:10px; background:#edf3e9; color:#214e43; font:inherit; font-weight:700; cursor:pointer; }
.account-header-back:hover { background:#e2eadf; }
.account-header-logout { display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; margin-top:.45rem; border:1px solid #e8c7b7; border-radius:10px; background:#fff7f1; color:#81351b; font:inherit; font-weight:700; cursor:pointer; }
.account-header-logout:hover { background:#fbe9d9; }
.account-header-details { margin-top:.6rem; padding-top:.55rem; border-top:1px solid #d6d8c9; }
.account-header-details>summary { min-height:40px; font-size:.92rem; }
.account-header-details-body { display:grid; gap:.6rem; max-height:min(62vh,520px); overflow:auto; padding-top:.5rem; }
.account-header-details-body .account-field input { min-height:42px; padding:.55rem .7rem; }
.account-header-details-body .account-person { margin:0; padding:.7rem; }
.account-header-details-body .account-button { width:100%; min-height:40px; margin:.15rem 0; }
.account-header-details-body .account-code { font-size:.95rem; padding:.65rem; }
@media(max-width:700px){.account-header-trigger{width:min(190px,calc(100vw - 185px));max-width:none;box-sizing:border-box;}.account-header-panel{inset-inline-start:0;inset-inline-end:auto;}}

/* Account mode keeps the main navigation out of the way and anchors identity in the header. */
body:has(#account.active) .navigation-panel { display:none; }
body:has(#account.active) .header-tools .account-entry { display:none; }
body:has(#account.active) .topbar { position:sticky; top:12px; z-index:40; padding:10px 14px; border:1px solid rgba(33,78,67,.14); border-radius:16px; background:rgba(255,253,248,.94); box-shadow:0 10px 26px rgba(33,78,67,.08); }
body:has(#account.active) .header-tools { margin-inline-start:auto; }
body:has(#account.active) .account-view { padding-block:clamp(1.5rem,5vw,4rem); }
body:has(#account.active) .account-layout { max-width:820px; grid-template-columns:minmax(0,1fr); gap:1.25rem; }
body:has(#account.active) .account-intro { align-self:auto; text-align:center; }
body:has(#account.active) .account-intro p { max-width:42rem; margin-inline:auto; }
body:has(#account.active) .account-card { align-self:start; }
body:has(#account.active) .pk-launcher { position:fixed; inset-inline-end:1.25rem; inset-block-end:1.25rem; z-index:80; margin:0; box-shadow:0 8px 22px rgba(33,78,67,.22); }
@media(max-width:700px){body:has(#account.active) .topbar{top:8px;padding:8px 10px;border-radius:14px;}body:has(#account.active) .account-layout{grid-template-columns:1fr;gap:1rem;}body:has(#account.active) .account-intro{text-align:start;}body:has(#account.active) .pk-launcher{inset-inline-end:.75rem;inset-block-end:.75rem;}}

/* Refined profile menu: clear hierarchy, generous touch targets, existing brand palette. */
.account-header-menu summary { transition:background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.account-header-menu summary:hover,.account-header-menu[open] summary { background:#edf3e9; border-color:#aab9aa; box-shadow:0 5px 14px #214e4312; }
.account-header-panel { width:min(340px,calc(100vw - 1.5rem)); max-height:calc(100dvh - 88px); overflow:auto; overscroll-behavior:contain; gap:.55rem; padding:1rem; border-radius:18px; box-shadow:0 18px 42px rgba(33,78,67,.18); }
.account-header-panel>strong { display:block; font-size:.95rem; }
.account-header-details { margin-top:.75rem; padding-top:.7rem; }
.account-header-details>summary { padding:.35rem .5rem; border-radius:10px; background:#f6f3ea; }
.account-header-details>summary:hover { background:#edf3e9; }
.account-header-details-body { max-height:min(58vh,500px); padding:.7rem .15rem .15rem; scrollbar-width:thin; }
.account-header-details-body h3 { margin:.35rem 0 0; font-size:.95rem; }
