.fb-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:55;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius) 0 0 var(--radius);background:var(--brand-700);color:#fff;font-family:inherit;font-size:var(--text-cell);font-weight:600;cursor:pointer;box-shadow:-2px 2px 10px #14181b2e;writing-mode:vertical-rl;transition:background .14s ease,padding .14s ease}.fb-tab:hover{background:var(--brand-600);padding-inline:calc(var(--space-4) + 2px)}.fb-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fb-tab__dot{width:8px;height:8px;border-radius:50%;background:var(--brand-300)}.fb-panel{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(460px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);box-shadow:-8px 0 32px #14181b29;animation:fb-slide .18s ease-out}@keyframes fb-slide{0%{transform:translate(16px);opacity:0}}@media(prefers-reduced-motion:reduce){.fb-panel{animation:none}}.fb-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);background:var(--brand-900);color:#fff}.fb-panel__eyebrow{margin:0 0 2px;font-size:var(--text-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-300)}.fb-panel__title{margin:0;font-size:var(--text-heading);font-weight:700}.fb-panel__close{flex:none;width:32px;height:32px;border:0;border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.fb-panel__close:hover{background:#fff3}.fb-panel__body{flex:1;overflow-y:auto;padding:var(--space-5) calc(var(--space-5) + 4px);display:flex;flex-direction:column;gap:var(--space-5)}.fb-panel__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);background:var(--surface-sunken)}.fb-panel__error{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--status-critical-bg);color:var(--status-critical);font-size:var(--text-cell)}.fb-section h3{margin:0 0 var(--space-3);font-size:var(--text-body);font-weight:700;color:var(--brand-900)}.fb-hint{margin:-4px 0 var(--space-3);font-size:var(--text-label);line-height:1.5;color:var(--ink-500)}.fb-split{display:grid;gap:var(--space-5)}.fb-reactions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.fb-reaction{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-1);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-family:inherit;transition:transform .12s ease,border-color .12s ease,background .12s ease}.fb-reaction:hover{border-color:var(--brand-300);transform:translateY(-2px)}.fb-reaction.is-selected{border-color:var(--brand-600);background:var(--brand-050);box-shadow:inset 0 0 0 1px var(--brand-600)}.fb-reaction__emoji{font-size:1.5rem;line-height:1}.fb-reaction__label{font-size:.625rem;font-weight:600;color:var(--ink-500);text-align:center;line-height:1.2}.fb-reaction.is-selected .fb-reaction__label{color:var(--brand-900)}@media(prefers-reduced-motion:reduce){.fb-reaction:hover{transform:none}}.fb-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.fb-chip{padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-700);font-family:inherit;font-size:var(--text-label);font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.fb-chip:hover{border-color:var(--ink-300)}.fb-chip.is-selected{background:var(--brand-900);border-color:var(--brand-900);color:#fff}.fb-chip--positive.is-selected{background:var(--brand-600);border-color:var(--brand-600)}.fb-textarea{width:100%;max-width:100%;padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-family:inherit;font-size:var(--text-body);line-height:1.5;resize:vertical}.fb-textarea:focus-visible{outline:none;border-color:var(--brand-700);box-shadow:0 0 0 3px var(--brand-050)}.fb-more{padding:var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius);background:none;color:var(--brand-700);font-family:inherit;font-size:var(--text-cell);font-weight:600;cursor:pointer}.fb-more:hover{background:var(--brand-050);border-color:var(--brand-300)}.fb-link{border:0;background:none;padding:0;color:var(--ink-500);font-family:inherit;font-size:var(--text-cell);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.fb-link:hover{color:var(--brand-700)}.fb-toast{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:60;display:flex;flex-direction:column;gap:2px;max-width:24rem;padding:var(--space-4) var(--space-5);border-radius:var(--radius);background:var(--brand-900);color:#fff;box-shadow:var(--shadow-lg);animation:fb-rise .2s ease-out}.fb-toast strong{font-size:var(--text-body)}.fb-toast span{font-size:var(--text-label);color:#ffffffc7}@keyframes fb-rise{0%{transform:translateY(8px);opacity:0}}@media(prefers-reduced-motion:reduce){.fb-toast{animation:none}}@media(max-width:720px){.fb-tab{top:auto;bottom:var(--space-5);transform:none;writing-mode:horizontal-tb;border-radius:var(--radius-pill);right:var(--space-4)}.fb-reactions{grid-template-columns:repeat(5,minmax(0,1fr))}.fb-reaction__label{display:none}}.shell{min-height:100dvh;display:flex;flex-direction:column}.shell__main{flex:1;padding:var(--space-6) var(--page-gutter) var(--space-10);max-width:1680px;width:100%;margin-inline:auto}.shell__main:focus{outline:none}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-5);min-height:var(--nav-height);padding-inline:var(--page-gutter);background:var(--brand-900);color:#fff}.topbar__brand{display:flex;align-items:center;gap:var(--space-3);flex:none}.topbar__mark{width:28px;height:28px;color:#fff}.topbar__name{font-size:1.0625rem;white-space:nowrap;color:#fff;font-weight:400}.topbar__name strong{font-weight:700}.topbar__burger{display:none;margin-left:auto;background:none;border:0;color:#fff;padding:var(--space-2);border-radius:var(--radius-sm)}.topnav{flex:1;min-width:0}.topnav ul{display:flex;align-items:stretch;gap:2px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}.topnav ul::-webkit-scrollbar{display:none}.topnav a{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);color:#ffffffc2;text-decoration:none;font-size:var(--text-cell);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease}.topnav a:hover{color:#fff}.topnav a.is-active{color:#fff;font-weight:600;border-bottom-color:var(--brand-300)}.topnav__icon{width:20px;height:20px;flex:none}.shell[data-variant=staff] .topnav a{flex-direction:column;gap:3px;min-height:var(--nav-height);justify-content:center;font-size:.6875rem;padding-inline:var(--space-3)}.shell[data-variant=staff] .topnav__icon{width:22px;height:22px}.topbar__actions{display:flex;align-items:center;gap:var(--space-3);flex:0 1 auto;min-width:0;margin-left:auto}.topbar__search{position:relative;display:flex;align-items:center;flex:0 1 auto;min-width:0}.topbar__search input{width:100%;max-width:260px;min-width:8rem;padding:.5rem .75rem .5rem 2.25rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.22);background:#ffffff1f;color:#fff;font-size:var(--text-cell)}.topbar__search input::placeholder{color:#ffffff9e}.topbar__search input:focus{outline:none;background:#fff3;border-color:#ffffff80}.topbar__search-icon{position:absolute;left:.6rem;width:18px;height:18px;color:#ffffffb8;pointer-events:none}.topbar__icon-button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:var(--radius-pill);background:transparent;color:#ffffffe0}.topbar__icon-button:hover{background:#ffffff1f;color:#fff}.topbar__icon-button svg{width:21px;height:21px}.topbar__account{position:relative}.topbar__account-trigger{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);background:none;border:0;border-radius:var(--radius-pill);color:#fff}.topbar__account-trigger:hover{background:#ffffff1a}.topbar__account-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.topbar__account-name{font-size:var(--text-cell);font-weight:600}.topbar__account-role{font-size:var(--text-label);color:#ffffffb3}.topbar__account-caret{width:16px;height:16px;color:#ffffffb3}.avatar{display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--brand-600);color:#fff;font-weight:600;flex:none;letter-spacing:.02em}.account-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:50}.account-menu__header{padding:var(--space-3);border-bottom:1px solid var(--line);margin-bottom:var(--space-2)}.account-menu__email{font-size:var(--text-cell);font-weight:600;color:var(--ink-900);word-break:break-all}.account-menu__tenant{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-label);color:var(--ink-500)}.account-menu__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:none;border:0;border-radius:var(--radius-sm);font-size:var(--text-cell);color:var(--ink-700);text-align:left;text-decoration:none}.account-menu__item:hover{background:var(--brand-050);color:var(--brand-800)}.account-menu__item--danger:hover{background:var(--status-critical-bg);color:var(--status-critical)}.account-menu__icon{width:18px;height:18px}.impersonation-banner{padding:var(--space-3) var(--page-gutter);background:var(--status-warning-bg);color:#7a5212;font-size:var(--text-cell);border-bottom:1px solid #e6cfa3}@media(max-width:1240px){.topbar__search input{width:180px}.topbar__account-text{display:none}}@media(max-width:1024px){.topbar{flex-wrap:wrap;padding-block:var(--space-3)}.topbar__burger{display:grid;place-items:center;order:2}.topbar__actions{order:3;margin-left:0}.topbar__search{display:none}.topnav{order:4;flex-basis:100%;display:none}.topnav[data-open=true]{display:block}.topnav ul{flex-direction:column;gap:0;padding-bottom:var(--space-3)}.shell[data-variant=staff] .topnav a,.topnav a{flex-direction:row;gap:var(--space-3);min-height:0;justify-content:flex-start;font-size:var(--text-body);padding:var(--space-3) var(--space-2);border-bottom:0;border-left:3px solid transparent}.topnav a.is-active{border-left-color:var(--brand-300);background:#ffffff14}}.tenant-switch{position:relative}.tenant-switch__trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#ffffff0f;color:#fff;cursor:pointer;font-family:inherit;text-align:left}.tenant-switch__trigger:hover{background:#ffffff1f}.tenant-switch__trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand-900),0 0 0 4px var(--brand-300)}.tenant-switch__label{display:flex;flex-direction:column;line-height:1.2}.tenant-switch__eyebrow{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-300)}.tenant-switch__name{font-size:var(--text-cell);font-weight:600;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switch{flex:none;max-width:13rem}.tenant-switch__caret{flex:none;width:16px;height:16px;opacity:.7}.tenant-switch__menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:40;width:min(22rem,calc(100vw - 2rem));padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.tenant-switch__option{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-3);border:0;border-radius:var(--radius-sm);background:none;color:var(--ink-900);cursor:pointer;font-family:inherit;text-align:left}.tenant-switch__option:hover:not(:disabled){background:var(--brand-050)}.tenant-switch__option:disabled{cursor:default;opacity:.6}.tenant-switch__option-name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-body);font-weight:600}.tenant-switch__tag{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--status-neutral-bg);color:var(--status-neutral);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tenant-switch__option-meta{font-size:var(--text-label);color:var(--ink-500);text-transform:capitalize}.tenant-switch__loading,.tenant-switch__problem,.tenant-switch__footnote{margin:0;padding:var(--space-3);font-size:var(--text-label);line-height:1.5;color:var(--ink-500)}.tenant-switch__problem{color:var(--status-critical)}.tenant-switch__footnote{border-top:1px solid var(--line);margin-top:var(--space-2)}.operating-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:0;padding:var(--space-3) var(--page-gutter);background:var(--status-info-bg);color:#1c4f85;font-size:var(--text-cell);border-bottom:1px solid #b9d2ec}.operating-banner__leave{flex:none;padding:var(--space-1) var(--space-3);border:1px solid #8fb6dc;border-radius:var(--radius-sm);background:var(--surface);color:#1c4f85;cursor:pointer;font-family:inherit;font-size:var(--text-label);font-weight:600}.operating-banner__leave:hover:not(:disabled){background:#f3f8fd}@media(max-width:900px){.tenant-switch__name{max-width:8rem}}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--ink-500);font-family:inherit;font-size:var(--text-cell);font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.back-link:hover{background:var(--surface);color:var(--brand-700)}.back-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.back-link__caret{width:18px;height:18px;flex:none;transform:rotate(90deg)}@media print{.back-link{display:none}}.view-as{position:relative;flex:none}.view-as__trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#ffffff0f;color:#fff;cursor:pointer;font-family:inherit;text-align:left}.view-as__trigger:hover{background:#ffffff1f}.view-as__trigger.is-active{background:var(--status-warning);border-color:var(--status-warning);color:#1f1603}.view-as__trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand-900),0 0 0 4px var(--brand-300)}.view-as__label{display:flex;flex-direction:column;line-height:1.2}.view-as__eyebrow{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-300)}.view-as__trigger.is-active .view-as__eyebrow{color:#6b4e08}.view-as__name{font-size:var(--text-cell);font-weight:600;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-as__caret{flex:none;width:16px;height:16px;opacity:.7}.view-as__menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:45;width:min(21rem,calc(100vw - 2rem));max-height:70dvh;overflow-y:auto;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.view-as__group{padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.view-as__group:last-of-type{border-bottom:0}.view-as__group-label{margin:0 0 var(--space-1);padding:0 var(--space-3);font-size:var(--text-label);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.view-as__option{display:block;width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:none;color:var(--ink-900);font-family:inherit;font-size:var(--text-cell);text-align:left;cursor:pointer}.view-as__option:hover:not(:disabled){background:var(--brand-050)}.view-as__leave{display:block;width:100%;margin-bottom:var(--space-2);padding:var(--space-3);border:1px solid var(--status-warning);border-radius:var(--radius-sm);background:var(--status-warning-bg);color:#6b4e08;font-family:inherit;font-size:var(--text-cell);font-weight:700;cursor:pointer}.view-as__loading,.view-as__problem,.view-as__footnote{margin:0;padding:var(--space-3);font-size:var(--text-label);line-height:1.5;color:var(--ink-500)}.view-as__problem{color:var(--status-critical)}.view-as__footnote{border-top:1px solid var(--line);margin-top:var(--space-2)}.viewing-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:0;padding:var(--space-3) var(--page-gutter);background:var(--status-warning-bg);color:#6b4e08;font-size:var(--text-cell);border-bottom:1px solid #e6cfa3}.viewing-banner__leave{flex:none;padding:var(--space-1) var(--space-3);border:1px solid #c79a3a;border-radius:var(--radius-sm);background:var(--surface);color:#6b4e08;cursor:pointer;font-family:inherit;font-size:var(--text-label);font-weight:700}@media(max-width:1100px){.view-as__name{max-width:6rem}}.family-hero{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);margin-bottom:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(110deg,var(--surface) 0%,var(--surface) 42%,var(--brand-050) 100%);box-shadow:var(--shadow-sm);flex-wrap:wrap}.family-hero .avatar{background:var(--brand-600);box-shadow:0 0 0 4px var(--surface),0 0 0 6px var(--brand-100)}.family-hero__text{flex:1;min-width:0}.family-hero__title{font-size:var(--text-title);letter-spacing:-.01em}.family-hero__subtitle{color:var(--ink-500);margin-top:var(--space-1)}.child-switcher select{padding:.625rem var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);font-size:var(--text-cell);font-weight:600;color:var(--ink-900);max-width:100%}.child-switcher select:focus-visible{border-color:var(--brand-700)}.subject-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.subject-row:last-child{border-bottom:0}.subject-row__name{flex:0 0 38%;font-size:var(--text-cell);font-weight:500;color:var(--ink-900)}.subject-row__chevron{width:16px;height:16px;color:var(--ink-300);flex:none}.detail-list{margin:0;display:grid;gap:var(--space-4)}.detail-list div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.detail-list dt{font-size:var(--text-cell);color:var(--ink-500)}.detail-list dd{margin:0;font-weight:600;color:var(--ink-900);font-size:var(--text-cell);text-align:right}.pending{padding:var(--space-5);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-sunken)}.pending__title{font-weight:600;color:var(--ink-700);font-size:var(--text-cell);margin-bottom:var(--space-1)}.pending__detail{font-size:var(--text-label);color:var(--ink-500);line-height:1.5}@media(max-width:720px){.family-hero{padding:var(--space-5);gap:var(--space-4)}.family-hero .avatar{width:60px!important;height:60px!important;font-size:1.4rem!important}.child-switcher{flex-basis:100%}.child-switcher select{width:100%}.subject-row{flex-wrap:wrap}.subject-row__name{flex-basis:100%}}.class-list{list-style:none;margin:0;padding:0}.class-list__row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.class-list__row:last-child{border-bottom:0}.class-list__identity{min-width:0}.class-list__name{display:block;font-weight:600;color:var(--ink-900);font-size:var(--text-cell)}.class-list__teacher{display:block;font-size:var(--text-label);color:var(--ink-300)}.class-list__letter{font-weight:700;color:var(--brand-800);min-width:2rem;text-align:center}.today-list{list-style:none;margin:0;padding:0}.today-list li{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.today-list li:last-child{border-bottom:0}.today-list__period{font-size:var(--text-label);font-weight:700;color:var(--brand-700)}.today-list__name{font-size:var(--text-cell);color:var(--ink-900);font-weight:500}.today-list__time{font-size:var(--text-label);color:var(--ink-300);font-variant-numeric:tabular-nums}.insight-list{list-style:none;margin:0;padding:0}.insight-list a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink-700);font-size:var(--text-cell);line-height:1.5}.insight-list li:last-child a{border-bottom:0}.insight-list a:hover{color:var(--brand-800)}.insight-list svg{width:16px;height:16px;flex:none;color:var(--ink-300)}.family-class__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.family-class__name{font-size:var(--text-heading)}.family-class__teacher{font-size:var(--text-cell);color:var(--ink-500)}.family-class__grade{text-align:right;flex:none}.family-class__letter{display:block;font-size:1.75rem;font-weight:700;color:var(--brand-800);line-height:1}.family-class__percent{font-size:var(--text-cell);color:var(--ink-500)}.family-class__summary{margin-top:var(--space-3);font-size:var(--text-cell);color:var(--ink-700);line-height:1.55}.family-class__toggle{margin-top:var(--space-3);padding:0;background:none;border:0;font-size:var(--text-cell);font-weight:600;color:var(--brand-700)}.family-class__toggle:hover{text-decoration:underline}.assignment-list{list-style:none;margin:0;padding:0}.assignment-list__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);flex-wrap:wrap}.assignment-list__row:last-child{border-bottom:0}.assignment-list__main{min-width:0;flex:1}.assignment-list__title{display:block;font-weight:600;color:var(--ink-900);font-size:var(--text-cell)}.assignment-list__course{display:block;font-size:var(--text-label);color:var(--ink-500)}.assignment-list__comment{display:block;margin-top:var(--space-1);font-size:var(--text-label);color:var(--ink-500);font-style:italic}.assignment-list__meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-cell);color:var(--ink-500);flex-wrap:wrap}.assignment-list__due{white-space:nowrap}.family-attendance__message{font-size:var(--text-body);color:var(--ink-900);line-height:1.55}@media(max-width:720px){.class-list__row{grid-template-columns:minmax(0,1fr) auto}.class-list__row>*:nth-child(2){grid-column:1 / -1}.assignment-list__meta{width:100%;justify-content:space-between}}
