/* Existing reading and parent tasks, grouped consistently across routes. */
.role-sidebar{padding:24px 16px 16px;gap:0;background:var(--canvas)}
.role-sidebar .brand{margin:0 4px 24px}
.role-sidebar .brand small{letter-spacing:.08em}
.role-sidebar nav{display:grid;gap:4px}
.role-sidebar .navigation-heading,.role-sidebar .sidebar-section-label{font-size:.75rem;line-height:1.5;color:var(--muted);padding:0 12px 8px}
.role-sidebar .nav{display:flex;width:100%;min-height:44px;justify-content:flex-start;gap:10px;padding:10px 12px;text-align:left;border-radius:12px;white-space:normal;font-size:.875rem;line-height:1.5}
.role-sidebar .nav span{min-width:0;overflow-wrap:anywhere}
.role-sidebar .nav.active{background:var(--soft);color:var(--green);font-weight:650}
.role-sidebar .sidebar-parent-actions{margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.role-sidebar .family-subnav{display:block;margin:0;padding:0;border:0}
.role-sidebar .family-report-link{margin:0}
.role-sidebar .import-help{display:flex;align-items:center;min-width:0;width:100%;gap:0}
.role-sidebar .parent-import-entry{flex:1;min-width:0}
.role-sidebar .import-help-trigger{flex:0 0 44px;width:44px;height:44px;min-width:44px}
.role-sidebar .sidebar-pet{display:flex;justify-content:center;flex:1 0 88px;min-height:88px;margin:12px 0}
.role-sidebar .sidebar-pet img{width:76px;height:76px;object-fit:contain;align-self:flex-end}
.role-sidebar .account-entry{flex-shrink:0;border:1px solid var(--line);background:var(--paper);margin-top:0}
.account-entry strong,.account-entry small{display:block}
.account-entry strong{font-size:.875rem;font-weight:650}
.account-entry small{font-size:.75rem;color:var(--muted);margin-top:3px;font-weight:400}
.account-panel .account-identity{background:var(--soft);padding:16px;border-radius:12px;overflow-wrap:anywhere;margin:16px 0}
.account-panel .account-identity strong{display:block;font-size:1.125rem}
.account-panel .account-identity span{color:var(--muted);font-size:.875rem}
.account-panel .settings-list{display:grid;gap:4px}
.account-panel .settings-row{min-height:48px;font-size:1rem}
.account-panel .account-exit{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.account-panel .account-exit p{font-size:.875rem;color:var(--muted);margin:0 0 12px}
.account-panel .logout-button{display:block;min-height:48px;width:100%;border:1px solid var(--danger);border-radius:12px;color:var(--danger);background:var(--paper);font-weight:600}
.account-panel .logout-button:hover{background:#fff3ef}
.account-panel .account-error{color:var(--danger);font-size:.875rem}
.account-panel .account-error:empty{display:none}
.account-back{display:block;margin:0 0 12px!important;min-height:44px}
body[data-auth="signed-out"] #app{display:block}
.signed-out-main{margin:0 auto!important;max-width:760px;padding:40px 24px!important;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}
.signed-out-main .brand{margin:0 0 32px}
.signed-out-main .account-welcome{padding:24px}
@media(max-width:880px) and (min-width:651px){.role-sidebar{width:200px}.role-sidebar .brand span{font-size:1rem}body:not([data-route="reader"]) .main{margin-left:200px}}
@media(max-width:650px){
 .role-sidebar{position:static!important;width:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px;gap:12px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
 .role-sidebar .brand{margin:0;align-self:center;min-width:0}
 .role-sidebar .brand span{font-size:1rem}.role-sidebar .brand img{width:28px;height:28px}
 .role-sidebar .account-entry{grid-column:2;grid-row:1;padding:8px;min-width:0;gap:8px}
 .role-sidebar .account-entry small{font-size:.75rem}.role-sidebar .account-entry small:last-child{display:none}
 .role-sidebar .reading-navigation{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
 .role-sidebar .navigation-heading{display:none}
 .role-sidebar .reading-navigation .nav{width:auto;flex:1 1 120px;min-height:44px;justify-content:center;font-size:.875rem}
 .role-sidebar .sidebar-parent-actions{grid-column:1/-1;display:block;margin:0;padding-top:12px}
 .role-sidebar .sidebar-section-label{display:block;padding:0 0 8px}
 .role-sidebar .sidebar-parent-actions nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .role-sidebar .family-subnav{display:contents}
 .role-sidebar .sidebar-parent-actions .nav{min-width:0;height:100%;font-size:.875rem;padding:8px;justify-content:flex-start}
 .role-sidebar .import-help{grid-column:1/-1}.role-sidebar .parent-import-entry{width:auto;flex:0 1 auto}
 .role-sidebar .sidebar-pet{display:none}
 .role-sidebar .import-help-tip{left:0;right:auto;max-width:calc(100vw - 40px)}
 .teacher-sidebar .reading-navigation .nav{flex:1 1 120px!important;font-size:.875rem!important}
 .signed-out-main{padding:24px 16px!important}.signed-out-main .account-welcome{padding:20px}
}

/* Family members precede the shared family bookshelf. */
.family-space-navigation .family-members{min-width:0;margin:0;border:0}
.family-members>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;cursor:pointer;font-size:.875rem;font-weight:650;border-radius:12px;list-style:none}
.family-members>summary::-webkit-details-marker{display:none}
.family-members>summary:hover{background:var(--soft)}
.family-members>summary:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.family-members .members-chevron{margin-left:auto;transition:transform .15s}
.family-members:not([open]) .members-chevron{transform:rotate(-90deg)}
.family-member-links{display:grid;gap:4px;margin:0 0 8px 22px;padding-left:8px;border-left:1px solid var(--line);min-width:0}
.family-member-links .family-child-link{min-width:0}
.family-member-links .family-child-link img{width:28px;height:28px;object-fit:contain;flex-shrink:0}
.member-empty{padding:8px;font-size:.875rem;color:var(--muted)}
.role-sidebar .brand>span{min-width:0;overflow-wrap:anywhere;line-height:1.45}
.role-sidebar .brand .space-avatar{object-fit:contain;flex-shrink:0}
@media(max-width:650px){
 .role-sidebar .family-space-navigation>.navigation-heading{display:block;width:100%;padding:0 4px;font-size:.875rem;font-weight:650}
 .family-space-navigation .family-members{flex:0 0 100%;width:100%}
 .family-member-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:12px}
 .role-sidebar .family-member-links .nav{width:100%;justify-content:flex-start;padding:8px}
 .role-sidebar .brand{align-items:flex-start}.role-sidebar .brand>span{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){.family-members .members-chevron{transition:none}}
