.app-message-stack{position:fixed;top:1.25rem;left:50%;transform:translate(-50%);z-index:10050;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;max-width:min(32rem,calc(100vw - 2rem))}.app-message{pointer-events:auto;display:flex;align-items:flex-start;gap:.65rem;padding:.65rem 1rem;border-radius:.5rem;background:#fff;box-shadow:0 6px 16px #0f34491f,0 0 1px #0f344914;border:1px solid #e2e8f0;font-size:.9375rem;line-height:1.45;color:#0f3449;animation:app-message-in .22s ease-out}@keyframes app-message-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-message__icon{flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:.1rem;border-radius:999px}.app-message--success .app-message__icon{background:#10b981;box-shadow:inset 0 0 0 3px #fff}.app-message--error .app-message__icon{background:#ef4444;box-shadow:inset 0 0 0 3px #fff}.app-message--info .app-message__icon{background:#1a5f7a;box-shadow:inset 0 0 0 3px #fff}.app-message--warning .app-message__icon{background:#f59e0b;box-shadow:inset 0 0 0 3px #fff}.app-message--success{border-left:4px solid #10b981}.app-message--error{border-left:4px solid #ef4444}.app-message--info{border-left:4px solid #1a5f7a}.app-message--warning{border-left:4px solid #f59e0b}.app-message__content{flex:1;min-width:0}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-page__panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem)}.login-page__panel--brand{background:linear-gradient(145deg,#0f3449,#1a5f7a 45%,#2d8f8f);color:#f4f7fa}.login-page__eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin:0 0 1.5rem}.login-page__home-link{color:inherit;text-decoration:none}.login-page__home-link:hover{text-decoration:underline}.login-page__headline{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1.15;margin:0 0 1.25rem;max-width:18ch}.login-page__lede{margin:0;max-width:42ch;line-height:1.6;font-size:1.05rem;opacity:.92}.login-page__panel--form{background:#f0f4f8}.login-card{width:100%;max-width:24rem;margin:0 auto;background:#fff;border-radius:1rem;padding:2rem;box-sizing:border-box;overflow:hidden;box-shadow:0 1px 2px #0f34490f,0 12px 40px #0f344914}.login-card--wide{max-width:28rem}.login-card__title{margin:0 0 .35rem;font-size:1.5rem;font-weight:600;color:#0f3449}.login-card__subtitle{margin:0 0 1.75rem;font-size:.9375rem;color:#5a6b7a;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:1.125rem;min-width:0}.login-form__field{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:500;color:#334155;min-width:0}.login-form__field input{font:inherit;width:100%;max-width:100%;box-sizing:border-box;min-width:0;padding:.65rem .85rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;transition:border-color .15s,box-shadow .15s}.login-form__field input:focus{outline:none;border-color:#1a5f7a;box-shadow:0 0 0 3px #1a5f7a2e}.login-form__field input:disabled{opacity:.65;cursor:not-allowed}.password-field{position:relative;display:flex;align-items:stretch;min-width:0;width:100%}.password-field input{flex:1;width:100%;padding-right:2.75rem}.password-field input::-ms-reveal,.password-field input::-ms-clear{display:none}.password-field__toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:.375rem;background:transparent;color:#64748b;cursor:pointer}.password-field__toggle:hover:not(:disabled){color:#1a5f7a;background:#f1f5f9}.password-field__toggle:disabled{opacity:.5;cursor:not-allowed}.password-field__toggle:focus-visible{outline:2px solid #1a5f7a;outline-offset:2px}.login-form__field select,.login-form__textarea{font:inherit;padding:.65rem .85rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff}.login-form__textarea{resize:vertical;min-height:4.5rem}.login-form__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}.login-form__section{margin:.5rem 0 0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.login-form__hint{font-size:.75rem;font-weight:400;color:#94a3b8}.login-form__hint--block{margin:1.25rem 0 0;line-height:1.5}.auth-footer{margin:1.25rem 0 0;text-align:center;font-size:.875rem;color:#64748b}.auth-footer__link{color:#1a5f7a;font-weight:600;text-decoration:none}.auth-footer__link:hover{text-decoration:underline}.auth-back-home{margin:0 0 1rem}.auth-back-home__link{font-size:.875rem;color:#64748b;text-decoration:none}.auth-back-home__link:hover{color:#1a5f7a;text-decoration:underline}.auth-signup-links{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem}.auth-signup-links__title{margin:0 0 .25rem;font-size:.8125rem;font-weight:600;color:#64748b}.auth-signup-links a{font-size:.9375rem;font-weight:500;color:#1a5f7a;text-decoration:none}.auth-signup-links a:hover{text-decoration:underline}.role-picker{display:flex;flex-direction:column;gap:.75rem}.role-picker__card{text-align:left;font:inherit;padding:1rem 1.1rem;border-radius:.75rem;border:1px solid #cbd5e1;background:#f8fafc;cursor:pointer;transition:border-color .15s,background .15s}.role-picker__card:hover{border-color:#1a5f7a;background:#f0f9ff}.role-picker__title{display:block;font-weight:600;color:#0f3449;margin-bottom:.25rem}.role-picker__desc{display:block;font-size:.875rem;color:#64748b;line-height:1.45}.login-form__back{align-self:flex-start;font:inherit;font-size:.875rem;color:#1a5f7a;background:none;border:none;padding:0;cursor:pointer;margin-bottom:.25rem}.login-form__back:hover{text-decoration:underline}.login-form__error{margin:0;padding:.65rem .75rem;font-size:.875rem;color:#9f1239;background:#fff1f2;border-radius:.5rem;border:1px solid #fecdd3}.login-form__submit{margin-top:.25rem;font:inherit;font-weight:600;padding:.75rem 1rem;border:none;border-radius:.5rem;background:#1a5f7a;color:#fff;cursor:pointer;transition:background .15s}.login-form__submit:hover:not(:disabled){background:#0f3449}.login-form__submit:disabled{opacity:.7;cursor:wait}.login-demo{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.login-demo__title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.login-demo__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.login-demo__chip{font:inherit;font-size:.8125rem;padding:.35rem .75rem;border-radius:999px;border:1px solid #cbd5e1;background:#f8fafc;color:#0f3449;cursor:pointer}.login-demo__chip:hover{background:#e2e8f0}.login-demo__hint{margin:.75rem 0 0;font-size:.8125rem;color:#94a3b8}@media(max-width:840px){.login-page{grid-template-columns:1fr}.login-page__panel--brand{min-height:auto;padding-bottom:2rem}.login-page__headline{max-width:none}}.marketing{min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f0f4f8 0%,var(--bm-color-surface) 24%);color:var(--bm-color-ink)}.marketing-header{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e2e8f0}.marketing-header__inner{max-width:72rem;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.marketing-logo{font-weight:700;font-size:1.125rem;letter-spacing:.04em;color:#1a5f7a;text-decoration:none}.marketing-nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem;flex:1}.marketing-nav__link{font-size:.9375rem;font-weight:500;color:#475569;text-decoration:none;padding:.35rem 0}.marketing-nav__link:hover{color:#0f3449}.marketing-nav__link--active{color:#1a5f7a}.marketing-header__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.marketing-btn{font:inherit;font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:.5rem;text-decoration:none;border:1px solid transparent;cursor:pointer;display:inline-block}.marketing-btn--ghost{color:#0f3449;border-color:#cbd5e1;background:#fff}.marketing-btn--ghost:hover{background:#f1f5f9}.marketing-btn--primary{background:#1a5f7a;color:#fff}.marketing-btn--primary:hover{background:#0f3449}.marketing-main{flex:1;padding-bottom:clamp(1.5rem,4vw,2.5rem)}.marketing-footer{background:#0f3449;color:#e2e8f0;margin-top:0}.marketing-footer__inner{max-width:72rem;margin:0 auto;padding:2.5rem 1.5rem}.marketing-footer__brand{font-weight:700;margin:0 0 .5rem;color:#fff}.marketing-footer__copy{margin:0 0 1rem;max-width:40ch;line-height:1.55;font-size:.9375rem}.marketing-footer__links{display:flex;gap:1.25rem;margin-bottom:1.5rem}.marketing-footer__links a{color:#bae6fd;font-size:.875rem;text-decoration:none}.marketing-footer__links a:hover{text-decoration:underline}.marketing-footer__legal{margin:0;font-size:.8125rem;color:#94a3b8}@media(max-width:720px){.marketing-header__inner{flex-direction:column;align-items:stretch}.marketing-nav,.marketing-header__actions{justify-content:center}}.mkt-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--bm-color-brand-deep) 0%,var(--bm-color-brand) 42%,var(--bm-color-accent) 100%);color:#f4f7fa;padding:clamp(3.5rem,9vw,6rem) 1.5rem}.mkt-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgb(255 255 255 / 12%),transparent 45%),radial-gradient(circle at 80% 60%,rgb(45 143 143 / 35%),transparent 50%);pointer-events:none}.mkt-hero__inner{position:relative;max-width:72rem;margin:0 auto}.mkt-eyebrow{margin:0 0 1rem;font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.9}.mkt-hero__title{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.25rem,5vw,3.25rem);font-weight:400;line-height:1.12;margin:0 0 1.25rem}.mkt-hero__lede{margin:0 0 1.75rem;font-size:1.0625rem;line-height:1.65;opacity:.95}.mkt-hero__cta{display:flex;flex-wrap:wrap;gap:.75rem}.mkt-hero .marketing-btn--ghost{background:#ffffff1f;border-color:#ffffff59;color:#fff}.mkt-hero .marketing-btn--ghost:hover{background:#ffffff38}.mkt-section{padding:clamp(2.5rem,6vw,4rem) 1.5rem}.mkt-section--muted{background:#fff;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.mkt-section__inner{max-width:72rem;margin:0 auto}.mkt-section__title{margin:0 0 .75rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:600}.mkt-section__intro{margin:0 0 2rem;max-width:52ch;color:#475569;line-height:1.6;font-size:1.05rem}.mkt-cards{display:grid;gap:1.25rem}.mkt-cards--programs{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.mkt-programs-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.mkt-programs-filter__btn{padding:.4rem .85rem;font-size:.875rem;font-weight:500;border:1px solid var(--bm-color-border);border-radius:999px;background:#fff;color:#334155;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.mkt-programs-filter__btn:hover{border-color:var(--bm-color-brand);color:var(--bm-color-brand-deep)}.mkt-programs-filter__btn--active{background:var(--bm-color-brand);border-color:var(--bm-color-brand);color:#fff}.mkt-programs-filter__btn--active:hover{color:#fff}.mkt-programs-status{margin:0 0 1.5rem;color:#64748b;line-height:1.5}.mkt-programs-status--error{color:#b91c1c}.mkt-programs-footer{margin:2rem 0 0;font-size:.95rem;color:#475569}.mkt-card__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .65rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.mkt-card__category{color:var(--bm-color-brand)}.mkt-card__level{color:#64748b}.mkt-card__teachers{margin:.75rem 0 0;font-size:.875rem;color:#64748b}@media(min-width:768px){.mkt-cards{grid-template-columns:repeat(3,1fr)}}.mkt-card{background:var(--bm-color-surface-elevated);border:1px solid var(--bm-color-border);border-radius:var(--bm-radius-lg);padding:1.5rem;box-shadow:var(--bm-shadow-soft);transition:transform .2s ease,box-shadow .2s ease}.mkt-card:hover{transform:translateY(-2px);box-shadow:var(--bm-shadow-card)}.mkt-card h3{margin:0 0 .5rem;font-size:1.0625rem;color:#0f3449}.mkt-card p{margin:0;font-size:.9375rem;line-height:1.55;color:#64748b}.mkt-split{display:grid;gap:2rem;align-items:center}@media(min-width:900px){.mkt-split{grid-template-columns:1.2fr .8fr}}.mkt-list{margin:0;padding-left:1.15rem;line-height:1.7;color:#475569}.mkt-list li{margin-bottom:.65rem}.mkt-stat-panel{background:linear-gradient(135deg,#e0f2f1,#f0f9ff);border-radius:1rem;padding:2rem;text-align:center;border:1px solid #bae6fd}.mkt-stat-panel__num{margin:0;font-size:3.5rem;font-weight:700;color:#1a5f7a;line-height:1}.mkt-stat-panel__label{margin:.75rem 0 0;font-size:1rem;color:#334155;line-height:1.45}.mkt-prose{max-width:58ch;line-height:1.65;color:#475569}.mkt-prose a{color:#1a5f7a;font-weight:500}.mkt-section--cta{padding:clamp(2rem,5vw,3rem) 1.5rem clamp(2.5rem,6vw,3.5rem)}.mkt-cta-box{max-width:72rem;margin:0 auto;padding:clamp(2rem,4vw,2.75rem) clamp(1.5rem,4vw,2.5rem);text-align:center;background:linear-gradient(135deg,#e0f2f1,#f0fdfa 55%,#ecfeff);border:1px solid #99f6e4;border-radius:var(--bm-radius-lg);box-shadow:var(--bm-shadow-soft);color:#0f3449}.mkt-cta-box h2{margin:0 0 .5rem;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:600;color:#0f3449}.mkt-cta-box p{margin:0 0 1.5rem;color:#475569;font-size:1.05rem;line-height:1.5}.mkt-cta-box .mkt-hero__cta{justify-content:center}.mkt-cta-box__ghost{background:#fff;border-color:#cbd5e1;color:#0f3449}.mkt-cta-box__ghost:hover{background:#f8fafc}.assessment-page{max-width:72rem;margin:0 auto;padding:2rem 1.5rem 3rem}.assessment-page--narrow{max-width:40rem}.assessment-page__header--hero{background:linear-gradient(135deg,#1a5f7a14,#2d8f8f1f);border-radius:var(--bm-radius-xl);padding:2rem 1.75rem;margin-bottom:1.5rem}.assessment-grade-section{margin-bottom:2rem}.assessment-grade-section__title{font-size:1.125rem;color:var(--bm-color-ink);margin:0 0 1rem}.assessment-page__header h1{margin:0 0 .75rem;font-size:clamp(1.75rem,3vw,2.25rem);color:var(--bm-color-ink)}.assessment-page__header p{margin:0 0 2rem;max-width:52ch;line-height:1.6;color:#475569}.assessment-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.assessment-filters label{font-size:.875rem;font-weight:600;color:#475569}.assessment-filters select{font:inherit;padding:.45rem .75rem;border-radius:.5rem;border:1px solid #cbd5e1}.assessment-grid{display:grid;gap:1.25rem}@media(min-width:640px){.assessment-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.assessment-grid{grid-template-columns:repeat(3,1fr)}}.assessment-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.35rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 2px 12px #0f34490a}.assessment-card h2{margin:0;font-size:1.125rem;color:#0f3449}.assessment-card p{margin:0;font-size:.9375rem;line-height:1.5;color:#64748b;flex:1}.assessment-card__meta{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#1a5f7a}.assessment-card__detail{font-size:.8125rem!important;color:#94a3b8!important}.assessment-card .marketing-btn{margin-top:.5rem;text-align:center;width:fit-content}.assessment-empty{color:#64748b}.assessment-back{font:inherit;font-size:.875rem;color:#1a5f7a;background:none;border:none;padding:0;margin-bottom:1rem;cursor:pointer}.assessment-back:hover{text-decoration:underline}.assessment-quiz{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.75rem}.assessment-quiz__prompt{margin:0 0 1.25rem;font-size:1.25rem;line-height:1.4;color:#0f3449}.assessment-quiz__figure{margin:0 0 1.25rem}.assessment-quiz__image{display:block;width:100%;max-height:28rem;object-fit:contain;border-radius:.5rem;background:#f8fafc;border:1px solid #e2e8f0}.assessment-choices{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.assessment-choice{width:100%;text-align:left;font:inherit;font-size:1rem;padding:.75rem 1rem;border-radius:.5rem;border:1px solid #cbd5e1;background:#f8fafc;color:#0f3449;cursor:pointer;transition:border-color .15s,background .15s}.assessment-choice:hover{border-color:#1a5f7a;background:#f0f9ff}.assessment-choice--selected{border-color:#1a5f7a;background:#e0f2f1;box-shadow:0 0 0 1px #1a5f7a}.assessment-quiz__next{margin-top:.25rem}.assessment-quiz__next:disabled{opacity:.55;cursor:not-allowed}.assessment-quiz__hint{margin:.75rem 0 0}.assessment-result{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem}.assessment-result h1{margin:0 0 .75rem;font-size:1.5rem}.assessment-result__score{font-size:1.75rem;font-weight:700;color:#1a5f7a;margin:0 0 1rem}.assessment-result__copy{margin:0 0 1.5rem;line-height:1.6;color:#475569}.assessment-result__actions{display:flex;flex-wrap:wrap;gap:.5rem}.portal-shell{min-height:100dvh;display:flex;flex-direction:column;background:#f8fafc}.portal-shell__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0}.portal-shell__brand{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#1a5f7a}.portal-shell__title{margin:.15rem 0 0;font-size:1.125rem;font-weight:600;color:#0f3449}.portal-shell__user{display:flex;align-items:center;gap:1rem}.portal-shell__profile-link{font-size:.875rem;color:#1a5f7a;text-decoration:none;font-weight:500}.portal-shell__profile-link:hover{text-decoration:underline}.portal-shell__email{font-size:.875rem;color:#64748b}.portal-shell__logout{font:inherit;font-size:.875rem;font-weight:500;padding:.45rem .85rem;border-radius:.5rem;border:1px solid #cbd5e1;background:#fff;color:#0f3449;cursor:pointer}.portal-shell__logout:hover{background:#f1f5f9}.portal-shell__main{flex:1;padding:2rem 1.5rem;max-width:48rem}.portal-shell__main--wide{max-width:none;padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.portal-placeholder{background:#fff;border-radius:.75rem;padding:2rem;border:1px dashed #cbd5e1;color:#475569;line-height:1.6}.portal-placeholder h2{margin:0 0 .5rem;color:#0f3449;font-size:1.25rem}.portal-placeholder p{margin:0}.notif-bell{position:relative}.notif-bell__trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid #e2e8f0;border-radius:.625rem;background:#fff;color:#475569;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.notif-bell__trigger:hover{color:#1a5f7a;border-color:#1a5f7a;background:#f0f9fb}.notif-bell__trigger:focus-visible{outline:2px solid #1a5f7a;outline-offset:2px}.notif-bell__badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.6875rem;font-weight:700;line-height:1.1rem;text-align:center;box-shadow:0 0 0 2px #fff}.notif-bell__panel{position:absolute;top:calc(100% + .5rem);right:0;width:min(22rem,calc(100vw - 2rem));max-height:24rem;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:.875rem;box-shadow:0 18px 40px -18px #0f344959;z-index:50}.notif-bell__panel-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #eef2f6}.notif-bell__panel-title{font-weight:700;color:#0f3449;font-size:.9375rem}.notif-bell__mark-all{border:none;background:none;padding:0;font-size:.8125rem;font-weight:600;color:#1a5f7a;cursor:pointer}.notif-bell__mark-all:hover{text-decoration:underline}.notif-bell__empty{margin:0;padding:1.5rem 1rem;text-align:center;color:#94a3b8;font-size:.875rem}.notif-bell__list{list-style:none;margin:0;padding:0}.notif-bell__item+.notif-bell__item{border-top:1px solid #f1f5f9}.notif-bell__item--unread{background:#f0f9fb}.notif-bell__item-btn{display:flex;flex-direction:column;gap:.2rem;width:100%;text-align:left;border:none;background:none;padding:.7rem 1rem;cursor:pointer}.notif-bell__item-btn:hover{background:#f8fafc}.notif-bell__item-title{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.875rem;color:#0f3449}.notif-bell__dot{width:.5rem;height:.5rem;border-radius:999px;background:#1a5f7a;flex:none}.notif-bell__item-message{font-size:.8125rem;color:#475569;line-height:1.4}.notif-bell__item-date{font-size:.75rem;color:#94a3b8}.portal-app{display:flex;min-height:calc(100dvh - 4.5rem);align-items:stretch;flex:1;min-width:0}.portal-app__main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.portal-app__content{flex:1;width:100%;max-width:none;box-sizing:border-box;padding:0 1.5rem 2rem}.portal-app__content:has(.schedule-page--calendar){max-width:none;min-height:0;display:flex;flex-direction:column;padding:.35rem .35rem .5rem;width:100%;box-sizing:border-box}.portal-sidebar{width:15rem;flex-shrink:0;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;transition:width .2s ease}.portal-app--collapsed .portal-sidebar{width:3.25rem}.portal-sidebar__toggle{align-self:flex-end;margin:.5rem .5rem 0;font:inherit;font-size:.875rem;width:2rem;height:2rem;border-radius:.375rem;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;color:#475569}.portal-sidebar__nav{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .5rem 1rem}.portal-sidebar__link{display:block;font-size:.875rem;font-weight:500;color:#475569;text-decoration:none;padding:.5rem .75rem;border-radius:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-sidebar__link:hover{background:#f1f5f9;color:#0f3449}.portal-sidebar__link--active{background:#e0f2f1;color:#0f3449}.portal-app--collapsed .portal-sidebar__label{opacity:0;width:0;overflow:hidden;display:inline-block}.portal-app--collapsed .portal-sidebar__link{text-align:center;padding:.5rem}.portal-form-row{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.portal-app__toolbar{padding:1rem 1.5rem 0}.portal-form-row label{font-size:.8125rem;font-weight:500;color:#475569}.portal-form-row input,.portal-form-row select,.portal-form-row textarea{font:inherit;font-size:.9375rem;padding:.45rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1;width:100%;max-width:28rem;box-sizing:border-box}.portal-form-grid .portal-form-row{margin-bottom:0}.portal-form-grid .portal-form-row input,.portal-form-grid .portal-form-row select,.portal-form-grid .portal-form-row textarea{max-width:100%}.portal-table th,.portal-table td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid #e2e8f0}.portal-table th{color:#64748b;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.notifications-page{display:flex;flex-direction:column;gap:.25rem}.notifications-page__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.notifications-page__title{margin:0;font-size:1.25rem}.portal-nav a{font-size:.875rem;font-weight:500;color:#475569;text-decoration:none;padding:.35rem .65rem;border-radius:.5rem}.portal-nav a:hover{background:#f1f5f9;color:#0f3449}.portal-nav a.active{background:#e0f2f1;color:#0f3449}.portal-card{background:var(--bm-color-surface-elevated);border:1px solid var(--bm-color-border);border-radius:var(--bm-radius-lg);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--bm-shadow-soft)}.portal-card h3{margin:0 0 .5rem;font-size:1.05rem;color:#0f3449}.portal-card p{margin:.25rem 0;color:#475569;font-size:.9375rem;line-height:1.5}.portal-meta{font-size:.8125rem;color:#64748b}.portal-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.portal-btn{font:inherit;font-size:.875rem;font-weight:500;padding:.45rem .85rem;border-radius:.5rem;border:1px solid #cbd5e1;background:#fff;color:#0f3449;cursor:pointer;text-decoration:none;display:inline-block}.portal-btn--primary{background:#1a5f7a;border-color:#1a5f7a;color:#fff}.portal-btn--danger{background:#fff;border-color:#fecaca;color:#b91c1c}.portal-btn--danger:hover{background:#fef2f2}.portal-btn--small{font-size:.8125rem;padding:.35rem .65rem}.portal-btn:hover{filter:brightness(.97)}.portal-btn:disabled,.portal-btn--primary:disabled{opacity:.55;cursor:not-allowed;filter:none}.portal-alert{margin:.35rem 0 0;padding:.65rem .85rem;font-size:.875rem;line-height:1.45;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:.5rem}.portal-alert a{color:#c2410c;font-weight:600}.portal-grid{display:grid;gap:1rem}@media(min-width:768px){.portal-grid--2{grid-template-columns:1fr 1fr}}.portal-stat{font-size:1.75rem;font-weight:600;color:#1a5f7a}.child-select{margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.child-select label{font-size:.875rem;font-weight:500;color:#475569}.child-select select{font:inherit;padding:.4rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1}.parent-linked-children{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.parent-linked-children li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#f8fafc}.parent-linked-children__name{font-weight:600;color:#0f3449}.portal-error{color:#9f1239;background:#fff1f2;padding:.75rem;border-radius:.5rem;border:1px solid #fecdd3}.portal-form-grid{display:grid;gap:.75rem 1rem;grid-template-columns:1fr 1fr}.portal-form-row--full{grid-column:1 / -1}@media(max-width:640px){.portal-form-grid{grid-template-columns:1fr}}.assessment-admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.assessment-admin-list__btn{width:100%;text-align:left;font:inherit;padding:.65rem .75rem;border-radius:.5rem;border:1px solid var(--bm-color-border);background:#f8fafc;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.assessment-admin-list__btn--active{border-color:var(--bm-color-brand);background:#e0f2f1}.assessment-admin-q{border-top:1px solid var(--bm-color-border);padding-top:.75rem;margin-top:.75rem}.assessment-admin-q__image{display:block;max-width:100%;max-height:16rem;object-fit:contain;margin:.5rem 0 .75rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#f8fafc}.assessment-admin-add-title{margin:1.25rem 0 .75rem;font-size:1rem}.portal-table{width:100%;border-collapse:collapse;font-size:.875rem}.portal-table th,.portal-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--bm-color-border)}.portal-table__wrap{max-width:14rem;word-break:break-all;font-size:.8125rem}.portal-card--flush-table{padding:0;overflow:hidden}.portal-table-scroll{overflow-x:auto}.portal-table--courses{width:100%}.portal-card--flush-table>h3{padding:1.25rem 1.25rem 0}.portal-card--flush-table .portal-table th,.portal-card--flush-table .portal-table td{padding:.65rem 1.25rem}.portal-breadcrumb{margin:0 0 1rem;font-size:.875rem;color:#64748b}.portal-breadcrumb a{color:#1a5f7a;font-weight:500;text-decoration:none}.portal-breadcrumb a:hover{text-decoration:underline}.portal-subnav{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.portal-subnav__link{font-size:.875rem;font-weight:500;padding:.4rem .75rem;border-radius:.5rem;border:1px solid #cbd5e1;background:#f8fafc;color:#0f3449;text-decoration:none}.portal-subnav__link:hover{background:#e0f2f1;border-color:#99f6e4}.portal-subnav__link--active{background:#e0f2f1;border-color:#1a5f7a}button.portal-subnav__link{cursor:pointer;font:inherit}.portal-list{margin:0;padding-left:1.15rem;line-height:1.6;color:#475569}.portal-list--ordered{list-style:decimal}.portal-list a{color:#1a5f7a;font-weight:500}.invite-share{margin-top:1.25rem;padding:1rem 1.1rem;border-radius:var(--bm-radius-lg);background:#f0fdfa;border:1px solid #99f6e4}.invite-share__label{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#0f3449}.invite-share__row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch}.invite-share__url{flex:1 1 12rem;min-width:0;font:inherit;font-size:.8125rem;padding:.5rem .65rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;color:#0f3449}.invite-share__copy{flex-shrink:0}.package-shop__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.package-shop__title{margin:0 0 .35rem}.package-shop__lede{margin:0}.package-shop__balance{flex-shrink:0;text-align:right;padding:.65rem 1rem;border-radius:var(--bm-radius-lg);background:linear-gradient(135deg,#e0f2f1,#f0fdfa);border:1px solid #99f6e4}.package-shop__balance-label{display:block;font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em}.package-shop__balance-value{display:block;font-size:2rem;font-weight:700;line-height:1.1;color:#0f3449}.package-shop__course-select{max-width:32rem}.package-shop__layout{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;max-width:52rem}.package-shop__section-label{margin:0 0 .65rem;font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.package-offer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;max-width:44rem}.package-offer-card{width:100%;text-align:left;font:inherit;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.25rem 1rem;padding:1rem 1.1rem;border-radius:var(--bm-radius-lg);border:2px solid #e2e8f0;background:#fff;color:#0f3449;transition:border-color .15s,box-shadow .15s}.package-offer-card:hover{border-color:#99f6e4}.package-offer-card--selected{border-color:#1a5f7a;box-shadow:0 0 0 1px #1a5f7a;background:#f8fffe}.package-offer-card__name{grid-column:1;font-weight:600;font-size:1.05rem}.package-offer-card__credits{grid-column:1;font-size:.875rem;color:#64748b}.package-offer-card__price{grid-column:2;grid-row:1 / span 2;align-self:center;font-weight:700;font-size:1.125rem;color:#0f3449}.package-offer-card__desc{grid-column:1 / -1;font-size:.8125rem;color:#64748b;margin-top:.25rem}.package-shop__checkout{padding:1.1rem 1.15rem;border-radius:var(--bm-radius-lg);background:#f8fafc;border:1px solid #e2e8f0;max-width:30rem}.package-shop__checkout--bottom{margin-top:.5rem}.package-checkout-summary{margin:0 0 1rem;display:flex;flex-direction:column;gap:.65rem}.package-checkout-summary div{display:flex;justify-content:space-between;gap:1rem;font-size:.9375rem}.package-checkout-summary dt{margin:0;color:#64748b;font-weight:500}.package-checkout-summary dd{margin:0;font-weight:600;text-align:right}.package-checkout-summary__total{font-size:1.25rem;color:#0f3449}.package-shop__pay{width:100%}.package-shop__success{margin-bottom:.75rem;padding:.5rem .65rem;border-radius:.5rem;background:#ecfdf5;border:1px solid #a7f3d0}.admin-courses-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-courses-toolbar__title{margin:0 0 .35rem}.portal-table__clip{max-width:none;white-space:normal;word-break:break-word}.portal-table__select{font:inherit;font-size:.875rem;min-width:10rem;max-width:100%;padding:.35rem .5rem;border-radius:.4rem;border:1px solid #cbd5e1}.portal-table__hint{display:block;font-size:.75rem;margin-top:.25rem}.portal-table__actions{white-space:nowrap;text-align:right}.portal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f344973}.portal-modal{width:min(28rem,100%);max-height:min(90vh,40rem);overflow:auto;background:#fff;border-radius:var(--bm-radius-lg);box-shadow:0 20px 40px #0f344933;padding:0 0 1rem}.portal-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e2e8f0}.portal-modal__header h3{margin:0;font-size:1.125rem}.portal-modal__close{font:inherit;font-size:1.5rem;line-height:1;border:none;background:transparent;color:#64748b;cursor:pointer;padding:.15rem .35rem}.portal-modal form{padding:1rem 1.15rem 0}.portal-modal__footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.course-schedule-cell{min-width:14rem;vertical-align:top}.course-schedule-cell__empty{display:block;font-size:.8125rem;line-height:1.45}.course-schedule-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.course-schedule-list li{font-size:.8125rem;line-height:1.4;color:#0f3449}.course-schedule-list__teacher{display:block;font-size:.75rem;color:#64748b;margin-top:.1rem}.confirm-popover-anchor{display:inline-block}.confirm-popover{position:fixed;z-index:1100;width:min(280px,calc(100vw - 1rem));padding:.75rem .85rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 6px -1px #0f344914,0 10px 20px -4px #0f34491f}.confirm-popover__title{margin:0 0 .35rem;font-size:.875rem;font-weight:600;color:#0f3449;line-height:1.35}.confirm-popover__description{margin:0 0 .75rem;font-size:.8125rem;color:#64748b;line-height:1.45}.confirm-popover__actions{display:flex;justify-content:flex-end;gap:.5rem}.course-ta-cell{min-width:11rem;vertical-align:top}.course-ta-list{list-style:none;margin:0 0 .5rem;padding:0;font-size:.8125rem}.course-ta-list li{margin-bottom:.35rem}.teacher-class-panel--sidebar{position:sticky;top:0;max-height:calc(100vh - 7rem);overflow-y:auto;border:none;box-shadow:none;background:transparent;padding:0}.teacher-class-panel__header h3{margin:0;font-size:1.05rem}.teacher-class-panel__sub{margin:.25rem 0 0;font-size:.8125rem}.teacher-class-panel__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0}.teacher-class-panel__attendance{font-size:.75rem;text-transform:capitalize;color:#64748b}.teacher-class-panel__join{margin-bottom:.5rem}.teacher-class-panel__flash{margin:0 0 .75rem;color:#0f3449}.teacher-class-panel__sections{display:flex;flex-direction:column;gap:1rem}.teacher-class-panel__block h4{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.teacher-class-panel__block{padding-top:.75rem;border-top:1px solid #e2e8f0}.teacher-class-panel__block:first-child{border-top:none;padding-top:0}.teacher-class-panel__attendance-btns{display:flex;flex-wrap:wrap;gap:.5rem}.attendance-roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.attendance-roster__row{display:flex;flex-direction:column;gap:.45rem;padding:.65rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.attendance-roster__info{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.attendance-roster__name{font-weight:600;font-size:.9375rem;color:#0f172a}.attendance-roster__status{font-size:.75rem;font-weight:600;text-transform:capitalize;color:#64748b}.attendance-roster__status--present{color:#047857}.attendance-roster__status--absent{color:#b91c1c}.attendance-roster__status--excused{color:#b45309}.attendance-roster__btns{display:flex;flex-wrap:wrap;gap:.35rem}.note-composer__hint{margin:0 0 .65rem}.note-composer__label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:500;color:#475569}.teacher-class-panel__input{width:100%;margin-bottom:.5rem;font:inherit;font-size:.9375rem;padding:.45rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1;box-sizing:border-box}.teacher-classes-calendar-shell{display:grid;gap:0;align-items:stretch;min-height:520px}.teacher-classes-calendar-card{padding:0;overflow:hidden}.teacher-classes-page__toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.75rem;padding:0 .25rem}.teacher-classes-page__title{margin:0;font-size:1.125rem;color:#0f3449}.teacher-classes-page__hint{margin:.25rem 0 0;max-width:36rem}.teacher-classes-list-layout{display:grid;gap:1rem;align-items:start}@media(min-width:768px){.teacher-classes-calendar-shell{grid-template-columns:1fr 1fr}.teacher-classes-calendar-shell__calendar{padding:.75rem .5rem .75rem .75rem;border-right:1px solid #e2e8f0}.teacher-classes-calendar-shell__aside{padding:.75rem;min-width:0;background:#fafbfc}.teacher-classes-list-layout{grid-template-columns:1fr 1fr}.teacher-classes-list-layout__aside{position:sticky;top:.5rem}}.teacher-classes-calendar-placeholder{padding:1.25rem;border:1px dashed #cbd5e1;border-radius:.75rem;background:#f8fafc;color:#64748b;font-size:.875rem;line-height:1.45;min-height:12rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center}@media(min-width:960px){.teacher-classes-calendar-shell__aside--empty{display:block}.teacher-classes-calendar-placeholder{height:100%;min-height:0}}.teacher-classes-calendar-shell__aside{min-width:0}.teacher-classes-calendar-shell__aside--empty{display:none}@media(max-width:767px){.teacher-classes-list-layout__aside{order:-1}.teacher-classes-calendar-shell{grid-template-columns:1fr}.teacher-classes-calendar-shell__calendar{padding:.75rem;border-right:none;border-bottom:1px solid #e2e8f0}.teacher-classes-calendar-shell__aside{padding:.75rem}}.teacher-classes-calendar-shell__calendar,.teacher-classes-calendar-shell__aside{min-width:0}.teacher-file-field{margin:.65rem 0 .75rem}.teacher-file-field__label{display:block;font-size:.8125rem;font-weight:500;color:#475569;margin-bottom:.35rem}.teacher-file-field__hint{margin:0 0 .4rem;font-size:.8125rem}.teacher-file-drop{position:relative;border:1.5px dashed #cbd5e1;border-radius:.625rem;background:#f8fafc;padding:.85rem 1rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.teacher-file-drop:hover:not(.teacher-file-drop--filled){border-color:#1a5f7a;background:#f0f9fb}.teacher-file-drop:focus-visible{outline:2px solid #1a5f7a;outline-offset:2px}.teacher-file-drop--filled{border-style:solid;border-color:#a7d8d8;background:#ecfdf5;cursor:default}.teacher-file-drop__input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.teacher-file-drop__empty{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.teacher-file-drop__upload-icon{display:block;width:2rem;height:2rem;margin-bottom:.15rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231a5f7a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 16V4m0 0l-4 4m4-4l4 4M4 16v2a2 2 0 002 2h12a2 2 0 002-2v-2'/%3E%3C/svg%3E") center / contain no-repeat}.teacher-file-drop__prompt{font-size:.875rem;font-weight:500;color:#0f3449}.teacher-file-drop__formats{font-size:.75rem;color:#64748b}.teacher-file-drop__file{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.teacher-file-drop__file-icon{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:999px;background:#1a5f7a;color:#fff;font-size:.75rem;display:flex;align-items:center;justify-content:center}.teacher-file-drop__file-name{flex:1;min-width:0;font-size:.875rem;font-weight:500;color:#0f3449;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-file-drop__clear{font:inherit;font-size:.8125rem;font-weight:500;padding:.25rem .6rem;border-radius:.375rem;border:1px solid #cbd5e1;background:#fff;color:#64748b;cursor:pointer;margin-left:auto}.teacher-file-drop__clear:hover{background:#f1f5f9;color:#0f3449}.teacher-panel-or{display:flex;align-items:center;gap:.75rem;margin:.85rem 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.teacher-panel-or:before,.teacher-panel-or:after{content:"";flex:1;height:1px;background:#e2e8f0}.teacher-recording-link-row{display:flex;flex-direction:column;gap:.5rem}@media(min-width:480px){.teacher-recording-link-row{flex-direction:row;align-items:stretch}.teacher-recording-link-row .teacher-class-panel__input{flex:1;margin-bottom:0}.teacher-recording-link-row .portal-btn{flex-shrink:0;align-self:stretch}}.teacher-class-panel__block-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.teacher-class-panel__block-actions .portal-btn--primary{width:100%}@media(min-width:480px){.teacher-class-panel__block-actions--inline .portal-btn--primary{width:auto;min-width:10rem}}.note-composer{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;margin-bottom:.85rem}.note-scope{display:inline-flex;gap:0;align-self:flex-start;border:1px solid #cbd5e1;border-radius:.5rem;overflow:hidden;background:#fff}.note-scope__btn{border:none;background:transparent;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;color:#475569;cursor:pointer}.note-scope__btn+.note-scope__btn{border-left:1px solid #cbd5e1}.note-scope__btn--active{background:#1a5f7a;color:#fff}.note-scope__btn:disabled{color:#cbd5e1;cursor:not-allowed}.note-composer__target{margin:0;font-weight:600;color:#0f3449}.note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.note-list__empty{margin:0}.note-item{border:1px solid #e2e8f0;border-radius:.625rem;background:#fff;padding:.6rem .75rem}.note-item--editing{border-color:#1a5f7a;box-shadow:0 0 0 1px #1a5f7a}.note-item__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.note-item__badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#0f766e;background:#ccfbf1;padding:.15rem .5rem;border-radius:999px}.note-item__badge--student{color:#7c3aed;background:#ede9fe;text-transform:none;letter-spacing:0}.note-item__date{font-size:.75rem;color:#94a3b8;white-space:nowrap}.note-item__content{margin:0 0 .4rem;font-size:.875rem;color:#1f2937;line-height:1.45;white-space:pre-wrap}.note-item__actions{display:flex;gap:.75rem}.note-item__link{border:none;background:none;padding:0;font-size:.8125rem;font-weight:600;color:#1a5f7a;cursor:pointer}.note-item__link:hover{text-decoration:underline}.note-item__link--danger{color:#dc2626}.teacher-class-homework-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.teacher-class-homework-list__link{display:block;padding:.65rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;text-decoration:none;color:inherit;transition:background .12s ease,border-color .12s ease}.teacher-class-homework-list__link:hover{background:#f8fafc;border-color:#cbd5e1}.teacher-class-homework-list__title{display:block;font-weight:600;font-size:.875rem;color:#0f172a}.teacher-class-homework-list__meta{display:block;margin-top:.2rem;font-size:.8125rem;color:#64748b}.teacher-class-homework-list__badge{margin-top:.35rem}.thw-page{display:flex;flex-direction:column;gap:1.25rem}.thw-page__title{margin:0;font-size:1.35rem}.thw-page__subtitle{margin:.25rem 0 0;font-size:.875rem;color:#64748b}.thw-summary{display:flex;flex-wrap:wrap;gap:.5rem}.thw-summary__chip{display:inline-flex;align-items:baseline;gap:.35rem;padding:.4rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;font:inherit;font-size:.8125rem;color:#475569;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.thw-summary__chip:hover{border-color:#94a3b8;background:#f8fafc}.thw-summary__chip strong{font-size:.9375rem;color:#0f172a}.thw-summary__chip--alert{border-color:#fdba74;background:#fff7ed;color:#9a3412}.thw-summary__chip--alert strong{color:#9a3412}.thw-summary__chip--active{border-color:#0369a1;background:#e0f2fe;color:#075985;box-shadow:inset 0 0 0 1px #0369a1}.thw-summary__chip--active strong{color:#0c4a6e}.thw-summary__chip--alert.thw-summary__chip--active{border-color:#c2410c;background:#ffedd5;color:#9a3412;box-shadow:inset 0 0 0 1px #c2410c}.thw-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem}@media(max-width:720px){.thw-filters{grid-template-columns:1fr}}.thw-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;font-weight:500;color:#475569}.thw-filters select,.thw-filters input{font:inherit;padding:.45rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1}.thw-section{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.thw-section__heading{margin:0;padding:.75rem 1rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.thw-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto;gap:.75rem 1rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #f1f5f9;text-decoration:none;color:inherit;transition:background .12s ease}.thw-row:last-child{border-bottom:none}.thw-row:hover{background:#f8fafc}@media(max-width:720px){.thw-row{grid-template-columns:1fr;gap:.35rem}}.thw-row__title{margin:0;font-size:.9375rem;font-weight:600;color:#0f172a}.thw-row__meta{margin:.2rem 0 0;font-size:.8125rem;color:#64748b}.thw-row__due{font-size:.8125rem;color:#475569;white-space:nowrap}.thw-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:.375rem;background:#f1f5f9;color:#475569;white-space:nowrap}.thw-badge--review{background:#ffedd5;color:#9a3412}.thw-badge--assigned{background:#e0f2fe;color:#075985}.thw-badge--late{background:#fee2e2;color:#b91c1c}.thw-badge--graded{background:#d1fae5;color:#047857}.thw-row__action{font-size:.8125rem;font-weight:600;color:#0369a1;white-space:nowrap}.thw-empty{padding:1.5rem;text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem}.thw-detail__header{display:flex;flex-direction:column;gap:.35rem}.thw-detail__title{margin:0;font-size:1.25rem}.thw-grade-form{display:flex;flex-direction:column;gap:.75rem}.thw-grade-form>label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;font-weight:500;color:#475569}.thw-grade-form input,.thw-grade-form textarea{font:inherit;padding:.5rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1}.thw-grade-form fieldset{margin:0;padding:0;border:none}.thw-grade-form fieldset legend{font-size:.8125rem;font-weight:600;color:#475569;margin-bottom:.5rem}.thw-question-grade-list{gap:.65rem}.thw-question-grade{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.thw-question-grade__label{font-weight:600;color:#0f172a;min-width:2rem}.thw-question-grade__choices{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.thw-question-grade__choices label{display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;color:#475569;cursor:pointer}.thw-question-grade__choices input{margin:0;width:1rem;height:1rem;flex-shrink:0}.thw-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.thw-file-list button{text-align:left}.admin-classes{display:flex;flex-direction:column;gap:1rem}.admin-classes--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,26rem);gap:1rem;align-items:start}@media(max-width:960px){.admin-classes--split{grid-template-columns:1fr}}.admin-classes__main{display:flex;flex-direction:column;gap:1rem;min-width:0}.admin-classes__detail{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;display:flex;flex-direction:column;gap:.75rem}.admin-classes__reassign h4{margin:0 0 .35rem}.admin-classes__reassign-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-classes__reassign-row select{font:inherit;padding:.45rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1;min-width:10rem;flex:1}.admin-classes__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.admin-classes__title{margin:0;font-size:1.25rem}.admin-classes__toolbar{display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem}.admin-classes__filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(max-width:640px){.admin-classes__filters{grid-template-columns:1fr}}.admin-classes__filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.8125rem;font-weight:500;color:#475569}.admin-classes__filters select{font:inherit;padding:.45rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1}.admin-classes__empty{margin:0;padding:1.5rem;text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem}.admin-classes__picker{display:flex;flex-direction:column;gap:.85rem}.admin-classes__course-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem}.admin-classes__course-card{width:100%;padding:.85rem 1rem;text-align:left;font:inherit;font-weight:600;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;cursor:pointer}.admin-classes__course-card:hover{border-color:#94a3b8;background:#f8fafc}.admin-classes__context{margin:0;font-size:.875rem;color:#475569}.admin-classes__day{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.admin-classes__day-heading{margin:0;padding:.7rem 1rem;font-size:.8125rem;font-weight:600;color:#334155;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.65rem}.admin-classes__day-count{font-weight:500;color:#94a3b8}.admin-classes__list{list-style:none;margin:0;padding:0}.admin-classes__row{display:grid;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr) auto;gap:.75rem 1rem;align-items:center;width:100%;padding:.8rem 1rem;border:none;border-bottom:1px solid #f1f5f9;background:transparent;text-align:left;font:inherit;cursor:pointer}.admin-classes__row:hover{background:#f8fafc}.admin-classes__row--selected{background:#e0f2f1}.admin-classes__row:last-child{border-bottom:none}@media(max-width:720px){.admin-classes__row{grid-template-columns:1fr;gap:.35rem}}.admin-classes__when{font-size:.875rem;color:#475569}.admin-classes__course{margin:0;font-size:.9375rem;font-weight:600;color:#0f172a}.admin-classes__meta{margin:.15rem 0 0;font-size:.8125rem;color:#64748b}.admin-classes__status{justify-self:end;font-size:.75rem;font-weight:600;white-space:nowrap;padding:.2rem .5rem;border-radius:.375rem;background:#f1f5f9;color:#475569}.schedule-page{width:100%;max-width:1200px;margin:0 auto}.teacher-classes-page{padding:1rem 1.25rem 1.5rem;box-sizing:border-box}.schedule-page--calendar{flex:1;min-height:0;display:flex;flex-direction:column;max-width:none}.schedule-page__calendar-layout{flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem}.schedule-page__calendar-host{flex-shrink:0;display:flex;flex-direction:column}.schedule-page__calendar-layout .schedule-detail{flex-shrink:0}@media(min-width:1100px){.schedule-page--calendar .schedule-page__calendar-layout{flex-direction:row;align-items:flex-start;gap:1rem}.schedule-page--calendar .schedule-page__calendar-host{flex:1 1 auto;min-width:0}.schedule-page--calendar .schedule-page__calendar-layout .schedule-detail{flex:0 0 340px;margin-top:0;position:sticky;top:.5rem}}@media(min-width:900px){.schedule-page{max-width:none}}.schedule-page--calendar .schedule-page__toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem;flex-shrink:0;padding:0 .5rem}.schedule-page__toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.schedule-page__message{margin-bottom:.75rem}.schedule-view-toggle{display:inline-flex;padding:.2rem;background:#f1f5f9;border-radius:.625rem;border:1px solid #e2e8f0;gap:.15rem}.schedule-view-toggle__btn{font:inherit;font-size:.875rem;font-weight:500;padding:.4rem 1rem;border:none;border-radius:.5rem;background:transparent;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.schedule-view-toggle__btn:hover{color:#0f3449}.schedule-view-toggle__btn--active{background:#fff;color:#0f3449;box-shadow:0 1px 2px #0f344914}.schedule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.schedule-list__card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.15rem 1.25rem;transition:border-color .15s ease,box-shadow .15s ease}.schedule-list__card--selected{border-color:#1a5f7a;box-shadow:0 0 0 1px #1a5f7a26}.schedule-list__when{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.35rem}.schedule-list__when time{font-size:.8125rem;font-weight:600;color:#475569}.schedule-list__title{margin:0 0 .25rem;font-size:1.05rem;color:#0f3449}.schedule-status{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px}.schedule-status--scheduled{background:#e0f2f1;color:#0f3449}.schedule-status--completed{background:#f1f5f9;color:#475569}.schedule-status--cancelled{background:#f8fafc;color:#94a3b8}.schedule-detail{margin-top:1rem}.schedule-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.schedule-detail__header h3{margin:0}.schedule-detail__close{font:inherit;font-size:1.25rem;line-height:1;border:none;background:transparent;color:#64748b;cursor:pointer;padding:.15rem .35rem;border-radius:.375rem}.schedule-detail__close:hover{background:#f1f5f9;color:#0f3449}.schedule-page--calendar .schedule-page__intro{flex-shrink:0}.schedule-page--calendar .schedule-page__calendar-layout{flex:0 0 auto;min-height:0}.schedule-page__intro .schedule-page__toolbar--inline{margin-bottom:0;margin-top:.75rem;justify-content:flex-start}.teacher-class-detail__section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.teacher-classes-recurring__title{margin:0 0 .5rem;font-size:.9375rem;color:#0f3449}.teacher-classes-recurring__on-card{font-size:.8125rem;color:#64748b}.schedule-empty{text-align:center;padding:2rem}.admin-dashboard{display:flex;flex-direction:column;gap:1.25rem;width:100%}.admin-dashboard__intro h2{margin:0 0 .35rem;color:#0f3449}.admin-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem}.admin-stat__label{margin:0;font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.admin-stat__value{margin:.35rem 0 0;font-size:1.75rem;font-weight:700;color:#0f3449;line-height:1.1}.admin-stat__hint{margin:.35rem 0 0;font-size:.8125rem}a.admin-stat--link{text-decoration:none;color:inherit;transition:border-color .12s ease,box-shadow .12s ease}a.admin-stat--link:hover{border-color:#94a3b8}.admin-dashboard__charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem}.admin-chart__header h3{margin:0 0 .25rem;font-size:1rem;color:#0f3449}.admin-chart__bars{display:flex;align-items:flex-end;gap:.5rem;margin-top:1rem;min-height:9rem;padding-top:.5rem}.admin-chart__bar-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.35rem}.admin-chart__bar-value{font-size:.65rem;font-weight:600;color:#475569;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-chart__bar-track{width:100%;max-width:2.5rem;height:6.5rem;display:flex;align-items:flex-end;background:#f1f5f9;border-radius:.35rem .35rem .15rem .15rem}.admin-chart__bar-fill{width:100%;min-height:4px;border-radius:.35rem .35rem .1rem .1rem;transition:height .2s ease}.admin-chart__bar-label{font-size:.6875rem;color:#94a3b8}.admin-dashboard__links h3{margin:0 0 .75rem}.teacher-dashboard__legend{display:flex;gap:1rem;margin-top:.75rem;font-size:.75rem;color:#64748b}.teacher-dashboard__legend-item:before{content:"";display:inline-block;width:.65rem;height:.65rem;border-radius:.15rem;margin-right:.35rem;vertical-align:middle}.teacher-dashboard__legend-item--scheduled:before{background:#1a5f7a}.teacher-dashboard__legend-item--done:before{background:#64748b}.teacher-dashboard__grouped-bars{gap:.35rem}.teacher-dashboard__bar-group{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.35rem}.teacher-dashboard__bar-pair{display:flex;gap:.2rem;width:100%;justify-content:center}.teacher-dashboard__bar-pair .admin-chart__bar-col{flex:1;max-width:1.35rem}.teacher-dashboard__stack{display:flex;flex-direction:column;gap:.65rem;margin-top:1rem}.teacher-dashboard__stack-row{display:grid;grid-template-columns:6.5rem 1fr 2rem;align-items:center;gap:.5rem}.teacher-dashboard__stack-label{font-size:.8125rem;color:#475569}.teacher-dashboard__stack-track{height:.65rem;background:#f1f5f9;border-radius:999px;overflow:hidden}.teacher-dashboard__stack-fill{height:100%;border-radius:999px;transition:width .2s ease}.teacher-dashboard__stack-value{font-size:.875rem;font-weight:600;color:#0f3449;text-align:right}.teacher-dashboard__chart-cta{margin:1rem 0 0}.teacher-dashboard__upcoming{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.teacher-dashboard__upcoming-link{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;color:inherit;padding:.5rem .65rem;border-radius:.5rem;border:1px solid #e2e8f0;transition:border-color .15s ease,background .15s ease}.teacher-dashboard__upcoming-link:hover{border-color:#1a5f7a;background:#f0f9fb}.teacher-dashboard__course-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.teacher-dashboard__course-title{display:block;font-weight:600;color:#0f3449}.teacher-dashboard .admin-dashboard__intro{padding:0 .25rem}.teacher-dashboard .admin-dashboard__intro h2{margin:0 0 .35rem;color:#0f3449}.hw-page{display:flex;flex-direction:column;gap:1.25rem}.hw-page__title{margin:0;font-size:1.35rem}.hw-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem}@media(max-width:720px){.hw-filters{grid-template-columns:1fr}}.hw-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;font-weight:500;color:#475569}.hw-filters select{font:inherit;padding:.45rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1}.hw-section{display:flex;flex-direction:column;gap:.75rem}.hw-section__heading{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b;padding-bottom:.35rem;border-bottom:1px solid #e2e8f0}.hw-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem}.hw-card__course{font-size:.8125rem;font-weight:600;color:#0f172a}.hw-card__title{margin:0;font-size:1.05rem;font-weight:600;color:#0f172a}.hw-card__meta{margin:0;font-size:.875rem;color:#64748b;display:flex;flex-wrap:wrap;gap:.35rem 1rem}.hw-card__materials{margin:0;padding:0;list-style:none;font-size:.875rem;color:#334155}.hw-card__materials li:before{content:"📎 "}.hw-card__submission{font-size:.875rem;color:#475569}.hw-card__grade{font-size:.875rem;color:#0f172a}.hw-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.hw-status{font-weight:600}.hw-status--late{color:#b45309}.hw-status--graded{color:#047857}.hw-detail{display:flex;flex-direction:column;gap:1rem}.hw-detail__back{align-self:flex-start;font-size:.875rem}.hw-detail__block{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem 1.1rem}.hw-detail__block h4{margin:0 0 .5rem;font-size:.9375rem}.hw-detail__instructions{white-space:pre-wrap;margin:0;line-height:1.55;color:#334155}.hw-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.hw-empty{padding:1.5rem;text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem}.class-notes-page{display:flex;flex-direction:column;gap:1rem}.class-notes-page__title{margin:0;font-size:1.35rem}.class-notes-page__subtitle{margin:.25rem 0 0;font-size:.875rem;color:#64748b}.class-notes-empty{margin:0;padding:1.5rem;text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem}.class-notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.class-notes-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem}.class-notes-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.class-notes-card__course{margin:0;font-size:1rem;font-weight:600;color:#0f172a}.class-notes-card__badge{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:.375rem;background:#f1f5f9;color:#475569}.class-notes-card__badge--personal{background:#e0f2fe;color:#075985}.class-notes-card__session{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem 1rem;padding:.65rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.class-notes-card__session div{display:flex;flex-direction:column;gap:.15rem}.class-notes-card__session dt{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.class-notes-card__session dd{margin:0;font-size:.875rem;color:#0f172a}.class-notes-card__content{margin:0;white-space:pre-wrap;line-height:1.55;color:#334155}.class-notes-card__meta{margin:0;font-size:.8125rem;color:#64748b}.assessment-admin-layout{display:grid;gap:1rem;align-items:start}@media(min-width:768px){.assessment-admin-layout{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr)}}.assessment-admin-layout__picker{margin:0}.assessment-admin-layout__picker-title{margin:0 0 .75rem;font-size:1rem}.assessment-admin-list__title{font-weight:600;font-size:.875rem;line-height:1.3}.assessment-admin-layout__editor{min-width:0}.assessment-admin-editor__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.assessment-admin-editor__header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.assessment-admin-editor__header h3{margin:0 0 .25rem}.assessment-admin-editor__s3{margin:0 0 1rem}.assessment-admin-editor{display:grid;gap:1rem;min-height:20rem}@media(min-width:640px){.assessment-admin-editor{grid-template-columns:minmax(5.5rem,7.5rem) minmax(0,1fr);gap:1.25rem}}.assessment-admin-editor__tabs{display:flex;flex-direction:column;gap:.5rem;border-right:1px solid var(--bm-color-border, #e2e8f0);padding-right:.75rem}@media(max-width:639px){.assessment-admin-editor__tabs{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--bm-color-border, #e2e8f0);padding-right:0;padding-bottom:.75rem}}.assessment-admin-q-tabs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}@media(max-width:639px){.assessment-admin-q-tabs{flex-direction:row;flex-wrap:wrap}}.assessment-admin-q-tabs__btn{width:100%;font:inherit;font-size:.875rem;font-weight:600;padding:.5rem .65rem;border-radius:.45rem;border:1px solid var(--bm-color-border, #e2e8f0);background:#f8fafc;color:#0f3449;cursor:pointer;text-align:center}@media(max-width:639px){.assessment-admin-q-tabs__btn{width:auto;min-width:2.75rem}}.assessment-admin-q-tabs__btn--active{border-color:var(--bm-color-brand, #1a5f7a);background:#e0f2f1}.assessment-admin-q-tabs__add{width:100%;justify-content:center;margin-top:.25rem;font-size:.8125rem}@media(max-width:639px){.assessment-admin-q-tabs__add{width:auto;flex:1 1 100%}}.assessment-admin-q-tabs__add--active{border-color:var(--bm-color-brand, #1a5f7a);background:#e0f2f1}.assessment-admin-editor__panel{min-width:0}.assessment-admin-editor__panel-title{margin:0 0 1rem;font-size:1.05rem}.assessment-admin-editor__form{display:flex;flex-direction:column;gap:.25rem;max-width:40rem}.assessment-admin-editor__image-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.assessment-admin-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bm-color-border, #e2e8f0)}.admin-payments{display:flex;flex-direction:column;gap:1rem}.admin-payments__title{margin:0;font-size:1.25rem}.admin-payments__summary{display:flex;flex-wrap:wrap;gap:.5rem}.admin-payments__chip{display:inline-flex;flex-direction:column;gap:.15rem;min-width:7rem;padding:.55rem .8rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;font:inherit;font-size:.75rem;color:#64748b;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.admin-payments__chip:hover{border-color:#94a3b8;background:#f8fafc}.admin-payments__chip strong{font-size:1rem;color:#0f172a}.admin-payments__chip--paid{border-color:#86efac;background:#f0fdf4}.admin-payments__chip--paid strong{color:#166534}.admin-payments__chip--active{border-color:#0369a1;box-shadow:inset 0 0 0 1px #0369a1;background:#e0f2fe;color:#075985}.admin-payments__chip--active strong{color:#0c4a6e}.admin-payments__chip--paid.admin-payments__chip--active{border-color:#15803d;box-shadow:inset 0 0 0 1px #15803d;background:#dcfce7}.admin-payments__filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:.85rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem}@media(max-width:800px){.admin-payments__filters{grid-template-columns:1fr 1fr}}.admin-payments__filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.8125rem;font-weight:500;color:#475569}.admin-payments__filters select,.admin-payments__filters input{font:inherit;padding:.45rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1}.admin-payments__empty{margin:0;padding:1.5rem;text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem}.admin-payments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.admin-payments__card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.admin-payments__card-main{display:flex;flex-direction:column;gap:.35rem;width:100%;padding:.9rem 1rem;border:none;background:transparent;text-align:left;font:inherit;cursor:pointer}.admin-payments__card-main:hover{background:#f8fafc}.admin-payments__card-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem}.admin-payments__amount{font-size:1.05rem;color:#0f172a}.admin-payments__when{margin-left:auto;font-size:.8125rem;color:#64748b}.admin-payments__line{margin:0;font-size:.875rem;color:#334155}.admin-payments__line--muted{color:#64748b;font-size:.8125rem}.admin-pay-status{font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.2rem .45rem;border-radius:.3rem;background:#f1f5f9;color:#475569}.admin-pay-status--paid{background:#dcfce7;color:#166534}.admin-pay-status--pending{background:#ffedd5;color:#9a3412}.admin-pay-status--failed{background:#fee2e2;color:#b91c1c}.admin-pay-status--cancelled{background:#e2e8f0;color:#475569}.admin-payments__details{margin:0;padding:.85rem 1rem 1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem 1rem;border-top:1px solid #f1f5f9}.admin-payments__details div{display:flex;flex-direction:column;gap:.15rem}.admin-payments__details dt{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.admin-payments__details dd{margin:0;font-size:.875rem;color:#0f172a;word-break:break-word}.admin-payments__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem!important}:root{--bm-color-ink: #0f3449;--bm-color-ink-muted: #475569;--bm-color-brand: #1a5f7a;--bm-color-brand-deep: #0f3449;--bm-color-accent: #2d8f8f;--bm-color-surface: #f8fafc;--bm-color-surface-elevated: #ffffff;--bm-color-border: #e2e8f0;--bm-radius-lg: .75rem;--bm-radius-xl: 1rem;--bm-shadow-soft: 0 4px 24px rgb(15 52 73 / 6%);--bm-shadow-card: 0 1px 2px rgb(15 52 73 / 5%), 0 12px 32px rgb(15 52 73 / 7%)}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;color:var(--bm-color-ink);background:var(--bm-color-surface)}#root{min-height:100dvh}.app-loading{min-height:100dvh;display:grid;place-items:center;color:#64748b;font-size:.9375rem}
