/* Shared, scoped visual rhythm. No changes to role navigation or actions. */
.app-shell{--adelia-family-purple:#7046d8;--adelia-family-line:#e6dfef}
.app-shell :is(.card,.lesson-card,.homework-card),#root :is(.card,.student-card){border-color:#e6dfef;border-radius:20px;box-shadow:0 7px 24px rgba(60,40,90,.035)}
.app-shell :is(h1,h2),#root :is(h1,h2){letter-spacing:-.025em;text-wrap:balance}
.app-shell :is(.list-copy,.card-body),#root :is(.student-card>span,.row>div){min-width:0;overflow-wrap:anywhere}
#root .parent-focus{background:linear-gradient(135deg,#f1eafb,#fff);border:1px solid #e2d6f2;padding:clamp(22px,4vw,36px)}
#root .parent-focus h2{line-height:1.2;color:#44305e}
#root .metrics>article{border-radius:18px;border:1px solid #e6dfef;background:white;padding:22px;box-shadow:0 5px 20px #40265d04}
#root .metrics strong{color:#6541a0;font-variant-numeric:tabular-nums}
#root .student-card{text-align:left;gap:16px;transition:border-color .16s,box-shadow .16s}
#root .student-card .avatar{background:#eee6f9;color:#7046d8;border-radius:15px}
.app-shell :is(button,a):focus-visible,#root :is(button,a):focus-visible{outline:3px solid #bea8e7;outline-offset:3px}
.app-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea),#root :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){min-height:44px}
.app-shell :is(.empty,.empty-state),#root .empty{line-height:1.7}
@media(hover:hover){#root .student-card:hover{border-color:#cbb7e8;box-shadow:0 8px 24px #5032750c}.app-shell .lesson-card:hover{border-color:#d1bde9}}
@media(max-width:600px){#root .metrics>article{padding:18px}#root .student-card{border-radius:16px}.app-shell :is(h1,h2),#root :is(h1,h2){overflow-wrap:anywhere}.app-shell :is(.card,.lesson-card,.homework-card),#root .card{border-radius:17px}}
@media(prefers-reduced-motion:reduce){#root .student-card{transition:none}}
