:root{--brand-primary:#2563eb;--brand-secondary:#14b8a6;--brand-accent:#f97316;--brand-ink:#0f172a;--text-muted:#64748b;--surface-base:#ffffffeb;--surface-strong:#fffffffa;--surface-border:#94a3b833;--radius-sm:.75rem;--radius-md:1rem;--radius-lg:1.35rem;--radius-xl:1.65rem;--shadow-soft:0 12px 32px #0f172a12;--shadow-strong:0 24px 56px #0f172a24;--focus-ring:0 0 0 3px #2563eb38;color:var(--brand-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.55}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--brand-ink);background:radial-gradient(circle at 0 0,#2563eb24,#0000 30%),radial-gradient(circle at 100% 0,#14b8a61f,#0000 24%),radial-gradient(circle at 0 100%,#f973161a,#0000 28%),linear-gradient(#eff6ff 0%,#f8fafc 38%,#eef2ff 100%);margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;transition:border-color .2s,box-shadow .2s,background .2s,transform .2s,color .2s}button{cursor:pointer}code{background:#0f172a12;border-radius:.55rem;padding:.15rem .35rem}#root{min-height:100vh}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.app-shell--student,.app-shell--nav-drawer{grid-template-columns:1fr}.app-shell--nav-drawer .sidebar{z-index:1100;width:min(320px,92vw);max-width:100vw;height:100dvh;max-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0);transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app-shell--nav-drawer .sidebar--open{transform:translate(0)}.app-shell--nav-drawer .topbar__menu{display:inline-flex}.app-shell--nav-drawer .sidebar-backdrop--visible{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1090;cursor:pointer;background:#0f172a6b;border:none;display:block;position:fixed;inset:0}.app-shell--role-grassroots_leader .sidebar{background:radial-gradient(circle at 100% 0,#22c55e52,#0000 28%),linear-gradient(#052016 0%,#0f172a 55%,#0c1a12 100%)}.app-shell--role-grassroots_leader .sidebar__brand-mark{background:linear-gradient(135deg,#22c55ef2,#3b82f6c7);box-shadow:0 14px 32px #22c55e59}.app-shell--role-grassroots_leader .sidebar__eyebrow{color:#86efac}.app-shell--role-grassroots_leader .sidebar__link:before{background:linear-gradient(#4ade80,#22d3ee)}.app-shell--role-grassroots_leader .topbar{border-bottom-color:#22c55e2e;box-shadow:0 12px 30px #22c55e14}.app-shell--role-grassroots_leader .student-floating-chat{background:linear-gradient(135deg,#16a34a,#2563eb);box-shadow:0 18px 36px #22c55e52}.app-shell--role-amica_exco .sidebar{background:radial-gradient(circle at 100% 0,#a855f761,#0000 30%),linear-gradient(#1a0a2e 0%,#1e1033 52%,#0f172a 100%)}.app-shell--role-amica_exco .sidebar__brand-mark{background:linear-gradient(135deg,#a855f7f2,#ec4899d1);box-shadow:0 14px 32px #a855f761}.app-shell--role-amica_exco .sidebar__eyebrow{color:#e9d5ff}.app-shell--role-amica_exco .sidebar__link:before{background:linear-gradient(#f472b6,#a855f7)}.app-shell--role-amica_exco .topbar{border-bottom-color:#a855f738;box-shadow:0 12px 30px #a855f71a}.app-shell--role-amica_exco .student-floating-chat{background:linear-gradient(135deg,#9333ea,#db2777);box-shadow:0 18px 36px #a855f752}.app-shell--role-teacher .sidebar{background:radial-gradient(circle at 100% 0,#f59e0b57,#0000 28%),linear-gradient(#1c1208 0%,#1e293b 58%,#0f172a 100%)}.app-shell--role-teacher .sidebar__brand-mark{background:linear-gradient(135deg,#f59e0bf2,#0ea5e9d1);box-shadow:0 14px 32px #f59e0b52}.app-shell--role-teacher .sidebar__eyebrow{color:#fcd34d}.app-shell--role-teacher .sidebar__link:before{background:linear-gradient(#fbbf24,#38bdf8)}.app-shell--role-teacher .topbar{border-bottom-color:#f59e0b33;box-shadow:0 12px 30px #f59e0b14}.app-shell--role-student .student-top-tabs__link--active{color:#0369a1;background:linear-gradient(135deg,#bfdbfefa,#ccfbf1f0);border-color:#38bdf859}.app-shell--role-student .student-floating-chat{background:linear-gradient(135deg,#0ea5e9,#14b8a6);box-shadow:0 18px 36px #0ea5e959}.app-shell--role-parent .sidebar{background:radial-gradient(circle at 100% 0,#f472b647,#0000 28%),linear-gradient(#1a0f14 0%,#1e1b2e 56%,#0f172a 100%)}.app-shell--role-parent .sidebar__brand-mark{background:linear-gradient(135deg,#f472b6f2,#6366f1d1);box-shadow:0 14px 32px #f472b64d}.app-shell--role-parent .sidebar__eyebrow{color:#fbcfe8}.app-shell--role-parent .sidebar__link:before{background:linear-gradient(#f9a8d4,#818cf8)}.app-shell--role-parent .topbar{border-bottom-color:#f472b633;box-shadow:0 12px 30px #f472b614}.app-shell--role-parent .student-floating-chat{background:linear-gradient(135deg,#db2777,#6366f1);box-shadow:0 18px 36px #db277752}.app-shell--role-teacher .student-floating-chat{background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 18px 36px #2563eb52}.app-shell__content{background:radial-gradient(circle at top,#ffffffd1,#0000 24%),linear-gradient(#ffffff5c,#ffffff0d);flex-direction:column;min-width:0;display:flex}.sidebar{color:#f8fafc;z-index:30;background:radial-gradient(circle at 100% 0,#3b82f638,#0000 24%),linear-gradient(#081225 0%,#0f172a 58%,#111c38 100%);flex-direction:column;max-width:100%;height:100vh;min-height:0;padding:2rem 1.25rem;display:flex;position:sticky;top:0;box-shadow:18px 0 40px #080f202e}.sidebar--overlay{z-index:1100;width:min(300px,92vw);max-width:100vw;height:100dvh;max-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar--overlay.sidebar--open{transform:translate(0)}.sidebar__brand{flex-shrink:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.9rem;margin-bottom:1.5rem;display:grid}.sidebar__brand-text{min-width:0}.sidebar__close{color:#f8fafc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.35rem;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.sidebar__close:hover{background:#ffffff24;border-color:#ffffff47}.sidebar__brand-mark{color:#eff6ff;background:linear-gradient(135deg,#3b82f6f2,#14b8a6d1);border-radius:1rem;place-items:center;width:2.7rem;height:2.7rem;font-size:1.2rem;font-weight:900;display:grid;box-shadow:0 14px 32px #2563eb47}.sidebar__brand h1{letter-spacing:-.03em;margin:.3rem 0 0;font-size:1.45rem}.sidebar__brand-copy{color:#e2e8f0b8;margin:.45rem 0 0;font-size:.9rem;line-height:1.45}.sidebar__eyebrow{color:#93c5fd;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.sidebar__nav{flex-direction:column;flex:1;gap:.55rem;min-height:0;margin-top:2rem;margin-right:-.25rem;padding-right:.25rem;display:flex;overflow-y:auto}.sidebar__link{color:#d7e0ee;white-space:normal;overflow-wrap:anywhere;word-break:break-word;background:#94a3b80a;border:1px solid #0000;border-radius:1rem;align-items:center;min-height:2.75rem;padding:.75rem .95rem;line-height:1.35;display:flex;position:relative;overflow:visible}.sidebar__link:hover,.sidebar__link--active{color:#fff;background:#94a3b829;border-color:#93c5fd33;transform:translate(2px)}.sidebar__link:before{content:"";opacity:0;background:linear-gradient(#60a5fa,#2dd4bf);border-radius:999px;width:.22rem;transition:opacity .2s;position:absolute;inset:0 auto 0 0}.sidebar__link:hover:before,.sidebar__link--active:before{opacity:1}.topbar{padding:.85rem 1.25rem;padding-top:max(.85rem, env(safe-area-inset-top,0px));z-index:15;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #94a3b833;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem 1rem;display:grid;position:sticky;top:0;box-shadow:0 8px 24px #0f172a0f}.topbar__menu{background:#ffffffe6;border:1px solid #94a3b838;border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;line-height:0;display:inline-flex}.topbar__menu:before{content:"";background:currentColor;border-radius:2px;width:1.15rem;height:2px;display:block;transform:translateY(-6px);box-shadow:0 6px,0 12px}.topbar__center{text-align:center;min-width:0;padding:0 .25rem}.topbar__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:700;display:block;overflow:hidden}.topbar__page-title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:800;display:block;overflow:hidden}.topbar__user{background:#f8fafcf2;border:1px solid #94a3b82e;border-radius:1.1rem;justify-self:end;align-items:center;gap:.5rem;padding:.35rem .4rem .35rem .55rem;display:flex;box-shadow:0 8px 20px #0f172a0d}.topbar__sign-out{border-radius:.75rem;flex-shrink:0}.topbar__profile-trigger{font:inherit;color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;margin:0;padding:0;display:flex}.topbar__profile-trigger--clickable{cursor:pointer;border-radius:.75rem}.topbar__profile-trigger--clickable:hover{opacity:.9}.topbar__profile-trigger:disabled{cursor:default}.topbar__profile-text strong{margin-bottom:.1rem;display:block}.student-top-tabs{flex-wrap:wrap;gap:.75rem;padding:1rem 2rem 0;display:flex}.student-top-tabs__link{color:#334155;background:#ffffffd1;border:1px solid #94a3b829;border-radius:999px;padding:.75rem 1rem;font-weight:600;box-shadow:0 10px 24px #0f172a0a}.student-top-tabs__link--active{color:#1d4ed8;background:linear-gradient(135deg,#dbeafef2,#f0fdfaeb);border-color:#2dd4bf38;box-shadow:0 14px 28px #2563eb1a}.page-container{padding:1.25rem 1.5rem 5.5rem;padding-bottom:max(5.5rem, calc(5.5rem + env(safe-area-inset-bottom,0px)));width:100%;max-width:1280px;margin-inline:auto}@media (width>=900px){.page-container{padding:1.5rem 2rem 5.5rem}}.page-stack{flex-direction:column;gap:1.5rem;display:flex}.student-notice-strip,.student-id-shell,.student-amica-shell,.student-cards-shell{width:min(640px,100%)}@media (width>=900px){.student-notice-strip,.student-id-shell,.student-amica-shell,.student-cards-shell{width:min(800px,100%)}}@media (width>=1280px){.student-notice-strip,.student-id-shell,.student-amica-shell,.student-cards-shell{width:min(1100px,100%)}}@media (width>=1024px){.app-shell--student .page-container,.app-shell--role-teacher .page-container{max-width:960px}}.hero-card,.panel-card,.table-card,.state-card,.login-card,.report-card,.summary-card{background:linear-gradient(180deg, var(--surface-strong), var(--surface-base)), radial-gradient(circle at top right, #ffffffe6, transparent 40%);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);border-radius:1.35rem}.hero-card,.panel-card,.state-card,.login-card{padding:1.5rem}.panel-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.panel-card__header--split{flex-wrap:wrap}.panel-card__header-main{flex:1;min-width:0}.assignments-due-pill{color:#166534;text-align:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #22c55e47;border-radius:999px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.1rem;min-width:5.5rem;padding:.45rem .75rem;display:inline-flex;box-shadow:0 8px 18px #22c55e1f}.assignments-due-pill__num{letter-spacing:-.03em;font-size:1.25rem;font-weight:900;line-height:1}.assignments-due-pill__label{text-transform:uppercase;letter-spacing:.08em;max-width:8rem;font-size:.62rem;font-weight:800;line-height:1.2}.panel-card--assignments{background:linear-gradient(135deg,#eff6fffa,#fffffff2),radial-gradient(circle at 100% 0,#6366f11f,#0000 42%);border-color:#818cf859;box-shadow:0 16px 36px #4f46e514}.panel-card__header h2,.panel-card__header h3,.hero-card h2,.login-card h1,.report-card h3{margin:0}.muted-text{color:var(--text-muted);line-height:1.5}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.summary-card{flex-direction:column;gap:.4rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.summary-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#2563eb1f,#0000 70%);border-radius:999px;width:6.5rem;height:6.5rem;position:absolute;inset:auto -1.2rem -1.4rem auto}.summary-card--primary{border-top:4px solid #2563eb}.summary-card--success{border-top:4px solid #16a34a}.summary-card--warning{border-top:4px solid #ea580c}.summary-card__label{color:#64748b;font-size:.92rem;font-weight:700}.summary-card__value{letter-spacing:-.03em;font-size:1.8rem}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.list-stack{flex-direction:column;gap:.85rem;display:flex}.activity-item{background:linear-gradient(#f8fafceb,#fffffff0);border:1px solid #e2e8f0f2;border-radius:1rem;padding:.95rem 1rem;box-shadow:0 8px 22px #0f172a0a}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.quick-action{background:radial-gradient(circle at 100% 0,#ffffffe6,#0000 36%),linear-gradient(135deg,#dbeafef5,#f0fdfaeb);border:1px solid #bfdbfecc;border-radius:1.15rem;padding:1rem;font-weight:700;box-shadow:0 14px 28px #2563eb14}.quick-action:hover{transform:translateY(-1px);box-shadow:0 18px 32px #2563eb1f}.toolbar{margin-bottom:1rem}.toolbar__search,.form-field input,.form-field textarea,.form-field select{background:#fffffffa;border:1px solid #94a3b842;border-radius:1rem;width:100%;padding:.82rem 1rem;box-shadow:inset 0 1px 2px #0f172a05}.toolbar__search:focus,.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#2563eb75;outline:none;box-shadow:0 0 0 4px #2563eb1a,0 10px 24px #2563eb14}.form-field textarea{resize:vertical;min-height:110px}.button{color:#fff;border:none;font-weight:700}.button:disabled{opacity:.6;cursor:not-allowed}.button--ghost{color:#0f172a;background:#f1f5f9f5;border:1px solid #94a3b82e;box-shadow:0 10px 22px #0f172a0d}.table-scroll{overflow-x:auto}.table-expand-bar{background:linear-gradient(#f8fafcf2,#f1f5fffa);border-top:1px solid #94a3b838;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .85rem;display:flex}.table-expand-bar__meta{font-size:.78rem;font-weight:700}.table-expand-bar__btn{font-weight:800;color:#1d4ed8!important;background:#eff6fff2!important;border-color:#2563eb47!important}.table-card .table-expand-bar{border-radius:0 0 1rem 1rem}.data-table{border-collapse:collapse;width:100%;min-width:640px}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:.95rem 1rem}.data-table th{color:#475569;text-transform:capitalize;background:#f8fafce6;font-size:.9rem;font-weight:800}.data-table tbody tr:hover{background:#eff6ffb8}.error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:1rem;padding:.95rem 1rem}.helper-banner,.success-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:1rem;padding:.95rem 1rem}.change-password-prompt-backdrop{z-index:50}.change-password-prompt{text-align:center;gap:.85rem;width:min(100%,28rem);display:grid}.change-password-prompt__icon{font-size:2rem}.change-password-prompt h3{color:#0f172a;margin:0}.change-password-prompt__actions{justify-content:center;margin-top:.35rem;display:flex}.profile-page__card--password-required{border-color:#2563eb59;box-shadow:0 0 0 3px #2563eb14}.profile-page__password-notice{margin:0}.modal-backdrop{z-index:40;background:#0f172a80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-backdrop--delete-confirm{z-index:1200}.modal-card--delete-user-confirm{gap:1rem;width:min(26rem,100%);padding:1.5rem 1.65rem;display:grid}.modal-card--delete-user-confirm__title{letter-spacing:-.02em;margin:0;font-size:1.2rem}.modal-card--delete-user-confirm__lead{margin:0;line-height:1.55}.modal-card--delete-user-confirm__target{background:#f8fafc;border:1px solid #94a3b838;border-radius:.9rem;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.modal-card--delete-user-confirm__target strong{color:#0f172a}.modal-card--delete-user-confirm__actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding-top:.25rem;display:flex}.modal-card--delete-user-confirm__confirm{margin:0}.modal-card--delete-user-confirm__confirm code{color:#991b1b;background:#dc26261f}.modal-card{width:min(760px,100%);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-strong);background:linear-gradient(#fffffffa,#f8fafcfa);border:1px solid #e2e8f0f2;border-radius:1.35rem;padding:1.5rem;overflow-y:auto}.form-grid{gap:1rem;display:grid}.student-amica-modal{gap:1.25rem;display:grid}.student-amica-modal__summary{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem;display:grid}.student-amica-modal__panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:1.1rem}.student-amica-modal__eyebrow{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;font-size:.76rem;font-weight:700;display:block}.student-amica-modal__title{margin:0 0 .5rem}.student-goal-form{gap:1rem;margin-top:1rem;display:grid}.student-goal-form__controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.student-goal-form__field{margin:0}.student-goal-form__button{min-width:128px}.student-amica-modal__actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.form-field{gap:.45rem;display:grid}.form-field span{color:#435469;font-size:.9rem;font-weight:700}.checkbox-field input{width:auto}.form-actions{justify-content:flex-end;gap:.75rem;display:flex}.programme-analytics-panel .panel-card__header{margin-bottom:.35rem}.programme-analytics-charts{gap:1rem;display:grid}.programme-analytics-charts__grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.programme-analytics-charts__grid--hero{grid-template-columns:minmax(0,2fr) minmax(220px,1fr)}.programme-analytics-charts__card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:14px;padding:1rem 1.1rem 1.15rem;box-shadow:0 8px 24px #0f172a0a}.programme-analytics-charts__card--wide{grid-column:1/-1}.programme-analytics-charts__card-head h3{color:#0f172a;margin:0 0 .2rem;font-size:1rem}.programme-analytics-charts__card-head p{margin:0 0 .85rem;font-size:.86rem}.programme-analytics-charts__metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.programme-analytics-charts__metric{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;gap:.2rem;padding:.85rem 1rem;display:grid}.programme-analytics-charts__metric span{color:#64748b;font-size:.78rem}.programme-analytics-charts__metric strong{color:#1d4ed8;font-variant-numeric:tabular-nums;font-size:1.35rem}.prog-chart{gap:.65rem;display:grid}.prog-chart--horizontal,.prog-chart--stacked{gap:.75rem}.prog-chart__row-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.3rem;display:flex}.prog-chart__label{color:#334155;font-size:.84rem;font-weight:600}.prog-chart__value{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.prog-chart__track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.prog-chart__track--stacked{height:12px;display:flex}.prog-chart__fill{border-radius:999px;min-width:0;height:100%;transition:width .35s}.prog-chart__fill--empty{background:#e2e8f0!important;width:100%!important}.prog-chart--grouped{margin:0}.prog-chart__svg{width:100%;height:auto;display:block}.prog-chart__grid{stroke:#e2e8f0;stroke-width:1px}.prog-chart__axis,.prog-chart__x-label{fill:#64748b;font-size:10px}.prog-chart__bar{transition:opacity .2s}.prog-chart__bar:hover{opacity:.85}.prog-chart__legend{flex-wrap:wrap;gap:.75rem 1rem;margin-top:.35rem;display:flex}.prog-chart__legend-item{color:#475569;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.prog-chart__legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.prog-donut-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;display:flex}.prog-donut{border-radius:50%;place-items:center;width:148px;height:148px;display:grid;position:relative}.prog-donut__hole{text-align:center;background:#fff;border-radius:50%;place-content:center;width:92px;height:92px;display:grid;box-shadow:inset 0 0 0 1px #e2e8f0}.prog-donut__hole strong{color:#0f172a;font-size:1.5rem;line-height:1.1}.prog-donut__hole span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.prog-donut__legend{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.prog-donut__legend li{color:#475569;align-items:center;gap:.45rem;font-size:.86rem;display:flex}.prog-donut__legend strong{color:#0f172a;font-variant-numeric:tabular-nums;margin-left:auto}@media (width<=900px){.programme-analytics-charts__grid--hero{grid-template-columns:1fr}}.report-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.report-card{padding:1.25rem}.report-list{gap:.9rem;margin:0;display:grid}.report-list div{justify-content:space-between;gap:1rem;display:flex}.report-list dt{color:#64748b}.report-list dd{text-align:right;margin:0;font-weight:600}.leadership-kpi{gap:1rem;display:grid}.leadership-kpi__totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.leadership-kpi__total-card{background:linear-gradient(#fff,#eff6ff);border:1px solid #bfdbfee6;border-radius:1rem;padding:1rem}.leadership-kpi__total-card span{color:#64748b;margin-bottom:.45rem;font-size:.82rem;display:block}.leadership-kpi__total-card strong{font-size:1.7rem;line-height:1}.leadership-kpi__charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.leadership-kpi__chart{background:#fff;border:1px solid #e2e8f0e6;border-radius:1rem;padding:1rem}.leadership-kpi__chart-header{justify-content:space-between;gap:.75rem;margin-bottom:.85rem;display:flex}.leadership-kpi__row{grid-template-columns:minmax(0,120px) minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:.75rem;display:grid}.leadership-kpi__bar-track{background:#dbeafe;border-radius:999px;height:.7rem;overflow:hidden}.leadership-kpi__bar-track--secondary{background:#dcfce7}.leadership-kpi__bar-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:999px;height:100%}.leadership-kpi__bar-fill--secondary{background:linear-gradient(90deg,#22c55e,#16a34a)}.leadership-home{--lh-accent:#2563eb;--lh-accent-soft:#2563eb1f;--lh-accent-glow:#2563eb38;background:linear-gradient(165deg,#fff 0%,#f8fbff 48%,#f1f6ff 100%);border:1px solid #94a3b838;border-radius:1.5rem;gap:1.65rem;padding:1.6rem 1.65rem 1.75rem;display:grid;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffffe6,0 24px 48px #0f172a0f}.leadership-home--exco{--lh-accent:#7c3aed;--lh-accent-soft:#7c3aed1f;--lh-accent-glow:#7c3aed38;background:linear-gradient(165deg,#fff 0%,#faf8ff 48%,#f3efff 100%)}.leadership-home--embedded{margin-top:0}.leadership-home--compact.leadership-home--embedded{padding-top:.75rem}.leadership-home--compact{border:1px solid #94a3b82e;border-radius:1.15rem;gap:.9rem;padding:1rem 1.05rem 1.1rem;box-shadow:inset 0 1px #ffffffd9,0 18px 40px #0f172a12}.leadership-home--compact .leadership-home__glow{opacity:.85;width:12rem;height:12rem;top:-3rem;right:-1rem}.leadership-home--compact .leadership-home__hero{padding-bottom:.15rem;display:block}.leadership-home--compact .leadership-home__hero-copy{z-index:1;position:relative}.leadership-home--compact .leadership-home__eyebrow{margin:0;font-size:.68rem}.leadership-home--compact .leadership-home__title{letter-spacing:-.025em;margin:.2rem 0 0;font-size:1.2rem}.leadership-home--compact .leadership-home__subtitle{color:#64748b;max-width:36rem;margin:.3rem 0 0;font-size:.78rem;line-height:1.45;display:block}.leadership-home--compact .leadership-home__section{gap:.5rem}.leadership-home--compact .leadership-home__stats--all{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.leadership-home--compact .leadership-home__stat--compact{background:#ffffffe0;border-radius:.8rem;grid-template-columns:auto 1fr;align-items:center;gap:.5rem;padding:.62rem .68rem .62rem .72rem;position:relative;overflow:hidden}.leadership-home--compact .leadership-home__stat--compact:before{content:"";background:var(--stat-tone,#94a3b8);border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.leadership-home--compact .leadership-home__stat--compact:hover{border-color:#94a3b847;transform:translateY(-1px);box-shadow:0 10px 22px #0f172a12}.leadership-home--compact .leadership-home__stat-icon{border-radius:.55rem;width:1.75rem;height:1.75rem;font-size:.78rem}.leadership-home--compact .leadership-home__stat-body{min-width:0}.leadership-home--compact .leadership-home__stat-label{letter-spacing:.05em;text-transform:uppercase;color:#64748b;font-size:.64rem;font-weight:700;line-height:1.2}.leadership-home--compact .leadership-home__stat-value{letter-spacing:-.02em;margin-top:.08rem;font-size:1.08rem}.leadership-home--compact .leadership-home__stat-hint--compact{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:.12rem;font-size:.62rem;line-height:1.25;display:block;overflow:hidden}.leadership-home__stat--tone-blue{--stat-tone:#2563eb}.leadership-home__stat--tone-teal{--stat-tone:#0d9488}.leadership-home__stat--tone-slate{--stat-tone:#64748b}.leadership-home__stat--tone-indigo{--stat-tone:#4f46e5}.leadership-home__stat--tone-violet{--stat-tone:#7c3aed}.leadership-home__stat--tone-amber{--stat-tone:#d97706}.leadership-home__stat--tone-rose{--stat-tone:#e11d48}.leadership-home__stat--tone-emerald{--stat-tone:#059669}.leadership-home__stat--tone-blue .leadership-home__stat-icon{color:#2563eb;background:#2563eb1f}.leadership-home__stat--tone-teal .leadership-home__stat-icon{color:#0d9488;background:#0d94881f}.leadership-home__stat--tone-slate .leadership-home__stat-icon{color:#475569;background:#64748b1f}.leadership-home__stat--tone-indigo .leadership-home__stat-icon{color:#4f46e5;background:#4f46e51f}.leadership-home__stat--tone-violet .leadership-home__stat-icon{color:#7c3aed;background:#7c3aed1f}.leadership-home__stat--tone-amber .leadership-home__stat-icon{color:#d97706;background:#d977061f}.leadership-home__stat--tone-rose .leadership-home__stat-icon{color:#e11d48;background:#e11d481a}.leadership-home__stat--tone-emerald .leadership-home__stat-icon{color:#059669;background:#0596691f}.leadership-home--compact .leadership-home__stat--hero{background:linear-gradient(145deg,#fffffffa 0%,#f8fafcf2 100%)}.leadership-home--compact .leadership-home__panel{background:#ffffffb8;border:1px solid #94a3b833;border-radius:.9rem;gap:.65rem;padding:.75rem .8rem .8rem;display:grid;box-shadow:0 8px 24px #0f172a0a}.leadership-home--compact .leadership-home__panel--trends{background:linear-gradient(#ffffffeb 0%,#f8fafce0 100%)}.leadership-home--compact .leadership-home__panel--actions{gap:.5rem;padding:.7rem .75rem}.leadership-home--compact .leadership-home__panel-title{letter-spacing:-.01em;color:#0f172a;margin:0;font-size:.82rem;font-weight:700}.leadership-home--compact .leadership-home__panel-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.leadership-home--compact .leadership-home__panel-subtitle{color:#64748b;margin:.18rem 0 0;font-size:.74rem}.leadership-home--compact .leadership-home__controls{background:#f8fafce6;border:1px solid #94a3b829;border-radius:.7rem;gap:.5rem;padding:.55rem .6rem;display:grid}.leadership-home--compact .leadership-home__controls-group{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;display:flex}.leadership-home--compact .leadership-home__period-head{flex-wrap:wrap;flex:none;align-items:center;gap:.35rem .5rem;min-width:6.5rem;display:flex}.leadership-home--compact .leadership-home__controls-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;flex:none;font-size:.64rem;font-weight:800}.leadership-home--compact .leadership-home__date-fields{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.leadership-home--compact .leadership-home__date-field{gap:.12rem;display:grid}.leadership-home--compact .leadership-home__date-field span{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;font-size:.6rem;font-weight:700}.leadership-home--compact .leadership-home__date-separator{color:#cbd5e1;padding-top:.85rem;font-size:.85rem}.leadership-home--compact .leadership-home__trend-range .leadership-home__trend-apply{margin-left:auto}.leadership-home--compact .leadership-home__actions{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.42rem}.leadership-home--compact .leadership-home__action{background:#fffffff2;border-radius:.7rem;gap:.42rem;padding:.5rem .62rem;font-size:.74rem;box-shadow:0 1px 2px #0f172a0a}.leadership-home--compact .leadership-home__action:hover{box-shadow:0 8px 18px var(--lh-accent-soft)}.leadership-home--compact .leadership-home__action-icon{border-radius:.45rem;width:1.45rem;height:1.45rem;font-size:.7rem}.leadership-home--compact .leadership-home__metric-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.leadership-home--compact .leadership-home__metric-chip{cursor:pointer;background:#f8fafc;border:1px solid #94a3b840;border-radius:.55rem;flex-direction:column;align-items:flex-start;gap:.02rem;padding:.35rem .55rem;transition:border-color .12s,background .12s;display:inline-flex}.leadership-home--compact .leadership-home__metric-chip--active{border-color:var(--lh-accent);box-shadow:0 0 0 2px var(--lh-accent-soft);background:#fff}.leadership-home--compact .leadership-home__metric-chip-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-size:.62rem;font-weight:700}.leadership-home--compact .leadership-home__metric-chip-value{color:#0f172a;font-size:.78rem;font-weight:700;line-height:1.1}.leadership-home--compact .leadership-home__metric-chip-link{color:var(--lh-accent);white-space:nowrap;margin-left:auto;font-size:.74rem;font-weight:600;text-decoration:none}.leadership-home--compact .leadership-home__metric-chip-link:hover{text-decoration:underline}.leadership-home--compact .leadership-home__chart-viewport{min-height:7.5rem}.leadership-home--compact .leadership-home__chart-card{border-radius:.75rem;gap:.55rem;width:100%;padding:.65rem .7rem .7rem;scroll-margin-top:4.5rem}.leadership-home--compact .leadership-home__chart-head h4{font-size:.82rem}.leadership-home--compact .leadership-home__chart-head p{display:none}.leadership-home--compact .leadership-home__chart-body{gap:.5rem}.leadership-home--compact .leadership-home__chart-row{gap:.28rem .45rem}.leadership-home--compact .leadership-home__chart-label,.leadership-home--compact .leadership-home__chart-row em{font-size:.74rem}.leadership-home--compact .leadership-home__track{height:8px;min-height:8px}.leadership-home--compact .leadership-home__chart-card--summary .leadership-home__summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem}.leadership-home--compact .leadership-home__summary-list li{padding:.28rem 0;font-size:.74rem}.leadership-home--compact .leadership-home__summary-list strong{font-size:.8rem}.leadership-home--compact .leadership-home__announce{border-radius:.75rem;padding:.55rem .65rem}.leadership-home--compact .leadership-home__announce summary{cursor:pointer;color:#334155;font-size:.82rem;font-weight:600;list-style:none}.leadership-home--compact .leadership-home__announce summary::-webkit-details-marker{display:none}.leadership-home--compact .leadership-home__announce-form{gap:.55rem;margin-top:.65rem}.leadership-dashboard-hero--compact{padding:.85rem 1rem}.leadership-dashboard-hero--compact h2{margin:.2rem 0 0;font-size:clamp(1.1rem,2.2vw,1.35rem)}.leadership-dashboard-hero--compact .muted-text{display:none}.leadership-home__glow{background:radial-gradient(circle, var(--lh-accent-glow) 0%, transparent 70%);pointer-events:none;border-radius:999px;width:16rem;height:16rem;position:absolute;top:-4rem;right:-2rem}.leadership-home__hero{padding-bottom:.35rem;position:relative}.leadership-home__section--charts{padding-top:.15rem}.leadership-home__section--charts .leadership-home__metric-hub{grid-template-columns:minmax(0,1fr);justify-self:stretch;width:100%;max-width:none}.leadership-home__section--charts .leadership-home__metric-hub-ring-wrap{justify-self:start}@media (width>=721px){.leadership-home__section--charts .leadership-home__metric-hub{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:1.25rem}.leadership-home__section--charts .leadership-home__metric-hub-nav{border-top:0;padding-top:0}.leadership-home__section--charts .leadership-home__metric-hub-reports{grid-column:1/-1;justify-self:start;margin-top:.35rem}}.leadership-home__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--lh-accent);margin:0;font-size:.72rem;font-weight:600}.leadership-home__title{letter-spacing:-.03em;color:#0f172a;margin:.35rem 0 0;font-size:clamp(1.45rem,2.5vw,1.85rem);font-weight:700;line-height:1.15}.leadership-home__subtitle{color:#64748b;max-width:38rem;margin:.55rem 0 0;font-size:.92rem;line-height:1.55}.leadership-home__metric-hub{background:#ffffffeb;border:1px solid #94a3b838;border-radius:1.25rem;grid-area:hub;justify-self:end;gap:.75rem;width:min(100%,17.75rem);min-width:0;padding:1rem;display:grid;box-shadow:0 16px 36px #0f172a12}.leadership-home__metric-hub-ring-wrap{place-items:center;padding-block:.15rem .1rem;display:grid}.leadership-home__metric-hub-ring{--ring-value:0;background:radial-gradient(closest-side, #fff 74%, transparent 76% 100%), conic-gradient(var(--lh-accent) calc(var(--ring-value) * 1%), #e2e8f0 0);width:6.75rem;height:6.75rem;box-shadow:0 10px 24px var(--lh-accent-soft);border-radius:999px;flex-shrink:0;place-items:center;margin:0;display:grid}.leadership-home__metric-hub-center{text-align:center;justify-items:center;gap:.08rem;padding:0 .35rem;display:grid}.leadership-home__metric-hub-icon{color:var(--lh-accent);font-size:.95rem;font-weight:700}.leadership-home__metric-hub-center strong{color:#0f172a;font-size:1.15rem;line-height:1.1}.leadership-home__metric-hub-center span{letter-spacing:.05em;text-transform:uppercase;color:#64748b;font-size:.68rem;font-weight:700}.leadership-home__metric-hub-center small{color:#94a3b8;font-size:.68rem}.leadership-home__metric-hub-nav{border-top:1px solid #e2e8f0f2;gap:.42rem;margin:0;padding:.65rem 0 0;display:grid}.leadership-home__metric-hub-heading{letter-spacing:.1em;text-transform:uppercase;color:#475569;text-align:left;margin:0;padding:0 .06rem;font-size:.72rem;font-weight:800}.leadership-home__metric-hub-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.leadership-home__metric-hub-btn{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #94a3b833;border-radius:.75rem;grid-template-columns:auto 1fr;align-items:center;gap:.5rem;width:100%;padding:.45rem .55rem;transition:border-color .15s,background .15s,transform .15s;display:grid}.leadership-home__metric-hub-btn:hover{border-color:var(--lh-accent);background:#fff;transform:translateY(-1px)}.leadership-home__metric-hub-btn--active{border-color:var(--lh-accent);box-shadow:0 8px 18px var(--lh-accent-soft);background:linear-gradient(145deg,#eff6ff,#fff)}.leadership-home--exco .leadership-home__metric-hub-btn--active{background:linear-gradient(145deg,#f5f3ff,#fff)}.leadership-home__metric-hub-btn-icon{background:var(--lh-accent-soft);width:1.65rem;height:1.65rem;color:var(--lh-accent);border-radius:.5rem;place-items:center;font-size:.78rem;font-weight:700;display:grid}.leadership-home__metric-hub-btn-copy{gap:.05rem;min-width:0;display:grid}.leadership-home__metric-hub-btn-copy strong{color:#0f172a;font-size:.78rem}.leadership-home__metric-hub-btn-copy small{color:#64748b;font-size:.7rem}.leadership-home__metric-hub-reports{text-align:center;color:var(--lh-accent);font-size:.8rem;font-weight:600;text-decoration:none;display:block}.leadership-home__metric-hub-reports:hover{text-decoration:underline}.leadership-home__metric-hub--skeleton{pointer-events:none}.leadership-home__metric-hub-skeleton-ring{background:linear-gradient(135deg,#e9eef8,#f5f7fb);border-radius:999px;width:6.75rem;height:6.75rem}.leadership-home__metric-hub-skeleton-lines{border-top:1px solid #e2e8f0f2;gap:.42rem;padding:.65rem 0 0;display:grid}.leadership-home__metric-hub-skeleton-line{background:linear-gradient(90deg,#e9eef7 42%,#f9fafc 55%,#e9eef7 68%) 0 0/220% 100%;border-radius:.4rem;animation:1.1s ease-in-out infinite leadership-home-skel;display:block}.leadership-home__metric-hub-skeleton-line--title{width:55%;height:.7rem}.leadership-home__metric-hub-skeleton-line--btn{border-radius:.74rem;height:2.42rem}.leadership-home__metric-hub-skeleton-line--link{border-radius:.36rem;width:64%;height:.78rem;margin-top:.15rem;margin-left:auto;margin-right:auto;display:block}@keyframes leadership-home-skel{0%{background-position:115% 0}to{background-position:-115% 0}}.leadership-home__section{gap:.85rem;display:grid}.leadership-home__section-head h4{color:#0f172a;margin:0;font-size:1.05rem}.leadership-home__section-head p{color:#64748b;margin:.25rem 0 0;font-size:.88rem}.leadership-home__stats{gap:.8rem;display:grid}.leadership-home__stats--primary,.leadership-home__stats--secondary{grid-template-columns:repeat(4,minmax(0,1fr))}.leadership-home__stat{background:#ffffffd1;border:1px solid #94a3b833;border-radius:1rem;grid-template-columns:auto 1fr;align-items:start;gap:.65rem .75rem;padding:.95rem 1rem;transition:transform .15s,box-shadow .15s;display:grid}.leadership-home__stat:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a0f}.leadership-home__stat-icon{background:var(--lh-accent-soft);width:2rem;height:2rem;color:var(--lh-accent);border-radius:.65rem;place-items:center;font-size:.9rem;font-weight:700;display:grid}.leadership-home__stat-label{color:#94a3b8;font-size:.74rem;display:block}.leadership-home__stat-value{letter-spacing:-.03em;color:#0f172a;margin-top:.15rem;font-size:1.35rem;font-weight:700;line-height:1.1;display:block}.leadership-home__stat-hint{color:#94a3b8;margin:.25rem 0 0;font-size:.72rem;line-height:1.35}.leadership-home__stat--hero{background:linear-gradient(145deg,#eff6ff 0%,#fff 100%);border-color:#2563eb40}.leadership-home--exco .leadership-home__stat--hero{background:linear-gradient(145deg,#f5f3ff 0%,#fff 100%);border-color:#7c3aed40}.leadership-home__stat--alert{background:linear-gradient(145deg,#fffbeb 0%,#fff 100%);border-color:#f59e0b59}.leadership-home__stat--alert .leadership-home__stat-icon{color:#d97706;background:#f59e0b26}.leadership-home__stat--success .leadership-home__stat-icon{color:#16a34a;background:#22c55e24}.leadership-home__actions{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.65rem;display:grid}.leadership-home__action{color:#334155;background:#ffffffe6;border:1px solid #94a3b838;border-radius:.9rem;align-items:center;gap:.55rem;padding:.7rem .9rem;font-size:.86rem;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:flex}.leadership-home__action:hover{border-color:var(--lh-accent);color:#0f172a;background:#fff;transform:translateY(-1px)}.leadership-home__action-icon{background:var(--lh-accent-soft);width:1.65rem;height:1.65rem;color:var(--lh-accent);border-radius:.5rem;place-items:center;font-size:.75rem;display:grid}.leadership-home__chart-viewport{background:#ffffffeb;border:1px solid #94a3b847;border-radius:.75rem;gap:.45rem;width:100%;min-height:8.5rem;padding:.55rem;display:grid}.leadership-home__chart-hint{margin:0;font-size:.72rem;line-height:1.35}.leadership-home__section-head--tight{gap:.2rem}.leadership-home__section-head--tight p{margin:0;font-size:.78rem}.leadership-home__series-toggles{flex-wrap:wrap;gap:.35rem;display:flex}.leadership-home__series-toggle{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #94a3b84d;border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.leadership-home__series-toggle--active{border-color:var(--lh-accent);color:#0f172a;box-shadow:0 0 0 2px var(--lh-accent-soft);background:#fff}.leadership-home__series-toggle-swatch{border-radius:999px;flex-shrink:0;width:.55rem;height:.55rem}.leadership-trend-chart{width:100%;margin:0}.leadership-trend-chart__svg{width:100%;height:auto;min-height:12rem;display:block}.leadership-trend-chart__grid{stroke:#94a3b859;stroke-width:1px}.leadership-trend-chart__axis-label{fill:#64748b;font-size:9px}.leadership-trend-chart__x-label{fill:#475569;font-size:9px}.leadership-trend-chart__legend{flex-wrap:wrap;gap:.45rem .75rem;margin-top:.45rem;padding:0;display:flex}.leadership-trend-chart__legend-item{color:#475569;align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.leadership-trend-chart__legend-swatch{border-radius:999px;width:.65rem;height:.65rem}.leadership-trend-chart__legend-axis{color:#94a3b8;font-size:.65rem}.leadership-trend-chart__empty{margin:.5rem 0 0;font-size:.82rem}.leadership-home__trend-toolbar{gap:.55rem;display:grid}.leadership-home__trend-duration,.leadership-home__trend-range,.leadership-home__series-toggles{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.leadership-home__trend-date{color:#0f172a;background:#fff;border:1px solid #94a3b847;border-radius:.5rem;padding:.32rem .5rem;font-size:.74rem;box-shadow:0 1px 2px #0f172a0a}.leadership-home__trend-date:focus{border-color:var(--lh-accent);box-shadow:0 0 0 3px var(--lh-accent-soft);outline:none}.leadership-home__trend-apply{border-radius:.5rem;padding:.34rem .7rem;font-size:.72rem}.leadership-home__trend-duration-label{letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-right:.15rem;font-size:.68rem;font-weight:700}.leadership-home__trend-duration-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #94a3b84d;border-radius:999px;padding:.32rem .6rem;font-size:.74rem;font-weight:600}.leadership-home__trend-duration-btn--active{border-color:var(--lh-accent);color:#0f172a;box-shadow:0 0 0 2px var(--lh-accent-soft);background:#fff}.leadership-trend-grid{grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr));gap:.7rem;display:grid}.leadership-trend-panel{background:#fffffff5;border:1px solid #94a3b838;border-radius:.8rem;gap:.4rem;padding:.68rem .72rem .58rem;transition:box-shadow .15s,transform .15s;display:grid;box-shadow:0 6px 18px #0f172a0a}.leadership-trend-panel:hover{box-shadow:0 12px 28px #0f172a12}.leadership-trend-panel--blue{border-top:2px solid #2563eb73}.leadership-trend-panel--violet{border-top:2px solid #7c3aed73}.leadership-trend-panel__head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.leadership-trend-panel__head h5{color:#0f172a;margin:0;font-size:.82rem;font-weight:700}.leadership-trend-panel__subtitle{color:#94a3b8;margin:.12rem 0 0;font-size:.68rem}.leadership-trend-panel__badge{background:#ffffffe6;border:1px solid;border-radius:.55rem;justify-items:end;gap:.05rem;padding:.28rem .45rem;display:grid}.leadership-trend-panel__badge-label{letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-size:.58rem;font-weight:800}.leadership-trend-panel__average{white-space:nowrap;font-size:.92rem;line-height:1}.leadership-trend-chart__area{pointer-events:none}.leadership-trend-chart__line{filter:drop-shadow(0 2px 4px #0f172a14)}.leadership-trend-chart__dot{stroke:#fff;stroke-width:1.5px}.leadership-trend-panel__svg{width:100%;height:auto;display:block}.leadership-trend-panel--expandable{transition:box-shadow .15s,border-color .15s}.leadership-trend-panel__head--expand{cursor:pointer;border-radius:.55rem;margin:-.15rem -.2rem .1rem;padding:.15rem .2rem;transition:background .12s}.leadership-trend-panel__head--expand:hover{background:#f8fafce6}.leadership-trend-panel__head--expand:focus-visible{box-shadow:0 0 0 3px var(--lh-accent-soft);outline:none}.leadership-trend-chart__wrap{position:relative}.leadership-trend-chart__point{cursor:pointer}.leadership-trend-chart__hit{pointer-events:all}.leadership-trend-chart__point--active .leadership-trend-chart__dot{stroke:#fff;stroke-width:2px;filter:drop-shadow(0 2px 6px #0f172a2e)}.leadership-trend-chart__tooltip{z-index:4;pointer-events:none;white-space:nowrap;background:#fffffffa;border:1px solid;border-radius:.5rem;gap:.12rem;padding:.4rem .55rem;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 10px 24px #0f172a24}.leadership-trend-chart__tooltip-period{letter-spacing:.03em;color:#64748b;font-size:.68rem;font-weight:700}.leadership-trend-chart__tooltip-value{font-size:.88rem;line-height:1.1}.leadership-trend-modal-backdrop{z-index:240}.leadership-trend-modal{gap:.75rem;width:min(96vw,64rem);max-height:min(92vh,36rem);padding:1rem 1.1rem 1.15rem;display:grid;overflow:auto}.leadership-trend-modal__head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.leadership-trend-modal__head h3{color:#0f172a;margin:0;font-size:1.15rem}.leadership-trend-modal__head p{margin:.25rem 0 0;font-size:.82rem}.leadership-trend-modal__close{flex-shrink:0}.leadership-trend-modal__svg{width:100%;height:auto;min-height:14rem;display:block}.leadership-trend-modal--blue{border-top:3px solid #2563eb80}.leadership-trend-modal--violet{border-top:3px solid #7c3aed80}.leadership-trend-panel__empty{margin:.35rem 0;font-size:.78rem}.leadership-home__chart-viewport .leadership-home__chart-card,.leadership-home__chart-viewport .leadership-kpi__chart{width:100%;display:block}.leadership-home .leadership-kpi__row.leadership-home__bar-row{grid-template-columns:minmax(0,9.5rem) minmax(0,1fr) auto;align-items:center;gap:.5rem .65rem;width:100%;margin-bottom:.65rem;display:grid}.leadership-home .leadership-kpi__row.leadership-home__bar-row:last-child{margin-bottom:0}.leadership-home .leadership-home__bar-row .leadership-home__chart-label{color:#475569;overflow-wrap:anywhere;grid-area:1/1;min-width:0;font-size:.8rem;line-height:1.35}.leadership-home .leadership-home__bar-row .leadership-kpi__bar-track{grid-area:1/2;width:100%;min-width:0;height:.85rem;min-height:.85rem}.leadership-home .leadership-home__bar-row .leadership-home__chart-value{grid-area:1/3}.leadership-home .leadership-kpi__bar-fill{min-width:0;height:100%;display:block}.leadership-home__chart-value{color:#0f172a;white-space:nowrap;text-align:right;font-size:.8rem;font-weight:700}.leadership-home__chart-empty-bar{border-radius:inherit;opacity:.55;background:repeating-linear-gradient(90deg,#cbd5e1 0 4px,#0000 4px 8px);width:100%;height:100%;display:block}.leadership-home__charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.leadership-home__chart-card{background:#ffffffe0;border:1px solid #94a3b833;border-radius:1.1rem;gap:.85rem;padding:1.1rem 1.15rem 1.15rem;scroll-margin-top:6rem;transition:border-color .2s,box-shadow .2s;display:grid;box-shadow:0 8px 20px #0f172a0a}.leadership-home__chart-card--active{box-shadow:0 0 0 3px var(--lh-accent-soft), 0 16px 32px #2563eb1a;border-color:#2563eb6b}.leadership-home--exco .leadership-home__chart-card--active{box-shadow:0 0 0 3px var(--lh-accent-soft), 0 16px 32px #7c3aed24;border-color:#7c3aed73}.leadership-home__chart-card--summary{background:linear-gradient(160deg, #fffffff2 0%, var(--lh-accent-soft) 120%);grid-column:1/-1}.leadership-home__chart-head h4{color:#0f172a;margin:0;font-size:.92rem;font-weight:700}.leadership-home__chart-head p{color:#94a3b8;margin:.2rem 0 0;font-size:.78rem}.leadership-home__chart-body{gap:.85rem;display:grid}.leadership-home__chart-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem .65rem;display:grid}.leadership-home__chart-label{color:#475569;overflow-wrap:anywhere;grid-area:1/1;min-width:0;font-size:.8rem;line-height:1.35}.leadership-home__chart-row em{color:#0f172a;white-space:nowrap;grid-area:1/2;justify-self:end;font-size:.8rem;font-style:normal;font-weight:700}.leadership-home__track{background:#e2e8f0;border-radius:999px;grid-area:2/1/auto/-1;height:12px;min-height:12px;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a0f}.leadership-home__fill{border-radius:inherit;background:linear-gradient(90deg, var(--lh-accent), #60a5fa);min-width:0;height:100%;transition:width .4s;display:block}.leadership-home__fill--empty{opacity:0}.leadership-home__fill--green{background:linear-gradient(90deg,#16a34a,#4ade80)}.leadership-home__fill--amber{background:linear-gradient(90deg,#d97706,#fbbf24)}.leadership-home__fill--slate{background:linear-gradient(90deg,#475569,#94a3b8)}.leadership-home__summary-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.leadership-home__summary-list li{color:#64748b;border-bottom:1px dashed #94a3b859;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.84rem;display:flex}.leadership-home__summary-list li:last-child{border-bottom:0}.leadership-home__summary-list strong{color:#0f172a;font-size:.92rem}.leadership-home__announce{background:#ffffffe6;border:1px solid #94a3b838;border-radius:1.1rem;padding:1.15rem 1.2rem}.leadership-home__announce header h4{color:#0f172a;margin:0;font-size:1rem}.leadership-home__announce header p{color:#64748b;margin:.25rem 0 0;font-size:.84rem}.leadership-home__announce-form{gap:.85rem;margin-top:1rem;display:grid}.leadership-home__success,.leadership-home__error{margin:0;font-size:.86rem}.leadership-home__success{color:#15803d}.leadership-home__error{color:#b91c1c}@media (width<=1180px){.leadership-home__stats--primary,.leadership-home__stats--secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.leadership-home--compact .leadership-home__stats--all{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=960px){.leadership-home__charts{grid-template-columns:1fr}.leadership-home--compact .leadership-home__stats--all{grid-template-columns:repeat(2,minmax(0,1fr))}.leadership-home .leadership-kpi__row.leadership-home__bar-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .5rem}.leadership-home .leadership-home__bar-row .leadership-home__chart-label{grid-area:1/1}.leadership-home .leadership-home__bar-row .leadership-kpi__bar-track{grid-area:2/1/auto/-1}.leadership-home .leadership-home__bar-row .leadership-home__chart-value{grid-area:1/2;justify-self:end}}@media (width<=720px){.leadership-home__stats--primary,.leadership-home__stats--secondary{grid-template-columns:1fr}.leadership-home--compact .leadership-home__stats--all{grid-template-columns:repeat(2,minmax(0,1fr))}.leadership-home--compact .leadership-home__trend-range .leadership-home__trend-apply{width:100%;margin-left:0}.leadership-home--compact .leadership-home__date-separator{display:none}.leadership-home--compact .leadership-home__metric-chip-link{text-align:right;width:100%;margin-left:0}.leadership-home--compact .leadership-home__chart-card--summary .leadership-home__summary-list{grid-template-columns:1fr}}.login-shell{background:radial-gradient(circle at 0 0,#0ea5e929,#0000 24%),radial-gradient(circle at 100% 100%,#3b82f62e,#0000 32%),radial-gradient(circle at 100%,#10b9811f,#0000 28%),linear-gradient(#f5fbff 0%,#f8fafc 45%,#eef4ff 100%);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-layout{grid-template-columns:1fr;align-items:stretch;gap:clamp(1.25rem,3vw,2.5rem);width:min(520px,100%);display:grid}.login-layout--wide{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);width:min(1040px,100%)}@media (width<=880px){.login-layout--wide{grid-template-columns:1fr}.login-brand-panel{order:-1}}.login-card__chips{flex-wrap:wrap;gap:.5rem;display:flex}.login-chip--accent{color:#0f172a!important;background:linear-gradient(135deg,#dbeafe,#cffafe)!important;border-color:#0ea5e959!important}.password-input-wrap{display:block;position:relative}.password-input-wrap input{width:100%;padding-right:4.25rem}.password-input-wrap__toggle{color:var(--muted-text,#64748b);cursor:pointer;background:0 0;border:0;padding:.2rem .35rem;font-size:.82rem;font-weight:600;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.password-input-wrap__toggle:hover{color:var(--text,#0f172a)}.password-field__hint{color:var(--muted-text,#64748b);margin-top:.35rem;font-size:.85rem;display:block}.profile-page__password-form{margin-top:1rem}.login-show-password-row{align-items:center;gap:.5rem;margin-top:-.15rem;display:flex}.login-show-password-row label{cursor:pointer;font-size:.9rem;font-weight:600}.button--login-cta{border-radius:.85rem;width:100%;padding:.85rem 1rem;font-size:1.05rem;font-weight:800;box-shadow:0 12px 28px #2563eb47}.login-card__hint{margin-top:.35rem;font-size:.85rem;line-height:1.45}.login-shortcuts__sub{margin:.35rem 0 0;font-size:.85rem}.login-shortcuts__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.75rem;display:grid}.login-shortcut-tile{appearance:none;text-align:left;cursor:pointer;background:#fffffff2;border:1px solid #94a3b859;border-radius:.75rem;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem .75rem;font-family:inherit;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.login-shortcut-tile:hover{border-color:#2563eb73;transform:translateY(-1px);box-shadow:0 8px 20px #2563eb1f}.login-shortcut-tile code{color:#0f172a;font-size:.95rem;font-weight:800}.login-brand-panel{color:#e2e8f0;background:linear-gradient(155deg,#0f172a 0%,#1e3a5f 42%,#0c4a6e 100%);border-radius:1.25rem;flex-direction:column;justify-content:center;gap:.85rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px #0f172a26,0 28px 56px #0f172a59}.login-brand-panel__mark{gap:.35rem;margin-bottom:.25rem;display:flex}.login-brand-panel__mark span{opacity:.95;background:linear-gradient(90deg,#38bdf8,#22d3ee);border-radius:999px;width:2.25rem;height:.45rem}.login-brand-panel__mark span:nth-child(2){opacity:.75;width:1.6rem}.login-brand-panel__mark span:nth-child(3){opacity:.55;width:1rem}.login-brand-panel__org{letter-spacing:.22em;text-transform:uppercase;color:#7dd3fc;margin:0;font-size:clamp(.72rem,1.4vw,.82rem);font-weight:800}.login-brand-panel__title{color:#f8fafc;margin:0;font-size:clamp(1.45rem,2.8vw,1.85rem);font-weight:800;line-height:1.2}.login-brand-panel__lead{color:#cbd5e1;margin:0;font-size:.95rem;line-height:1.65}.login-brand-panel__lead strong{color:#f0f9ff}.login-brand-panel__bullets{color:#94a3b8;margin:.25rem 0 0;padding-left:1.15rem;font-size:.88rem;line-height:1.55}.login-brand-panel__bullets li{margin-bottom:.35rem}.login-card{gap:1.2rem;width:min(640px,100%);display:grid;position:relative;overflow:hidden}.login-card.login-card--split{background:linear-gradient(165deg,#fff 0%,#f8fafc 55%,#f0f9ff 100%);border:1px solid #3b82f624;border-radius:1.25rem;width:100%;max-width:520px;margin-inline:auto;padding:clamp(1.25rem,3vw,1.75rem);box-shadow:0 4px 6px #0f172a0a,0 24px 48px #2563eb1a}.login-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#2563eb29,#0000 70%);border-radius:999px;width:14rem;height:14rem;position:absolute;inset:-2rem -4rem auto auto}.login-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#14b8a629,#0000 72%);border-radius:999px;width:14rem;height:14rem;position:absolute;inset:auto auto -5rem -4rem}.login-card__hero{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.login-card__eyebrow{color:#0f766e;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem;font-size:.8rem;font-weight:800;display:inline-block}.login-card__tagline{color:#334155;max-width:38ch;margin:.5rem 0 0;font-size:.95rem;line-height:1.5}.login-card__badge{color:#155e75;white-space:nowrap;background:linear-gradient(135deg,#dbeafe,#ecfeff);border-radius:999px;padding:.7rem .9rem;font-weight:700;box-shadow:0 10px 24px #0ea5e924}.login-card__preview{gap:.85rem;display:grid}.login-card__preview-card{background:linear-gradient(135deg,#eff6ff,#ecfeff 58%,#fff);border:1px solid #3b82f629;border-radius:1rem;gap:.35rem;padding:1rem;display:grid;box-shadow:0 14px 28px #2563eb14}.login-card__preview-label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.login-card__preview-grid{flex-wrap:wrap;gap:.65rem;display:flex}.login-chip{color:#334155;background:#ffffffeb;border:1px solid #94a3b824;border-radius:999px;padding:.6rem .85rem;font-weight:700;box-shadow:0 8px 18px #0f172a0a}.login-shortcuts{background:linear-gradient(#fff,#f8fafc);border-style:solid}.child-dashboard{gap:1.35rem}.student-portal--compact,.teacher-home--compact{gap:.85rem}.student-portal-hero--compact,.teacher-portal-hero--compact{padding:.95rem 1.05rem}.student-portal-hero--compact h2,.teacher-portal-hero--compact h2{margin:.2rem 0 0;font-size:clamp(1.2rem,4.5vw,1.45rem)}.student-portal-hero__lead{margin:.35rem 0 0;font-size:.86rem;line-height:1.45}.panel-card__header--inline-tight{align-items:center;margin-bottom:.65rem}.panel-card__header--inline-tight h3{margin:.15rem 0 0}.button--compact{min-height:2.35rem;padding:.42rem .72rem;font-size:.82rem}.student-amica-home-card{border:1px solid #f59e0b59;border-radius:1.2rem;overflow:hidden;box-shadow:0 16px 36px #b4530924}.student-amica-home-card__link{color:inherit;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 42%,#7c3aed 100%);text-decoration:none;display:block;position:relative}.student-amica-home-card__shine{pointer-events:none;background:radial-gradient(circle at 20% 0,#ffffff47,#0000 55%);position:absolute;inset:0}.student-amica-home-card__content{justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.15rem;display:flex;position:relative}.student-amica-home-card__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#ffffffc7;font-size:.68rem;font-weight:900;display:block}.student-amica-home-card__balance{margin:.35rem 0 .25rem}.student-amica-home-card__amount{letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(1.65rem,6vw,2.15rem);font-weight:900}.student-amica-home-card__unit{color:#ffffffe0;font-size:.92rem;font-weight:700}.student-amica-home-card__hint{margin:0;font-size:.8rem;color:#ffffffbf!important}.student-amica-home-card__chev{color:#fff;background:#ffffff2e;border-radius:999px;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;font-size:1.15rem;font-weight:700;display:grid}.student-homework-board--sheet{padding-bottom:.75rem}.student-homework-sheet-wrap{border-radius:.85rem;margin-top:0}.student-homework-sheet-scroll{max-height:min(50vh,22rem)}.student-homework-sheet{min-width:36rem}.student-homework-sheet thead th{z-index:1;background:#f1f5f9;padding:.55rem .7rem;font-size:.68rem;position:sticky;top:0}.student-homework-sheet td{vertical-align:middle;padding:.6rem .7rem;font-size:.84rem}.student-homework-sheet__subject{color:#4f46e5;white-space:nowrap;font-weight:700}.student-homework-sheet__title strong{font-size:.88rem}.student-homework-sheet__due{white-space:nowrap;font-size:.8rem!important}.student-homework-sheet__th-action,.student-homework-sheet__action{text-align:right;white-space:nowrap}.student-session-attendance--priority{scroll-margin-top:5rem}.student-amica-home-card--top{margin-top:0}.student-session-attendance--compact{box-shadow:none;background:linear-gradient(#f0f9ffe6,#fff);border-color:#0ea5e933;padding:.75rem .9rem .85rem}.student-session-attendance--compact .panel-card__header{margin-bottom:.35rem}.student-session-attendance--compact .student-session-attendance__title{font-size:1rem}.student-session-attendance__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.student-session-attendance__row{background:#fff;border:1px solid #94a3b838;border-radius:.75rem;gap:.45rem;padding:.55rem .65rem;display:grid}.student-session-attendance--compact .student-session-attendance__row .calendar-rsvp-bar{margin-top:.5rem}.student-session-attendance__row--archived{opacity:.96;background:linear-gradient(#f8fafcfa,#f1f5f9f2)}.student-session-archived-shell{border-top:1px dashed #94a3b859;margin-top:.85rem;padding-top:.75rem}.student-session-archived-shell__toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .55rem;padding:.2rem .1rem;display:flex}.student-session-archived-shell__copy{gap:.1rem;display:grid}.student-session-archived-shell__copy strong{color:#334155;font-size:.92rem}.student-session-archived-shell__chev{color:#64748b;flex-shrink:0;font-size:.72rem;font-weight:800}.student-session-attendance__row-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.student-session-attendance__row-copy{gap:.1rem;min-width:0;display:grid}.student-session-attendance__row-copy strong{font-size:.9rem;line-height:1.3}.student-session-attendance__row-copy .muted-text{font-size:.76rem;line-height:1.35}.student-session-attendance__row-toolbar{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.student-session-attendance--compact .student-session-attendance__confirm{border-radius:999px;min-height:2rem;margin-left:auto;padding-inline:.85rem}.student-session-attendance__reason--compact{margin:0}.student-session-attendance__reason--compact textarea{border-radius:.55rem;min-height:2.75rem;padding:.45rem .6rem;font-size:.82rem}.helper-banner--compact{margin-bottom:.45rem;padding:.45rem .65rem;font-size:.82rem}@media (width<=520px){.student-session-attendance__row-toolbar{grid-template-columns:1fr 1fr;display:grid}.student-session-attendance--compact .student-session-attendance__confirm{grid-column:1/-1;width:100%;margin-left:0}}.student-session-attendance__title-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.student-session-attendance__title{margin:.15rem 0 0}.student-attendance-streak-pill--inline{margin:0;padding:.22rem .55rem;font-size:.72rem}.student-cards-shell--compact .student-cards-shell__header{margin-bottom:.55rem}.teacher-priority-strip{gap:.75rem;display:grid}.teacher-priority-card__body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;display:flex}.teacher-priority-card__body h3{margin:.15rem 0 0}.teacher-priority-card--homework{background:linear-gradient(#fff,#f5f3ff);border-color:#6366f147}.teacher-priority-card--attendance{padding-bottom:.85rem}.teacher-dashboard-tile--attendance{border-color:#22c55e47}.teacher-homework-board--sheet{grid-column:1/-1}.teacher-homework-sheet__meta{margin-top:.12rem;font-size:.76rem;display:block}.teacher-homework-sheet-mobile-hint{margin:.5rem 0 0;font-size:.8rem;display:none}.teacher-homework-review-list .teacher-homework-review-card{scroll-margin-top:5rem}.teacher-id-shell{background:#ffffffeb;border:1px solid #94a3b838;border-radius:1.1rem;gap:.65rem;padding:.85rem .95rem;display:grid;box-shadow:0 10px 24px #0f172a0d}.teacher-id-shell__toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.75rem;margin:0;padding:.15rem .1rem;display:flex}.teacher-id-shell__photo{color:#fff;background:linear-gradient(135deg,#0ea5e9,#14b8a6);border-radius:.75rem;flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;font-weight:900;display:grid;overflow:hidden}.teacher-id-shell__photo img{object-fit:cover;width:100%;height:100%}.teacher-id-shell__copy{flex:1;gap:.1rem;min-width:0;display:grid}.teacher-id-shell__copy strong{color:#0f172a;font-size:.95rem}.teacher-id-shell__chev{color:#64748b;flex-shrink:0;font-size:.72rem;font-weight:800}.teacher-id-shell__panel{border-top:1px dashed #94a3b859;padding-top:.35rem}.assigned-tutors-shell{background:#ffffffeb;border:1px solid #94a3b838;border-radius:1.1rem;gap:.65rem;padding:.85rem .95rem;display:grid;box-shadow:0 10px 24px #0f172a0d}.assigned-tutors-shell__toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.75rem;margin:0;padding:.15rem .1rem;display:flex}.assigned-tutors-shell__icon{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-radius:.75rem;flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;font-size:1.15rem;display:grid}.assigned-tutors-shell__copy{flex:1;gap:.1rem;min-width:0;display:grid}.assigned-tutors-shell__copy strong{color:#0f172a;font-size:.95rem}.assigned-tutors-shell__chev{color:#64748b;flex-shrink:0;font-size:.72rem;font-weight:800}.assigned-tutors-shell__panel{border-top:1px dashed #94a3b859;padding-top:.35rem}.assigned-tutors-shell__hint{margin:0 0 .75rem;font-size:.82rem}.student-session-attendance-shell{background:linear-gradient(#f0f9ffeb,#fffffffa);border:1px solid #0ea5e938;border-radius:1.1rem;gap:.65rem;padding:.85rem .95rem;scroll-margin-top:5rem;display:grid;box-shadow:0 10px 24px #0ea5e914}.student-session-attendance-shell__toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.75rem;margin:0;padding:.15rem .1rem;display:flex}.student-session-attendance-shell__icon{background:linear-gradient(135deg,#bae6fd,#7dd3fc);border-radius:.75rem;flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;font-size:1.15rem;display:grid}.student-session-attendance-shell__copy{flex:1;gap:.12rem;min-width:0;display:grid}.student-session-attendance-shell__copy strong{color:#0f172a;font-size:.95rem}.student-session-attendance-shell__chev{color:#0369a1;flex-shrink:0;font-size:.72rem;font-weight:800}.student-session-attendance-shell__panel{box-shadow:none;border:1px solid #94a3b833;border-radius:.9rem;margin:0;padding:.75rem .85rem .85rem}.student-session-attendance-shell__panel-head{margin-bottom:.5rem}.student-session-attendance-shell__panel-hint{flex:1;margin:0;font-size:.82rem;line-height:1.4}.topbar__start{justify-self:start;align-items:center;gap:.35rem;min-width:0;display:flex}.topbar__back{background:#ffffffe6;border:1px solid #94a3b838;border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;line-height:0;display:inline-flex}.topbar__back:before{content:"";border-bottom:2px solid;border-left:2px solid;width:.55rem;height:.55rem;display:block;transform:rotate(45deg)translate(2px,-2px)}.student-homework-sheet__row--selected{background:#e0f2fe8c}.student-homework-sheet-wrap--hub{margin-bottom:.85rem}.student-homework-sheet-mobile-hint{display:none}.student-homework-sheet__row{cursor:default}.student-homework-page--compact{gap:.85rem}.student-homework-page--compact .panel-card{padding:.85rem .95rem}@media (width<=720px){.app-shell--student .page-container,.app-shell--role-teacher .page-container{padding:.75rem .85rem 5.5rem}.student-portal--compact .panel-card,.teacher-home--compact .panel-card{padding:.85rem .95rem}.student-homework-list--desktop-only{display:none}.student-homework-sheet-mobile-hint{margin:0 0 .65rem;font-size:.8rem;display:block}.student-homework-sheet thead{display:none}.student-homework-sheet,.student-homework-sheet tbody,.student-homework-sheet tr,.student-homework-sheet td{width:100%;min-width:0;display:block}.student-homework-sheet tr{cursor:pointer;border-bottom:1px solid #e2e8f0f2;padding:.65rem 0}.student-homework-sheet tr:focus-visible{outline-offset:2px;outline:2px solid #2563eb73}.student-homework-sheet tr:last-child{border-bottom:0}.student-homework-sheet td{border:0;padding:.2rem 0}.student-homework-sheet__action{display:none}.student-homework-sheet__title strong:after{content:" →";color:#64748b;font-weight:700}.teacher-priority-strip{grid-template-columns:1fr}.teacher-homework-sheet-mobile-hint{display:block}.teacher-homework-review-list .teacher-homework-review-card{display:none}.teacher-homework-review-list .teacher-homework-review-card--expanded{display:grid}.teacher-id-shell__chev,.assigned-tutors-shell__chev{display:inline}.assigned-tutors-shell__toggle{cursor:pointer}.topbar{gap:.5rem;padding:.65rem .85rem}.topbar__eyebrow{display:none}.topbar__page-title{text-align:left;font-size:.95rem}.topbar__center{text-align:left}.topbar__user{gap:.35rem;padding:.3rem .35rem .3rem .5rem}.topbar__profile-text .muted-text{display:none}.topbar__profile-text strong{text-overflow:ellipsis;white-space:nowrap;max-width:5.5rem;font-size:.82rem;overflow:hidden}.topbar__sign-out-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar__sign-out:before{content:"⎋";font-size:1rem;line-height:1}.topbar__sign-out{width:2.35rem;min-width:2.35rem;padding:.4rem}}.student-portal .hero-card.student-portal-hero{background:radial-gradient(circle at 100% 0,#38bdf833,#0000 42%),linear-gradient(135deg,#eff6ff 0%,#fff 58%,#f0fdf4 100%);border:1px solid #3b82f62e;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;padding:1.5rem 1.65rem;display:flex;box-shadow:0 20px 44px #0f172a12}.student-portal-hero__actions{flex-wrap:wrap;gap:.65rem;display:flex}.student-homework-board{background:radial-gradient(circle at 0 0,#6366f11a,#0000 38%),linear-gradient(#fff,#f8fafc);border-color:#6366f133}.student-homework-board__grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.student-homework-board__card{background:#ffffffeb;border:1px solid #94a3b838;border-radius:1.1rem;gap:.55rem;padding:1rem 1.05rem;display:grid;box-shadow:0 10px 24px #0f172a0d}.student-homework-board__top{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.student-homework-board__subject{letter-spacing:.06em;text-transform:uppercase;color:#4f46e5;font-size:.72rem;font-weight:800}.student-homework-board__card h4{color:#0f172a;margin:0;font-size:1.02rem}.student-homework-board__meta{color:#64748b;flex-wrap:wrap;gap:.45rem .85rem;font-size:.82rem;display:flex}.student-action-pill{border:1px solid #0000;border-radius:1rem;align-items:center;gap:.75rem;width:100%;margin-top:.35rem;padding:.75rem .95rem;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex}.student-action-pill:hover{text-decoration:none;transform:translateY(-2px)}.student-action-pill__icon{border-radius:.75rem;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;font-size:.95rem;font-weight:700;display:grid}.student-action-pill__text{text-align:left;flex:1;gap:.12rem;min-width:0;display:grid}.student-action-pill__text strong{color:#0f172a;font-size:.9rem;font-weight:700;line-height:1.25}.student-action-pill__text small{color:#64748b;font-size:.76rem;font-weight:500;line-height:1.35}.student-action-pill__arrow{opacity:.55;flex-shrink:0;font-size:1.1rem;font-weight:700;transition:transform .16s,opacity .16s}.student-action-pill:hover .student-action-pill__arrow{opacity:1;transform:translate(3px)}.student-action-pill--hub{background:linear-gradient(135deg,#eef2ff 0%,#fff 100%);border-color:#6366f147;box-shadow:0 10px 24px #4f46e51a}.student-action-pill--hub .student-action-pill__icon{color:#fff;background:linear-gradient(145deg,#6366f1,#4f46e5);box-shadow:0 6px 14px #4f46e547}.student-action-pill--hub:hover{border-color:#6366f173;box-shadow:0 14px 28px #4f46e529}.student-action-pill--chat{background:linear-gradient(135deg,#ecfeff 0%,#fff 100%);border-color:#14b8a647;box-shadow:0 10px 24px #14b8a61a}.student-action-pill--chat .student-action-pill__icon{color:#fff;background:linear-gradient(145deg,#14b8a6,#0d9488);box-shadow:0 6px 14px #14b8a647}.student-action-pill--chat:hover{border-color:#14b8a673;box-shadow:0 14px 28px #14b8a629}.profile-page--student .profile-page__card{background:linear-gradient(#fff,#f8fbff);border-color:#3b82f62e}.profile-page--student .profile-page__identity h3{font-size:1.35rem}.student-homework-page .student-homework-hero{background:radial-gradient(circle at 100% 0,#818cf82e,#0000 40%),linear-gradient(135deg,#eef2ff 0%,#fff 55%,#ecfeff 100%);border-color:#4f46e538}.rewards-student-page.rewards-student-page{gap:1.25rem}.child-hero{color:#1f2937;background:linear-gradient(135deg,#fde68a,#fca5a5 45%,#93c5fd);border-radius:1.5rem;justify-content:space-between;align-items:stretch;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 18px 40px #f9731626}.child-hero__content{align-items:center;gap:1rem;display:flex}.child-hero__avatar{color:#1d4ed8;background:#ffffffc7;border-radius:999px;place-items:center;width:4.5rem;height:4.5rem;font-size:1.7rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 4px #ffffff59}.child-hero__eyebrow{letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.9rem;font-weight:700;display:inline-block}.child-hero__badge{white-space:nowrap;background:#fffc;border-radius:999px;padding:.9rem 1.1rem;font-weight:700}.child-hero__badge-group{justify-items:end;gap:.6rem;display:grid}.child-hero__mini-badge{background:#ffffffb3;border-radius:999px;padding:.7rem .95rem;font-size:.9rem;font-weight:700}.child-balance-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b829;border-radius:1.5rem;padding:1.5rem;box-shadow:0 18px 40px #0f172a14}.coin-balance{color:#92400e;background:#fef3c7;border-radius:1rem;padding:.75rem 1rem;font-size:1.4rem;font-weight:800}.balance-track{background:#e2e8f0;border-radius:999px;height:1rem;overflow:hidden}.balance-track__fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%}.balance-track__labels{color:#64748b;justify-content:space-between;gap:1rem;margin-top:.65rem;font-size:.95rem;display:flex}.coin-row{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.coin{color:#475569;background:#e2e8f0;border-radius:999px;place-items:center;width:2.25rem;height:2.25rem;font-weight:800;display:grid}.coin--active{color:#78350f;background:linear-gradient(135deg,#fbbf24,#f59e0b)}.child-actions-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.student-story-grid,.student-overview-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;display:grid}.student-story-stack{gap:1rem;display:grid}.student-credit-card,.student-wallet-panel{border:1px solid #94a3b829;border-radius:1.25rem;gap:.75rem;padding:1.25rem;display:grid;box-shadow:0 18px 40px #0f172a14}.student-credit-card{color:#eff6ff;background:linear-gradient(135deg,#1d4ed8,#312e81 58%,#0f172a)}.student-credit-card--button,.student-credit-card--interactive{text-align:left;cursor:pointer;width:100%;font:inherit;border:none}.student-credit-card--interactive{outline:none}.student-credit-card--interactive:focus-visible{box-shadow:0 18px 40px #0f172a14,0 0 0 3px #93c5fda6}.student-credit-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.student-credit-card__cta{color:#78350f;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:999px;justify-content:center;align-items:center;padding:.5rem .85rem;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 8px 18px #0000002e}.student-credit-card__cta:hover{transform:translateY(-1px)}.student-credit-card__goal-link{appearance:none;color:#eff6fff2;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;padding:.5rem .75rem;font-family:inherit;font-size:.8rem;font-weight:700}.student-credit-card__goal-link:hover{background:#fff3}.student-credit-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-credit-card__eyebrow,.student-credit-card__meta-label,.student-credit-card__balance-label,.student-wallet-stat__label{text-transform:uppercase;letter-spacing:.08em;color:#eff6ffc7;font-size:.82rem;display:block}.student-credit-card__chip{background:linear-gradient(135deg,#fde68a,#f59e0b);border-radius:.7rem;width:3rem;height:2.1rem;box-shadow:inset 0 0 0 1px #ffffff52}.student-credit-card__balance{font-size:clamp(2rem,4vw,3rem);line-height:1}.student-credit-card__number{letter-spacing:.12em;color:#eff6ffeb;font-size:.98rem}.student-credit-card__footer{justify-content:space-between;align-items:end;gap:1rem;display:flex}.student-credit-card__footer strong{display:block}.student-credit-card__tap{color:#eff6ffd1;font-size:.82rem}.student-focus-card{border:1px solid #94a3b824;border-radius:1.25rem;gap:.55rem;padding:1.1rem 1.15rem;display:grid;box-shadow:0 18px 40px #0f172a14}.student-focus-card--progress{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.student-focus-card--homework{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.student-focus-card--messages{background:linear-gradient(135deg,#fee2e2,#fecaca)}.student-focus-card__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#475569;font-size:.78rem;font-weight:700}.student-focus-card__link{background:#ffffffd1;border-radius:999px;width:fit-content;padding:.65rem .9rem;font-weight:700}.student-wallet-panel{background:linear-gradient(#fff,#f8fafc)}.student-id-shell{display:block}.student-id-card{background:linear-gradient(135deg,#fff7ed,#fff 45%,#eff6ff);border:1px solid #94a3b829;border-radius:1.25rem;gap:1rem;padding:1.25rem;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #0f172a14}.student-id-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#2563eb26,#0000 70%);border-radius:999px;width:13rem;height:13rem;position:absolute;inset:auto -4rem -4rem auto}.student-id-card--hero{background:linear-gradient(135deg,#fff7ed,#fff 42%,#dbeafe 100%);border-radius:1.5rem;gap:1.25rem;padding:1.5rem}.student-id-card--hero:after{content:"";background:linear-gradient(#f59e0b,#2563eb);width:.5rem;position:absolute;inset:0 auto 0 0}.student-cards-shell{gap:.85rem;display:grid}.student-cards-shell__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-cards-shell__header h3{margin:0}.student-cards-shell__hint{color:#64748b;font-size:.9rem;font-weight:600}.student-card-tabs{gap:.75rem;display:flex}.student-card-tabs__pill{color:#475569;font-weight:700;font:inherit;background:#ffffffd9;border:1px solid #94a3b82e;border-radius:999px;padding:.7rem 1rem}.student-card-tabs__pill--active{color:#fff;background:linear-gradient(135deg,#dc2626,#ef4444);border-color:#0000}.student-card-carousel{touch-action:pan-y;overflow:hidden}.student-card-track{transition:transform .28s;display:flex}.student-card-track--student_id{transform:translate(0)}.student-card-track--amica{transform:translate(-100%)}.student-card-track>*{flex:0 0 100%;width:100%}.student-credit-card--button,.student-id-card--singpass{min-height:284px}.student-id-card--button{appearance:none;text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.student-id-card--singpass{background:linear-gradient(135deg,#ffe4e6,#fff1f2 40%,#fde2e4 100%);border-color:#f472b62e;border-radius:1.6rem;gap:.7rem;padding:1rem}.student-id-card--singpass:after{content:"";opacity:.8;pointer-events:none;background:radial-gradient(circle,#f472b62e,#0000 62%),repeating-radial-gradient(circle,#0000 0 12px,#f472b614 12px 14px);width:16rem;height:11rem;position:absolute;inset:auto -2rem -2.5rem auto}.student-id-card__top--singpass{align-items:flex-start;min-height:2.9rem;padding-right:6.75rem;position:relative}.student-id-card--singpass .student-id-card__top strong{font-size:1rem;line-height:1.1;display:block}.student-id-card--singpass .student-id-card__body{grid-template-columns:70px minmax(0,1fr) 96px;align-items:start;gap:.65rem}.student-id-card--singpass .student-id-card__photo{width:70px;height:82px}.student-id-card__photo--upload{cursor:pointer;position:relative}.student-id-card__photo--upload:after{content:"Change photo";color:#f8fafc;text-align:center;opacity:0;background:linear-gradient(#0000,#0f172ab8);padding:.25rem;font-size:.5rem;font-weight:800;transition:opacity .15s;position:absolute;inset:auto 0 0}.student-id-card__photo--upload:hover:after,.student-id-card__photo--upload:focus-within:after{opacity:1}.student-id-card--singpass .student-id-card__info{display:block}.student-id-card--singpass .student-id-card__details{gap:.32rem .45rem}.student-id-card--singpass .student-id-card__details dt{text-transform:capitalize;font-size:.58rem}.student-id-card--singpass .student-id-card__details dd{font-size:.74rem;line-height:1.15}.student-id-card--singpass .student-id-card__details--primary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-id-card__columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem .65rem;width:100%;display:grid}.student-id-card__details--stack{gap:.32rem;margin:0;display:grid}.student-id-card--singpass .student-id-card__details--stack{grid-template-columns:1fr}.student-id-card__aside{background:#ffffffd1;border:1px solid #f472b62e;border-radius:.9rem;width:96px;min-height:82px;padding:.55rem .5rem;box-shadow:inset 0 0 0 1px #ffffff47}.student-id-card__aside--hint{align-content:space-between;gap:.35rem;display:grid}.student-id-card__aside--hint strong{font-size:.74rem;line-height:1.15}.student-id-card__aside-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.52rem;font-weight:800}.student-id-card__aside-copy{color:#475569;font-size:.63rem;line-height:1.2}.student-id-card__aside-action{color:#dc2626;font-size:.62rem;font-weight:800}.student-id-card__mini-details{gap:.42rem;margin:0;display:grid}.student-id-card__mini-details dt{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.08rem;font-size:.54rem;font-weight:700}.student-id-card__mini-details dd{word-break:break-word;margin:0;font-size:.67rem;font-weight:700;line-height:1.15}.student-id-card__banner{color:#475569;letter-spacing:.05em;text-transform:uppercase;background:#ffffffb8;border:1px solid #f472b62e;border-radius:.9rem;justify-content:space-between;gap:1rem;padding:.55rem .9rem;font-size:.75rem;font-weight:800;display:flex}.student-id-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-id-card__badge-stack{justify-items:end;gap:.35rem;display:grid;position:absolute;top:0;right:0}.student-id-card__status-badge{color:#166534;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:999px;justify-content:center;align-items:center;padding:.32rem .7rem;font-size:.68rem;font-weight:800;display:inline-flex;box-shadow:0 8px 18px #22c55e24}.student-id-card__number-badge{color:#0f172a;letter-spacing:.1em;background:#ffffffe6;border:1px solid #f8717129;border-radius:999px;justify-content:center;align-items:center;padding:.38rem .72rem;font-size:.7rem;font-weight:800;display:inline-flex}.student-id-card__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:.35rem;font-size:.78rem;font-weight:700;display:block}.student-id-card__welcome{color:#475569;max-width:20rem;margin:.35rem 0 0;font-size:.92rem}.student-id-card__body{grid-template-columns:86px minmax(0,1fr);align-items:stretch;gap:.85rem;display:grid}.student-id-card__photo{color:#1d4ed8;background:linear-gradient(#dbeafe,#bfdbfe 48%,#93c5fd);border-radius:.9rem;place-items:center;width:86px;height:100px;font-size:1.65rem;font-weight:800;display:grid;overflow:hidden;box-shadow:inset 0 0 0 4px #ffffff80}.student-id-card__image{object-fit:cover;width:100%;height:100%}.student-id-card__info{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.9rem;display:grid}.student-id-card__columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem;display:grid}.student-id-card__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .65rem;margin:0;display:grid}.student-id-card__detail--wide{grid-column:1/-1}.student-id-card__details--secondary{border-left:1px solid #94a3b829;padding-left:.85rem}.student-id-card__details dt{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.12rem;font-size:.67rem;font-weight:700}.student-id-card__details dd{margin:0;font-size:.85rem;font-weight:600;line-height:1.25}.student-id-card__actions{align-content:end;gap:.75rem;min-width:160px;display:grid}.student-id-card__action{color:#0f172a;background:#ffffffe6;border:1px solid #94a3b833;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1rem;font-weight:700;display:inline-flex;box-shadow:0 10px 24px #0f172a0f}.student-id-card__action--primary{color:#eff6ff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#0000}.student-id-modal{width:min(720px,100%)}.student-id-modal__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:1rem;display:grid}.student-id-modal__panel{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b829;border-radius:1rem;gap:.8rem;padding:1rem;display:grid}.student-id-modal__panel--highlight{background:linear-gradient(#fff1f2,#fff7ed);border-color:#f871712e}.student-id-modal__eyebrow{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.student-id-modal__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.student-id-modal__list-item--wide{grid-column:1/-1}.student-id-modal__list dt{color:#64748b;margin-bottom:.15rem;font-size:.72rem;font-weight:700}.student-id-modal__list dd{color:#0f172a;margin:0;font-size:.92rem;font-weight:700;line-height:1.25}.student-id-modal__split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.student-id-modal__list--column{grid-template-columns:1fr}.student-id-modal__contact-block{background:#ffffffb8;border:1px solid #f871711f;border-radius:.85rem;gap:.55rem;padding:.75rem;display:grid}.student-id-modal__contact-title{color:#9f1239;letter-spacing:.02em;margin:0;font-size:.82rem;font-weight:800}.student-id-modal__paired-rows{gap:.75rem;margin:0;display:grid}.student-id-modal__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.student-id-modal__paired-rows dt{color:#64748b;margin-bottom:.15rem;font-size:.72rem;font-weight:700}.student-id-modal__paired-rows dd{color:#0f172a;margin:0;font-size:.92rem;font-weight:700;line-height:1.25}.student-id-modal__list dt{text-transform:capitalize}.student-amica-shell{display:block}.student-floating-chat{z-index:1200;color:#eff6ff;background:linear-gradient(135deg,#2563eb,#1d4ed8 56%,#0f766e 132%);border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;padding:0;font-size:1.35rem;line-height:1;text-decoration:none;display:inline-flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 18px 40px #2563eb47}.student-floating-chat:hover{transform:translateY(-1px);box-shadow:0 22px 44px #2563eb57}.pending-actions-banner{background:linear-gradient(135deg,#fffbebfa,#fffffffa);border:1px solid #f59e0b47;border-radius:1.1rem;gap:.65rem;margin:0 1.25rem .75rem;padding:.85rem 1rem;display:grid;box-shadow:0 14px 32px #0f172a0f}.pending-actions-banner__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.pending-actions-banner__intro{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;display:flex}.pending-actions-banner__dismiss{color:#64748b;background:#ffffffe6;border-color:#94a3b859;flex-shrink:0;min-height:2rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700}.pending-actions-banner__dismiss:hover{color:#0f172a;background:#fff;border-color:#64748b73}.pending-actions-banner__eyebrow{color:#b45309;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.pending-actions-banner__intro strong{color:#0f172a;font-size:.95rem}.pending-actions-banner__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.pending-actions-banner__item{background:#fff;border:1px solid #94a3b82e;border-radius:.9rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.65rem .75rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.pending-actions-banner__item:hover{border-color:#2563eb47;transform:translateY(-1px);box-shadow:0 10px 24px #2563eb1a}.pending-actions-banner__item--homework{background:linear-gradient(145deg,#fff7edf2,#fff);border-color:#f9731638}.pending-actions-banner__item--attendance{background:linear-gradient(145deg,#eff6fff2,#fff);border-color:#3b82f638}.pending-actions-banner__item--session{background:linear-gradient(145deg,#f5f3fff2,#fff);border-color:#7c3aed33}.pending-actions-banner__icon{font-size:1.2rem;line-height:1}.pending-actions-banner__copy{gap:.1rem;min-width:0;display:grid}.pending-actions-banner__copy strong{color:#0f172a;font-size:.88rem;line-height:1.3}.pending-actions-banner__copy small{color:#64748b;font-size:.78rem;line-height:1.35}.pending-actions-banner__arrow{color:#2563eb;font-weight:700}@media (width>=720px){.pending-actions-banner{margin-inline:1.75rem}.pending-actions-banner__list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.student-notice-strip{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b829;border-radius:1.25rem;gap:.75rem;padding:.9rem 1rem;display:grid;box-shadow:0 18px 40px #0f172a0f}.student-notice-strip__header h3{margin:0;font-size:1rem}.student-notice-strip__eyebrow{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:block}.student-notice-strip__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.student-notice-card{background:#fff7ed;border:1px solid #fed7aa;border-radius:1rem;padding:.75rem .9rem}.student-notice-card--empty{background:#f8fafc;border-color:#e2e8f0}.student-overview-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.student-overview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:.95rem}.student-overview-card__label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.8rem;font-weight:700;display:block}.student-overview-card__value{font-size:1.45rem;line-height:1}.quick-action--playful{background:linear-gradient(135deg,#fce7f3,#e0e7ff)}.kid-upload-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b829;border-radius:1.25rem;gap:.9rem;padding:1.25rem;display:grid;box-shadow:0 18px 40px #0f172a14}.kid-upload-card h3{margin:0}.scan-input{gap:.45rem;display:grid}.kid-card-list{gap:.85rem;display:grid}.kid-list-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.kid-list-card--playful{background:linear-gradient(#fff,#fff7ed);border-color:#fed7aa}.student-next-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.kid-list-card__top{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.student-homework-hero{gap:1rem}.panel-card--guidance-hero{background:linear-gradient(135deg,#eff6fffa,#fffffff5),radial-gradient(circle at 100% 0,#3b82f624,#0000 48%);border-color:#3b82f638;box-shadow:0 18px 42px #2563eb14}.student-homework-hero__inner{flex-direction:column;gap:.65rem;display:flex}.student-homework-hero__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#2563eb;font-size:.72rem;font-weight:800;display:inline-block}.student-homework-hero__title{color:#0f172a;margin:.15rem 0 0;font-size:clamp(1.35rem,2.8vw,1.85rem);line-height:1.2}.student-homework-hero__lead{color:#475569;max-width:42rem;margin:.35rem 0 0;line-height:1.5}.panel-card--guidance-hero .student-homework-jump-nav{margin-top:1.35rem}.teacher-guidance-hero{background:radial-gradient(circle at 100% 0,#0ea5e92e,#0000 34%),linear-gradient(135deg,#eff6ff,#fff 52%,#ecfeff);border-color:#0ea5e938}.teacher-guidance-jump-nav.student-homework-jump-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-card--returned{background:linear-gradient(#fffbebb3,#fff);border-color:#fbbf2459}.homework-collapsible-panel__details{display:block}.homework-collapsible-panel__summary{cursor:pointer;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem .75rem;list-style:none;transition:background .2s;display:grid}.homework-collapsible-panel__summary:hover{background:#94a3b814}.homework-collapsible-panel__summary::-webkit-details-marker{display:none}.homework-collapsible-panel__summary-text h3{margin:0 0 .2rem;font-size:1.05rem}.homework-collapsible-panel__summary-text p{margin:0;font-size:.82rem;line-height:1.45}.homework-collapsible-panel__count{letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap;font-size:.72rem;font-weight:700}.homework-collapsible-panel__badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;color:#475569;background:#94a3b81f;border:1px solid #94a3b833;border-radius:999px;padding:.22rem .55rem;font-size:.68rem;font-weight:700}.homework-collapsible-panel__details[open] .homework-collapsible-panel__badge{color:#15803d;background:#22c55e24;border-color:#22c55e38}.homework-collapsible-panel__chevron{color:#64748b;border-bottom:2px solid;border-right:2px solid;justify-self:end;width:.55rem;height:.55rem;transition:transform .2s;transform:rotate(45deg)}.homework-collapsible-panel__details[open] .homework-collapsible-panel__chevron{transform:rotate(-135deg)translateY(2px)}.homework-collapsible-panel__body{border-top:1px solid var(--surface-border);gap:.85rem;margin-top:.85rem;padding-top:.85rem;display:grid}.panel-card--assignments .homework-collapsible-panel__summary{grid-template-columns:minmax(0,1fr) auto auto}.panel-card--assignments .assignments-due-pill{margin:0}.homework-collapsible-panel--homework .homework-collapsible-panel__summary:hover,.homework-collapsible-panel--exam .homework-collapsible-panel__summary:hover{background:#ffffff73}.homework-collapsible-panel__summary--scanner .homework-collapsible-panel__summary-text{align-content:start;gap:.35rem;display:grid}.homework-collapsible-panel__summary--scanner .homework-collapsible-panel__summary-text h3{margin-top:.1rem}.homework-collapsible-panel__summary--scanner .student-scanner-card__badge{width:fit-content}.homework-collapsible-panel--homework .homework-collapsible-panel__body,.homework-collapsible-panel--exam .homework-collapsible-panel__body{border-top-color:#94a3b829;padding-top:.75rem}.homework-collapsible-panel--homework .homework-collapsible-panel__count{color:#0369a1}.homework-collapsible-panel--exam .homework-collapsible-panel__count{color:#c2410c}.student-homework-mini-table-wrap{margin-top:.15rem}.student-homework-mini-table{font-size:.88rem}.student-homework-mini-table__sub{margin:.2rem 0 0;font-size:.78rem}.student-homework-mini-table__th-action{text-align:right;width:6.5rem}.student-homework-mini-table__action{text-align:right;white-space:nowrap}.student-homework-mini-table__row--active{background:#eff6ff8c}.student-homework-mini-table__submitted-note{font-size:.78rem;font-weight:600}.student-returned-feedback-list{border-top:1px solid var(--surface-border);gap:.65rem;margin-top:.85rem;padding-top:.85rem;display:grid}.student-assignment-submit-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.student-assignment-submit-row{background:#fff;border:1px solid #94a3b838;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.student-assignment-submit-row--active{background:#eff6ffa6;border-color:#2563eb59;box-shadow:0 8px 20px #2563eb14}.student-assignment-submit-row__main{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;min-width:0;display:flex}.student-assignment-submit-row__title{color:#0f172a;font-size:.92rem}.student-assignment-submit-row__btn{border-radius:999px;flex-shrink:0;min-width:5.5rem}.student-assignment-submit-row__done{flex-shrink:0;font-size:.82rem;font-weight:600}.student-homework-submission-empty{background:#f1f5f9cc;border:1px dashed #94a3b859;border-radius:.75rem;margin:0 0 .85rem;padding:.75rem .9rem}.student-homework-submission-context{background:#f0f9ff8c;border:1px solid #0ea5e938;border-radius:1rem;gap:.85rem;margin-bottom:1rem;padding:1rem 1.05rem;display:grid}.student-homework-submission-context__head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.student-homework-submission-context__head h4{margin:.15rem 0 .35rem;font-size:1.1rem}.student-homework-submission-context__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#0369a1;font-size:.72rem;font-weight:800;display:block}.student-homework-submission-context__reward{color:#0f766e;background:#ffffffd9;border-radius:.65rem;margin:0;padding:.55rem .7rem;font-size:.86rem;font-weight:600}.student-homework-submission-context__instructions,.student-homework-submission-context__materials{gap:.4rem;display:grid}.student-homework-submission-context__label{letter-spacing:.06em;text-transform:uppercase;color:#475569;font-size:.72rem;font-weight:800}.student-homework-submission-context__instructions p,.student-homework-submission-context__review{color:#334155;margin:0;line-height:1.5}.student-homework-submission-context__materials ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.student-returned-list{gap:.85rem;display:grid}.student-returned-card{background:#fffbeb;border:1px solid #fbbf2459;border-radius:1rem;padding:1rem 1.05rem}.student-returned-card__head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.student-returned-card__feedback{background:#fff;border:1px solid #fbbf2447;border-radius:.75rem;margin-top:.75rem;padding:.75rem .85rem}.student-returned-card__feedback-label{letter-spacing:.08em;text-transform:uppercase;color:#b45309;margin-bottom:.35rem;font-size:.72rem;font-weight:800;display:block}.student-returned-card__feedback p{color:#334155;margin:0;line-height:1.45}.student-returned-card__no-comment{margin:.65rem 0 0}.student-returned-card__link{color:#1d4ed8;margin-top:.65rem;font-weight:700;display:inline-block}.student-homework-jump-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.student-homework-jump-card{color:#0f172a;background:linear-gradient(#fff,#f8fafc);border:1px solid #93c5fd59;border-radius:1rem;gap:.35rem;min-height:6.5rem;padding:1rem 1.05rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid}.student-homework-jump-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #2563eb1a}.student-homework-jump-card__step{color:#1d4ed8;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.78rem;font-weight:800;display:inline-flex}.student-homework-jump-card__title{color:#0f172a;font-size:.98rem;line-height:1.25}.student-homework-jump-card__hint{color:#64748b;font-size:.82rem;line-height:1.35}.student-homework-jump-card--feedback{background:linear-gradient(#fffbeb,#fff);border-color:#fbbf2473}.student-homework-jump-card--feedback .student-homework-jump-card__step{color:#b45309;background:#fde68a}.student-homework-jump-card--homework{background:linear-gradient(#f0f9ff,#fff);border-color:#0ea5e959}.student-homework-jump-card--homework .student-homework-jump-card__step{color:#0369a1;background:#bae6fd}.student-homework-jump-card--exam{background:linear-gradient(#fff7ed,#fff);border-color:#fb923c59}.student-homework-jump-card--exam .student-homework-jump-card__step{color:#c2410c;background:#fed7aa}@media (width>=900px){.student-homework-jump-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}.student-homework-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.student-homework-summary__card{background:linear-gradient(#fff,#eff6ff);border:1px solid #93c5fd59;border-radius:1rem;padding:1rem}.student-homework-summary__card strong{font-size:1.7rem;line-height:1;display:block}.student-homework-summary__label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.45rem;font-size:.78rem;font-weight:700;display:block}.student-homework-tools{align-items:start}.panel-card.student-scanner-card.panel-card--homework-scanner{background:linear-gradient(160deg,#e0f2fe8c,#fffffff5),radial-gradient(circle at 0 100%,#0ea5e924,#0000 45%);border-color:#0ea5e947;box-shadow:0 18px 40px #0ea5e91a}.student-scanner-card__banner{border-bottom:1px solid #0ea5e92e;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;margin-bottom:.35rem;padding-bottom:.85rem;display:grid}.student-scanner-card__badge{color:#f0f9ff;letter-spacing:.06em;text-transform:uppercase;background:#0ea5e9;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}.student-scanner-card__lead{color:#475569;margin:.35rem 0 0;font-size:.92rem;line-height:1.45}.student-scanner-form{gap:1rem}.student-scanner-input--dropzone{text-align:center;cursor:pointer;padding:1.25rem 1rem;position:relative}.student-scanner-input--dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.student-scanner-input__action{color:#eff6ff;background:#2563eb;border-radius:999px;margin-top:.35rem;padding:.45rem .85rem;font-size:.82rem;font-weight:700;display:inline-block}.panel-card.student-scanner-card.panel-card--exam-results{background:linear-gradient(165deg,#fef3c773,#fffffff5),radial-gradient(circle at 100% 100%,#fb923c1f,#0000 42%);border-color:#fb923c47;box-shadow:0 18px 40px #fb923c14}.student-scanner-input{background:#dbeafe8c;border:1px dashed #93c5fd;border-radius:1rem;gap:.45rem;padding:1rem;display:grid}.student-scanner-input__title{color:#1e3a8a;font-weight:800}.student-scanner-input__hint{color:#475569;font-size:.92rem}.student-scanner-input__filename{color:#0f172a;font-size:.92rem}.student-homework-list{gap:.85rem;display:grid}.student-homework-card--selected{border-color:#60a5fa;box-shadow:inset 0 0 0 1px #60a5fa}.student-homework-card__meta{color:#475569;gap:.4rem;font-size:.93rem;display:grid}.student-homework-card__instructions{background:linear-gradient(#f8fafc,#fff);border:1px solid #3b82f62e;border-left:4px solid #3b82f6;border-radius:.9rem;margin-top:.75rem;padding:.9rem 1rem}.student-homework-card__instructions-label{letter-spacing:.06em;text-transform:uppercase;color:#2563eb;margin-bottom:.45rem;font-size:.72rem;font-weight:800;display:block}.student-homework-card__instructions-body{color:#1e293b;white-space:pre-wrap;margin:0;font-size:.95rem;font-weight:500;line-height:1.55}.student-homework-card__submit-btn{color:#eff6ff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;width:100%;padding:.65rem 1rem;font-weight:700;box-shadow:0 10px 22px #2563eb38}.student-homework-card__submit-btn:hover{filter:brightness(1.05)}.student-returned-card__resubmit{border-radius:999px;width:fit-content;margin-top:.75rem;padding:.5rem 1rem;font-size:.88rem;text-decoration:none}.student-scanner-card__banner--exam{border-bottom-color:#fb923c38}.student-scanner-card__badge--exam{background:#ea580c}.student-scanner-input--exam{background:#ffedd573;border-color:#fdba74}.student-scanner-input__action--exam{background:#ea580c}.student-scanner-form__submit{color:#eff6ff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;width:100%;font-weight:700;box-shadow:0 10px 22px #2563eb33}.student-scanner-form__submit--exam{background:linear-gradient(135deg,#ea580c,#c2410c);box-shadow:0 10px 22px #ea580c33}.student-scanner-form__actions{margin-top:.25rem}.student-homework-card__attachments{margin-top:.75rem}.student-homework-card__attachments strong{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.35rem;font-size:.78rem;display:block}.student-homework-card__attachments ul{color:#334155;margin:0;padding-left:1.1rem}.student-homework-card__download{padding:.15rem .35rem;font-size:.9rem}.form-field__readonly{color:#0f172a;background:#f8fafcf2;border:1px solid #94a3b840;border-radius:.65rem;padding:.65rem .75rem;font-weight:600;display:block}.student-homework-card__review{color:#0f172a;margin:.75rem 0 0;font-weight:600}.student-homework-card__actions{margin-top:.85rem}.student-submission-launcher__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.student-submission-launcher__button{color:#0f172a;cursor:pointer;background:linear-gradient(#fff,#eff6ff);border:1px solid #7dd3fc99;border-radius:1.15rem;gap:.45rem;padding:1.1rem;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.student-submission-launcher__button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #2563eb1f}.student-submission-launcher__button--secondary{background:linear-gradient(#fff,#ecfeff);border-color:#2dd4bf73}.student-submission-launcher__eyebrow{color:#1d4ed8;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.parent-child-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.parent-child-card{background:linear-gradient(#fff,#f8fafc)}.parent-forms-list{gap:.95rem;display:grid}.parent-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.parent-form-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.parent-form-card__actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.85rem;display:flex}.parent-form-card__input{min-width:min(18rem,100%)}.parent-form-card__signed{margin:.5rem 0 0}.parent-empty-inline{margin:0;padding:.25rem 0}.parent-children-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.parent-child-summary-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.parent-child-summary-card__header h4{margin:.35rem 0 0}.parent-child-summary-card__details{margin:.85rem 0}.parent-child-summary-card__chat{justify-content:center;width:100%}.parent-child-summary-card__chat-muted{font-size:.9rem;display:block}.parent-reminders-list{gap:.75rem;display:grid}.parent-reminder-card{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:.85rem 1rem}.parent-reminder-card--overdue{border-left:4px solid #d97706}.parent-reminder-card--done{opacity:.55}.parent-announcements-grid{gap:.85rem;display:grid}.parent-announcement-card{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:.9rem 1rem}.parent-announcement-card__meta{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.parent-announcement-card__content{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.5rem 0 0;display:-webkit-box;overflow:hidden}.parent-sessions-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;display:grid}.parent-session-card{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;gap:.35rem;padding:.9rem 1rem;display:grid}.parent-session-card__date{color:#64748b;font-size:.9rem}.parent-session-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.parent-session-card__rsvp{color:#0f766e;margin:.35rem 0 0;font-weight:600}.parent-sessions-link{margin-top:.85rem}.parent-sessions-link-row{flex-wrap:wrap;gap:.55rem;margin-top:.85rem;display:flex}.parent-rsvp-child-picker{flex-direction:column;gap:.25rem;min-width:10rem;display:flex}.parent-rsvp-child-picker select{font:inherit;background:#fff;border:1px solid #cbd5e1f2;border-radius:.5rem;padding:.45rem .6rem}.parent-calendar-rsvp{gap:.65rem;margin-top:.75rem;display:grid}.parent-form-card__signed-block{gap:.5rem;display:grid}.parent-announcements-feed{gap:.75rem;display:grid}.parent-announcement-feed-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0e6;border-radius:.95rem;padding:.9rem 1rem}.parent-announcement-feed-card__meta{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.45rem;display:flex}.parent-announcement-feed-card p{color:#334155;margin:0;line-height:1.55}.parent-sessions-layout{grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:1rem;display:grid}.parent-session-groups{gap:1rem;display:grid}.parent-session-group__label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-bottom:.45rem;font-size:.78rem;font-weight:700;display:block}.parent-session-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.parent-session-list__btn{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0f2;border-radius:.85rem;justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem .85rem;display:flex}.parent-session-list__btn--active{background:#eff6ff;border-color:#3b82f673}.parent-session-list__copy{gap:.18rem;display:grid}.parent-attendance-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.parent-attendance-pill--present{color:#166534;background:#dcfce7}.parent-attendance-pill--absent{color:#991b1b;background:#fee2e2}.parent-attendance-pill--late{color:#92400e;background:#fef3c7}.parent-attendance-pill--excused,.parent-attendance-pill--unknown{color:#475569;background:#e2e8f0}.parent-session-detail__header{gap:.35rem;margin-bottom:1rem;display:grid}.parent-session-detail__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-size:.78rem;font-weight:700}.parent-session-detail__notices,.parent-session-detail__attendance{gap:.65rem;margin-top:1rem;display:grid}.parent-notice-card{background:#fff;border:1px solid #e2e8f0f2;border-radius:.85rem;padding:.8rem .9rem}.parent-notice-card strong{margin-bottom:.35rem;display:block}.parent-notice-card p{color:#334155;margin:0;line-height:1.55}.parent-child-attendance-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.parent-child-attendance-list__item{background:#fff;border:1px solid #e2e8f0f2;border-radius:.85rem;padding:.75rem .85rem}.parent-child-attendance-list__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}@media (width<=900px){.parent-sessions-layout{grid-template-columns:1fr}}.parent-sign-modal-backdrop{z-index:120;background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.parent-sign-modal{background:#fff;border-radius:1rem;gap:.85rem;width:min(28rem,100%);padding:1.25rem;display:grid;box-shadow:0 20px 45px #0f172a2e}.parent-sign-modal--wide{width:min(42rem,100%);max-height:min(92vh,56rem);overflow:auto}.parent-sign-modal__pdf{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;width:100%;height:18rem;min-height:16rem}.signature-canvas-field{gap:.45rem;display:grid}.signature-canvas-field__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.signature-canvas{touch-action:none;background:#fff;border:1px dashed #cbd5e1;border-radius:.75rem;width:100%;height:auto}.signature-canvas-field__hint{margin:0;font-size:.82rem}.parent-consent-send__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.parent-consent-send__full{grid-column:1/-1}.parent-consent-send__actions{justify-content:flex-end;margin-top:.85rem;display:flex}.parent-consent-downloads{flex-wrap:wrap;gap:.35rem;display:flex}.parent-sign-modal h3{margin:0}.parent-sign-modal__checkbox{align-items:flex-start;gap:.55rem;font-size:.95rem;display:flex}.parent-sign-modal__success{color:#15803d;margin:0;font-weight:600}.student-upload-card__file{color:#475569;margin:0}.catalogue-item__media{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.95rem;margin-bottom:.9rem;overflow:hidden}.catalogue-item__image,.catalogue-item__placeholder{aspect-ratio:16/9;width:100%;display:block}.catalogue-item__image{object-fit:cover}.catalogue-item__placeholder{color:#64748b;background:linear-gradient(135deg,#eff6ff,#f8fafc);place-items:center;font-weight:700;display:grid}.student-homework-card__status-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.student-homework-card__due-chip{background:#f8fafc;border:1px solid #94a3b873;border-radius:.65rem;align-items:baseline;gap:.4rem;padding:.35rem .65rem;font-size:.82rem;display:inline-flex}.student-homework-card__due-chip-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.student-homework-card__due-chip-value{color:#0f172a;font-weight:800}.student-homework-card__due-chip--none{background:linear-gradient(135deg,#f1f5f9f2,#ede9febf);border-style:dashed;border-color:#8b5cf638}.student-homework-card__due-chip--none .student-homework-card__due-chip-label{color:#6d28d9}.student-homework-card__due-chip--none .student-homework-card__due-chip-value{color:#5b21b6;letter-spacing:.02em;font-size:.78rem;font-weight:800}.student-homework-card__reward{margin:.5rem 0 0;font-size:.88rem}.student-homework-selected-banner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.student-homework-selected-banner__reward{color:#0f766e;text-align:right;max-width:16rem;font-size:.9rem;font-weight:700}.student-exam-percent-banner{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #3b82f647;border-radius:.85rem;grid-template-columns:1fr auto;gap:.65rem 1rem;padding:1rem 1.1rem;display:grid}.student-exam-percent-banner__fraction,.student-exam-percent-banner__pct-wrap{flex-direction:column;gap:.2rem;display:flex}.student-exam-percent-banner__pct{letter-spacing:-.03em;color:#0f172a;font-size:1.65rem;font-weight:900}.student-exam-percent-banner__note{grid-column:1/-1;margin:0;font-size:.85rem}.rewards-shop-balance{margin:.25rem 0 0;font-size:1.05rem}.rewards-student-page{gap:1.25rem}.rewards-student-hero{background:radial-gradient(circle at 90% 0,#60a5fa38,#0000 34%),linear-gradient(135deg,#f8fafc 0%,#eff6ff 42%,#fff 100%);border-color:#3b82f63d}.rewards-wallet-card{color:#eff6ff;background:radial-gradient(circle at 85% 15%,#ffffff47,#0000 26%),linear-gradient(135deg,#0f172a 0%,#1d4ed8 52%,#2563eb 100%);border-radius:1.35rem;gap:.25rem;margin-top:.9rem;padding:1.15rem;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 48px #2563eb47}.rewards-wallet-card:after{content:"";background:#ffffff1a;border-radius:999px;width:12rem;height:12rem;position:absolute;inset:auto -18% -30% auto}.rewards-wallet-card__top{z-index:1;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.rewards-wallet-card__label{letter-spacing:.08em;text-transform:uppercase;opacity:.9;font-size:.72rem;font-weight:800}.rewards-wallet-card__chip{background:linear-gradient(90deg,#0000 48%,#0f172a29 48% 52%,#0000 52%),linear-gradient(135deg,#fde68a,#f59e0b);border-radius:.45rem;width:2.2rem;height:1.55rem;box-shadow:inset 0 0 0 1px #ffffff61}.rewards-wallet-card__caption{z-index:1;color:#eff6ffb8;margin-top:.75rem;font-size:.78rem;position:relative}.rewards-wallet-card__amount{z-index:1;letter-spacing:-.03em;font-size:clamp(2rem,6vw,3.1rem);line-height:1;position:relative}.rewards-wallet-card__unit{z-index:1;font-size:.88rem;font-weight:700;position:relative}.rewards-wallet-card__stats{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.9rem;display:grid;position:relative}.rewards-wallet-card__stats span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-radius:.85rem;gap:.1rem;padding:.55rem;display:grid}.rewards-wallet-card__stats small{color:#eff6ffb8;font-size:.68rem;font-weight:700}.rewards-wallet-card__stats strong{color:#fff;font-size:.9rem}.rewards-shop-grid--student{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1rem}.rewards-storefront__eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.72rem;font-weight:800;display:inline-flex}.rewards-storefront__count{color:#1d4ed8;background:#2563eb1a;border-radius:999px;justify-content:center;align-items:center;padding:.38rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.rewards-shop-card--student{background:#fff;border-color:#94a3b82e;border-radius:1rem;transition:transform .15s,box-shadow .15s}.rewards-shop-card--student:hover{transform:translateY(-3px);box-shadow:0 18px 36px #0f172a1f}.rewards-shop-card__badge{color:#fff;background:#0f172adb;border-radius:999px;padding:.3rem .55rem;font-size:.72rem;font-weight:800;position:absolute;bottom:.6rem;right:.6rem;box-shadow:0 8px 18px #0f172a33}.rewards-shop-card__tag{color:#1d4ed8;background:#2563eb14;border-radius:999px;align-self:flex-start;padding:.22rem .5rem;font-size:.68rem;font-weight:800}.rewards-shop-card__price-unit{color:#2563eb;font-size:.72rem;font-weight:700;display:block}.rewards-shop-card--student .rewards-shop-card__cta{color:#fff;background:linear-gradient(#3b82f6,#2563eb);border:none;border-radius:999px}.rewards-student-activity{background:linear-gradient(#f8fafcf2,#fff),radial-gradient(circle at 100% 0,#2563eb0f,#0000 42%);border-color:#94a3b82e}.rewards-student-activity h3{letter-spacing:-.02em}.rewards-activity-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.rewards-activity-timeline__item{border-bottom:1px solid #f1f5f9;grid-template-columns:auto 1fr;gap:.75rem;padding:.85rem 0;display:grid}.rewards-activity-timeline__item:last-child{border-bottom:none}.rewards-activity-timeline__dot{background:#22c55e;border-radius:999px;width:.65rem;height:.65rem;margin-top:.35rem;box-shadow:0 0 0 4px #22c55e26}.rewards-activity-timeline__dot--debit{background:#64748b;box-shadow:0 0 0 4px #64748b26}.rewards-activity-timeline__top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.rewards-activity-timeline__reason{color:#0f172a;font-weight:600}.rewards-activity-timeline__amount{color:#15803d;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.rewards-activity-timeline__amount--debit{color:#475569}.rewards-activity-timeline__time{color:#64748b;margin-top:.2rem;font-size:.8rem;display:block}.rewards-shop-grid{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:1rem;display:grid}.rewards-shop-card{background:linear-gradient(#fff,#f8fafc),radial-gradient(circle at 100% 0,#14b8a614,#0000 36%);border:1px solid #94a3b82e;border-radius:1.15rem;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 30px #0f172a14}.rewards-shop-card__media{aspect-ratio:4/3;background:#f1f5f9;position:relative}.rewards-shop-card__image{object-fit:cover;width:100%;height:100%;display:block}.rewards-shop-card__placeholder{background:linear-gradient(145deg,#e0f2fe,#f8fafc);width:100%;height:100%}.rewards-shop-card__body{flex-direction:column;flex:1;gap:.55rem;padding:.85rem .9rem 1rem;display:flex}.rewards-shop-card__chips{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.rewards-shop-card__availability,.rewards-shop-card__stock{letter-spacing:.02em;border-radius:999px;align-items:center;gap:.25rem;width:fit-content;padding:.28rem .58rem;font-size:.68rem;font-weight:900;display:inline-flex}.rewards-shop-card__availability--available{color:#15803d;background:#22c55e21;border:1px solid #22c55e38}.rewards-shop-card__availability--empty{color:#b45309;background:#f59e0b24;border:1px solid #f59e0b3d}.rewards-shop-card__availability--unavailable{color:#475569;background:#64748b24;border:1px solid #64748b38}.rewards-shop-card__stock{color:#1d4ed8;background:#2563eb14;border:1px solid #2563eb24}.rewards-shop-card__title{color:#0f172a;margin:0;font-size:.92rem;line-height:1.3}.rewards-shop-card__price{color:#0f766e;margin:0;font-size:.8rem;font-weight:700}.rewards-shop-card__price-value{font-size:1.05rem}.rewards-shop-card__desc{flex:1;margin:0;font-size:.78rem;line-height:1.35}.rewards-shop-card__cta{width:100%;margin-top:.35rem;padding:.45rem .5rem;font-size:.82rem}.rewards-redemption-queue-panel{background:radial-gradient(circle at 0 0,#f59e0b1f,#0000 42%),radial-gradient(circle at 100% 100%,#14b8a61a,#0000 38%),linear-gradient(#fff,#fffbeb);border-color:#f59e0b38;scroll-margin-top:5.5rem;box-shadow:0 16px 36px #0f172a12}.rewards-redemption-queue-panel__eyebrow{color:#b45309;letter-spacing:.08em;text-transform:uppercase;background:#f59e0b29;border-radius:999px;margin-bottom:.35rem;padding:.2rem .55rem;font-size:.68rem;font-weight:900;display:inline-flex}.rewards-redemption-queue-toolbar{background:linear-gradient(135deg,#ffffffeb 0%,#fffbebbd 100%);border:1px solid #fbbf2447;border-radius:1.15rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.35rem;margin:0 0 1.15rem;padding:1rem 1.15rem;display:flex;box-shadow:inset 0 1px #ffffffe6,0 10px 28px #0f172a0f}.rewards-redemption-queue-toolbar__main{flex-wrap:wrap;align-items:center;gap:.85rem;min-width:0;display:flex}.rewards-redemption-queue-toolbar__label{letter-spacing:.09em;text-transform:uppercase;color:#b45309;flex-shrink:0;font-size:.68rem;font-weight:900}.rewards-redemption-queue-toolbar__segments{background:radial-gradient(circle at 50% -20%,#ffffffc7,#0000 55%),#fde68a2e;border:1px solid #f59e0b42;border-radius:999px;flex-wrap:wrap;gap:.32rem;padding:.38rem;display:inline-flex;box-shadow:inset 0 1px 2px #78350f14}.rewards-redemption-queue-toolbar__segment{cursor:pointer;color:#78716c;background:0 0;border:none;border-radius:999px;align-items:center;gap:.48rem;margin:0;padding:.54rem .92rem;font-family:inherit;font-size:.82rem;font-weight:750;line-height:1.25;transition:background .16s,color .16s,box-shadow .16s,transform .12s;display:inline-flex}.rewards-redemption-queue-toolbar__segment:hover{color:#0f172a;background:#ffffff8c}.rewards-redemption-queue-toolbar__segment:active{transform:scale(.98)}.rewards-redemption-queue-toolbar__segment--active{color:#0f172a;background:linear-gradient(#fff 0%,#fffbeb 100%);box-shadow:0 2px 10px #f59e0b33,0 0 0 1px #fbbf2473}.rewards-redemption-queue-toolbar__segment-label{letter-spacing:.015em}.rewards-redemption-queue-toolbar__segment-count{color:#713f12;background:#fbbf2459;border-radius:999px;place-items:center;min-width:1.45rem;padding:.12rem .42rem;font-size:.67rem;font-weight:900;display:inline-grid}.rewards-redemption-queue-toolbar__segment-count--zero{color:#a8a29e;background:#94a3b833}.rewards-redemption-queue-toolbar__segment--active .rewards-redemption-queue-toolbar__segment-count{background:#f59e0b52}.rewards-redemption-queue-toolbar__segment--active .rewards-redemption-queue-toolbar__segment-count--zero{color:#78716c;background:#78716c1f}.rewards-redemption-queue-toolbar__summary{color:#57534e;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;font-size:.86rem;font-weight:600;display:inline-flex}.rewards-redemption-queue-toolbar__summary strong{color:#0f172a;font-variant-numeric:tabular-nums;font-weight:900}.rewards-redemption-queue-toolbar__summary-of{color:#a8a29e;font-weight:500}.rewards-redemption-queue-toolbar__summary-dot{background:radial-gradient(circle at 30% 30%,#fde68a,#f59e0b);border-radius:999px;width:.52rem;height:.52rem;margin-inline-end:.08rem;display:inline-block;box-shadow:0 0 0 3px #fbbf2440}@media (width<=640px){.rewards-redemption-queue-toolbar{flex-direction:column;align-items:stretch}.rewards-redemption-queue-toolbar__summary{padding-block-start:.05rem;border-top:1px dashed #fbbf2459;justify-content:flex-start;width:100%;padding-top:.85rem}.rewards-redemption-queue-toolbar__segments{border-radius:1rem;justify-content:center;width:100%;padding:.45rem}}.rewards-redemption-table-card{border-color:#94a3b833;border-radius:1rem;overflow:hidden}.rewards-redemption-table th{white-space:nowrap;font-size:.72rem}.rewards-redemption-table tbody tr{transition:background .12s}.rewards-redemption-table tbody tr:hover{background:#fff7ed8c}.rewards-redemption-table__amount{font-variant-numeric:tabular-nums;font-weight:800}.rewards-redemption-status{text-transform:capitalize;letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;max-width:100%;padding:.32rem .62rem;font-size:.73rem;font-weight:800;line-height:1.35;display:inline-flex}.rewards-redemption-status--pending{color:#9a3412;background:linear-gradient(#fff7ed,#fed7aa80);border-color:#fb923c73}.rewards-redemption-status--fulfilled{color:#14532d;background:linear-gradient(#f0fdf4,#a7f3d073);border-color:#4ade8073}.rewards-redemption-status--declined{color:#9f1239;background:linear-gradient(#fff1f2,#fecdd373);border-color:#fb718566}.rewards-redemption-status--other{color:#334155;background:#f1f5f9e6;border-color:#94a3b859}.rewards-redemption-table__actions{flex-wrap:wrap;gap:.45rem;min-width:11rem}.rewards-order-confirm-modal{width:min(26rem,100%);max-width:26rem}.rewards-order-confirm-modal__summary{gap:.5rem;margin:0 0 .75rem;display:grid}.rewards-order-confirm-modal__summary div{border-bottom:1px dashed #cbd5e1f2;justify-content:space-between;gap:1rem;padding:.4rem 0;display:flex}.rewards-order-confirm-modal__summary dt{color:#64748b;margin:0;font-size:.78rem;font-weight:700}.rewards-order-confirm-modal__summary dd{color:#0f172a;text-align:right;margin:0;font-weight:800}.rewards-order-confirm-modal__note{margin:0 0 1rem;line-height:1.5}.catalogue-edit-form{gap:.55rem;display:grid}.catalogue-edit-form label{color:#64748b;text-transform:uppercase;gap:.25rem;font-size:.72rem;font-weight:900;display:grid}.catalogue-edit-form input,.catalogue-edit-form textarea{background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;width:100%;padding:.55rem .65rem}.rewards-collapsible-panel__details,.rewards-oversight-panel__details{display:block}.rewards-collapsible-panel__summary,.rewards-oversight-panel__summary{cursor:pointer;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.55rem .75rem;padding:.2rem .15rem;list-style:none;transition:background .2s;display:grid}.rewards-collapsible-panel__summary:hover,.rewards-oversight-panel__summary:hover{background:#94a3b814}.rewards-collapsible-panel__summary::-webkit-details-marker{display:none}.rewards-oversight-panel__summary::-webkit-details-marker{display:none}.rewards-collapsible-panel__summary-text h3,.rewards-oversight-panel__summary-text h3{margin:0 0 .2rem;font-size:1.05rem}.rewards-collapsible-panel__summary-text p,.rewards-oversight-panel__summary-text p{margin:0;font-size:.8rem;line-height:1.45}.rewards-collapsible-panel__count,.rewards-oversight-panel__count{letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap;font-size:.72rem;font-weight:700}.rewards-collapsible-panel__badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.22rem .55rem;font-size:.68rem;font-weight:700}.rewards-collapsible-panel__badge--open{color:#15803d;background:#22c55e24;border:1px solid #22c55e38}.rewards-collapsible-panel__badge--closed{color:#475569;background:#94a3b81f;border:1px solid #94a3b833}.rewards-collapsible-panel__chevron,.rewards-oversight-panel__chevron{color:#64748b;border-bottom:2px solid;border-right:2px solid;justify-self:end;width:.55rem;height:.55rem;transition:transform .2s;transform:rotate(45deg)}.rewards-collapsible-panel__details[open] .rewards-collapsible-panel__chevron,.rewards-oversight-panel__details[open] .rewards-oversight-panel__chevron{transform:rotate(-135deg)translateY(2px)}.rewards-collapsible-panel__body,.rewards-oversight-panel__body{border-top:1px solid var(--surface-border);gap:.85rem;margin-top:.85rem;padding-top:.85rem;display:grid}.rewards-collapsible-panel__toolbar{background:linear-gradient(135deg,#2563eb0f,#14b8a60d);border:1px solid #94a3b838;border-radius:.85rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.7rem .85rem;display:flex}.rewards-collapsible-panel__toolbar-copy{color:#64748b;margin:0;font-size:.78rem}.rewards-collapsible-panel__body .rewards-shop-grid{max-height:28rem;padding-bottom:.15rem;padding-right:.2rem;overflow:auto}@media (width<=720px){.rewards-collapsible-panel__summary,.rewards-oversight-panel__summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text text""meta chevron"}.rewards-collapsible-panel__summary-text,.rewards-oversight-panel__summary-text{grid-area:text}.rewards-collapsible-panel__badge,.rewards-collapsible-panel__count,.rewards-oversight-panel__count{grid-area:meta}.rewards-collapsible-panel__chevron,.rewards-oversight-panel__chevron{grid-area:chevron}}.rewards-oversight-log,.academic-mini-list{gap:.75rem;display:grid}.rewards-oversight-panel__body .rewards-oversight-log{max-height:22rem;padding-right:.15rem;overflow:auto}.rewards-oversight-row{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;grid-template-columns:1.4fr 1fr .7fr .7fr;align-items:center;gap:.75rem;padding:.85rem;display:grid}.rewards-oversight-row div{gap:.15rem;display:grid}.rewards-oversight-row small,.rewards-oversight-row span{color:#64748b}.reward-log-amount--credit{color:#15803d}.reward-log-amount--debit{color:#b45309}.rewards-activity-log{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.rewards-activity-log__row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.65rem;grid-template-columns:minmax(0,9.5rem) minmax(0,7rem) 1fr;align-items:baseline;gap:.5rem .75rem;padding:.55rem .65rem;font-size:.86rem;display:grid}.rewards-activity-log__time{color:#64748b;font-variant-numeric:tabular-nums}.rewards-activity-log__amount{color:#15803d;font-variant-numeric:tabular-nums;font-weight:800}.rewards-activity-log__amount--debit{color:#b45309}.rewards-activity-log__reason{color:#334155;word-break:break-word}@media (width<=640px){.rewards-activity-log__row{grid-template-columns:1fr}}.status-pill,.reward-badge{color:#334155;text-transform:capitalize;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #94a3b829;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.status-pill--success{color:#166534;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.status-pill--warning{color:#c2410c;background:linear-gradient(135deg,#ffedd5,#fed7aa)}.status-pill--info{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.status-pill--danger{color:#dc2626;background:#fef2f2;border-color:#dc262640}.form-success-banner{color:#047857;background:#ecfdf5;border:1px solid #10b98159;border-radius:.85rem;padding:.75rem 1rem;font-weight:600}.page-save-toast{z-index:12;margin-bottom:.75rem;position:sticky;top:.75rem;box-shadow:0 12px 28px #0f172a14}.page-save-notice,.profile-save-notice{margin:0 0 .75rem}.profile-save-notice{width:100%}.volunteer-profile-card__save,.student-profile-edit-grid__actions{gap:.65rem;display:grid}.profile-page{--profile-accent:#2563eb;--profile-accent-soft:#2563eb1f;--profile-accent-glow:#2563eb33}.profile-page--grassroots-leader{--profile-accent:#16a34a;--profile-accent-soft:#16a34a1f;--profile-accent-glow:#16a34a33}.profile-page--amica-exco{--profile-accent:#7c3aed;--profile-accent-soft:#7c3aed1f;--profile-accent-glow:#7c3aed33}.profile-page--teacher{--profile-accent:#0d9488;--profile-accent-soft:#0d94881f;--profile-accent-glow:#0d948833}.profile-page--parent{--profile-accent:#d97706;--profile-accent-soft:#d977061f;--profile-accent-glow:#d9770633}.profile-page--student{--profile-accent:#2563eb;--profile-accent-soft:#2563eb1f;--profile-accent-glow:#2563eb33}.profile-hero{background:linear-gradient(145deg,#fff 0%,#f8fafc 55%,#f1f5f9 100%);border:1px solid #94a3b833;border-radius:1.15rem;padding:1.15rem 1.2rem 1.2rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 18px 40px #0f172a0f}.profile-hero__glow{background:radial-gradient(circle, var(--profile-accent-glow) 0%, transparent 70%);pointer-events:none;border-radius:999px;width:11rem;height:11rem;position:absolute;top:-2.5rem;right:-1rem}.profile-hero__main{z-index:1;align-items:center;gap:1rem;display:flex;position:relative}.profile-hero__avatar{background:linear-gradient(145deg, var(--profile-accent-soft), #fff);width:5rem;height:5rem;color:var(--profile-accent);box-shadow:0 12px 28px var(--profile-accent-soft);border:2px solid #fffffff2;border-radius:1.15rem;flex-shrink:0;place-items:center;font-size:1.65rem;font-weight:800;display:grid;overflow:hidden}.profile-hero__avatar-image{object-fit:cover;width:100%;height:100%}.profile-hero__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--profile-accent);margin:0;font-size:.68rem;font-weight:700}.profile-hero__name{letter-spacing:-.025em;color:#0f172a;margin:.2rem 0 0;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700;line-height:1.15}.profile-hero__badges{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.55rem;display:flex}.profile-role-badge{border:1px solid var(--profile-accent);color:#0f172a;box-shadow:0 0 0 2px var(--profile-accent-soft);background:#fff;border-radius:999px;align-items:center;padding:.32rem .65rem;font-size:.74rem;font-weight:700;display:inline-flex}.profile-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.profile-details-grid--single{grid-template-columns:1fr}.profile-detail-panel{background:#ffffffeb;border:1px solid #94a3b838;border-radius:1rem;gap:.85rem;padding:.95rem 1rem 1rem;display:grid;box-shadow:0 10px 24px #0f172a0a}.profile-detail-panel--role{border-top:3px solid var(--profile-accent);background:linear-gradient(#fffffffa 0%,#f8fafcf2 100%)}.profile-detail-panel__head{grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.profile-detail-panel__head--compact{margin-bottom:.15rem}.profile-detail-panel__head h3{color:#0f172a;margin:0;font-size:1rem}.profile-detail-panel__head p{margin:.2rem 0 0;font-size:.78rem;line-height:1.4}.profile-detail-panel__icon{background:var(--profile-accent-soft);border-radius:.65rem;place-items:center;width:2.25rem;height:2.25rem;font-size:1rem;display:grid}.profile-field-grid{gap:.5rem;display:grid}.profile-field{background:#f8fafc;border:1px solid #94a3b82e;border-radius:.7rem;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;padding:.58rem .65rem;transition:border-color .12s,background .12s;display:grid}.profile-field:hover{background:#fff;border-color:#94a3b852}.profile-field__icon{background:#fff;border-radius:.55rem;place-items:center;width:2rem;height:2rem;font-size:.95rem;display:grid;box-shadow:0 1px 3px #0f172a0f}.profile-field__body{min-width:0}.profile-field__label{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;font-size:.64rem;font-weight:700;line-height:1.2;display:block}.profile-field__value{color:#0f172a;word-break:break-word;margin-top:.1rem;font-size:.9rem;font-weight:600;line-height:1.35;display:block}.profile-page__card--password{padding:1rem 1.05rem 1.1rem}@media (width<=720px){.profile-hero__main{flex-direction:column;align-items:flex-start}.profile-details-grid{grid-template-columns:1fr}}.profile-page--student .profile-hero__name{color:#0f172a}.profile-page--student .profile-detail-panel{border-radius:1rem}.profile-page__identity{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.profile-page__avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#cffafe);border-radius:1.1rem;place-items:center;width:4.5rem;height:4.5rem;font-size:1.5rem;font-weight:800;display:grid;overflow:hidden}.profile-page__avatar-image{object-fit:cover;width:100%;height:100%}.student-amica-cta{justify-content:stretch;display:flex}.student-amica-cta .button{border-radius:1rem;justify-content:center;width:100%;padding:1rem 1.25rem;font-size:1.1rem;font-weight:800;box-shadow:0 14px 32px #2563eb38}.student-homework-pill{color:#9a3412;background:#fff7ed;border:1px solid #ea580c40;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.leadership-pending-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.leadership-pending-panel .panel-card__header h3{margin:0 0 .25rem}.leadership-action-list{gap:.55rem;display:grid}.leadership-action-row{color:inherit;background:#fff;border:1px solid #94a3b833;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;font-weight:700;text-decoration:none;display:flex}.leadership-action-row:hover{background:#f8fafc;border-color:#2563eb59}.leadership-action-row__right{flex-shrink:0;align-items:center;gap:.65rem;display:inline-flex}.leadership-action-row__badge{color:#1d4ed8;background:#eff6ff;border-radius:999px;justify-content:center;min-width:1.75rem;padding:.2rem .55rem;font-size:.85rem;font-weight:800;display:inline-flex}.leadership-action-row__cta{color:#2563eb;font-size:.88rem;font-weight:800}.leadership-quick-pills{flex-wrap:wrap;gap:.55rem;display:flex}.leadership-quick-pill{color:#1d4ed8;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #2563eb38;border-radius:999px;align-items:center;padding:.55rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.leadership-quick-pill:hover{background:#dbeafe}.leadership-pending-card{color:inherit;background:#ffffffe6;border:1px solid #94a3b829;border-radius:1rem;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;text-decoration:none;display:flex}.leadership-pending-card strong{font-size:1.5rem}.exco-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width>=960px){.exco-hub-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.exco-hub-card{color:inherit;background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b829;border-radius:1.15rem;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;display:flex;position:relative;box-shadow:0 14px 32px #0f172a0f}.exco-hub-card__badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;font-size:.78rem;font-weight:800;display:inline-flex;position:absolute;top:.85rem;right:.85rem;box-shadow:0 6px 14px #dc262659}.exco-hub-card--large{justify-content:center;min-height:9.5rem;padding:1.35rem 1.25rem;transition:transform .15s,box-shadow .15s}.exco-hub-card--large:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0f172a1a}.exco-hub-card__icon{font-size:2rem}.exco-hub-card__subtitle{color:#64748b;font-size:.92rem;font-weight:600}.proposal-status-row{flex-wrap:wrap;gap:.65rem;display:flex}.teacher-assigned-panel{background:radial-gradient(circle at 100% 0,#3b82f61a,#0000 42%),linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #2563eb24;overflow:hidden;box-shadow:0 18px 40px #0f172a0f}.teacher-assigned-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.25rem;padding:1.15rem 1.2rem 0;display:flex}.teacher-assigned-panel__intro h3{margin:.2rem 0 .35rem}.teacher-assigned-panel__eyebrow{color:#1d4ed8;letter-spacing:.06em;text-transform:uppercase;background:#2563eb1a;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.teacher-assigned-panel__actions{flex-wrap:wrap;gap:.55rem;display:flex}.teacher-assigned-panel__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.9rem 1.2rem .25rem;display:grid}.teacher-assigned-stat{background:#ffffffe0;border:1px solid #94a3b829;border-radius:.9rem;gap:.2rem;padding:.7rem .8rem;display:grid}.teacher-assigned-stat span{color:#64748b;letter-spacing:.03em;text-transform:uppercase;font-size:.76rem;font-weight:700}.teacher-assigned-stat strong{color:#0f172a;font-size:1.2rem;line-height:1.1}.teacher-assigned-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;padding:1rem 1.2rem 1.2rem;display:grid}.teacher-assigned-card{color:inherit;background:#fffffff2;border:1px solid #94a3b829;border-radius:1rem;grid-template-columns:auto 1fr;grid-template-areas:"avatar body""cta cta";gap:.55rem .75rem;padding:.95rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.teacher-assigned-card:hover{border-color:#2563eb52;transform:translateY(-2px);box-shadow:0 14px 28px #2563eb1f}.teacher-assigned-card__avatar{color:#1e3a8a;background:linear-gradient(135deg,#dbeafe,#93c5fd);border-radius:.9rem;grid-area:avatar;place-items:center;width:2.75rem;height:2.75rem;font-size:1rem;font-weight:800;display:grid}.teacher-assigned-card__body{grid-area:body;align-content:center;gap:.2rem;min-width:0;display:grid}.teacher-assigned-card__body strong{color:#0f172a;font-size:.98rem}.teacher-assigned-card__school,.teacher-assigned-card__level{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.35;display:block;overflow:hidden}.teacher-assigned-card__level{color:#2563eb;font-weight:700}.teacher-assigned-card__cta{color:#2563eb;grid-area:cta;font-size:.82rem;font-weight:800}@media (width<=900px){.teacher-assigned-panel__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.teacher-week-students{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-top:.75rem;display:grid}.teacher-week-student-card{text-align:center;background:#ffffffeb;border:1px solid #94a3b829;border-radius:1rem;flex-direction:column;align-items:center;gap:.5rem;padding:.85rem;display:flex}.teacher-week-student-card--link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}.teacher-week-student-card--link:hover{border-color:#2563eb59;transform:translateY(-2px);box-shadow:0 12px 24px #2563eb1f}.teacher-week-student-card__meta{font-size:.82rem;line-height:1.35}.teacher-week-student-card__cta{color:#2563eb;font-size:.82rem;font-weight:700}.teacher-week-student-card__avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:999px;place-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:grid}.student-attendance-streak{color:#c2410c;margin:0;font-weight:700}.student-attendance-streak-pill{color:#c2410c;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #ea580c47;border-radius:999px;align-items:center;width:fit-content;margin:0;padding:.55rem 1rem;font-weight:800;display:inline-flex}.student-homework-notice{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.student-homework-notice__content{flex:1}.student-homework-notice__content p{color:#334155;margin:0;font-weight:700}.student-homework-notice__content a{color:#2563eb;font-weight:800}.student-homework-notice__dismiss{flex-shrink:0;min-width:2.25rem;padding-inline:.5rem}.table-card__search{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.85rem;display:flex}.table-card__search-label{flex:14rem;margin:0}.table-card__search-input,.table-search-input{border:1px solid var(--border);border-radius:8px;width:100%;margin-bottom:0;padding:.5rem .75rem}.student-exam-uploads-list{border-top:1px solid var(--surface-border);margin-top:1.25rem;padding-top:1rem}.student-exam-uploads-list h4{margin:0 0 .75rem}.student-exam-uploads-list ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.student-exam-uploads-list li{border:1px solid var(--surface-border);background:var(--surface-strong);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;display:flex}.table-card__search-hint{font-size:.82rem}.reward-badge{color:#92400e;background:#fef3c7}.sidebar-backdrop{display:none}.sidebar-backdrop--visible{z-index:1090;background:#0f172a61;border:none;display:block;position:fixed;inset:0}.messages-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:stretch;gap:1rem;display:grid}.messages-sidebar__top,.messages-thread-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.messages-search{margin:1rem 0}.messages-search input{background:#f8fafc;border-radius:999px}.messages-new-chat{gap:.9rem;display:grid}.messages-selection{flex-wrap:wrap;gap:.55rem;display:flex}.messages-sidebar,.messages-thread-panel{background:linear-gradient(#fff,#f8fafc);min-height:540px}.messages-thread-list,.messages-bubble-list,.messages-contact-list{gap:.85rem;display:grid}.messages-thread-card{text-align:left;background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:1.1rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;width:100%;padding:1rem;display:grid}.messages-thread-card__row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.messages-thread-card__title{font-size:.98rem}.messages-thread-card__content,.messages-contact-card__content{gap:.2rem;min-width:0;display:grid}.messages-thread-card__preview{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.messages-thread-card--active{background:linear-gradient(#f0fdf4,#fff);border-color:#86efac;box-shadow:inset 0 0 0 1px #22c55e}.messages-contact-card{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;width:100%;padding:.95rem 1rem;display:grid}.messages-contact-card--selected{background:#f0fdf4;border-color:#86efac;box-shadow:inset 0 0 0 1px #22c55e}.messages-thread-card__avatar,.messages-contact-card__avatar,.messages-thread-header__avatar{color:#ecfeff;background:linear-gradient(135deg,#22c55e,#14b8a6);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.7rem;height:2.7rem;font-size:.88rem;font-weight:800;display:inline-flex}.messages-thread-content{gap:1rem;height:100%;min-height:540px;display:grid}.messages-bubble-list{background:radial-gradient(circle at top,#22c55e14,#0000 32%),linear-gradient(#f8fafc,#fff);border:1px solid #94a3b824;border-radius:1.1rem;align-content:start;max-height:460px;padding:.75rem;overflow-y:auto}.message-bubble-row{display:flex}.message-bubble-row--own{justify-content:flex-end}.message-bubble{background:#fff;border:1px solid #e2e8f0;border-radius:1.1rem 1.1rem 1.1rem .35rem;max-width:min(78%,34rem);padding:.9rem 1rem .6rem;box-shadow:0 8px 18px #0f172a0a}.message-bubble--own{background:linear-gradient(#dcfce7,#bbf7d0);border-color:#86efac;border-radius:1.1rem 1.1rem .35rem}.message-bubble__sender{margin-bottom:.35rem;display:block}.message-bubble__meta{text-align:right;margin-top:.45rem}.message-bubble p{margin:0}.messages-thread-header__identity{align-items:center;gap:.8rem;display:flex}.messages-thread-header h3,.messages-thread-header p{margin:0}.message-composer{margin-top:auto}.message-composer__row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.message-composer textarea{background:#f8fafc;border-radius:1.25rem;min-height:64px}.child-upload-grid{align-items:start}.child-button{justify-self:start}@media (width<=880px){.app-shell{grid-template-columns:1fr}.app-shell:not(.app-shell--student) .sidebar:not(.sidebar--open){transform:translate(-100%)}.app-shell:not(.app-shell--student) .topbar__menu{display:inline-flex}.sidebar{z-index:1100;width:min(300px,92vw);max-width:100vw;height:100dvh;max-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.topbar__menu{display:inline-flex}.sidebar-backdrop{z-index:1090;background:#0f172a61;border:none;display:block;position:fixed;inset:0}.page-container,.topbar,.student-top-tabs{padding:1rem}.split-grid,.student-story-grid,.student-overview-layout,.student-overview-mini-grid,.leadership-kpi__totals,.leadership-kpi__charts,.student-homework-summary,.student-notice-strip__list,.student-amica-modal__summary,.messages-layout,.student-submission-launcher__actions{grid-template-columns:1fr}.student-floating-chat{bottom:1rem;right:1rem}.child-hero{flex-direction:column;align-items:flex-start}.child-hero__content{align-items:flex-start}.student-id-card__body,.student-id-card__columns,.student-id-card__details,.student-id-modal__grid,.student-id-modal__split,.student-id-card__columns,.student-homework-jump-nav,.student-id-modal__list,.student-next-steps,.leadership-kpi__row:not(.leadership-home__bar-row){grid-template-columns:1fr}.parent-form-card__top{flex-direction:column}.student-id-card__info,.student-goal-form__controls,.message-composer__row,.login-shortcuts__grid{grid-template-columns:1fr}.student-id-card__actions{align-content:start}.student-id-card__details--secondary{border-top:1px solid #94a3b829;border-left:none;padding-top:.65rem;padding-left:0}.student-id-card__aside{width:100%;min-height:auto}.student-id-card__top--singpass{padding-right:6rem}.balance-track__labels,.kid-list-card__top,.messages-sidebar__top,.messages-thread-card__row,.student-cards-shell__header,.student-id-card__top,.student-id-card__banner,.student-credit-card__footer,.message-bubble__meta{flex-direction:column}.messages-thread-header__identity{align-items:flex-start}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar__nav-group-label{text-transform:uppercase;letter-spacing:.12em;color:#94a3b8c7;white-space:normal;overflow-wrap:anywhere;margin:1.35rem 0 .4rem;font-size:.7rem;line-height:1.3}.sidebar__nav .sidebar__nav-group-label:first-child{margin-top:.25rem}.topbar__avatar{object-fit:cover;border:2px solid #ffffffa6;border-radius:999px;flex-shrink:0;width:2.5rem;height:2.5rem;box-shadow:0 8px 20px #0f172a1f}.topbar__avatar--placeholder{color:#0f172a;background:linear-gradient(135deg,#3b82f659,#14b8a659);place-items:center;font-weight:800;display:grid}.messages-teams,.messages-chat{min-height:min(78vh,760px)}.messages-chat .messages-layout{background:#fff;border:1px solid #94a3b838;border-radius:1rem;grid-template-columns:minmax(300px,34%) minmax(0,1fr);gap:0;min-height:min(78vh,760px);display:grid;overflow:hidden;box-shadow:0 16px 40px #0f172a1a}.messages-sidebar{min-height:0;box-shadow:none;background:#fff;border-right:1px solid #e9edef;border-radius:0;flex-direction:column;padding:0;display:flex}.messages-chat .messages-sidebar__header,.messages-chat .messages-chat-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #94a3b82e}.messages-sidebar__header{background:#f0f2f5;border-bottom:1px solid #e9edef;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.messages-sidebar__title{color:#111b21;margin:0;font-size:1.05rem;font-weight:700}.messages-sidebar__child{background:#fff;border-bottom:1px solid #e9edef;gap:.3rem;margin:0;padding:.45rem .75rem .5rem;display:grid}.messages-sidebar__child-label{color:#64748b;letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:600}.messages-sidebar__child-select{color:#0f172a;background:#f8fafc;border:1px solid #94a3b859;border-radius:.45rem;width:100%;max-width:100%;padding:.42rem .55rem;font-size:.82rem;line-height:1.25}.messages-sidebar__search{background:#fff;border-bottom:1px solid #e9edef;margin:0;padding:.55rem .75rem}.messages-sidebar__search-input{background:#f0f2f5;border:none;border-radius:.5rem;width:100%;padding:.55rem .85rem;font-size:.92rem}.messages-sidebar__list-wrap{flex:1;min-height:0;overflow-y:auto}.messages-sidebar__error{margin:.5rem .75rem 0}.messages-thread-list{gap:0;display:block}.messages-thread-row{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f0f2f5;border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;width:100%;padding:.72rem 1rem;display:grid}.messages-thread-row:hover{background:#f5f6f6}.messages-thread-row--active{background:#f0f2f5}.messages-thread-row__avatar{color:#54656f;background:#dfe5e7;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:.95rem;font-weight:700;display:inline-flex}.messages-thread-row__body{gap:.15rem;min-width:0;display:grid}.messages-thread-row__top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.messages-thread-row__name{color:#111b21;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.messages-thread-row__time{color:#667781;flex-shrink:0;font-size:.72rem}.messages-thread-row__preview{color:#667781;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.messages-chat-pane{background:#efeae2;flex-direction:column;min-width:0;min-height:0;display:flex}.messages-chat .messages-chat-pane{background:#f2f2f7}.messages-chat-header{background:#f0f2f5;border-bottom:1px solid #e9edef;align-items:center;gap:.75rem;min-height:3.75rem;padding:.65rem 1rem;display:flex}.messages-chat-header__back{color:#54656f;cursor:pointer;background:0 0;border:none;padding:.25rem .45rem;font-size:1.25rem;line-height:1;display:none}.messages-chat-header__avatar{color:#54656f;background:#dfe5e7;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.85rem;font-weight:800;display:inline-flex}.messages-chat-header__identity{min-width:0}.messages-chat-header__name{color:#111b21;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.messages-chat-header__status{color:#667781;margin:.1rem 0 0;font-size:.78rem}.messages-chat-body{flex-direction:column;flex:1;min-height:0;display:flex}.messages-chat-empty{background:#f0f2f5;flex:1;place-items:center;padding:2rem;display:grid}.messages-chat .messages-thread-panel,.messages-chat .messages-sidebar{min-height:0}.messages-chat .messages-thread-content{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.messages-chat .messages-bubble-list{background:#f2f2f7;border:none;border-radius:0;flex:1;min-height:0;max-height:none;padding:1rem 5%;overflow-y:auto}.messages-chat .message-bubble{color:#0f172a;max-width:min(72%,26rem);box-shadow:none;background:#e9e9eb;border:none;border-radius:1.15rem;padding:.55rem .8rem .45rem}.messages-chat .message-bubble--own{color:#fff;background:#007aff;border-radius:1.15rem}.messages-chat .message-bubble--own .message-bubble__meta{color:#ffffffc7}.messages-chat .message-bubble__sender{color:#2563eb;margin-bottom:.15rem;font-size:.78rem}.messages-chat .message-bubble__meta{text-align:right;color:#64748b;margin-top:.2rem;font-size:.68rem}.messages-chat .message-bubble__attachment{color:inherit;cursor:pointer;background:#0f172a14;border:none;border-radius:.65rem;align-items:center;gap:.35rem;margin-top:.35rem;padding:.35rem .55rem;font-size:.82rem;display:inline-flex}.messages-chat .message-bubble--own .message-bubble__attachment{background:#ffffff2e}.messages-chat .message-composer{background:#fffffff5;border-top:1px solid #94a3b829;margin:0;padding:.65rem .85rem .85rem}.messages-chat .message-composer__emoji-panel{background:#f8fafc;border:1px solid #94a3b829;border-radius:.85rem;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;padding:.5rem;display:flex}.messages-chat .message-composer__emoji{cursor:pointer;background:0 0;border:none;border-radius:.45rem;padding:.2rem;font-size:1.25rem;line-height:1}.messages-chat .message-composer__emoji:hover{background:#2563eb1a}.messages-chat .message-composer__pending{background:#eff6ff;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.45rem;padding:.45rem .65rem;font-size:.85rem;display:flex}.messages-chat .message-composer__pending button{color:#2563eb;cursor:pointer;background:0 0;border:none;font-weight:700}.messages-chat .message-composer__row{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:flex-end;gap:.45rem;display:grid}.messages-chat .message-composer__icon{cursor:pointer;background:#e9e9eb;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1rem;display:inline-flex}.messages-chat .message-composer textarea{resize:none;background:#fff;border:1px solid #94a3b838;border-radius:1.25rem;min-height:2.35rem;max-height:6rem;padding:.55rem .85rem}.messages-chat .message-composer__send{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;padding:0;font-size:1.1rem;font-weight:800;display:inline-flex}.messages-chat .message-composer__send:disabled{opacity:.6;cursor:not-allowed}@media (width>=721px){.messages-chat .messages-layout{grid-template-columns:minmax(320px,38%) minmax(0,1fr)!important}.messages-chat-header__back{display:none!important}}@media (width<=960px) and (width>=721px){.messages-chat .messages-layout{grid-template-columns:minmax(260px,42%) minmax(0,1fr)!important}}.messages-sidebar__search{margin:0 0 .75rem;display:block}.messages-thread-header__back{display:none}@media (width<=720px){.messages-layout--mobile-thread .messages-sidebar{display:none}.messages-layout--mobile-thread .messages-chat-pane{min-height:min(70vh,640px)}.messages-chat-header__back{flex-shrink:0;display:inline-flex}}.messages-teams__search{padding:1rem 1.25rem}.messages-teams__search-input{border:1px solid #94a3b838;border-radius:.9rem;width:100%;padding:.85rem 1rem;font-size:1rem}.messages-teams__search-hints{margin-top:.5rem;font-size:.9rem}.messages-directory-header{flex-direction:column;gap:.2rem;margin:.75rem 0;display:flex}.messages-contact-card__photo{object-fit:cover;border-radius:999px;width:2.5rem;height:2.5rem}.calendar-event-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.calendar-event-list--upcoming{gap:1.125rem}.panel-card--calendar-upcoming{box-shadow:var(--shadow-soft), 0 0 0 1px #fff9 inset;background:linear-gradient(145deg,#fffffff7,#eef2ff8c),radial-gradient(circle at 0 0,#0ea5e91a,#0000 45%),radial-gradient(circle at 100% 20%,#6366f11f,#0000 42%);border-color:#6366f138}.calendar-upcoming-intro{border-bottom:1px solid #94a3b82e;margin-bottom:1.35rem;padding-bottom:.35rem}.calendar-upcoming-intro h3{letter-spacing:-.02em;color:#0f172a;margin:.25rem 0 0;font-size:1.35rem;font-weight:800}.calendar-upcoming-intro .muted-text{max-width:42rem;margin:.45rem 0 0;line-height:1.55}.calendar-upcoming-intro__eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--brand-primary);opacity:.85;font-size:.68rem;font-weight:800;display:inline-block}.calendar-event-card{background:linear-gradient(#ffffffeb,#f8fafce0);border:1px solid #94a3b833;border-radius:1.15rem;margin:0;padding:0;list-style:none;transition:border-color .2s,box-shadow .2s,transform .18s;overflow:hidden;box-shadow:0 10px 28px #0f172a0d,inset 0 1px #ffffffd9}.calendar-event-card:hover{border-color:#6366f147;box-shadow:0 14px 34px #4f46e51a,inset 0 1px #ffffffe6}.calendar-event-card--demo{background:linear-gradient(125deg,#eff6fff7,#ffffffe6),radial-gradient(circle at 0 0,#38bdf81a,#0000 52%);border-color:#3b82f652}.calendar-event-card--editing{border-color:#2563eb61;box-shadow:0 16px 40px #2563eb1f,inset 0 0 0 1px #3b82f61f}.calendar-event-card__body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem 1.15rem;padding:1.1rem 1.25rem 1.2rem;display:grid}.calendar-event-card__date-badge{color:#f8fafc;background:linear-gradient(160deg,#1e293b,#334155);border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;min-width:3.85rem;padding:.55rem .45rem;display:flex;box-shadow:0 10px 22px #0f172a33,inset 0 1px #ffffff1f}.calendar-event-card__date-badge-wk{text-transform:uppercase;letter-spacing:.1em;opacity:.88;font-size:.62rem;font-weight:800;line-height:1.15}.calendar-event-card__date-badge-day{letter-spacing:-.04em;margin-top:.08rem;font-size:1.65rem;font-weight:900;line-height:1}.calendar-event-card__date-badge-mo{opacity:.9;text-transform:uppercase;margin-top:.08rem;font-size:.72rem;font-weight:700}.calendar-event-card__main{flex-direction:column;gap:.65rem;min-width:0;display:flex}.calendar-event-card__head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.calendar-event-card__title{letter-spacing:-.015em;color:#0f172a;margin:0;font-size:1.05rem;font-weight:800;line-height:1.3}.calendar-event-card__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.4rem;display:flex}.button.button--calendar-edit{color:#1d4ed8;background:linear-gradient(#eff6fff2,#dbeafe8c);border:1px solid #3b82f659;border-radius:.65rem;padding:.38rem .82rem;font-size:.82rem;font-weight:700}.button.button--calendar-edit:hover:not(:disabled){border-color:#2563eb73;box-shadow:0 8px 18px #2563eb1f}.button.button--calendar-delete{color:#b91c1c;background:#fef2f2e6;border:1px solid #f8717166;border-radius:.65rem;padding:.38rem .72rem;font-size:.82rem;font-weight:700}.button.button--calendar-delete:hover:not(:disabled){background:#fee2e2f2;border-color:#ef444473}.calendar-event-card__schedule{background:#f8fafcf2;border:1px solid #94a3b833;border-radius:.85rem;align-items:flex-start;gap:.65rem;padding:.55rem .72rem;display:flex}.calendar-event-card__schedule-icon{background:#ffffffe6;border:1px solid #94a3b838;border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;width:1.95rem;height:1.95rem;font-size:1rem;display:inline-flex}.calendar-event-card__schedule-text{flex-direction:column;gap:.12rem;min-width:0;display:flex}.calendar-event-card__schedule-date{color:#334155;font-size:.92rem;font-weight:700;line-height:1.35}.calendar-event-card__schedule-time{color:#64748b;font-size:.84rem;font-weight:600;line-height:1.4}.calendar-event-card__badges{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.calendar-event-card__pill{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;gap:.25rem;padding:.36rem .72rem;font-size:.74rem;font-weight:800;line-height:1.2;display:inline-flex}.calendar-event-card__pill--programme{color:#1d4ed8;background:#2563eb1a;border:1px solid #3b82f638}.calendar-event-card__pill--week{text-transform:none;letter-spacing:.02em;font-weight:800}.calendar-event-card__pill--week-a{color:#047857;background:linear-gradient(135deg,#22c55e29,#ccfbf1b8);border:1px solid #14b8a647;box-shadow:0 6px 14px #14b8a617}.calendar-event-card__pill--week-b{color:#1d4ed8;background:linear-gradient(135deg,#3b82f626,#dbeafedb);border:1px solid #3b82f642;box-shadow:0 6px 14px #2563eb17}.calendar-event-card__pill--week-neutral{color:#475569;background:#64748b1f;border:1px solid #64748b2e}.calendar-event-card__pill--week-muted{color:#475569;background:#94a3b824;border:1px solid #94a3b840}.calendar-event-card__desc{color:#475569;background:#ffffffb3;border:1px dashed #94a3b859;border-radius:.75rem;margin:0;padding:.55rem .65rem;font-size:.92rem;line-height:1.52}.calendar-event-card__teacher-note .calendar-teacher-week-line{margin:0}@media (width<=560px){.calendar-event-card__body{grid-template-columns:1fr;gap:.85rem;padding-inline:1rem}.calendar-event-card__date-badge{flex-direction:row;justify-content:center;gap:.65rem;width:100%;min-width:0;padding:.5rem .85rem}.calendar-event-card__date-badge-day{font-size:1.35rem}.calendar-event-card__head{flex-direction:column-reverse;align-items:stretch}.calendar-event-card__actions{justify-content:flex-start}}.calendar-event-row{background:#ffffffa6;border:1px solid #94a3b829;border-radius:1rem;flex-direction:column;gap:0;padding:1rem;display:flex}.calendar-event-row__top{justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;display:flex}.calendar-event-row__buttons{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}.calendar-event-edit{background:linear-gradient(#f8fafcfa,#f1f5f9f7),radial-gradient(circle at 100% 0,#6366f114,#0000 38%);border-top:1px solid #94a3b838;width:100%;margin:0;padding:1.05rem 1.25rem 1.2rem}.calendar-event-edit__intro{border-bottom:1px solid #94a3b833;margin-bottom:1rem;padding-bottom:.75rem}.calendar-event-edit__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#6366f1;font-size:.68rem;font-weight:800;display:inline-block}.calendar-event-edit__title-preview{color:#0f172a;letter-spacing:-.02em;margin:.35rem 0 0;font-size:1.05rem;font-weight:800}.calendar-event-edit__sections{flex-direction:column;gap:1rem;display:flex}.calendar-event-edit__fieldset{background:#ffffffdb;border:1px solid #94a3b83d;border-radius:.95rem;margin:0;padding:.85rem .95rem 1rem}.calendar-event-edit__fieldset legend{text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:0 .35rem;font-size:.74rem;font-weight:800}.calendar-event-edit__grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.calendar-event-edit__grid--details{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.calendar-event-edit__grid--schedule,.calendar-event-edit__grid--meta{grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr))}.calendar-event-edit__field--full{grid-column:1/-1}.calendar-event-edit__actions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1rem;display:flex}.calendar-event-edit__save{box-shadow:0 10px 26px #2563eb47;color:#fff!important;background:linear-gradient(135deg,#2563eb,#4338ca)!important;border:none!important;border-radius:.65rem!important;padding-inline:1.25rem!important;font-weight:800!important}.calendar-event-edit__save:hover:not(:disabled){filter:brightness(1.06)}.calendar-event-edit__save:disabled{opacity:.58}.calendar-event-row--demo{background:linear-gradient(125deg,#eff6fff2,#ffffffe0),radial-gradient(circle at 0 0,#38bdf81f,#0000 50%);border-color:#3b82f659;box-shadow:0 12px 28px #2563eb14}.calendar-event-row--assigned{background:linear-gradient(125deg,#f0fdf4f2,#ffffffe6),radial-gradient(circle at 0 0,#22c55e1f,#0000 50%);border-color:#22c55e40}.calendar-event-row__main{flex:1;min-width:0}.calendar-event-row__times{margin-top:.25rem}.calendar-event-row__desc{color:#334155;margin:.5rem 0 0;line-height:1.45}.calendar-event-row__rsvp-note{color:#0369a1;margin:.65rem 0 0;font-size:.88rem;font-weight:700}.calendar-event-row__assigned-pill{color:#15803d;background:#22c55e1f;border:1px solid #22c55e38;margin-left:.4rem}.status-pill--programme{color:#1d4ed8;background:#2563eb1a;border:1px solid #3b82f638;margin-top:.5rem}.calendar-rsvp-bar{background:#f8fafc;border:1px solid #94a3b83d;border-radius:1.1rem;gap:.85rem;margin-top:.85rem;padding:.85rem;display:grid}.calendar-rsvp-bar__header{margin:0}.calendar-rsvp-bar__header h4{color:#fff;margin:.2rem 0 0;font-size:1.02rem}.calendar-rsvp-bar .calendar-rsvp-bar__hint{color:#ffffffeb;margin:.35rem 0 0;font-size:.86rem;font-weight:500;line-height:1.45}.calendar-rsvp-bar .student-session-attendance__confirm-row{color:#0f172a;background:#fff;border-color:#94a3b847;font-weight:600}.calendar-rsvp-bar--locked{background:linear-gradient(135deg,#f0fdf4f2,#fffffffa);border-color:#22c55e38}.calendar-rsvp-bar__label{text-transform:uppercase;letter-spacing:.08em;color:#0f172a;margin-bottom:.45rem;font-size:.72rem;font-weight:800;display:block}.calendar-rsvp-bar__hint{color:#334155;margin:.5rem 0 0;font-size:.84rem;line-height:1.45}.calendar-rsvp-bar__buttons{flex-wrap:wrap;gap:.45rem;display:flex}.calendar-rsvp-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #94a3b847;border-radius:999px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}.calendar-rsvp-btn:hover:not(:disabled){transform:translateY(-1px)}.calendar-rsvp-btn:disabled{opacity:.65;cursor:not-allowed}.calendar-rsvp-btn--active-going{color:#fff!important;background:linear-gradient(135deg,#22c55e,#16a34a)!important;border-color:#0000!important;box-shadow:0 8px 18px #22c55e47!important}.calendar-rsvp-btn--active-no{color:#fff!important;background:linear-gradient(135deg,#ef4444,#dc2626)!important;border-color:#0000!important;box-shadow:0 8px 18px #ef444447!important}.calendar-rsvp-btn--going{color:#15803d;border-color:#22c55e59}.calendar-rsvp-btn--not-going{color:#b91c1c;border-color:#ef444459}.calendar-rsvp-confirm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f172a,#1e293b);border:none;border-radius:999px;padding:.5rem 1rem;font-size:.82rem;font-weight:800;box-shadow:0 8px 18px #0f172a29}.calendar-rsvp-confirm:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.calendar-rsvp-lock{color:#15803d;background:#22c55e1f;border-radius:999px;align-items:center;padding:.5rem .85rem;font-size:.78rem;font-weight:800;display:inline-flex}.button--small{border-radius:.75rem;padding:.45rem .75rem;font-size:.82rem}.sessions-split{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1.25rem;display:grid}.sessions-mini-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.sessions-mini-list__btn{text-align:left;cursor:pointer;background:#f8fafce6;border:1px solid #0000;border-radius:.85rem;width:100%;padding:.75rem .85rem}.sessions-mini-list__btn--active{background:#dbeafe8c;border-color:#3b82f659}.sessions-roster-title{margin-top:1.25rem}.attendance-page__session-header{flex-wrap:wrap;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.5rem;display:flex}.attendance-page__location{color:#334155;margin:0;font-weight:600}.attendance-page__notice{background:#f8fafcf2;border:1px solid #94a3b829;border-radius:.9rem;margin-top:.75rem;padding:.85rem 1rem}.attendance-page__notice p{margin:.35rem 0 0}.attendance-summary{flex-wrap:wrap;gap:.45rem;margin:1rem 0 .25rem;display:flex}.attendance-summary__pill{border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.attendance-summary__pill--present{color:#15803d;background:#22c55e24}.attendance-summary__pill--absent{color:#b91c1c;background:#ef44441f}.attendance-summary__pill--late{color:#b45309;background:#f59e0b24}.attendance-summary__pill--excused{color:#1d4ed8;background:#3b82f61f}.attendance-roster{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.attendance-roster__row{background:#ffffffe0;border:1px solid #94a3b829;border-radius:1rem;padding:.9rem 1rem;box-shadow:0 8px 20px #0f172a0a}.messages-thread-row__avatar--photo,.messages-chat-header__avatar--photo,.message-bubble-row__avatar--photo,.attendance-roster__avatar--photo,.teacher-assigned-card__avatar--photo,.teacher-dashboard-attendance__avatar--photo,.teacher-dashboard-message-row__avatar--photo{object-fit:cover}.messages-thread-row__avatar--photo,.messages-chat-header__avatar--photo{border-radius:999px}.message-bubble-row{grid-template-columns:auto minmax(0,1fr);align-items:flex-end;gap:.45rem;display:grid}.message-bubble-row--own{grid-template-columns:minmax(0,1fr);justify-items:end}.message-bubble-row__avatar{color:#54656f;background:#dfe5e7;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;font-size:.72rem;font-weight:700;display:inline-flex}.message-bubble-row__avatar--photo{border-radius:999px}.attendance-roster__student{align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.attendance-roster__student-copy{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.attendance-roster__avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.82rem;font-weight:900;display:inline-flex}.attendance-roster__avatar--photo{border-radius:999px}.teacher-dashboard-attendance__identity{align-items:center;gap:.75rem;min-width:0;display:flex}.teacher-dashboard-attendance__avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;font-size:.82rem;font-weight:900;display:inline-flex}.teacher-assigned-card__avatar--photo,.teacher-dashboard-attendance__avatar--photo,.teacher-dashboard-message-row__avatar--photo{border-radius:999px}.teacher-dashboard-message-row__avatar--photo{width:2.35rem;height:2.35rem}.teacher-assigned-card__avatar--photo{width:2.5rem;height:2.5rem}.attendance-roster__controls{gap:.65rem;display:grid}.attendance-status-toggle{flex-wrap:wrap;gap:.4rem;display:flex}.attendance-status-toggle__btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #94a3b847;border-radius:999px;padding:.42rem .75rem;font-size:.78rem;font-weight:700;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.attendance-status-toggle__btn--present.attendance-status-toggle__btn--active{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#0000;box-shadow:0 6px 16px #22c55e47}.attendance-status-toggle__btn--absent.attendance-status-toggle__btn--active{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#0000;box-shadow:0 6px 16px #ef444447}.attendance-status-toggle__btn--late.attendance-status-toggle__btn--active{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#0000}.attendance-status-toggle__btn--excused.attendance-status-toggle__btn--active{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#0000}.attendance-status-toggle__btn--unknown.attendance-status-toggle__btn--active{color:#fff;background:#64748b;border-color:#0000}.attendance-status-pill{border-radius:999px;padding:.28rem .65rem;font-size:.75rem;font-weight:800;display:inline-flex}.attendance-status-pill--present{color:#15803d;background:#22c55e24}.attendance-status-pill--absent{color:#b91c1c;background:#ef44441f}.attendance-status-pill--late{color:#b45309;background:#f59e0b24}.attendance-status-pill--excused{color:#1d4ed8;background:#3b82f61f}.attendance-status-pill--unknown{color:#475569;background:#64748b1f}.attendance-roster__notes{color:#64748b;gap:.25rem;font-size:.82rem;display:grid}.attendance-roster__notes input{border:1px solid #94a3b838;border-radius:.75rem;width:100%;padding:.5rem .7rem}.attendance-roster__notes-read{margin:0}.teacher-home{gap:1.25rem}.teacher-home #teacher-dashboard-hub{order:-10}.teacher-card{color:#eef2ff;background:radial-gradient(circle at 90% 0,#93c5fd52,#0000 32%),linear-gradient(135deg,#0f172a,#1e40af 55%,#3b82f6);border-radius:1.35rem;gap:1rem;padding:1.2rem;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 48px #2563eb38}.teacher-card__main{z-index:1;align-items:center;gap:1rem;display:flex;position:relative}.teacher-card__photo-wrap{justify-items:center;gap:.45rem;display:grid}.teacher-card__photo,.teacher-card__photo-placeholder{object-fit:cover;border:2px solid #ffffff61;border-radius:1.15rem;width:5.5rem;height:5.5rem}.teacher-card__photo-placeholder{color:#fff;background:#ffffff29;place-items:center;font-size:2rem;font-weight:900;display:grid}.teacher-card__photo-button{color:#fff;cursor:pointer;background:#ffffff29;border-radius:999px;justify-content:center;align-items:center;padding:.32rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}.teacher-card__identity{min-width:0}.teacher-card__week-pill{margin-top:.55rem;font-size:.78rem;display:inline-flex}.teacher-card h2,.teacher-card p{z-index:1;margin:0;position:relative}.teacher-card__eyebrow{z-index:1;letter-spacing:.08em;text-transform:uppercase;color:#bfdbfe;margin-bottom:.25rem;font-size:.72rem;font-weight:800;display:inline-flex;position:relative}.teacher-card__grid,.teacher-card__hours{z-index:1;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.65rem;display:grid;position:relative}.teacher-card__grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-card__grid span,.teacher-card__hours span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-radius:.9rem;gap:.15rem;padding:.7rem;display:grid}.teacher-card small{color:#eff6ffb8;font-weight:700}.teacher-card strong{color:#fff}.teacher-card--singpass{color:#0f172a;background:radial-gradient(circle at 100% 100%,#0ea5e92e,#0000 34%),radial-gradient(circle at 0 0,#1e40af1f,#0000 30%),linear-gradient(135deg,#f0f9ff,#fff 45%,#dbeafe 100%);border:1px solid #0ea5e938;gap:.95rem;width:min(700px,100%);padding:1.15rem;box-shadow:0 22px 46px #2563eb29}.teacher-card--singpass:after{content:"";opacity:.9;pointer-events:none;background:radial-gradient(circle,#0ea5e929,#0000 62%),repeating-radial-gradient(circle,#0000 0 12px,#2563eb14 12px 14px);width:17rem;height:11rem;position:absolute;inset:auto -2rem -2.5rem auto}.teacher-card--singpass:before{content:"";background:linear-gradient(#0ea5e9,#1d4ed8);width:.5rem;position:absolute;inset:0 auto 0 0}.teacher-card--singpass strong,.teacher-card--singpass dd{color:#0f172a}.teacher-card--singpass .student-id-card__eyebrow,.teacher-card--singpass .student-id-card__aside-label,.teacher-card--singpass .student-id-card__mini-details dt,.teacher-card--singpass .student-id-card__details dt{color:#0369a1}.teacher-card--singpass .student-id-card__status-badge{color:#0369a1;background:#e0f2fe;margin-top:0;box-shadow:0 8px 18px #2563eb24}.teacher-card--singpass .week-pill--a{color:#047857;background:linear-gradient(135deg,#ccfbf1,#dcfce7);border-color:#14b8a647}.teacher-card--singpass .week-pill--b{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-color:#3b82f642}.teacher-card--singpass .student-id-card__number-badge{color:#0f766e;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border-color:#0ea5e938;box-shadow:0 10px 20px #0ea5e924}.teacher-card--singpass .teacher-card__badge-row{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.teacher-cards-shell{gap:1rem}.teacher-dashboard-hub,.teacher-dashboard-overview{background:radial-gradient(circle at 100% 0,#3b82f624,#0000 38%),radial-gradient(circle at 0 100%,#f59e0b1a,#0000 34%),linear-gradient(#fff 0%,#f8fafc 55%,#f1f5f9 100%);border:1px solid #94a3b833;order:2;overflow:hidden;box-shadow:0 22px 50px #0f172a12}.teacher-home .teacher-cards-shell{order:1}.teacher-dashboard-hub__hero{border-bottom:1px solid #94a3b824;padding:1.25rem 1.35rem .5rem}.teacher-dashboard-hub__eyebrow{color:#1d4ed8;letter-spacing:.06em;text-transform:uppercase;background:#2563eb1a;border-radius:999px;padding:.22rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.teacher-dashboard-hub__hero h3{color:#0f172a;margin:.45rem 0 .35rem}.teacher-dashboard-hub__metrics,.teacher-dashboard-overview__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;padding:1rem 1.35rem .25rem;display:grid}.teacher-dashboard-tile{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fffffff0;border:1px solid #e2e8f0f2;border-radius:1.15rem;gap:.35rem;padding:1rem 1rem .85rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 12px 28px #0f172a0d}button.teacher-dashboard-tile{appearance:none}.teacher-dashboard-tile:hover{border-color:#2563eb47;transform:translateY(-3px);box-shadow:0 18px 36px #2563eb1f}.teacher-dashboard-tile__icon{font-size:1.35rem;line-height:1}.teacher-dashboard-tile__label{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.teacher-dashboard-tile strong{color:#0f172a;font-size:1.85rem;line-height:1.05}.teacher-dashboard-tile p{color:#475569;margin:0;font-size:.84rem;line-height:1.4}.teacher-dashboard-tile__cta{color:#2563eb;margin-top:.15rem;font-size:.82rem;font-weight:800}.teacher-dashboard-tile--students{background:linear-gradient(145deg,#ede9fef2,#fff)}.teacher-dashboard-tile--homework{background:linear-gradient(145deg,#ffedd5f2,#fff)}.teacher-dashboard-tile--hours{background:linear-gradient(145deg,#dcfce7f2,#fff)}.teacher-dashboard-tile--rewards{background:linear-gradient(145deg,#ccfbf1f2,#fff)}.teacher-dashboard-hub__roster{background:radial-gradient(circle at 0 0,#2563eb12,#0000 42%),#fffffff5;border:1px solid #2563eb1f;border-radius:1.2rem;margin:1rem 1.35rem 0;padding:1.1rem}.teacher-dashboard-hub__roster-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.9rem;display:flex}.teacher-dashboard-hub__roster-header h4{color:#0f172a;margin:0;font-size:1.05rem}.teacher-dashboard-hub__roster-link{color:#2563eb;font-size:.86rem;font-weight:800;text-decoration:none}.teacher-dashboard-hub__roster-link:hover{text-decoration:underline}.teacher-dashboard-hub__roster .teacher-assigned-grid{padding:0}.teacher-dashboard-hub .teacher-assigned-card{background:#fff;border-color:#94a3b82e}.teacher-assigned-card__badge{color:#c2410c;background:#f9731624;border-radius:999px;width:fit-content;margin-top:.15rem;padding:.18rem .5rem;font-size:.72rem;font-weight:800;display:inline-flex}@media (width<=1100px){.teacher-dashboard-hub__metrics,.teacher-dashboard-overview__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.teacher-dashboard-hub__metrics,.teacher-dashboard-overview__grid{grid-template-columns:1fr}}.teacher-dashboard-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:1.25rem;gap:.55rem;padding:1rem;display:grid;box-shadow:0 14px 30px #0f172a0b}.teacher-dashboard-card span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.teacher-dashboard-card strong{color:#0f172a;font-size:1.75rem}.teacher-dashboard-card p{color:#475569;margin:0;font-size:.88rem;line-height:1.45}.teacher-dashboard-card--students{background:linear-gradient(135deg,#ede9fe,#fff)}.teacher-dashboard-card--homework{background:linear-gradient(135deg,#ffedd5,#fff)}.teacher-dashboard-card--hours{background:linear-gradient(135deg,#dcfce7,#fff)}.teacher-dashboard-card--rewards{background:linear-gradient(135deg,#ccfbf1,#fff)}.teacher-dashboard-hub .teacher-dashboard-hub__connect{border-top:1px solid #94a3b824;gap:1rem;margin:1rem 1.35rem 1.35rem;padding-top:1rem;display:grid}.teacher-dashboard-hub__connect-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.teacher-dashboard-hub__connect-eyebrow{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:900;display:inline-block}.teacher-dashboard-hub__connect-header h4{color:#0f172a;margin:0 0 .35rem}.teacher-dashboard-hub__connect-header .muted-text{max-width:42rem;margin:0}.teacher-dashboard-hub__connect-calendar{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:999px;justify-content:center;align-items:center;min-height:2.5rem;padding:0 1rem;font-size:.88rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 12px 24px #2563eb29}.teacher-dashboard-hub__connect-calendar:hover{color:#fff}.teacher-dashboard-connect-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.teacher-dashboard-connect-card{background:#ffffffe0;border:1px solid #e2e8f0eb;border-radius:1.25rem;gap:.85rem;padding:1rem;display:grid}.teacher-dashboard-connect-card--sessions{background:linear-gradient(#fffffff5,#f8fafceb)}.teacher-dashboard-connect-card--messages{background:linear-gradient(#fffffff5,#f5f3ffb8)}.teacher-dashboard-connect-card__head{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.teacher-dashboard-connect-card__label{color:#0f172a;margin-bottom:.25rem;font-size:.98rem;font-weight:900;display:block}.teacher-dashboard-connect-card__hint{color:#64748b;margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.teacher-dashboard-connect-card__count{color:#1d4ed8;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;min-width:2rem;height:2rem;padding:0 .55rem;font-size:.88rem;font-weight:900;display:inline-flex}.teacher-dashboard-connect-card__count--zero{color:#64748b;background:#f1f5f9}.teacher-dashboard-connect-card__inbox{color:#5b21b6;white-space:nowrap;background:#ede9fe;border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:0 .85rem;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-flex}.teacher-dashboard-connect-card__inbox:hover{color:#4c1d95}.teacher-dashboard-connect-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.teacher-dashboard-connect-list__item{background:#f8fafc;border:1px solid #94a3b829;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.teacher-dashboard-connect-list__copy{gap:.2rem;display:grid}.teacher-dashboard-connect-list__copy strong{color:#0f172a}.teacher-dashboard-connect-list__copy span{color:#64748b;font-size:.82rem;font-weight:800}.teacher-dashboard-connect-empty{background:#f8fafc;border:1px dashed #94a3b859;border-radius:1rem;gap:.35rem;padding:.95rem 1rem;display:grid}.teacher-dashboard-connect-empty strong{color:#0f172a;font-size:.92rem}.teacher-dashboard-connect-empty p{color:#64748b;margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.teacher-dashboard-message-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.teacher-dashboard-message-row{color:inherit;background:#fff;border:1px solid #94a3b82e;border-radius:1rem;align-items:center;gap:.75rem;padding:.75rem .85rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.teacher-dashboard-message-row:hover{border-color:#2563eb47;box-shadow:0 10px 20px #0f172a0f}.teacher-dashboard-message-row__avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;font-size:.95rem;font-weight:900;display:inline-flex}.teacher-dashboard-message-row__body{flex:1;gap:.15rem;min-width:0;display:grid}.teacher-dashboard-message-row__body strong{color:#0f172a;font-size:.92rem}.teacher-dashboard-message-row__body span{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:800;overflow:hidden}.teacher-dashboard-message-row__action{color:#2563eb;white-space:nowrap;font-size:.82rem;font-weight:900}.teacher-dashboard-hub .teacher-dashboard-overview__panels{border-top:1px solid #94a3b824;grid-template-columns:minmax(0,1fr) minmax(320px,1.15fr) minmax(260px,.75fr);gap:1rem;margin:1rem 1.35rem 1.35rem;padding-top:1rem;display:grid}.teacher-dashboard-panel{background:#ffffffe0;border:1px solid #e2e8f0eb;border-radius:1.25rem;gap:.85rem;padding:1rem;display:grid}.teacher-dashboard-panel__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.teacher-dashboard-panel__header h4{color:#0f172a;margin:0}.teacher-dashboard-panel__header p{margin:.2rem 0 0}.teacher-dashboard-panel__header a{color:#0369a1;font-size:.82rem;font-weight:900;text-decoration:none}.teacher-dashboard-header-button{border-radius:999px;justify-content:center;align-items:center;min-height:2.4rem;padding:.58rem .9rem;display:inline-flex;box-shadow:0 10px 22px #0f172a1f;color:#fff!important}.teacher-dashboard-header-button--calendar{background:linear-gradient(135deg,#2563eb,#0ea5e9)}.teacher-dashboard-header-button--messages{background:linear-gradient(135deg,#7c3aed,#2563eb)}.teacher-dashboard-session-select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.85rem;width:min(13rem,100%);padding:.62rem .75rem;font-weight:800}.teacher-dashboard-attendance{gap:.75rem;display:grid}.teacher-dashboard-attendance__session{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #2563eb1f;border-radius:1rem;gap:.2rem;padding:.75rem;display:grid}.teacher-dashboard-attendance__session strong{color:#0f172a}.teacher-dashboard-attendance__session span{color:#64748b;font-size:.82rem;font-weight:800}.teacher-dashboard-attendance__list{gap:.55rem;display:grid}.teacher-dashboard-attendance__row{background:#f8fafc;border:1px solid #94a3b829;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem;display:flex}.teacher-dashboard-attendance__row>div:first-child{gap:.35rem;display:grid}.teacher-dashboard-attendance__row strong{color:#0f172a}.teacher-dashboard-attendance__name{color:inherit;text-decoration:none}.teacher-dashboard-attendance__name:hover strong{color:#2563eb}.teacher-dashboard-attendance__actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.teacher-dashboard-list,.teacher-dashboard-shortcuts{gap:.65rem;display:grid}.teacher-dashboard-list__row{background:#f8fafc;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem;display:flex}.teacher-dashboard-list__row div{gap:.2rem;display:grid}.teacher-dashboard-list__row strong{color:#0f172a}.teacher-dashboard-list__row span:not(.week-pill){color:#64748b;font-size:.82rem;font-weight:800}.teacher-dashboard-calendar-link{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:1rem;justify-content:center;justify-self:stretch;align-items:center;min-height:2.75rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 14px 28px #2563eb2e}.teacher-dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard-shortcuts button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f172a,#1d4ed8);border:none;border-radius:1rem;min-height:3.1rem;font-weight:900;box-shadow:0 12px 24px #2563eb29}.teacher-dashboard-shortcuts__primary--calendar{color:#1d4ed8!important;background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;border:1px solid #2563eb29!important}.teacher-dashboard-shortcuts__primary--messages{color:#5b21b6!important;background:linear-gradient(135deg,#ede9fe,#dbeafe)!important;border:1px solid #7c3aed29!important}.teacher-dashboard-chat{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #94a3b829;border-radius:1rem;gap:.65rem;padding:.85rem;display:grid}.teacher-dashboard-chat__header{gap:.15rem;display:grid}.teacher-dashboard-chat__header strong{color:#0f172a}.teacher-dashboard-chat__header span{color:#64748b;font-size:.78rem;font-weight:800}.teacher-dashboard-chat__list{gap:.55rem;display:grid}.teacher-chat-pill{background:linear-gradient(135deg,#eff6ff 0%,#fff 100%);border:1px solid #3b82f647;border-radius:1rem;align-items:center;gap:.75rem;width:100%;padding:.75rem .95rem;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex;box-shadow:0 10px 22px #2563eb1a}.teacher-chat-pill:hover{border-color:#3b82f673;text-decoration:none;transform:translateY(-2px);box-shadow:0 14px 28px #2563eb29}.teacher-chat-pill:active{transform:translateY(0)}.teacher-chat-pill__icon{color:#fff;background:linear-gradient(145deg,#3b82f6,#2563eb);border-radius:.75rem;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;font-size:.95rem;font-weight:700;transition:transform .16s;display:grid;box-shadow:0 6px 14px #2563eb47}.teacher-chat-pill:hover .teacher-chat-pill__icon{transform:scale(1.05)}.teacher-chat-pill__text{text-align:left;flex:1;gap:.12rem;min-width:0;display:grid}.teacher-chat-pill__text strong{color:#0f172a;font-size:.9rem;font-weight:700;line-height:1.25}.teacher-chat-pill__text small{color:#64748b;font-size:.76rem;font-weight:500;line-height:1.35}.teacher-chat-pill__arrow{color:#2563eb;opacity:.55;flex-shrink:0;font-size:1.1rem;font-weight:700;transition:transform .16s,opacity .16s}.teacher-chat-pill:hover .teacher-chat-pill__arrow{opacity:1;transform:translate(3px)}.teacher-chat-pill--compact{border-radius:999px;gap:.45rem;width:auto;padding:.45rem .7rem .45rem .45rem}.teacher-chat-pill--compact .teacher-chat-pill__icon{width:2rem;height:2rem;font-size:.82rem}.teacher-chat-pill__label{letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8;font-size:.78rem;font-weight:800}.teacher-chat-pill--compact:hover .teacher-chat-pill__label{color:#1e3a8a}.teacher-chat-pill--disabled{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none;background:#f1f5f9;border-color:#94a3b847}.teacher-chat-pill--disabled .teacher-chat-pill__icon{box-shadow:none;background:#94a3b8}.teacher-student-quick-links .teacher-chat-pill{flex:14rem}.teacher-card__singpass-body.student-id-card__body{z-index:1;grid-template-columns:104px minmax(0,1fr);align-items:stretch;gap:1.15rem;position:relative}.teacher-card__singpass-photo.student-id-card__photo{color:#0369a1;cursor:pointer;background:linear-gradient(135deg,#dbeafe,#bae6fd);border-radius:1.2rem;width:104px;height:124px;position:relative;box-shadow:inset 0 0 0 4px #ffffffb8,0 14px 28px #0ea5e924}.teacher-card__singpass-photo:after{content:"Change photo";color:#f8fafc;text-align:center;opacity:0;background:linear-gradient(#0000,#0f172ab8);padding:.32rem;font-size:.58rem;font-weight:800;transition:opacity .15s;position:absolute;inset:auto 0 0}.teacher-card__singpass-photo:hover:after,.teacher-card__singpass-photo:focus-within:after{opacity:1}.teacher-card--singpass .student-id-card__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .8rem;height:100%}.teacher-card--singpass .student-id-card__details{gap:.4rem}.teacher-card--singpass .student-id-card__details div{background:0 0;border:none;border-radius:0;padding:0}.teacher-card--singpass .student-id-card__details dd{font-size:.76rem;line-height:1.2}.teacher-card__action-strip{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid;position:relative}.teacher-card__action-tile{z-index:3;text-align:left;color:#f8fafc;width:100%;font:inherit;cursor:pointer;pointer-events:auto;background:linear-gradient(135deg,#1d4ed8,#0f172a);border:none;border-radius:1rem;gap:.18rem;padding:.85rem .95rem;text-decoration:none;display:grid;position:relative;box-shadow:0 14px 28px #2563eb2e}.teacher-card__action-tile span{color:#bfdbfe;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.teacher-card__action-tile strong{color:#fff;font-size:.92rem;line-height:1.25}.teacher-card__action-tile--rewards{background:linear-gradient(135deg,#0f766e,#0f172a);box-shadow:0 14px 28px #0f766e2e}.teacher-card__action-tile--students{background:linear-gradient(135deg,#7c3aed,#0f172a);box-shadow:0 14px 28px #7c3aed2e}.teacher-card__action-tile--academic{background:linear-gradient(135deg,#ea580c,#0f172a);box-shadow:0 14px 28px #ea580c2e}.leadership-cards-shell{margin-bottom:.25rem}.leadership-card{width:min(820px,100%)}.leadership-card--amica_exco{background:radial-gradient(circle at 100% 100%,#7c3aed29,#0000 34%),radial-gradient(circle at 0 0,#0ea5e91f,#0000 30%),linear-gradient(135deg,#f5f3ff,#fff 45%,#e0f2fe 100%);border-color:#7c3aed3d}.leadership-card--amica_exco:before{background:linear-gradient(#7c3aed,#0ea5e9)}.leadership-card--grassroots_leader{background:radial-gradient(circle at 100% 100%,#0f766e29,#0000 34%),radial-gradient(circle at 0 0,#2563eb1a,#0000 30%),linear-gradient(135deg,#ecfdf5,#fff 45%,#dbeafe 100%);border-color:#0f766e3d}.leadership-card--grassroots_leader:before{background:linear-gradient(#0f766e,#1d4ed8)}.leadership-card__action-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.leadership-card__saving{z-index:1;margin:0;position:relative}.hub-page .summary-card{background:#fff;border:1px solid #94a3b82e;border-radius:1rem;padding:1rem;box-shadow:0 12px 28px #0f172a0f}.hub-page .summary-card span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.75rem;font-weight:800;display:block}.hub-page .summary-card strong{color:#0f172a;font-size:1.45rem}.inline-actions{flex-wrap:wrap;gap:.4rem;display:flex}.button--success{color:#fff;background:#16a34a;box-shadow:0 12px 24px #16a34a33}.button--danger{color:#fff;background:#dc2626;box-shadow:0 12px 24px #dc262633}.profile-status-pill{text-transform:capitalize;border-radius:999px;align-items:center;width:fit-content;padding:.32rem .62rem;font-size:.72rem;font-weight:900;display:inline-flex}.week-pill{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:.32rem .68rem;font-size:.72rem;font-weight:900;display:inline-flex}.week-pill--a{color:#047857;background:linear-gradient(135deg,#22c55e29,#ccfbf1b8);border:1px solid #14b8a647;box-shadow:0 8px 18px #14b8a61a}.week-pill--b{color:#1d4ed8;background:linear-gradient(135deg,#3b82f626,#dbeafedb);border:1px solid #3b82f642;box-shadow:0 8px 18px #2563eb1a}.week-pill--neutral{color:#475569;background:#64748b1f;border:1px solid #64748b2e}.week-pill--muted{color:#475569;background:#94a3b824;border:1px solid #94a3b840}.calendar-teacher-week-line{color:#475569;margin:.4rem 0 0;font-size:.78rem;font-weight:600;line-height:1.45}.calendar-teacher-week-mismatch{color:#92400e;background:#fbbf2429;border:1px solid #d977064d;border-radius:.65rem;margin:.45rem 0 0;padding:.55rem .7rem;font-size:.78rem;font-weight:700;line-height:1.45}.parent-session-card__week{margin-top:.45rem;display:inline-flex}.profile-status-pill--active{color:#15803d;background:#22c55e24;border:1px solid #22c55e38}.profile-status-pill--inactive{color:#475569;background:#64748b24;border:1px solid #64748b38}.profile-status-pill--special_case{color:#c2410c;background:#ea580c24;border:1px solid #ea580c3d}.profile-status-pill--on_break{color:#1d4ed8;background:#3b82f624;border:1px solid #3b82f638}.volunteer-hub-filter-bar{margin-bottom:1rem}.volunteer-spreadsheet-panel__header{align-items:flex-start;gap:1rem}.volunteer-spreadsheet-panel__eyebrow{color:#0369a1;letter-spacing:.08em;text-transform:uppercase;background:#0ea5e91f;border-radius:999px;margin-bottom:.35rem;padding:.2rem .55rem;font-size:.68rem;font-weight:900;display:inline-flex}.volunteer-spreadsheet-panel__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.volunteer-spreadsheet-panel__count{color:#0c4a6e;background:#ffffffeb;border:1px solid #0ea5e938;border-radius:999px;flex-shrink:0;align-items:center;padding:.38rem .75rem;font-size:.78rem;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #0ea5e91a}.volunteer-spreadsheet-filters{background:#ffffffb8;border:1px solid #94a3b838;border-radius:1rem;padding:.85rem 1rem;box-shadow:inset 0 1px #ffffffe6}.volunteer-management-page .hero-card,.volunteer-spreadsheet-panel,.volunteer-profile-detail{border-color:#0ea5e929;box-shadow:0 16px 38px #0f172a12}.volunteer-spreadsheet-panel{background:radial-gradient(circle at 0 0,#0ea5e91a,#0000 38%),radial-gradient(circle at 100% 100%,#14b8a614,#0000 40%),linear-gradient(#fff,#f8fafc)}.volunteer-spreadsheet-card{background:#ffffffa6;border-color:#94a3b829;border-radius:1.1rem;overflow:hidden;box-shadow:0 12px 28px #0f172a0f}.volunteer-spreadsheet-scroll{border-radius:inherit;max-height:min(70vh,36rem);overflow:auto}.volunteer-spreadsheet-table{min-width:52rem}.volunteer-spreadsheet-table thead th{z-index:2;color:#0c4a6e;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#f0f9ff 0%,#e0f2fe 100%);border-bottom:1px solid #0ea5e938;padding:.85rem .95rem;font-size:.72rem;font-weight:900;position:sticky;top:0;box-shadow:inset 0 1px #ffffffb3}.volunteer-spreadsheet-table thead th:first-child{border-top-left-radius:.65rem}.volunteer-spreadsheet-table thead th:last-child{border-top-right-radius:.65rem}.volunteer-spreadsheet-th--numeric,.volunteer-spreadsheet-td--numeric{text-align:right;white-space:nowrap}.volunteer-spreadsheet-th--action{white-space:nowrap;width:1%}.volunteer-spreadsheet-table tbody tr:nth-child(2n){background:#f8fafca6}.volunteer-spreadsheet-table tbody tr{transition:background .15s,box-shadow .15s}.volunteer-spreadsheet-table tbody tr:hover{background:linear-gradient(90deg,#e0f2fe8c,#f0fdfabf);box-shadow:inset 3px 0 #0ea5e9}.volunteer-spreadsheet-row--inactive td{opacity:.72}.volunteer-spreadsheet-login-note{letter-spacing:.04em;text-transform:uppercase;margin-top:.2rem;font-size:.62rem;font-weight:700;display:block}.directory-role-pill{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .45rem;font-size:.64rem;font-weight:800;display:inline-flex}.directory-role-pill--teacher{color:#1d4ed8;background:#2563eb1f;border:1px solid #2563eb33}.directory-role-pill--exco{color:#c2410c;background:#f973161f;border:1px solid #f9731638}.volunteer-exco-summary{margin:0 0 .5rem;padding:0 .15rem}.volunteer-exco-summary__hint{margin:0;padding:0 .15rem .25rem;font-size:.78rem}.volunteer-hours-awaiting-gl{white-space:nowrap;font-size:.72rem;font-weight:600;display:inline-block}.volunteer-hours-member-pill{width:fit-content;margin-top:.25rem;display:block}.volunteer-spreadsheet-table td{vertical-align:middle;border-bottom:1px solid #e2e8f0f2;padding:.85rem .95rem}.volunteer-spreadsheet-table td:first-child strong{color:#0f172a}.volunteer-spreadsheet-td--name{min-width:12rem}.volunteer-spreadsheet-name-cell{align-items:center;gap:.75rem;min-width:0;display:flex}.volunteer-spreadsheet-avatar{color:#fff;background:linear-gradient(135deg,#0ea5e9,#14b8a6);border-radius:.75rem;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;font-size:.95rem;font-weight:900;display:grid;box-shadow:0 8px 18px #0ea5e938}.volunteer-spreadsheet-name-cell__text{gap:.12rem;min-width:0;display:grid}.volunteer-spreadsheet-name-cell__text strong{font-size:.95rem;line-height:1.25}.volunteer-spreadsheet-role{font-size:.78rem;font-weight:600;line-height:1.3}.volunteer-spreadsheet-metric{font-variant-numeric:tabular-nums;color:#0f172a;font-size:1.05rem;font-weight:900}.volunteer-spreadsheet-pending-pill{color:#92400e;background:linear-gradient(135deg,#fbbf2438,#fef3c7e6);border:1px solid #f59e0b59;border-radius:999px;justify-content:center;align-items:center;min-width:1.85rem;padding:.28rem .55rem;font-size:.82rem;font-weight:900;display:inline-flex}.volunteer-spreadsheet-pending-zero{font-variant-numeric:tabular-nums;color:#94a3b8;font-size:.9rem;font-weight:700}.volunteer-spreadsheet-contact{gap:.2rem;min-width:0;max-width:14rem;display:grid}.volunteer-spreadsheet-contact__email{color:#1e293b;word-break:break-word;font-size:.82rem;font-weight:700}.volunteer-spreadsheet-contact__phone{color:#64748b;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.volunteer-spreadsheet-td--wrap{color:#475569;word-break:break-word;max-width:11rem;font-size:.84rem;line-height:1.45}.volunteer-spreadsheet-td--center{text-align:center}.volunteer-spreadsheet-profile-btn{background:#fffffff2;border-color:#0ea5e947;border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-weight:800}.volunteer-spreadsheet-profile-btn:hover{background:#f0f9fffa;border-color:#0ea5e980}.volunteer-profile-grid{gap:1rem;display:grid}.volunteer-profile-card{background:linear-gradient(#fff,#f8fafc),radial-gradient(circle at 100% 0,#0ea5e91f,#0000 34%);border:1px solid #94a3b833;border-radius:1.15rem;gap:.9rem;padding:1rem;display:grid;box-shadow:0 14px 34px #0f172a12}.volunteer-profile-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.volunteer-profile-card__top h4{color:#0f172a;margin:0;font-size:1.08rem}.volunteer-profile-card__top p{color:#64748b;margin:.18rem 0 0}.volunteer-profile-card__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.volunteer-profile-card__details>span{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0e6;border-radius:1rem;gap:.2rem;padding:.82rem;display:grid;box-shadow:0 8px 20px #0f172a09}.volunteer-profile-card__details .week-pill{padding:.28rem .6rem;display:inline-flex}.volunteer-profile-card__details small,.volunteer-profile-card__management span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.volunteer-profile-card__details strong{color:#0f172a;font-size:.86rem;line-height:1.25}.volunteer-pending-link{color:#2563eb;background:0 0;border:none;width:fit-content;font-weight:900;text-decoration:underline}.volunteer-profile-card__management{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.75rem;display:grid}.volunteer-profile-card__management label{gap:.35rem;display:grid}.volunteer-profile-card__management input,.volunteer-profile-card__management select,.volunteer-profile-card__management textarea{background:#fff;border:1px solid #cbd5e1;border-radius:.85rem;width:100%;min-height:2.65rem;padding:.65rem .75rem}.volunteer-profile-card__management textarea{resize:vertical;min-height:5rem}.status-select--active{color:#15803d;font-weight:800;background:linear-gradient(#fff,#f0fdf4e6)!important;border-color:#22c55e52!important}.status-select--inactive{color:#475569;font-weight:800;background:linear-gradient(#fff,#f8fafcf2)!important;border-color:#64748b52!important}.status-select--special_case{color:#c2410c;font-weight:800;background:linear-gradient(#fff,#fff7edf2)!important;border-color:#ea580c52!important}.status-select--on_break{color:#1d4ed8;font-weight:800;background:linear-gradient(#fff,#eff6fff2)!important;border-color:#3b82f652!important}.volunteer-profile-status-field{grid-column:span 2}.volunteer-profile-status-field select{min-height:3.1rem;font-size:.95rem}.volunteer-profile-card__save{grid-column:1/-1;justify-content:flex-end;display:flex}.volunteer-profile-detail{background:radial-gradient(circle at 90% 0,#2dd4bf1f,#0000 34%),radial-gradient(circle at 0 100%,#3b82f614,#0000 36%),linear-gradient(#fff,#f8fafc);scroll-margin-top:1.5rem}.volunteer-profile-detail__hero{background:radial-gradient(circle at 100% 0,#0ea5e929,#0000 30%),linear-gradient(135deg,#eff6ff,#fff 48%,#f0fdfa);border:1px solid #3b82f624;border-radius:1.25rem;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.1rem;padding:1.1rem;display:flex;box-shadow:inset 0 0 0 1px #ffffffb3}.volunteer-profile-detail__identity{align-items:center;gap:.95rem;min-width:0;display:flex}.volunteer-profile-detail__avatar{color:#fff;background:linear-gradient(135deg,#0ea5e9,#14b8a6);border-radius:1.2rem;flex:none;place-items:center;width:4rem;height:4rem;font-size:1.45rem;font-weight:900;display:grid;box-shadow:0 14px 28px #0ea5e938}.volunteer-profile-detail__eyebrow{color:#0369a1;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900;display:inline-flex}.volunteer-profile-detail__chips{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.volunteer-profile-detail__pending{background:#fff;border:1px solid #2563eb29;border-radius:999px;flex:none;padding:.58rem .8rem;text-decoration:none;box-shadow:0 10px 22px #2563eb14}.volunteer-profile-detail__hero h4,.volunteer-profile-detail__hero p{margin:.35rem 0 0}.volunteer-profile-detail__hero h4{color:#0f172a;font-size:1.18rem}.volunteer-profile-detail__hero p{color:#475569}.volunteer-profile-detail__management{background:#ffffffd1;border:1px solid #e2e8f0e0;border-radius:1.15rem;margin-top:1rem;padding:1rem}.teacher-student-assignment{background:linear-gradient(#fff,#f8fafc);border:1px solid #e2e8f0e0;border-radius:1.15rem;gap:.85rem;margin-top:1rem;padding:1rem 1.05rem;display:grid}.teacher-student-assignment__header h4{color:#0f172a;margin:0 0 .35rem;font-size:1.05rem}.teacher-student-assignment__header p{margin:0}.teacher-student-assignment__list{gap:.45rem;max-height:16rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.teacher-student-assignment__option{cursor:pointer;background:#fff;border:1px solid #e2e8f0e6;border-radius:.75rem;align-items:flex-start;gap:.65rem;padding:.55rem .65rem;display:flex}.teacher-student-assignment__option input{margin-top:.2rem}.teacher-student-assignment__label{gap:.15rem;display:grid}.teacher-student-assignment__other-tutor{font-size:.82rem}.teacher-student-assignment__actions{justify-content:flex-end;display:flex}.hour-decision-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.9rem;gap:.55rem;min-width:16rem;padding:.75rem;display:grid}.hour-decision-box strong{color:#0f172a}.hour-decision-box textarea{resize:vertical;border:1px solid #cbd5e1;border-radius:.75rem;width:100%;min-height:4.5rem;padding:.6rem}.teacher-hours-rejection-note{color:#991b1b;background:#ef444414;border:1px solid #ef444429;border-radius:.85rem;grid-column:1/-1;margin:0;padding:.7rem}.hours-decision-log{background:radial-gradient(circle at 100% 0,#14b8a614,#0000 32%),linear-gradient(#fff,#f8fafc);border-color:#94a3b833}.hours-decision-log--compact{padding:.75rem .85rem .8rem}.hours-decision-log__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem .75rem;margin-bottom:.55rem;display:flex}.hours-decision-log__head h3{margin:0;font-size:1rem}.hours-decision-log__head p{margin:.15rem 0 0;font-size:.76rem}.hours-decision-log__stats{flex-wrap:wrap;gap:.35rem;display:flex}.hours-decision-log__stat{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.22rem .5rem;font-size:.66rem;font-weight:800;display:inline-flex}.hours-decision-log__stat--approved{color:#166534;background:#22c55e1f;border:1px solid #22c55e33}.hours-decision-log__stat--rejected{color:#b91c1c;background:#ef44441a;border:1px solid #ef44442e}.hours-decision-log__filters{background:#f8fafcf2;border:1px solid #94a3b82e;border-radius:.65rem;flex-wrap:wrap;align-items:flex-end;gap:.45rem .55rem;margin-bottom:.55rem;padding:.5rem .55rem;display:flex}.hours-decision-log__filter{gap:.12rem;min-width:8.5rem;display:grid}.hours-decision-log__filter--search{flex:12rem;min-width:10rem}.hours-decision-log__filter span{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;font-size:.62rem;font-weight:700}.hours-decision-log__filter select,.hours-decision-log__filter input{background:#fff;border:1px solid #94a3b847;border-radius:.45rem;padding:.32rem .45rem;font-size:.76rem}.hours-decision-log__clear{align-self:flex-end;padding:.32rem .55rem;font-size:.72rem}.hours-decision-log__table-wrap{background:#fff;border:1px solid #94a3b833;border-radius:.65rem;max-height:22rem;overflow:auto}.hours-decision-log__table{border-collapse:collapse;width:100%;font-size:.76rem}.hours-decision-log__table thead th{z-index:1;text-align:left;letter-spacing:.06em;text-transform:uppercase;color:#64748b;white-space:nowrap;background:#f1f5f9;border-bottom:1px solid #94a3b838;padding:.42rem .55rem;font-size:.62rem;font-weight:800;position:sticky;top:0}.hours-decision-log__table tbody td{vertical-align:top;color:#334155;border-bottom:1px solid #e2e8f0e6;padding:.42rem .55rem}.hours-decision-log__table tbody tr:last-child td{border-bottom:0}.hours-decision-log__row:hover td{background:#f8fafcf2}.hours-decision-log__row--approved td:first-child{box-shadow:inset 3px 0 #22c55e8c}.hours-decision-log__row--rejected td:first-child{box-shadow:inset 3px 0 #ef44448c}.hours-decision-log__tutor{min-width:7.5rem}.hours-decision-log__tutor strong{color:#0f172a;font-size:.78rem;display:block}.hours-decision-log__tutor span{color:#94a3b8;margin-top:.05rem;font-size:.64rem;font-weight:600;display:block}.hours-decision-log__session-date{color:#0f172a;font-weight:600;display:block}.hours-decision-log__session-meta{color:#64748b;max-width:14rem;margin-top:.08rem;font-size:.68rem;line-height:1.3;display:block}.hours-decision-log__hours{color:#0f172a;white-space:nowrap;font-weight:700}.hours-decision-log__pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.18rem .42rem;font-size:.62rem;font-weight:800;display:inline-flex}.hours-decision-log__pill--approved{color:#166534;background:#22c55e1f;border:1px solid #22c55e33}.hours-decision-log__pill--rejected{color:#b91c1c;background:#ef44441a;border:1px solid #ef44442e}.hours-decision-log__reason{color:#991b1b;text-overflow:ellipsis;white-space:nowrap;max-width:11rem;margin-top:.2rem;font-size:.68rem;line-height:1.3;display:block;overflow:hidden}.hours-decision-log__decided{color:#64748b;white-space:nowrap;font-size:.72rem}.hours-decision-log__footnote{text-align:right;margin:.45rem 0 0;font-size:.68rem}@media (width<=860px){.hours-decision-log__table thead{display:none}.hours-decision-log__table tbody tr{border-bottom:1px solid #e2e8f0e6;gap:.25rem;padding:.5rem .55rem;display:grid}.hours-decision-log__table tbody td{border:0;padding:0;display:block}.hours-decision-log__table tbody tr:hover td{background:0 0}}.academic-hub-filter-bar{grid-template-columns:repeat(4,minmax(9rem,1fr)) auto;margin-bottom:1rem}.academic-guidance-page .hero-card,.student-spreadsheet-panel,.student-profile-detail{border-color:#7c3aed29;box-shadow:0 16px 38px #0f172a12}.student-spreadsheet-panel{background:radial-gradient(circle at 100% 0,#7c3aed14,#0000 30%),linear-gradient(#fff,#f8fafc)}.student-spreadsheet-card{border-color:#94a3b829}.student-spreadsheet-table td{vertical-align:middle}.student-spreadsheet-table td:first-child strong{color:#0f172a}.student-profile-grid{gap:1rem;display:grid}.student-profile-card{background:radial-gradient(circle at 100% 0,#7c3aed1c,#0000 34%),linear-gradient(#fff,#f8fafc);border:1px solid #94a3b833;border-radius:1.15rem;gap:.9rem;padding:1rem;display:grid;box-shadow:0 14px 34px #0f172a12}.student-profile-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.student-profile-card__top h4{color:#0f172a;margin:0;font-size:1.08rem}.student-profile-card__top p{color:#64748b;margin:.18rem 0 0}.student-profile-card__details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.student-profile-card__details span,.student-profile-detail__quick span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.85rem;gap:.2rem;padding:.7rem;display:grid}.student-profile-card__details small,.student-profile-detail__quick small,.student-profile-edit-grid span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.student-profile-card__details strong,.student-profile-detail__quick strong{color:#0f172a;font-size:.86rem;line-height:1.25}.student-profile-detail{background:radial-gradient(circle at 100% 0,#7c3aed1f,#0000 30%),radial-gradient(circle at 0 100%,#0ea5e914,#0000 34%),linear-gradient(#fff,#f8fafc);border-color:#7c3aed29}.student-profile-detail__hero{background:radial-gradient(circle at 100% 0,#7c3aed29,#0000 30%),linear-gradient(135deg,#f5f3ff,#fff 48%,#eff6ff);border:1px solid #7c3aed24;border-radius:1.25rem;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.1rem;padding:1.1rem;display:flex;box-shadow:inset 0 0 0 1px #ffffffb3}.student-profile-detail__hero h4{color:#0f172a;margin:.35rem 0 0;font-size:1.18rem}.student-profile-detail__hero p{color:#64748b;margin:0}.student-profile-detail__quick{grid-template-columns:repeat(2,minmax(8rem,1fr));gap:.65rem;min-width:min(22rem,100%);display:grid}.student-profile-detail__avatar{background:linear-gradient(135deg,#7c3aed,#0ea5e9);box-shadow:0 14px 28px #7c3aed38}.student-profile-detail__programme-pill{color:#6d28d9;background:#7c3aed1a;border:1px solid #7c3aed2e;border-radius:999px;align-items:center;width:fit-content;padding:.32rem .68rem;font-size:.72rem;font-weight:900;display:inline-flex}.student-profile-edit-grid{background:#ffffffd1;border:1px solid #e2e8f0e0;border-radius:1.15rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.student-profile-edit-grid label{align-self:start;gap:.35rem;display:grid}.student-profile-edit-grid input,.student-profile-edit-grid select,.student-profile-edit-grid textarea{background:#fff;border:1px solid #cbd5e1;border-radius:.85rem;width:100%;min-height:2.65rem;padding:.65rem .75rem}.student-profile-edit-grid textarea{resize:vertical;min-height:5.25rem}.student-profile-edit-grid__actions{grid-column:1/-1;justify-content:flex-end;display:flex}.student-tutor-assignments{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem;display:grid}.student-activity-log{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b833;border-radius:1rem;gap:1rem;padding:.85rem .9rem .95rem;display:grid}.student-activity-log__section{gap:.45rem;display:grid}.student-activity-log__head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.student-activity-log__head h4{margin:0;font-size:.92rem}.student-activity-log__count{letter-spacing:.05em;text-transform:uppercase;color:#64748b;font-size:.68rem;font-weight:700}.student-activity-log__scroll{background:#fff;border:1px solid #e2e8f0f2;border-radius:.65rem;max-height:14rem;overflow:auto}.student-log-table{font-size:.74rem}.student-log-table thead th{z-index:1;white-space:nowrap;background:#f1f5f9;padding:.38rem .5rem;font-size:.62rem;position:sticky;top:0}.student-log-table tbody td{vertical-align:middle;padding:.38rem .5rem}.student-log-table__actions{flex-wrap:wrap;gap:.25rem;display:flex}.student-log-table__file-btn{padding:.2rem .4rem;font-size:.68rem}.student-session-audit-list{gap:.35rem;display:grid}.student-session-audit-item{border:1px solid var(--surface-border);background:var(--surface-base);border-radius:.55rem;font-size:.74rem}.student-session-audit-item summary{cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.45rem;padding:.42rem .55rem;list-style:none;display:grid}.student-session-audit-item summary::-webkit-details-marker{display:none}.student-session-audit-item__date{white-space:nowrap;font-weight:700}.student-session-audit-item__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.student-session-audit-item__hint{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-size:.68rem;overflow:hidden}.student-session-audit-item__details{border-top:1px solid var(--surface-border);gap:.35rem;margin:0;padding:.35rem .55rem .5rem;display:grid}.student-session-audit-item__details div{gap:.1rem;display:grid}.student-session-audit-item__details dt{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0;font-size:.62rem;font-weight:700}.student-session-audit-item__details dd{white-space:pre-wrap;margin:0}.student-activity-log__empty{margin:0;padding:.35rem .15rem;font-size:.76rem}.academic-profile-panels{align-items:start}.academic-profile-panel{gap:.85rem;display:grid}.academic-mini-card,.academic-progress-card{background:#fff;border:1px solid #e2e8f0eb;border-radius:1rem;gap:.7rem;padding:.95rem;display:grid;box-shadow:0 10px 22px #0f172a0a}.academic-mini-card>div:first-child,.academic-progress-card__top,.academic-record-chip{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.academic-mini-card span,.academic-progress-card span,.academic-record-chip span{color:#64748b;font-size:.82rem}.academic-progress-track{background:linear-gradient(#f8fafc,#eff6ff);border:1px solid #e2e8f0;border-radius:.85rem;align-items:end;gap:.28rem;height:5.5rem;padding:.55rem;display:flex}.academic-progress-track span{background:linear-gradient(#7c3aed,#0ea5e9);border-radius:999px 999px 0 0;flex:1;min-height:.5rem}.assigned-teacher-id-card{background:radial-gradient(circle at 100% 0,#0ea5e91f,#0000 34%),linear-gradient(#fff,#f8fafc);border-color:#0ea5e92e}.assigned-teacher-id-card__body{grid-template-columns:auto 1fr;align-items:center;gap:1rem;display:grid}.assigned-teacher-id-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.assigned-teacher-id-card__body--tutor{background:radial-gradient(circle at 100% 0,#3b82f614,#0000 36%),#ffffffe0;border:1px solid #e2e8f0eb;border-radius:1.35rem;align-items:start;padding:1rem;box-shadow:0 14px 30px #0f172a0b}.assigned-teacher-id-card__content{gap:.8rem;min-width:0;display:grid}.assigned-teacher-id-card__identity{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.assigned-teacher-id-card__identity h4{color:#0f172a;margin:.15rem 0 0}.assigned-teacher-id-card__chat{justify-self:start}.assigned-teacher-id-card__photo{color:#0369a1;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border-radius:1.35rem;place-items:center;width:5rem;height:5rem;font-size:1.6rem;font-weight:900;display:grid;overflow:hidden;box-shadow:inset 0 0 0 4px #ffffffbf,0 16px 30px #0ea5e929}.assigned-teacher-id-card__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.assigned-teacher-id-card__details div{background:#fff;border:1px solid #e2e8f0e6;border-radius:1rem;gap:.2rem;padding:.75rem;display:grid}.assigned-teacher-id-card__details dt{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.assigned-teacher-id-card__details dd{color:#0f172a;overflow-wrap:anywhere;margin:0;font-weight:800}.student-homework-reference{background:radial-gradient(circle at 100% 0,#f59e0b1f,#0000 34%),linear-gradient(#fff,#fffbeb);border-color:#f59e0b2e}.student-homework-reference__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.student-homework-reference__card{background:#ffffffe6;border:1px solid #e2e8f0eb;border-radius:1.25rem;gap:.75rem;padding:1rem;display:grid;box-shadow:0 14px 30px #0f172a0b}.student-homework-reference__top,.student-homework-reference__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.student-homework-reference__subject{color:#b45309;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.student-homework-reference__card h4{color:#0f172a;margin:0}.student-homework-reference__card p{margin:0}.student-homework-reference__meta{color:#64748b;font-size:.82rem;font-weight:800}.student-homework-reference__action{justify-self:start}.student-session-attendance{background:radial-gradient(circle at 100% 0,#0ea5e933,#0000 34%),radial-gradient(circle at 0 100%,#22c55e29,#0000 32%),linear-gradient(135deg,#f0f9ff,#ecfeff 48%,#f0fdf4);border-color:#14b8a647}.student-session-attendance__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.student-session-attendance__card{background:linear-gradient(135deg,#0ea5e938,#14b8a629 42%,#22c55e21),#ffffffeb;border:1px solid #0ea5e938;border-radius:1.5rem;gap:1rem;padding:1rem;display:grid;box-shadow:0 22px 48px #082f491a}.student-session-attendance__top{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff4d,#0000 42%),linear-gradient(135deg,#0f766e,#0284c7);border-radius:1.25rem;justify-content:space-between;align-items:flex-start;gap:.9rem;padding:1rem;display:flex;box-shadow:0 16px 34px #0284c738}.student-session-attendance__date{color:#ffffffd6;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.student-session-attendance__card h4{color:#fff;margin:.2rem 0 0;font-size:1.05rem}.student-session-attendance__card p{margin:.35rem 0 0}.student-session-attendance__top .muted-text{color:#ffffffd1}.student-session-attendance__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.student-session-attendance__choice{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1e6;border-radius:1rem;gap:.2rem;padding:.85rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.student-session-attendance__choice:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0f172a14}.student-session-attendance__choice span{letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:900}.student-session-attendance__choice strong{font-size:.9rem}.student-session-attendance__choice--present span{color:#047857}.student-session-attendance__choice--absent span{color:#b91c1c}.student-session-attendance__choice--selected{border-color:#14b8a66b;box-shadow:0 0 0 3px #14b8a61f}.student-session-attendance__choice--absent.student-session-attendance__choice--selected{border-color:#f8717180;box-shadow:0 0 0 3px #f8717121}.student-session-attendance__reason{gap:.45rem;display:grid}.student-session-attendance__reason span{color:#991b1b;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:900}.student-session-attendance__reason textarea{resize:vertical;background:#fff7f7;border-color:#f8717147;border-radius:1rem;min-height:5rem;padding:.85rem 1rem;line-height:1.45}.student-session-attendance__confirm-row{color:#0f172a;background:#fff;border:1px solid #94a3b847;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;font-size:.86rem;font-weight:600;display:flex}.student-session-attendance__confirm{min-height:2.4rem}.student-session-attendance__lock{color:#0f766e;text-transform:uppercase;letter-spacing:.05em;background:#0f766e1f;border-radius:999px;align-items:center;min-height:2.35rem;padding:0 .9rem;font-size:.72rem;font-weight:900;display:inline-flex}.proposal-hub-form-card{background:radial-gradient(circle at 100% 0,#14b8a617,#0000 32%),linear-gradient(#fff,#f8fafc)}.proposal-hub-form{gap:1rem;display:grid}.proposal-hub-form__section{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.proposal-hub-form__section--intro{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.proposal-hub-form__section--intro .location-map-field{grid-column:1/-1}.location-map-field{background:#ffffffd1;border:1px solid #cbd5e1c7;border-radius:1rem;gap:.65rem;padding:.85rem;display:grid}.location-map-field__input{gap:.35rem;display:grid;position:relative}.location-search-box{background:#fff;border:1px solid #94a3b859;border-radius:.85rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;padding:.3rem .35rem .3rem .55rem;display:grid}.location-search-box:focus-within{border-color:#2563eb73;box-shadow:0 0 0 3px #2563eb1f}.location-search-box__icon{color:#64748b;font-size:1rem;font-weight:900}.location-search-box input{background:0 0;border:none;min-width:0;padding:.55rem .2rem}.location-search-box input:focus{box-shadow:none;outline:none}.location-search-box__search{white-space:nowrap}.location-search-suggestions{z-index:200;background:#fff;border:1px solid #94a3b847;border-radius:.85rem;max-height:14rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% - .15rem);left:0;right:0;overflow:auto;box-shadow:0 18px 40px #0f172a24}.location-search-suggestions__status{color:#64748b;padding:.65rem .75rem;font-size:.8rem;font-weight:600}.location-search-suggestions__option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.65rem;gap:.12rem;width:100%;padding:.6rem .7rem;display:grid}.location-search-suggestions__option strong{color:#0f172a;font-size:.84rem}.location-search-suggestions__option span{color:#64748b;font-size:.74rem;font-weight:600;line-height:1.35}.location-search-suggestions__option:hover,.location-search-suggestions__option--active{background:#eff6ff}.location-map-field__helper{display:none}.location-map-field__map--osm{border:none}.location-map-field__hint{color:#64748b;font-size:.76rem;font-weight:600;line-height:1.4}.location-map-field__hint--warn{color:#b45309}.location-map-field__hint code{font-size:.72rem}.location-map-field__actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.location-map-field__coords{font-size:.75rem}.button--small{padding:.35rem .65rem;font-size:.78rem}.location-map-field__map{background:#e2e8f0;border:1px solid #94a3b840;border-radius:.85rem;width:100%;min-height:14rem;overflow:hidden}.location-map-field__map--placeholder{text-align:center;place-items:center;padding:1rem;display:grid}.location-map-field__map--placeholder p{color:#64748b;max-width:22rem;margin:0;font-size:.82rem;font-weight:600}.proposal-location-preview{gap:.45rem;display:grid}.proposal-location-preview__text{gap:.2rem;display:grid}.proposal-location-preview__text strong{color:#0f172a;font-size:.84rem;font-weight:800}.proposal-location-preview__link{color:#1d4ed8;text-underline-offset:.14rem;width:fit-content;font-size:.76rem;font-weight:800;text-decoration:underline}.proposal-location-preview__embed{border:none;border-radius:.75rem;width:100%;min-height:11rem}.proposal-hub-card__location{gap:.2rem;display:grid}.proposal-detail-panel__location{gap:.35rem;display:grid}.proposal-hub-form .form-field{background:#ffffffd1;border:1px solid #cbd5e1c7;border-radius:1rem;padding:.85rem}.proposal-hub-form .form-field input,.proposal-hub-form .form-field textarea{border-radius:.8rem}.proposal-logistics-block{gap:.75rem;display:grid}.proposal-option-card{width:100%;color:inherit;cursor:pointer;text-align:left;background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b838;border-radius:1rem;align-items:center;gap:.8rem;padding:.85rem .95rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 8px 20px #0f172a09}.proposal-option-card:hover{border-color:#14b8a64d;transform:translateY(-1px);box-shadow:0 12px 26px #0f172a0f}.proposal-option-card--selected{background:linear-gradient(135deg,#f0fdfa,#fff);border-color:#14b8a65c}.proposal-option-card--partner.proposal-option-card--selected{background:linear-gradient(135deg,#f5f3ff,#fff);border-color:#7c3aed4d}.proposal-option-card__toggle{background:#fff;border:2px solid #94a3b8;border-radius:999px;flex:none;width:1rem;height:1rem;box-shadow:inset 0 0 0 3px #fff}.proposal-option-card--selected .proposal-option-card__toggle{background:#14b8a6;border-color:#14b8a6}.proposal-option-card--partner.proposal-option-card--selected .proposal-option-card__toggle{background:#7c3aed;border-color:#7c3aed}.proposal-option-card strong,.proposal-option-card small{display:block}.proposal-option-card strong{color:#0f172a;font-size:.95rem}.proposal-option-card small{color:#64748b;margin-top:.15rem;font-size:.78rem;line-height:1.35}.proposal-logistics-fields{background:#f8fafcb8;border:1px solid #e2e8f0db;border-radius:1rem;grid-template-columns:1.4fr repeat(2,minmax(0,1fr));gap:.75rem;padding:.85rem;display:grid}.proposal-logistics-fields .form-field:last-child{grid-column:1/-1}.proposal-logistics-fields--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-logistics-fields--compact .form-field:last-child{grid-column:auto}.proposal-upload-card{cursor:pointer;background:#f0fdfa;border:1px dashed #14b8a6;border-radius:1rem;gap:.4rem;padding:1rem;display:grid}.proposal-upload-card span{color:#0f766e;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.proposal-upload-card strong{color:#0f172a;font-size:.95rem}.proposal-upload-card input{color:#475569}.proposal-status-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;width:fit-content;padding:.3rem .65rem;font-size:.7rem;font-weight:900;display:inline-flex}.proposal-status-pill--pending{color:#1d4ed8;background:#3b82f621;border:1px solid #3b82f638}.proposal-status-pill--approved{color:#15803d;background:#22c55e24;border:1px solid #22c55e38}.proposal-status-pill--conditional{color:#b45309;background:#f59e0b29;border:1px solid #f59e0b40}.proposal-status-pill--rejected{color:#b91c1c;background:#ef444421;border:1px solid #ef444438}.proposal-status-pill--draft{color:#475569;background:#64748b24;border:1px solid #64748b42}.panel-card--proposals-approval .panel-card__header{border-bottom-color:#14b8a633}.proposals-approval-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:.25rem 0 1.1rem;display:grid}@media (width<=960px){.proposals-approval-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.proposals-approval-summary article{background:radial-gradient(circle at 100% 0,#14b8a624,#0000 40%),linear-gradient(135deg,#fff,#f0fdfa);border:1px solid #14b8a633;border-radius:1rem;padding:.92rem;box-shadow:0 12px 26px #0f172a0d}.proposals-approval-summary span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.7rem;font-weight:900;display:block}.proposals-approval-summary strong{color:#0f172a;font-size:1.5rem;line-height:1}.toolbar--proposals-approval.toolbar{margin-top:.15rem}.proposals-approval-filter-bar{background:#f8fafcf0;border:1px solid #94a3b847;border-radius:1rem;gap:.85rem;margin:.25rem 0 1rem;padding:1rem;display:grid}.proposals-approval-filter-bar__quick{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.proposals-approval-chip{appearance:none;font:inherit;cursor:pointer;color:#334155;background:#fff;border:1px solid #94a3b873;border-radius:999px;padding:.42rem .75rem;font-size:.8rem;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s}.proposals-approval-chip:hover{border-color:#14b8a680}.proposals-approval-chip:focus-visible{outline:none;box-shadow:0 0 0 3px #14b8a640}.proposals-approval-chip--active{color:#115e59;background:linear-gradient(135deg,#ecfdf5,#ccfbf1);border-color:#0d9488a6;box-shadow:0 4px 12px #14b8a633}.proposals-approval-filter-bar__row{flex-wrap:wrap;align-items:flex-end;gap:.85rem;display:flex}.proposals-approval-filter-bar__row label span{letter-spacing:.03em;text-transform:uppercase;color:#64748b;margin-bottom:.35rem;font-size:.74rem;font-weight:800;display:block}.proposals-approval-filter-bar__row select{background:#fff;border:1px solid #94a3b866;border-radius:.85rem;min-width:12rem;padding:.52rem .65rem}.proposals-approval-filter-bar__count{align-self:center;margin-left:auto;font-weight:600}@media (width<=640px){.proposals-approval-filter-bar__count{width:100%;margin-left:0}}.proposals-approval-grid{grid-template-columns:repeat(auto-fill,minmax(18.5rem,1fr));gap:1rem;margin-top:.5rem;display:grid}.proposals-approval-card{background:radial-gradient(circle at 92% -8%,#14b8a61f,#0000 42%),linear-gradient(#fff,#f8fafc);border:1px solid #94a3b838;border-radius:1.08rem;gap:.55rem;padding:1.08rem 1.12rem;transition:transform .14s,box-shadow .14s;display:grid;box-shadow:0 14px 32px #0f172a0f}.proposals-approval-card:hover{transform:translateY(-1px);box-shadow:0 18px 36px #0f172a17}.proposals-approval-card__top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.proposals-approval-card__id{font-size:.75rem}.proposals-approval-card__title{color:#0f172a;margin:0;font-size:1.06rem;line-height:1.35}.proposals-approval-card__programme{color:#475569;margin:0;font-size:.87rem;font-weight:600}.proposals-approval-card__meta{gap:.38rem;margin:.15rem 0 0;font-size:.84rem;display:grid}.proposals-approval-card__meta div{border-top:1px dashed #cbd5e1e6;justify-content:space-between;gap:1rem;padding:.28rem 0;display:flex}.proposals-approval-card__meta dt{color:#64748b;margin:0;font-weight:600}.proposals-approval-card__meta dd{color:#334155;text-align:right;margin:0;font-weight:700}.proposals-approval-card__preview{margin:.2rem 0 0;font-size:.84rem;line-height:1.45}.proposals-approval-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.proposal-detail-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;gap:.45rem;padding:.85rem;display:grid}.proposal-detail-panel p{color:#334155;margin:0}.proposal-hub-list{gap:1rem;display:grid}.proposal-hub-card{background:radial-gradient(circle at 100% 0,#0ea5e91a,#0000 32%),linear-gradient(#fff,#f8fafc);border:1px solid #94a3b833;border-radius:1.15rem;gap:.85rem;padding:1rem;display:grid;box-shadow:0 14px 34px #0f172a12}.proposal-hub-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.proposal-hub-card__top h4{color:#0f172a;margin:.5rem 0 .15rem;font-size:1.08rem}.proposal-hub-card__top p,.proposal-hub-card>p{color:#475569;margin:0}.proposal-hub-card__top>strong{color:#0f766e;font-size:1.25rem}.proposal-hub-card__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.proposal-hub-card__meta span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.85rem;gap:.2rem;padding:.7rem;display:grid}.proposal-hub-card__meta small{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.proposal-hub-card__meta strong{color:#0f172a;white-space:pre-wrap;font-size:.84rem;line-height:1.25}.hub-detail-panel{gap:1rem}.hub-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.hub-detail-grid article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.hub-detail-grid span{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:900;display:block}.hub-detail-grid p{color:#334155;margin:.35rem 0}.teacher-card__actions-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid;position:relative}.teacher-card__actions-grid--buttons{align-items:stretch}.teacher-card-launcher{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #ffffff2e;border-radius:1rem;gap:.25rem;padding:1rem;display:grid}.teacher-card-launcher span{letter-spacing:.06em;text-transform:uppercase;color:#bfdbfe;font-size:.78rem;font-weight:900}.teacher-card-launcher strong{font-size:1rem}.teacher-card-action{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border-radius:1rem;gap:.65rem;padding:.9rem;display:grid}.teacher-card-action h3,.teacher-card-action p{margin:0}.teacher-card-action p{color:#eff6ffc7;font-size:.84rem}.teacher-card-action__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.teacher-card-action__grid label{color:#eff6ffc7;gap:.25rem;font-size:.76rem;font-weight:800;display:grid}.teacher-card-action__grid input,.teacher-card-action__grid select{color:#0f172a;background:#ffffffeb;border:none;border-radius:.75rem;width:100%;padding:.5rem .65rem}.teacher-card-action__wide{grid-column:1/-1}.teacher-card-action__button{color:#1d4ed8;cursor:pointer;background:#fff;border:none;border-radius:999px;padding:.55rem .85rem;font-weight:900}.teacher-card-action__button:disabled{opacity:.6;cursor:wait}.teacher-hours-list{gap:.55rem;margin-top:1rem;display:grid}.teacher-hours-list--on-card{z-index:1;margin-top:0;position:relative}.teacher-hours-row{background:#f8fafc;border:1px solid #94a3b829;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.teacher-hours-page-grid{gap:.85rem;display:grid}.teacher-hours-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:1rem 0;display:grid}.teacher-hours-summary-strip article{background:radial-gradient(circle at 100% 0,#2563eb1a,#0000 38%),linear-gradient(135deg,#fff,#eff6ff);border:1px solid #2563eb24;border-radius:1rem;padding:1rem;box-shadow:0 12px 26px #0f172a0f}.teacher-hours-summary-strip span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:900;display:block}.teacher-hours-summary-strip strong{color:#0f172a;font-size:1.65rem;line-height:1}.teacher-hours-edit-notice{color:#92400e;background:linear-gradient(135deg,#fffbeb,#fff7ed);border:1px solid #f59e0b3d;border-radius:1rem;margin-top:1rem;padding:.8rem 1rem;font-weight:700}.teacher-hours-edit-notice--modal{margin:0 0 1rem}.teacher-hours-filter-bar{background:#f8fafc;border:1px solid #94a3b82e;border-radius:1rem;grid-template-columns:repeat(3,minmax(9rem,1fr)) auto;align-items:end;gap:.75rem;margin:0 0 1rem;padding:.85rem;display:grid}.teacher-hours-filter-bar label{gap:.35rem;display:grid}.teacher-hours-feedback-box{background:radial-gradient(circle at 100% 0,#0ea5e921,#0000 34%),linear-gradient(135deg,#f8fafc,#eff6ff);border:1px solid #0ea5e92e;border-radius:1.25rem;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1rem;display:grid}.teacher-hours-feedback-box__header{grid-column:1/-1;gap:.25rem;display:grid}.teacher-hours-feedback-box__header span{color:#0369a1;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.teacher-hours-feedback-box__header strong{color:#0f172a;font-size:1rem}.teacher-hours-feedback-box__header p{margin:0}.teacher-hours-feedback-box textarea{min-height:6rem}.teacher-hours-feedback-student-list{grid-column:1/-1;gap:.9rem;display:grid}.teacher-hours-feedback-student{background:#ffffffe0;border:1px solid #94a3b829;border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:.95rem;display:grid}.teacher-hours-feedback-student h4{color:#0f172a;grid-column:1/-1;margin:0}.teacher-hours-filter-bar span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.teacher-hours-filter-bar input,.teacher-hours-filter-bar select{background:#fff;border:1px solid #cbd5e1;border-radius:.8rem;width:100%;padding:.62rem .75rem}.teacher-bank-filter-bar{grid-template-columns:repeat(4,minmax(10rem,1fr))}.teacher-bank-filter-bar .button{grid-column:1/-1;justify-self:end;margin-top:.15rem}.academic-record-filter-bar{grid-template-columns:repeat(2,minmax(12rem,1fr)) auto}.teacher-hours-page-card{background:linear-gradient(#fff,#f8fafc),radial-gradient(circle at 0 0,#2563eb14,#0000 42%);border:1px solid #94a3b82e;border-radius:1.1rem;grid-template-columns:minmax(12rem,1.5fr) minmax(7rem,.6fr) auto auto;align-items:center;gap:.9rem;padding:1rem;display:grid;box-shadow:0 10px 24px #0f172a0d}.teacher-hours-page-card strong{color:#0f172a;font-size:1.05rem;display:block}.teacher-hours-page-card p{margin:.15rem 0 0}.teacher-hours-page-card__label{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem;font-size:.72rem;font-weight:900;display:block}.teacher-card .teacher-hours-row{background:#ffffffe6}.teacher-status{text-transform:capitalize;border-radius:999px;align-items:center;padding:.34rem .65rem;font-size:.74rem;font-weight:800;display:inline-flex}.teacher-status--approved{color:#15803d;background:#22c55e24;border:1px solid #22c55e33}.teacher-status--pending{color:#b45309;background:#f59e0b29;border:1px solid #f59e0b3d}.teacher-status--rejected{color:#b91c1c;background:#ef44441f;border:1px solid #ef444433}.teacher-bank-issue-page{gap:1.25rem;margin-top:.85rem;display:grid}.teacher-bank-card{color:#eff6ff;background:radial-gradient(circle at 90% 8%,#2dd4bf47,#0000 34%),linear-gradient(135deg,#0f172a,#0f766e);border-radius:1.3rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem;display:flex;box-shadow:0 18px 38px #0f766e2e}.teacher-bank-card h3{color:#fff;margin:.2rem 0 .35rem;font-size:1.35rem}.teacher-bank-card p{color:#eff6ffc7;max-width:42rem;margin:0}.rewards-issuing-desk-panel{gap:0;padding:0;display:grid;overflow:hidden}.rewards-issuing-desk-panel__intro{border-radius:0;margin:0}.rewards-issuing-desk-panel__form{background:#fff;border-top:1px solid #94a3b833;padding:1rem 1.2rem 1.25rem}.teacher-bank-card__eyebrow{color:#99f6e4;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.teacher-bank-stat-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.8rem;display:grid}.teacher-bank-stat-grid article{background:#fff;border:1px solid #14b8a629;border-radius:1rem;padding:.9rem;box-shadow:0 10px 24px #0f172a0d}.teacher-bank-stat-grid span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem;font-size:.72rem;font-weight:900;display:block}.teacher-bank-stat-grid strong{color:#0f172a;font-size:1.35rem}.teacher-bank-activity-list{gap:.75rem;display:grid}.teacher-bank-log-header{justify-content:space-between;align-items:center;gap:1rem;margin-top:.25rem;display:flex}.teacher-bank-log-header h3{color:#0f172a;margin:.15rem 0 0;font-size:1.1rem}.teacher-bank-log-header .button{flex:none}.teacher-bank-activity-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b82e;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.9rem;display:grid}.teacher-bank-activity-card__avatar{color:#0f766e;text-transform:uppercase;background:#ccfbf1;border-radius:999px;place-items:center;width:2.6rem;height:2.6rem;font-weight:900;display:grid}.teacher-bank-activity-card strong{color:#0f172a}.teacher-bank-activity-card p{color:#334155;margin:.12rem 0}.teacher-bank-activity-card small{color:#64748b}.teacher-bank-activity-card__amount{justify-items:end;gap:.1rem;display:grid}.teacher-bank-activity-card__amount span{color:#15803d;font-size:1.1rem;font-weight:900}.teacher-bank-activity-card__amount .teacher-bank-amount--debit{color:#b45309}.teacher-bank-empty-card{color:#64748b;background:#f8fafc;border:1px dashed #14b8a647;border-radius:1rem;padding:1rem;font-weight:700}.teacher-bank-confirm-banner{color:#0f766e;background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border:1px solid #14b8a63d;border-radius:1rem;grid-column:1/-1;gap:.25rem;padding:.85rem 1rem;font-weight:700;display:grid}.teacher-bank-confirm-banner strong{color:#0f172a}.academic-record-card-grid{grid-template-columns:1fr;gap:1.15rem;display:grid}.grade-improvement-sheet{background:radial-gradient(circle at 100% 0,#22c55e24,#0000 32%),linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid #6366f129;border-radius:1.1rem;gap:.75rem;padding:.85rem;display:grid;box-shadow:0 12px 28px #0f172a0d}.grade-improvement-sheet__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.grade-improvement-sheet__header h3{color:#0f172a;margin:.15rem 0 0;font-size:1.05rem;line-height:1.25}.grade-improvement-sheet__header>span{color:#2563eb;white-space:nowrap;background:#fff;border-radius:999px;padding:.28rem .6rem;font-size:.72rem;font-weight:900;box-shadow:0 6px 14px #2563eb14}.grade-improvement-sheet__grid{grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:.65rem;display:grid}.grade-improvement-graph{background:#ffffffd1;border:1px solid #94a3b829;border-radius:.85rem;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:.5rem;min-height:0;padding:.55rem .65rem;display:grid}.grade-improvement-graph__axis{color:#64748b;flex-direction:column;justify-content:space-between;padding:.1rem 0;font-size:.64rem;font-weight:800;line-height:1;display:flex}.grade-improvement-graph__plot-wrap{aspect-ratio:2.4;width:100%;min-height:4.5rem;max-height:7.5rem;position:relative}.grade-improvement-graph__plot{width:100%;height:100%;display:block;overflow:visible}.grade-improvement-graph__plot line{stroke:#94a3b847;stroke-width:.6px}.grade-improvement-graph__plot polyline{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.grade-improvement-graph__plot circle{vector-effect:non-scaling-stroke;stroke:#fff;stroke-width:1px}.grade-improvement-legend{flex-wrap:wrap;gap:.4rem;display:flex}.grade-improvement-legend span{color:#334155;background:#fff;border:1px solid #94a3b829;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .52rem;font-size:.72rem;font-weight:800;display:inline-flex}.grade-improvement-legend strong{font-size:.75rem}.grade-improvement-legend em{background:#0f172a0a;border-radius:999px;padding:.12rem .35rem;font-size:.66rem;font-style:normal}.grade-improvement-legend__latest{color:#0f172a;font-size:.68rem;font-weight:900}.grade-improvement-legend__delta{font-size:.66rem;font-weight:900}.grade-improvement-legend__delta--up{color:#15803d}.grade-improvement-legend__delta--down{color:#b91c1c}.grade-improvement-legend__delta--flat{color:#b45309}.grade-improvement-legend i{border-radius:999px;flex-shrink:0;width:.55rem;height:.55rem}.grade-improvement-card{background:#ffffffe0;border:1px solid #94a3b82e;border-radius:.9rem;gap:.55rem;padding:.75rem;display:grid}.grade-improvement-card__top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.grade-improvement-card__top strong{color:#0f172a;display:block}.grade-improvement-card__student{margin-bottom:.15rem;font-size:.76rem;font-weight:900;display:block}.grade-improvement-card__subject{border-radius:999px;width:fit-content;padding:.15rem .45rem;font-size:.82rem;display:inline-flex}.grade-improvement-card__top span{color:#64748b;font-size:.82rem;font-weight:700}.grade-improvement-card__delta{white-space:nowrap;border-radius:999px;padding:.3rem .55rem;font-weight:900}.grade-improvement-card__delta--up{color:#15803d;background:#22c55e24}.grade-improvement-card__delta--flat{color:#b45309;background:#f59e0b24}.grade-improvement-card__delta--down{color:#b91c1c;background:#ef44441f}.grade-improvement-card__track{background:linear-gradient(90deg,#fee2e2,#fef3c7 50%,#dcfce7);border-radius:999px;height:.55rem;position:relative;overflow:hidden}.grade-improvement-card__point{background:#2563eb;border:2px solid #fff;border-radius:999px;width:.65rem;height:.65rem;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 3px 10px #2563eb3d}.grade-improvement-card__meta{color:#475569;justify-content:space-between;gap:.5rem;font-size:.72rem;font-weight:800;display:flex}.grade-improvement-card__empty{color:#64748b;background:#f8fafce6;border:1px dashed #94a3b847;border-radius:.8rem;margin:0;padding:.65rem;font-size:.78rem;font-weight:800}.grade-improvement-sheet__empty{color:#64748b;background:#ffffffc7;border-radius:.85rem;margin:0;padding:.7rem;font-size:.82rem;font-weight:700}@media (width<=640px){.grade-improvement-sheet{border-radius:.95rem;gap:.55rem;padding:.7rem}.grade-improvement-sheet__header{flex-direction:column;align-items:stretch;gap:.4rem}.grade-improvement-sheet__header h3{font-size:.98rem}.grade-improvement-sheet__header>span{align-self:flex-start;padding:.22rem .5rem;font-size:.66rem}.grade-improvement-graph{gap:.35rem;padding:.4rem .45rem}.grade-improvement-graph__axis{font-size:.58rem}.grade-improvement-graph__plot-wrap{aspect-ratio:2.15;min-height:3.75rem;max-height:5.25rem}.grade-improvement-graph__plot polyline{stroke-width:2px}.grade-improvement-legend{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:.35rem;padding-bottom:.1rem;overflow-x:auto}.grade-improvement-legend::-webkit-scrollbar{display:none}.grade-improvement-legend span{flex-shrink:0;padding:.22rem .42rem;font-size:.66rem}.grade-improvement-sheet__grid{grid-template-columns:1fr;gap:.45rem}.grade-improvement-card{gap:.4rem;padding:.6rem .65rem}.grade-improvement-card__track{display:none}.grade-improvement-card__student{font-size:.7rem}.grade-improvement-card__subject{font-size:.76rem}.grade-improvement-card__delta{padding:.22rem .45rem;font-size:.72rem}.grade-improvement-card__meta{flex-direction:column;gap:.15rem;font-size:.68rem}.academic-record-book--teacher-compact .academic-record-book__cover{flex-direction:column;align-items:stretch;padding:.7rem .85rem}.academic-record-book--teacher-compact .academic-record-book__cover-actions{justify-content:space-between}.academic-record-book__summary-table-wrap{padding:.55rem .65rem .7rem}.academic-record-summary-table{min-width:32rem}.academic-record-details-modal__header{flex-direction:column;gap:.65rem}.modal-card--academic-details{padding:1rem}}.academic-record-book{background:linear-gradient(90deg,#2563eb14 0 2.75rem,#0000 2.75rem),linear-gradient(#fffbeb,#fffaf0);border:1px solid #b4530929;border-radius:1.35rem;overflow:hidden;box-shadow:0 18px 38px #78350f14}.academic-record-book__cover{color:#dbeafe;background:radial-gradient(circle at 96% 8%,#2563eb29,#0000 32%),linear-gradient(135deg,#1e3a8a,#2563eb);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem 1rem 3.45rem;display:flex}.academic-record-book__cover h3{color:#fff;margin:.2rem 0 0;font-size:1.25rem}.academic-record-book__cover>span,.academic-record-book__cover-actions>span{color:#fff;background:#ffffff29;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:900}.academic-record-book__cover-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.academic-record-book__cover-actions .button{color:#1d4ed8;background:#ffffffeb;border-color:#ffffff52}.academic-record-book--teacher-compact .academic-record-book__cover{padding:.75rem 1rem .75rem 3rem}.academic-record-book--teacher-compact .academic-record-book__cover h3{font-size:1.05rem}.academic-record-book__summary-table-wrap{background:#ffffffb8;padding:.65rem .85rem .85rem 3rem}.academic-record-book__summary-empty{color:#64748b;background:#f8fafceb;border-radius:.85rem;margin:0;padding:.75rem;font-size:.82rem;font-weight:700}.academic-record-summary-table{min-width:36rem}.academic-record-summary-table th,.academic-record-summary-table td{vertical-align:middle;padding:.45rem .55rem;font-size:.78rem}.academic-record-summary-table__grade{color:#0f172a;background:#e2e8f0;border-radius:999px;padding:.18rem .45rem;font-size:.72rem;font-weight:900;display:inline-flex}.academic-record-summary-table__grade--green{color:#15803d;background:#22c55e29}.academic-record-summary-table__grade--yellow{color:#b45309;background:#f59e0b29}.academic-record-summary-table__grade--red{color:#b91c1c;background:#ef444424}.academic-record-summary-table__grade--neutral{color:#475569;background:#94a3b833}.modal-card--academic-details{width:min(960px,100%)}.academic-record-details-modal__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.academic-record-details-modal__header h3{margin:.15rem 0 0}.academic-record-details--modal{background:0 0;padding:0}.academic-record-details{background:#eff6ffb8;gap:.85rem;padding:1rem 1rem 0 3.45rem;display:grid}.academic-record-details__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem;display:flex}.academic-record-details__header h4{color:#0f172a;margin:.2rem 0 0;font-size:1.05rem}.academic-record-details__filters{background:radial-gradient(circle at 100% 0,#2563eb14,#0000 32%),#ffffffdb;border:1px solid #94a3b82e;border-radius:1rem;grid-template-columns:repeat(3,minmax(10rem,1fr));gap:.75rem;padding:.85rem;display:grid}.academic-record-details__filters label{gap:.35rem;display:grid}.academic-record-details__filters span{color:#1d4ed8;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.academic-record-details__filters input,.academic-record-details__filters select{background:#fff;border:1px solid #cbd5e1;border-radius:.85rem;width:100%;padding:.65rem .8rem}.academic-record-details__filters .button{grid-column:1/-1;justify-self:end}.academic-record-details__table-wrap{background:#ffffffe6;border:1px solid #94a3b82e;border-radius:1rem;overflow-x:auto}.academic-record-details__table{border-collapse:collapse;width:100%;min-width:52rem}.academic-record-details__table th,.academic-record-details__table td{text-align:left;vertical-align:top;border-bottom:1px solid #94a3b824;padding:.75rem}.academic-record-details__table th{color:#1d4ed8;letter-spacing:.06em;text-transform:uppercase;background:#eff6ff;font-size:.72rem;font-weight:900}.academic-record-details__table td{color:#334155;font-size:.86rem}.academic-record-details__hint{max-width:36rem;margin:.35rem 0 0}.academic-record-details__actions{gap:.4rem;min-width:8.5rem;display:grid}.academic-record-book__pages{background-image:repeating-linear-gradient(#2563eb14 0 1px,#0000 1px 2.45rem);gap:.85rem;padding:1rem 1rem 1rem 3.45rem;display:grid}.academic-record-card{background:radial-gradient(circle at 100% 0,#0ea5e91a,#0000 36%),#ffffffe6;border:1px solid #94a3b82e;border-radius:1rem;gap:.8rem;padding:1rem;display:grid;box-shadow:0 10px 24px #0f172a0d}.academic-record-card--empty{color:#64748b;border-style:dashed;font-weight:700}.academic-record-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.academic-record-card__top strong{color:#0f172a;margin-top:.15rem;font-size:1.1rem;display:block}.academic-record-card__eyebrow{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.academic-record-card__score{color:#eff6ff;text-align:right;background:#0f172a;border-radius:.9rem;gap:.1rem;min-width:5.5rem;padding:.6rem .75rem;display:grid}.academic-record-card__score--green{background:linear-gradient(135deg,#15803d,#16a34a)}.academic-record-card__score--yellow{background:linear-gradient(135deg,#b45309,#f59e0b)}.academic-record-card__score--red{background:linear-gradient(135deg,#b91c1c,#ef4444)}.academic-record-card__score--neutral{background:#0f172a}.academic-record-card__score span{font-size:1.2rem;font-weight:900}.academic-record-card__score small{color:#bfdbfe;font-weight:800}.academic-record-card__improvement{background:#f8fafc;border:1px solid #94a3b82e;border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;margin:0;padding:.55rem .7rem;font-size:.82rem;display:flex}.academic-record-card__improvement span{color:#64748b}.academic-record-card__improvement strong{font-weight:800}.academic-record-card__improvement--up{color:#15803d;background:#22c55e1a;border-color:#22c55e38}.academic-record-card__improvement--down{color:#b91c1c;background:#ef444414;border-color:#ef444433}.academic-record-card__improvement--flat{color:#475569;background:#94a3b81f}.academic-record-card__improvement--none{color:#64748b}.academic-improvement-pill{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.76rem;font-weight:800;display:inline-flex}.academic-improvement-pill--up{color:#15803d;background:#22c55e24}.academic-improvement-pill--down{color:#b91c1c;background:#ef44441f}.academic-improvement-pill--flat{color:#475569;background:#94a3b829}.academic-improvement-pill--none{color:#64748b;background:#f8fafc}.student-grade-history{border-top:1px solid #94a3b82e;margin-top:1rem;padding-top:1rem}.student-grade-history h4{margin:0 0 .75rem}.student-grade-history__list{gap:.55rem;display:grid}.student-grade-history__item{background:#f8fafc;border:1px solid #94a3b829;border-radius:.85rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.75rem .85rem;display:flex}.student-grade-history__scores{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.student-grade-history__scores>span:first-child{color:#0f172a;font-size:1rem;font-weight:800}.academic-record-card__remarks{color:#334155;white-space:pre-wrap;background:#ffffffd1;border-radius:.85rem;margin:0;padding:.75rem}.academic-record-card__remarks strong{color:#0f172a}.academic-record-card__remarks--empty{color:#64748b;border:1px dashed #2563eb2e}.academic-record-card__actions{gap:.55rem;display:grid}.academic-record-card__actions .button{width:fit-content}.teacher-students-panel__session{width:min(18rem,100%)}.teacher-student-grid{grid-template-columns:1fr;gap:1rem;display:grid}.teacher-student-card{background:linear-gradient(#fff,#f8fafceb),radial-gradient(circle at 0 0,#2563eb14,#0000 40%);border:1px solid #94a3b82e;border-radius:1.1rem;gap:.8rem;padding:1rem;display:grid;box-shadow:0 10px 24px #0f172a0f}.teacher-student-card--id{background:radial-gradient(circle at 100% 0,#2563eb1f,#0000 34%),linear-gradient(135deg,#fff,#eff6ff)}.teacher-student-card__top,.teacher-student-card__actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.teacher-student-card h4,.teacher-student-card p{margin:0}.teacher-student-card__eyebrow{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.teacher-student-card__amica{color:#1d4ed8;text-align:right;background:#eff6ff;border-radius:.85rem;gap:.1rem;min-width:5.5rem;padding:.55rem .7rem;display:grid}.teacher-student-card__more{border-top:1px solid #94a3b829;padding-top:.75rem}.teacher-student-card__more-summary{cursor:pointer;flex-direction:column;gap:.2rem;list-style:none;display:flex}.teacher-student-card__more-summary::-webkit-details-marker{display:none}.teacher-student-card__more-title{color:#1d4ed8;font-size:.92rem;font-weight:900}.teacher-student-card__more-hint{color:#64748b;font-size:.78rem;font-weight:700}.teacher-student-card__attendance-label{color:#64748b;letter-spacing:.06em;text-transform:uppercase;width:100%;font-size:.72rem;font-weight:900}.teacher-student-expand{background:#f8fafce6;border:1px solid #94a3b824;border-radius:.95rem;gap:.85rem;margin-top:.85rem;padding:.85rem;display:grid}.teacher-student-tabs{background:#e2e8f0;border-radius:999px;flex-wrap:wrap;gap:.4rem;padding:.3rem;display:flex}.teacher-student-tabs__btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;flex:auto;min-width:5.5rem;padding:.45rem .85rem;font-size:.82rem;font-weight:800;transition:background .15s,color .15s,box-shadow .15s}.teacher-student-tabs__btn--active{color:#1d4ed8;background:#fff;box-shadow:0 4px 12px #0f172a14}.teacher-student-panel{gap:.85rem;display:grid}.teacher-student-profile-groups{gap:1rem;display:grid}.teacher-profile-group{background:linear-gradient(165deg,#fff 0%,#f8fafc 100%);border:1px solid #94a3b838;border-radius:1.15rem;padding:1rem 1.05rem 1.1rem;box-shadow:0 10px 24px #0f172a0d}.teacher-profile-group--personal{background:linear-gradient(165deg,#fff 0%,#f5f3ff 100%);border-color:#6366f138}.teacher-profile-group--contact{background:linear-gradient(165deg,#fff 0%,#f0fdfa 100%);border-color:#14b8a638}.teacher-profile-group--programme{background:linear-gradient(165deg,#fff 0%,#eff6ff 100%);border-color:#3b82f638}.teacher-profile-group__head{border-bottom:1px solid #94a3b833;align-items:center;gap:.6rem;margin-bottom:.9rem;padding-bottom:.7rem;display:flex}.teacher-profile-group__head h6{flex:1}.teacher-profile-group__lock{opacity:.55;font-size:.82rem}.teacher-profile-group--locked{opacity:.98}.teacher-profile-group--locked .teacher-profile-field--readonly{background:#f8fafcbf}.teacher-student-profile__toolbar{background:#f8fafcf2;border:1px solid #94a3b82e;border-radius:.85rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;padding:.75rem .85rem;display:flex}.teacher-student-profile__toolbar-hint{color:#64748b;margin:0;font-size:.82rem;line-height:1.45}.teacher-student-profile__edit-btn{flex-shrink:0}.teacher-profile-group__icon{color:#fff;border-radius:.65rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.82rem;font-weight:700;display:grid}.teacher-profile-group--personal .teacher-profile-group__icon{background:linear-gradient(145deg,#6366f1,#4f46e5);box-shadow:0 6px 14px #4f46e540}.teacher-profile-group--contact .teacher-profile-group__icon{background:linear-gradient(145deg,#14b8a6,#0d9488);box-shadow:0 6px 14px #14b8a640}.teacher-profile-group--programme .teacher-profile-group__icon{background:linear-gradient(145deg,#3b82f6,#2563eb);box-shadow:0 6px 14px #2563eb40}.teacher-profile-group h6{color:#0f172a;letter-spacing:.01em;text-transform:none;margin:0;font-size:.88rem;font-weight:700}.teacher-profile-group__grid{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:.65rem;margin:0;display:grid}.teacher-profile-field{background:#ffffffe0;border:1px solid #e2e8f0f2;border-radius:.8rem;gap:.2rem;padding:.7rem .8rem;transition:border-color .15s,box-shadow .15s;display:grid}.teacher-profile-field:hover{border-color:#94a3b859;box-shadow:0 6px 14px #0f172a0a}.teacher-profile-field dt{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.7rem;font-weight:700}.teacher-profile-field dd{color:#0f172a;word-break:break-word;margin:0;font-size:.9rem;font-weight:600;line-height:1.4}.teacher-profile-field--empty dd{color:#94a3b8;font-style:italic;font-weight:500}.teacher-profile-field--edit{gap:.35rem}.teacher-profile-field__control{gap:.35rem;margin:0;display:grid}.teacher-profile-field__label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.teacher-profile-field__input{color:#0f172a;background:#fff;border:1px solid #94a3b847;border-radius:.65rem;width:100%;margin:0;padding:.55rem .65rem;font-size:.88rem;font-weight:600;line-height:1.35;transition:border-color .15s,box-shadow .15s}.teacher-profile-field__input:focus{border-color:#3b82f68c;outline:none;box-shadow:0 0 0 3px #3b82f61f}.teacher-profile-field__input::placeholder{color:#94a3b8;font-weight:500}textarea.teacher-profile-field__input{resize:vertical;min-height:4.5rem}.teacher-profile-field--readonly{gap:.2rem}.teacher-student-profile__footer{padding-top:.15rem}.teacher-student-quick-links{flex-wrap:wrap;gap:.5rem;padding-top:.15rem;display:flex}.teacher-student-panel__block{background:#fff;border:1px solid #94a3b824;border-radius:.85rem;gap:.65rem;padding:.85rem;display:grid}.teacher-student-panel__block--locked{background:linear-gradient(165deg,#fff 0%,#f8fafc 100%)}.teacher-family-notes-readonly{color:#0f172a;white-space:pre-wrap;word-break:break-word;background:#f8fafce6;border:1px solid #94a3b82e;border-radius:.75rem;min-height:7rem;padding:.65rem .75rem;font-size:.9rem;line-height:1.5}.teacher-family-notes-readonly--empty{color:#94a3b8;font-style:italic}.teacher-student-panel__block h5{color:#0f172a;margin:0;font-size:.92rem}.teacher-student-panel__block-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;display:flex}.teacher-student-panel__textarea{resize:vertical;background:#f8fafc;border:1px solid #94a3b838;border-radius:.75rem;width:100%;min-height:7rem;padding:.65rem .75rem}.teacher-student-panel__footer{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.teacher-student-panel__empty{margin:0}.teacher-student-panel__warning{color:#b45309;font-size:.78rem;font-weight:800}.teacher-family-links{flex-wrap:wrap;gap:.45rem;display:flex}.teacher-family-links__chip{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #2563eb33;border-radius:999px;padding:.4rem .75rem;font-size:.82rem;font-weight:800;transition:background .15s,transform .15s}.teacher-family-links__chip:hover{background:#dbeafe;transform:translateY(-1px)}.teacher-tutor-log-panel{gap:1rem}.teacher-tutor-session-banner{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);border:1px solid #2563eb2e;border-radius:1rem;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex;box-shadow:0 8px 20px #2563eb0f}.teacher-tutor-session-banner__icon{color:#fff;background:linear-gradient(145deg,#3b82f6,#2563eb);border-radius:.75rem;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;font-size:1rem;display:grid;box-shadow:0 6px 14px #2563eb38}.teacher-tutor-session-banner__body{gap:.15rem;display:grid}.teacher-tutor-session-banner__body span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:800}.teacher-tutor-session-banner__body strong{color:#0f172a;font-size:.92rem;line-height:1.35}.teacher-tutor-handover-callout{background:linear-gradient(135deg,#fffbeb 0%,#fff7ed 100%);border:1px solid #f59e0b47;border-radius:1rem;gap:.75rem;padding:.85rem 1rem;display:flex}.teacher-tutor-handover-callout__icon{color:#b45309;background:#f59e0b29;border-radius:.65rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.95rem;font-weight:900;display:grid}.teacher-tutor-handover-callout__label{color:#b45309;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem;font-size:.7rem;font-weight:800;display:block}.teacher-tutor-handover-callout p{color:#78350f;margin:0;font-size:.9rem;line-height:1.45}.teacher-tutor-log-card{background:linear-gradient(165deg,#fff 0%,#f8fafc 100%);border:1px solid #94a3b838;border-radius:1.15rem;gap:.85rem;padding:1rem 1.05rem;display:grid;box-shadow:0 10px 24px #0f172a0d}.teacher-tutor-log-card__head{flex-wrap:wrap;align-items:flex-start;gap:.65rem .85rem;display:flex}.teacher-tutor-log-card__icon{color:#fff;background:linear-gradient(145deg,#14b8a6,#0d9488);border-radius:.65rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.9rem;display:grid;box-shadow:0 6px 14px #14b8a638}.teacher-tutor-log-card__head h5{color:#0f172a;margin:0;font-size:.95rem}.teacher-tutor-log-card__hint{color:#64748b;margin:.2rem 0 0;font-size:.8rem;line-height:1.4}.teacher-tutor-log-card__warning{color:#b45309;background:#f59e0b24;border-radius:999px;margin-left:auto;padding:.28rem .55rem;font-size:.72rem;font-weight:800}.teacher-tutor-log-success{color:#15803d;background:#22c55e1f;border:1px solid #22c55e38;border-radius:.75rem;padding:.65rem .8rem;font-size:.84rem;font-weight:700}.teacher-tutor-log-view__grid,.teacher-tutor-log-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.teacher-tutor-log-field{background:#ffffffe6;border:1px solid #e2e8f0f2;border-radius:.8rem;gap:.25rem;padding:.7rem .8rem;display:grid}.teacher-tutor-log-field span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:800}.teacher-tutor-log-field strong{color:#0f172a;word-break:break-word;font-size:.9rem;font-weight:600;line-height:1.4}.teacher-tutor-log-field--wide,.teacher-tutor-log-form__field-wide{grid-column:1/-1}.teacher-tutor-log-view__footer,.teacher-tutor-log-form__footer{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.15rem;display:flex}.teacher-tutor-log-form__actions{flex-wrap:wrap;gap:.45rem;margin-left:auto;display:flex}.teacher-tutor-log-form label{gap:.35rem;display:grid}.teacher-tutor-log-form label span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:800}.teacher-tutor-log-form input,.teacher-tutor-log-form select,.teacher-tutor-log-form textarea{color:#0f172a;background:#fff;border:1px solid #94a3b847;border-radius:.65rem;width:100%;padding:.55rem .65rem;font-size:.88rem;font-weight:600}.teacher-tutor-log-form textarea{resize:vertical;min-height:5.5rem}.teacher-tutor-log-form input:focus,.teacher-tutor-log-form select:focus,.teacher-tutor-log-form textarea:focus{border-color:#14b8a68c;outline:none;box-shadow:0 0 0 3px #14b8a61f}.teacher-weekly-log--edit .teacher-weekly-log__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.teacher-weekly-log__field-wide{grid-column:1/-1}.teacher-weekly-log__toolbar-actions{flex-wrap:wrap;gap:.45rem;margin-left:auto;display:flex}.teacher-weekly-log__read-grid--columns{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-weekly-log__read-row--wide{grid-column:1/-1}.teacher-log-history-card{background:linear-gradient(165deg,#fff 0%,#f8fafc 100%);border:1px solid #94a3b833;border-radius:1.15rem;overflow:hidden;box-shadow:0 10px 24px #0f172a0d}.teacher-log-history{overflow:hidden}.teacher-log-history__summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;list-style:none;display:flex}.teacher-log-history__summary::-webkit-details-marker{display:none}.teacher-log-history__summary-main{align-items:center;gap:.7rem;display:flex}.teacher-log-history__summary-icon{color:#fff;background:linear-gradient(145deg,#6366f1,#4f46e5);border-radius:.65rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.9rem;display:grid}.teacher-log-history__summary-main strong{color:#0f172a;font-size:.92rem;display:block}.teacher-log-history__summary-main small{color:#64748b;margin-top:.12rem;font-size:.78rem;font-weight:600;display:block}.teacher-log-history__count{color:#4338ca;background:#6366f11f;border-radius:999px;justify-content:center;align-items:center;min-width:1.65rem;padding:.15rem .5rem;font-size:.78rem;font-weight:900;display:inline-flex}.teacher-log-history[open] .teacher-log-history__summary{border-bottom:1px solid #94a3b82e}.teacher-log-history__timeline{gap:0;padding:.85rem 1rem 1rem;display:grid}.teacher-log-history__item{grid-template-columns:1.1rem 1fr;gap:.75rem;padding-bottom:.85rem;display:grid}.teacher-log-history__item:last-child{padding-bottom:0}.teacher-log-history__rail{background:linear-gradient(#6366f1,#6366f133);border-radius:999px;width:.55rem;margin:.35rem auto 0;position:relative}.teacher-log-history__item:not(:last-child) .teacher-log-history__rail:after{content:"";background:#6366f12e;width:2px;height:calc(100% + .85rem);position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.teacher-log-history__content{background:#fff;border:1px solid #94a3b829;border-radius:.85rem;gap:.55rem;padding:.75rem .85rem;display:grid;box-shadow:0 6px 16px #0f172a0a}.teacher-log-history__meta{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;display:flex}.teacher-log-history__date{color:#0f172a;font-size:.88rem;font-weight:800}.teacher-log-history__session{color:#64748b;font-size:.8rem;font-weight:700}.teacher-log-history__subject{color:#4338ca;background:#6366f11a;border-radius:999px;margin-left:auto;padding:.18rem .5rem;font-size:.72rem;font-weight:800}.teacher-log-history__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.teacher-log-history__field{background:#f8fafc;border:1px solid #e2e8f0e6;border-radius:.65rem;gap:.15rem;padding:.55rem .65rem;display:grid}.teacher-log-history__field span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:.65rem;font-weight:800}.teacher-log-history__field strong{color:#334155;word-break:break-word;font-size:.84rem;font-weight:600;line-height:1.35}.teacher-log-history__field--wide{grid-column:1/-1}.teacher-log-history__empty{color:#94a3b8;margin:0;padding:.85rem 1rem 1rem;font-size:.86rem;font-style:italic}@media (width<=720px){.teacher-tutor-log-view__grid,.teacher-tutor-log-form__grid,.teacher-log-history__fields,.teacher-profile-group__grid{grid-template-columns:1fr}.teacher-tutor-log-form__actions{width:100%;margin-left:0}.teacher-log-history__subject{margin-left:0}}.teacher-student-card__more summary{cursor:pointer;color:#1d4ed8;font-weight:900}.teacher-student-card__section{background:#ffffffb3;border:1px solid #94a3b824;border-radius:.85rem;gap:.5rem;margin-top:.75rem;padding:.75rem;display:grid}.teacher-student-card__section h5{color:#0f172a;margin:0}.teacher-student-profile__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem 1rem;margin:0;display:grid}.teacher-student-profile__grid div{gap:.15rem;display:grid}.teacher-student-profile__grid dt{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.teacher-student-profile__grid dd{color:#0f172a;margin:0;line-height:1.4}.teacher-student-profile__actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.teacher-student-card__section textarea,.teacher-weekly-log textarea,.teacher-weekly-log input,.teacher-weekly-log select{background:#fff;border:1px solid #94a3b838;border-radius:.75rem;width:100%;padding:.55rem .7rem}.teacher-weekly-log{gap:.6rem;display:grid}.teacher-save-pill{color:#64748b;background:#f1f5f9;border-radius:999px;width:fit-content;margin-top:.55rem;padding:.38rem .65rem;font-size:.76rem;font-weight:800;display:inline-flex}.teacher-save-pill--saved{color:#15803d;background:#22c55e24;border:1px solid #22c55e33}.teacher-previous-log{background:linear-gradient(#eff6ff,#fff);border:1px solid #2563eb29;border-radius:1rem;margin-top:.55rem;overflow:hidden}.teacher-previous-log summary{cursor:pointer;color:#1d4ed8;text-underline-offset:.18rem;padding:.75rem .85rem;font-weight:900;text-decoration:underline}.teacher-previous-log__card{gap:.6rem;padding:0 .85rem .85rem;display:grid}.teacher-previous-log__meta{color:#64748b;font-size:.8rem;font-weight:700}.teacher-previous-log__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.teacher-previous-log__details div{background:#ffffffd1;border:1px solid #94a3b82e;border-radius:.8rem;padding:.65rem}.teacher-previous-log__details dt{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.18rem;font-size:.68rem;font-weight:900}.teacher-previous-log__details dd{color:#0f172a;white-space:pre-wrap;margin:0;font-weight:700}.teacher-log-table-wrap{padding:0 .85rem .85rem;overflow-x:auto}.teacher-log-table{border-collapse:separate;border-spacing:0 .45rem;width:100%}.teacher-log-table th{color:#64748b;text-align:left;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.teacher-log-table td{vertical-align:top;background:#ffffffd9;border-top:1px solid #94a3b82e;border-bottom:1px solid #94a3b82e;padding:.65rem}.teacher-log-table td:first-child{border-left:1px solid #94a3b82e;border-radius:.75rem 0 0 .75rem}.teacher-log-table td:last-child{border-right:1px solid #94a3b82e;border-radius:0 .75rem .75rem 0}.teacher-log-table__details summary{color:#1d4ed8;cursor:pointer;text-underline-offset:.16rem;font-weight:900;text-decoration:underline}.teacher-weekly-log__submit-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.teacher-attendance-confirm.button,button.teacher-attendance-confirm,.teacher-attendance-confirm{cursor:pointer;text-shadow:0 1px #0f172a2e;width:100%;margin:0;line-height:1.2;display:block;box-shadow:0 10px 22px #2563eb61;color:#fff!important;background:linear-gradient(135deg,#1d4ed8,#2563eb)!important;border:2px solid #1e3a8a!important;border-radius:.75rem!important;padding:.62rem .95rem!important;font-size:.84rem!important;font-weight:900!important}.teacher-attendance-confirm-row{background:#fff;border:1px solid #2563eb47;border-radius:.8rem;width:100%;margin-top:.15rem;padding:.55rem;box-shadow:0 8px 18px #2563eb1f}.teacher-student-card__attendance-block{background:#f8fafc;border:1px solid #94a3b838;border-radius:.85rem;gap:.55rem;width:100%;padding:.75rem;display:grid}.teacher-dashboard-attendance__actions-wrap{flex:auto;gap:.45rem;min-width:min(100%,18rem);display:grid}.teacher-attendance-confirm.button:hover:not(:disabled),button.teacher-attendance-confirm:hover:not(:disabled){color:#fff!important;background:linear-gradient(135deg,#1e40af,#1d4ed8)!important;border-color:#172554!important}.teacher-attendance-confirm.button:disabled,button.teacher-attendance-confirm:disabled{opacity:.72;box-shadow:none}.teacher-attendance-chips .teacher-attendance-confirm,.teacher-attendance-confirm-row .teacher-attendance-confirm{min-height:2.45rem}.teacher-empty-log-card{color:#475569;background:#f8fafc;border-radius:.85rem;gap:.2rem;padding:.8rem;font-weight:700;display:grid}.teacher-empty-log-card--strong{background:linear-gradient(#eff6ff,#fff);border:1px dashed #2563eb47;margin:.75rem}.teacher-empty-log-card--strong strong{color:#0f172a;font-size:.95rem}.teacher-submission-status{text-transform:capitalize;border-radius:999px;align-items:center;width:fit-content;padding:.36rem .7rem;font-size:.74rem;font-weight:900;display:inline-flex}.teacher-submission-status--pending,.teacher-submission-status--assigned{color:#b45309;background:#f59e0b29;border:1px solid #f59e0b38}.teacher-submission-status--submitted{color:#1d4ed8;background:#3b82f624;border:1px solid #3b82f633}.teacher-submission-status--reviewed{color:#15803d;background:#22c55e24;border:1px solid #22c55e33}.teacher-submission-status--needs_changes{color:#b91c1c;background:#ef44441f;border:1px solid #ef444433}.teacher-hub-section{scroll-margin-top:1rem}.teacher-grade-sheet-link{background:radial-gradient(circle at 100% 0,#2563eb1f,#0000 34%),linear-gradient(135deg,#fff,#eff6ff);border-color:#2563eb29}.teacher-grade-sheet-link__copy{color:#475569;background:#ffffffc7;border-radius:.95rem;margin:0;padding:.85rem 1rem;font-weight:700}.teacher-grade-sheet-link__cta{color:#eff6ff;background:radial-gradient(circle at 100% 0,#fbbf2457,#0000 38%),linear-gradient(135deg,#1d4ed8,#0f172a);border-radius:1rem;gap:.1rem;min-width:11rem;padding:.85rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 16px 30px #2563eb33}.teacher-grade-sheet-link__cta:hover{transform:translateY(-2px);box-shadow:0 20px 36px #2563eb42}.teacher-grade-sheet-link__cta span{color:#bfdbfe;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.teacher-grade-sheet-link__cta strong{color:#fff;font-size:1rem}.teacher-assign-homework-card{background:radial-gradient(circle at 100% 0,#0ea5e929,#0000 34%),linear-gradient(135deg,#f0f9ff,#fff 52%,#eff6ff);border-color:#0ea5e93d;box-shadow:0 18px 40px #0ea5e917}.teacher-assign-homework-form{background:#ffffffb8;border:1px solid #0ea5e929;border-radius:1.15rem;padding:1rem;box-shadow:inset 0 0 0 1px #ffffff8c}.teacher-assign-homework-form .form-field{background:#f8fafcd1;border:1px solid #94a3b829;border-radius:.9rem;padding:.75rem}.teacher-assign-homework-form .form-field>span{color:#0369a1;font-weight:900}.teacher-assign-homework-form__description textarea{min-height:7rem}.teacher-assignment-dropzone{background:linear-gradient(#eff6ff,#fff)!important;border-style:dashed!important;border-color:#2563eb47!important}.teacher-homework-review-list,.teacher-audit-log-list,.teacher-grade-sheet{gap:.85rem;display:grid}.teacher-homework-review-card{background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b833;border-radius:1rem;gap:.75rem;padding:1rem;display:grid}.teacher-homework-review-modal{width:min(820px,100%)}.teacher-homework-review-card--modal{background:0 0;border:none;margin-top:.5rem;padding:0}.teacher-grade-band-hint{margin-top:.35rem;display:block}.teacher-homework-review-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.teacher-homework-review-card__description{color:#334155;white-space:pre-wrap;margin:0}.teacher-homework-review-card__files{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.teacher-homework-review-card__files>strong{color:#64748b;text-transform:uppercase;letter-spacing:.06em;width:100%;font-size:.76rem}.teacher-return-lock{background:linear-gradient(135deg,#f8fafc,#e0f2fe);border:1px solid #0ea5e938;border-radius:.9rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem;display:flex}.teacher-return-lock div{gap:.2rem;display:grid}.teacher-return-lock strong{color:#0f172a}.teacher-return-lock span{color:#475569;font-size:.88rem;font-weight:700}.teacher-return-form{background:#eff6ff;border:1px solid #3b82f62e;border-radius:1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:.9rem;display:grid}.form-field--wide,.teacher-return-form .form-actions{grid-column:1/-1}.teacher-grade-row{background:#fff;border:1px solid #94a3b833;border-radius:.9rem;grid-template-columns:minmax(10rem,1.2fr) repeat(3,minmax(7rem,1fr));align-items:center;gap:.75rem;padding:.85rem;display:grid}.teacher-weekly-log label{color:#475569;gap:.25rem;font-size:.82rem;font-weight:800;display:grid}.teacher-student-card__details{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.55rem;margin:0;display:grid}.teacher-student-card__details div{background:#f1f5f9d1;border-radius:.75rem;padding:.55rem}.teacher-student-card__details dt{color:#64748b;font-size:.72rem;font-weight:800}.teacher-student-card__details dd{color:#0f172a;margin:.15rem 0 0;font-weight:700}.teacher-attendance-btn{color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.5rem .8rem;font-weight:800}.teacher-attendance-btn--present{background:linear-gradient(135deg,#22c55e,#16a34a)}.teacher-attendance-btn--absent{background:linear-gradient(135deg,#ef4444,#dc2626)}.teacher-attendance-btn:disabled{opacity:.45;cursor:not-allowed}.teacher-attendance-chips{flex-wrap:wrap;gap:.45rem;display:flex}.teacher-attendance-chip{cursor:pointer;border:1px solid #0000;border-radius:999px;flex:calc(25% - .45rem);min-width:4.5rem;padding:.45rem .55rem;font-size:.78rem;font-weight:800;transition:background .15s,border-color .15s,transform .15s}.teacher-attendance-chip:disabled{opacity:.45;cursor:not-allowed}.teacher-attendance-chip--present{color:#15803d;background:#22c55e1f}.teacher-attendance-chip--present.teacher-attendance-chip--selected{color:#fff;background:#16a34a;border-color:#15803d}.teacher-attendance-chip--absent{color:#b91c1c;background:#ef44441f}.teacher-attendance-chip--absent.teacher-attendance-chip--selected{color:#fff;background:#dc2626;border-color:#b91c1c}.teacher-attendance-chip--late{color:#b45309;background:#f59e0b24}.teacher-attendance-chip--late.teacher-attendance-chip--selected{color:#fff;background:#d97706;border-color:#b45309}.teacher-attendance-chip--excused{color:#1d4ed8;background:#3b82f61f}.teacher-attendance-chip--excused.teacher-attendance-chip--selected{color:#fff;background:#2563eb;border-color:#1d4ed8}.teacher-attendance-saved{flex:100%;font-size:.72rem;font-weight:700}.teacher-hours-feedback-attendance{grid-column:1/-1;margin-bottom:.15rem}.teacher-attendance-chips--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.teacher-attendance-chips--grid .teacher-attendance-chip{border-radius:.75rem;flex:none;width:100%;min-width:0;padding:.55rem .65rem;font-size:.8rem}.teacher-tutor-log-attendance{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.65rem;display:flex}.teacher-tutor-log-card__status{color:#1d4ed8;background:#2563eb1f;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:800}.teacher-tutor-log-form__hint{margin:0 0 .5rem;font-size:.82rem}.teacher-dashboard-attendance__actions.teacher-attendance-chips{flex:auto;justify-content:flex-end}.teacher-student-card__name-row{align-items:flex-start;gap:.5rem;display:flex}.teacher-student-card__name-row .teacher-chat-pill--compact{flex-shrink:0;align-self:flex-start}.teacher-last-session{background:#f8fafc;border:1px solid #94a3b840;border-radius:.75rem;margin-bottom:.75rem;padding:.65rem .85rem}.teacher-last-session summary{cursor:pointer;color:#334155;font-weight:800}.teacher-last-session__body{color:#475569;margin:.55rem 0 0;font-size:.92rem}.teacher-weekly-log--readonly{background:#f1f5f9;border:1px solid #94a3b833;border-radius:.85rem;padding:.85rem}.teacher-weekly-log__read-grid{gap:.55rem;margin-bottom:.75rem;display:grid}.teacher-weekly-log__read-row{gap:.15rem;display:grid}.teacher-weekly-log__read-row dt{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:800}.teacher-weekly-log__read-row dd{color:#334155;margin:0}.teacher-weekly-log__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.teacher-weekly-log__edit-btn{align-items:center;gap:.35rem;display:inline-flex}.student-homework-progress{background:#f8fafc;border:1px solid #94a3b833;border-radius:.85rem;margin-bottom:1rem;padding:.85rem 1rem}.student-homework-progress__label{color:#334155;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.92rem;font-weight:700;display:flex}.student-homework-progress__track{background:#e2e8f0;border-radius:999px;height:.55rem;overflow:hidden}.student-homework-progress__fill{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#16a34a);height:100%;transition:width .25s}@media (width<=720px){.teacher-dashboard-overview__grid,.teacher-dashboard-connect-grid,.teacher-dashboard-overview__panels,.teacher-dashboard-shortcuts,.teacher-hours-feedback-box,.teacher-hours-feedback-student,.assigned-teacher-id-card__grid,.assigned-teacher-id-card__body,.student-homework-reference__grid,.student-session-attendance__grid,.teacher-card__singpass-body.student-id-card__body,.teacher-card__main,.teacher-card__actions-grid{grid-template-columns:1fr}.teacher-card__singpass-photo.student-id-card__photo{width:86px;height:104px}.teacher-card__action-strip{grid-template-columns:1fr}.teacher-dashboard-attendance__row{flex-direction:column;align-items:flex-start}.teacher-dashboard-attendance__actions{justify-content:flex-start}.teacher-card__grid--compact,.teacher-card-action__grid{grid-template-columns:1fr}}.student-avatar-panel__row{align-items:center;gap:1rem;margin-top:.75rem;display:flex}.student-avatar-panel__preview{object-fit:cover;border:2px solid #94a3b833;border-radius:1rem;width:4.5rem;height:4.5rem}.student-avatar-panel__placeholder{background:#0f172a0f;border-radius:1rem;place-items:center;width:4.5rem;height:4.5rem;font-size:1.75rem;font-weight:800;display:grid}@media (width<=960px){.sessions-split{grid-template-columns:1fr}}.page-stack--users-admin{gap:.85rem}.panel-card--users-admin{background:radial-gradient(circle at 100% 0,#2563eb14,#0000 38%),radial-gradient(circle at 0 100%,#0ea5e90f,#0000 32%),linear-gradient(#fff,#f8fafc);border-color:#2563eb1f;padding:.95rem 1rem 1.05rem;box-shadow:0 14px 36px #0f172a0f}.panel-card--users-admin .panel-card__header{display:none}.users-admin-hero{border-bottom:1px solid #94a3b829;gap:.85rem;margin-bottom:.65rem;padding-bottom:.75rem;display:grid}.users-admin-hero__eyebrow{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.68rem;font-weight:800;display:block}.users-admin-hero__title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem .75rem;display:flex}.users-admin-hero__title-row h2{margin:0;font-size:1.35rem;line-height:1.15}.users-admin-hero__lead{max-width:36rem;margin:.35rem 0 0;font-size:.82rem;line-height:1.45}.users-admin-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}@media (width<=720px){.users-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.users-admin-summary article{background:#ffffffe0;border:1px solid #94a3b82e;border-radius:.7rem;padding:.55rem .65rem}.users-admin-summary span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.15rem;font-size:.62rem;font-weight:800;display:block}.users-admin-summary strong{color:#0f172a;font-size:1.1rem;line-height:1}.users-admin-controls{background:#ffffffb8;border:1px solid #94a3b829;border-radius:.75rem;grid-template-columns:minmax(12rem,1.6fr) minmax(7rem,.75fr) minmax(7rem,.65fr) auto;align-items:center;gap:.45rem;margin-bottom:.55rem;padding:.55rem .6rem;display:grid}@media (width<=860px){.users-admin-controls{grid-template-columns:1fr 1fr}.users-admin-controls__search{grid-column:1/-1}}.users-admin-controls__search,.users-admin-controls__field select{background:#fff;border:1px solid #94a3b83d;border-radius:.55rem;width:100%;min-height:2.15rem;padding:.42rem .65rem;font-size:.82rem}.users-admin-controls__search{background:#f8fafc}.users-admin-controls__clear{justify-self:end;min-height:2.15rem;padding-inline:.75rem;font-size:.78rem}.users-admin-table-hint{color:#64748b;margin:0;font-size:.8rem;font-weight:600}.users-admin-table-panel{gap:.5rem;display:grid}.users-admin-table-panel__header{justify-content:space-between;align-items:center;gap:.75rem;padding:0 .15rem;display:flex}.users-admin-table-wrap{background:#fff;border:1px solid #94a3b833;border-radius:.9rem;margin-top:0;overflow:hidden;box-shadow:0 4px 18px #0f172a0d}.users-admin-table-wrap .table-scroll{overflow-x:auto}.users-admin-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.84rem}.users-admin-table thead th{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:#64748b;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.65rem 1rem;font-size:.68rem;font-weight:700;position:sticky;top:0}.users-admin-table thead th.users-admin-table__status-col{text-align:right;padding-right:1.15rem}.users-admin-table tbody td{vertical-align:middle;background:#fff;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem}.users-admin-table tbody tr:last-child td{border-bottom:none}.users-admin-table tbody tr:nth-child(2n) td{background:#fafbfc}.users-admin-table__row--clickable{cursor:pointer;transition:background .15s,box-shadow .15s}.users-admin-table__row--clickable:hover td{background:#f0f7ff!important}.users-admin-table__row--clickable:focus-visible{outline:none}.users-admin-table__row--clickable:focus-visible td{background:#eff6ff!important}.users-admin-table__row--clickable:focus-visible td:first-child{box-shadow:inset 3px 0 #3b82f6}.users-admin-table__row--inactive td{opacity:.72}.users-admin-table__user-main{align-items:center;gap:.75rem;min-width:12rem;display:flex}.users-admin-table__avatar{color:#fff;border-radius:.75rem;flex-shrink:0;place-items:center;width:2.35rem;height:2.35rem;font-size:.82rem;font-weight:800;display:grid;box-shadow:0 2px 8px #0f172a1f}.users-admin-table__avatar--violet{background:linear-gradient(145deg,#6d28d9,#a78bfa)}.users-admin-table__avatar--sky{background:linear-gradient(145deg,#0369a1,#38bdf8)}.users-admin-table__avatar--blue{background:linear-gradient(145deg,#1d4ed8,#60a5fa)}.users-admin-table__avatar--green{background:linear-gradient(145deg,#15803d,#4ade80)}.users-admin-table__avatar--amber{background:linear-gradient(145deg,#b45309,#fbbf24)}.users-admin-table__avatar--slate{background:linear-gradient(145deg,#475569,#94a3b8)}.users-admin-table__identity{gap:.2rem;min-width:0;display:grid}.users-admin-table__name{color:#0f172a;letter-spacing:-.01em;font-size:.9rem;font-weight:700;line-height:1.25}.users-admin-table__contact-lines{flex-wrap:wrap;align-items:center;gap:.2rem .65rem;min-width:0;display:flex}.users-admin-table__phone,.users-admin-table__email{font-size:.75rem;line-height:1.3}.users-admin-table__phone{color:#475569;font-weight:600}.users-admin-table__email{color:#64748b;word-break:break-all}.users-admin-table__email:before{content:"·";color:#cbd5e1;margin-right:.65rem;font-weight:400}.users-admin-table__role{white-space:nowrap;width:1%}.users-admin-table__profile{color:#64748b;min-width:9rem;max-width:18rem}.users-admin-table__profile-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.users-admin-table__status-cell{white-space:nowrap;text-align:right;width:1%}.users-admin-table__status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.users-admin-table__status--active{color:#15803d;background:#22c55e1f}.users-admin-table__status--active:before{content:"";background:#22c55e;border-radius:50%;width:.4rem;height:.4rem;box-shadow:0 0 0 2px #22c55e40}.users-admin-table__status--inactive{color:#64748b;background:#94a3b829}.users-admin-table__status--inactive:before{content:"";background:#94a3b8;border-radius:50%;width:.4rem;height:.4rem}.users-admin-table__chevron{color:#94a3b8;vertical-align:middle;background:#94a3b81a;border-radius:.45rem;place-items:center;width:1.75rem;height:1.75rem;margin-left:.5rem;transition:color .15s,background .15s,transform .15s;display:inline-grid}.users-admin-table__row--clickable:hover .users-admin-table__chevron,.users-admin-table__row--clickable:focus-visible .users-admin-table__chevron{color:#2563eb;background:#2563eb1f;transform:translate(2px)}.users-admin-table-wrap .table-expand-bar{background:#f8fafc;border-top:1px solid #e2e8f0}.button--users-invite.button--compact{min-height:2.15rem;padding:.42rem .85rem;font-size:.82rem}.button--users-invite.button--compact .button__icon{width:1.15rem;height:1.15rem;font-size:.9rem}.toolbar--users .toolbar__search{max-width:none}.users-filter-bar{align-items:end}.users-filter-bar__count{color:#64748b;white-space:nowrap;margin-left:auto;font-size:.82rem;font-weight:700}@media (width<=720px){.users-filter-bar__count{width:100%;margin-left:0}}.users-admin-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.85rem;display:grid}.users-admin-card{background:#fff;border:1px solid #94a3b82e;border-radius:1rem;gap:.7rem;padding:1rem;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 10px 24px #0f172a0d}.users-admin-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0f172a14}.users-admin-card--inactive{opacity:.72;background:#f8fafc}.users-admin-card__top{grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;display:grid}.users-admin-card__avatar{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:.85rem;place-items:center;width:2.5rem;height:2.5rem;font-weight:900;display:grid}.users-admin-card__identity{gap:.12rem;min-width:0;display:grid}.users-admin-card__identity strong{color:#0f172a;font-size:.95rem}.users-admin-card__email{color:#64748b;word-break:break-all;font-size:.78rem}.users-admin-card__status{color:#15803d;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#22c55e24;border-radius:999px;padding:.16rem .45rem;font-size:.64rem;font-weight:900}.users-admin-card__status--inactive{color:#475569;background:#94a3b833}.users-admin-card__meta{flex-wrap:wrap;gap:.4rem;display:flex}.users-role-pill{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:.18rem .48rem;font-size:.68rem;font-weight:800;display:inline-flex}.users-role-pill--grassroots_leader{color:#6d28d9;background:#7c3aed24}.users-role-pill--amica_exco{color:#0369a1;background:#0ea5e924}.users-role-pill--teacher{color:#1d4ed8;background:#2563eb1f}.users-role-pill--student{color:#15803d;background:#22c55e24}.users-role-pill--parent{color:#b45309;background:#f59e0b29}.users-role-pill--default{color:#475569;background:#e2e8f0}.users-exco-pill{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:.28rem .6rem;font-size:.72rem;font-weight:800;display:inline-flex}.users-admin-card__actions{border-top:1px solid #94a3b824;flex-wrap:wrap;gap:.45rem;padding-top:.15rem;display:flex}.users-admin-card__delete{color:#b91c1c}.users-admin-card__delete:disabled{opacity:.45}.modal-card--users-admin{background:radial-gradient(circle at 100% 0,#2563eb1a,#0000 34%),linear-gradient(#fff,#f8fafc);width:min(46rem,100%);max-height:min(92vh,100%);overflow:auto}.users-admin-form{gap:1rem;display:grid}.users-admin-form__section{background:#ffffffe0;border:1px solid #94a3b829;border-radius:.9rem;gap:.65rem;padding:.85rem;display:grid}.users-admin-form__section h4{color:#334155;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:900}.users-admin-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.users-admin-form__field--full{grid-column:1/-1}.users-admin-form__field--invite-email input{background:#f8fbff;border-color:#2563eb59}.users-admin-modal__intro{gap:.35rem;display:grid}.users-admin-modal__badge{color:#1d4ed8;letter-spacing:.06em;text-transform:uppercase;background:#2563eb1f;border-radius:999px;align-items:center;width:fit-content;padding:.2rem .55rem;font-size:.68rem;font-weight:900;display:inline-flex}.users-admin-modal__badge--edit{color:#0369a1;background:#0ea5e924}.users-admin-form__section-head{grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.users-admin-form__step{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:999px;place-items:center;width:1.65rem;height:1.65rem;font-size:.78rem;font-weight:900;line-height:1;display:grid;box-shadow:0 6px 14px #2563eb47}.users-admin-form__section-head h4{margin:0}.users-admin-form__section-head .users-admin-form__hint--section{margin:.15rem 0 0}.users-admin-form__section--account{background:radial-gradient(circle at 0 0,#2563eb0f,#0000 42%),#ffffffeb}.users-admin-form__section--access{background:radial-gradient(circle at 100% 0,#0ea5e914,#0000 40%),#ffffffeb}.users-admin-form__section--profile{background:radial-gradient(circle at 50% 0,#10b98114,#0000 44%),#fffffff0}.users-admin-form__section--parent{border-color:#2563eb33}.users-admin-form .form-actions{border-top:1px solid #94a3b829;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-top:.15rem;padding-top:.35rem;display:flex}.users-admin-form__footer{z-index:2;background:linear-gradient(#f8fafc66,#f8fafc 28%,#fff);border-top:1px solid #94a3b833;margin:0 -.15rem -.15rem;padding:.85rem .15rem .15rem;position:sticky;bottom:0;box-shadow:0 -10px 24px #0f172a0f}.users-admin-form__error{margin:0}.users-admin-form__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0 0 .85rem;padding:0;list-style:none;display:grid}.users-admin-form__steps-item{color:#64748b;text-align:center;letter-spacing:.04em;text-transform:uppercase;background:#94a3b81f;border-radius:999px;padding:.42rem .55rem;font-size:.72rem;font-weight:800}.users-admin-form__steps-item--active{color:#1d4ed8;background:#2563eb1f}.modal-card--users-admin-edit{width:min(50rem,100%)}.users-admin-edit-hero{background:radial-gradient(circle at 100% 0,#2563eb24,#0000 38%),linear-gradient(135deg,#eff6ff,#fff);border:1px solid #2563eb24;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:start;gap:.85rem;margin:-.25rem -.25rem .75rem;padding:.95rem 1rem;display:grid}.users-admin-edit-hero__avatar{border-radius:.95rem;width:3rem;height:3rem;font-size:1.15rem}.users-admin-edit-hero__body{gap:.35rem;min-width:0;display:grid}.users-admin-edit-hero__pills{flex-wrap:wrap;gap:.35rem;display:flex}.users-admin-edit-hero__meta{word-break:break-word;margin:0;font-size:.8rem;line-height:1.4}.users-admin-form__role-label{color:#64748b;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:900;display:block}.users-admin-form__role-warning{color:#92400e;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:.75rem;margin:0 0 .65rem;padding:.65rem .75rem;font-size:.8rem;font-weight:700;line-height:1.45}.users-admin-form__security{background:#f8fafc;border:1px solid #94a3b82e;border-radius:.8rem;padding:.65rem .75rem}.users-admin-form__security summary{cursor:pointer;color:#1d4ed8;font-size:.82rem;font-weight:800}.users-admin-form__security .password-field{margin-top:.65rem}.users-admin-profile-groups{gap:.55rem;display:grid}.users-admin-profile-group{background:#ffffffd1;border:1px solid #94a3b829;border-radius:.85rem;overflow:hidden}.users-admin-profile-group__summary{cursor:pointer;gap:.12rem;padding:.7rem .85rem;list-style:none;display:grid}.users-admin-profile-group__summary::-webkit-details-marker{display:none}.users-admin-profile-group__summary:before{content:"▸";float:right;color:#64748b;font-size:.85rem;transition:transform .15s}.users-admin-profile-group[open] .users-admin-profile-group__summary:before{transform:rotate(90deg)}.users-admin-profile-group__title{color:#0f172a;font-size:.86rem;font-weight:800}.users-admin-profile-group__desc{color:#64748b;font-size:.76rem;font-weight:600}.users-admin-profile-group__grid{padding:0 .85rem .85rem}.users-role-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.users-role-picker__card{color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #94a3b838;border-radius:.85rem;grid-template-columns:auto 1fr auto;align-items:start;gap:.55rem;padding:.65rem .7rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.users-role-picker__card:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a0f}.users-role-picker__card--selected{background:radial-gradient(circle at 0 0,#2563eb1a,#0000 42%),#fff;border-color:#2563eb6b;box-shadow:0 10px 22px #2563eb1a}.users-role-picker__icon{color:#fff;border-radius:.65rem;place-items:center;width:2rem;height:2rem;font-size:.82rem;font-weight:900;display:grid}.users-role-picker__card--violet .users-role-picker__icon{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.users-role-picker__card--sky .users-role-picker__icon{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.users-role-picker__card--blue .users-role-picker__icon{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.users-role-picker__card--green .users-role-picker__icon{background:linear-gradient(135deg,#16a34a,#15803d)}.users-role-picker__card--amber .users-role-picker__icon{background:linear-gradient(135deg,#d97706,#b45309)}.users-role-picker__body{gap:.12rem;min-width:0;display:grid}.users-role-picker__body strong{color:#0f172a;font-size:.82rem}.users-role-picker__body span{color:#64748b;font-size:.72rem;font-weight:600;line-height:1.35}.users-role-picker__check{color:#15803d;font-size:.9rem;font-weight:900}.users-admin-modal__lead{max-width:28rem;margin:0;font-size:.84rem;line-height:1.45}.button--users-invite{align-items:center;gap:.45rem;display:inline-flex}.button--users-invite .button__icon{background:#ffffff38;border-radius:999px;place-items:center;width:1.35rem;height:1.35rem;font-size:1rem;font-weight:900;line-height:1;display:grid}.button--users-invite-submit:before{content:"✉";margin-right:.4rem}.users-invite-email-card{width:100%;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #94a3b838;border-radius:.95rem;grid-template-columns:auto 1fr auto;align-items:start;gap:.85rem;padding:.9rem 1rem;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;display:grid}.users-invite-email-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0f172a12}.users-invite-email-card:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.users-invite-email-card--on{background:radial-gradient(circle at 0 0,#2563eb1f,#0000 42%),linear-gradient(135deg,#eff6ff,#f8fafc);border-color:#2563eb52;box-shadow:0 12px 28px #2563eb1a}.users-invite-email-card__icon{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:.85rem;place-items:center;width:2.5rem;height:2.5rem;font-size:1.1rem;line-height:1;display:grid;box-shadow:0 8px 18px #2563eb47}.users-invite-email-card--on .users-invite-email-card__icon{box-shadow:0 10px 22px #2563eb59}.users-invite-email-card__body{gap:.28rem;min-width:0;display:grid}.users-invite-email-card__body strong{color:#0f172a;font-size:.92rem}.users-invite-email-card__desc{color:#64748b;font-size:.78rem;font-weight:600;line-height:1.4}.users-invite-email-card__checklist{gap:.2rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.users-invite-email-card__checklist li{color:#334155;padding-left:1.1rem;font-size:.76rem;font-weight:700;position:relative}.users-invite-email-card__checklist li:before{content:"✓";color:#15803d;font-weight:900;position:absolute;left:0}.users-invite-email-card__off-note{color:#94a3b8;font-size:.76rem;font-weight:700}.users-invite-email-card__switch{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:2.6rem;height:1.45rem;margin-top:.15rem;transition:background .15s;position:relative}.users-invite-email-card__switch:after{content:"";background:#fff;border-radius:999px;width:1.1rem;height:1.1rem;transition:transform .15s;position:absolute;top:.18rem;left:.18rem;box-shadow:0 2px 6px #0f172a2e}.users-invite-email-card__switch--on{background:#2563eb}.users-invite-email-card__switch--on:after{transform:translate(1.15rem)}.modal-card--users-admin .form-actions{border-top:1px solid #94a3b829;margin-top:.25rem;padding-top:.85rem}.users-admin-form__hint{color:#64748b;font-size:.76rem;font-weight:600}.users-admin-form__hint--section{margin:-.15rem 0 .65rem}.users-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;min-width:12.5rem;display:flex}.users-admin-actions__btn{color:#334155;min-width:3.35rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:.62rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.38rem .42rem .34rem;transition:transform .14s,box-shadow .14s,background .14s,border-color .14s,color .14s;display:inline-flex;box-shadow:0 1px 2px #0f172a0d}.users-admin-actions__btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #0f172a14}.users-admin-actions__btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.users-admin-actions__btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none}.users-admin-actions__icon{width:1.65rem;height:1.65rem;color:inherit;background:#94a3b81f;border-radius:.45rem;place-items:center;display:grid}.users-admin-actions__label{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;font-size:.64rem;font-weight:800;line-height:1.1}.users-admin-actions__btn--view{color:#1d4ed8;background:linear-gradient(#fff,#eff6ff);border-color:#2563eb38}.users-admin-actions__btn--view .users-admin-actions__icon{color:#1d4ed8;background:#2563eb24}.users-admin-actions__btn--view:hover:not(:disabled){background:#dbeafe;border-color:#2563eb59}.users-admin-actions__btn--edit{color:#334155;background:linear-gradient(#fff,#f8fafc);border-color:#64748b38}.users-admin-actions__btn--edit .users-admin-actions__icon{color:#475569;background:#64748b1f}.users-admin-actions__btn--edit:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#33415547}.users-admin-actions__btn--password{color:#b45309;background:linear-gradient(#fff,#fffbeb);border-color:#d977063d}.users-admin-actions__btn--password .users-admin-actions__icon{color:#b45309;background:#f59e0b29}.users-admin-actions__btn--password:hover:not(:disabled){color:#92400e;background:#fef3c7;border-color:#d9770661}.users-admin-actions__btn--delete{color:#b91c1c;background:linear-gradient(#fff,#fef2f2);border-color:#ef44443d}.users-admin-actions__btn--delete .users-admin-actions__icon{color:#dc2626;background:#ef44441f}.users-admin-actions__btn--delete:hover:not(:disabled){color:#991b1b;background:#fee2e2;border-color:#ef444466}.users-admin-table__actions-col,.users-admin-table__actions{white-space:nowrap;vertical-align:middle;width:1%}@media (width<=1100px){.users-admin-actions{justify-content:flex-start;min-width:0}}.users-admin-actions--inline{flex:1;justify-content:flex-start;min-width:0}.users-admin-actions--inline .users-admin-actions__btn{flex-direction:row;gap:.42rem;min-width:0;padding:.48rem .72rem}.users-admin-actions--inline .users-admin-actions__icon{border-radius:.4rem;width:1.5rem;height:1.5rem}.users-admin-actions--inline .users-admin-actions__label{text-transform:none;letter-spacing:0;font-size:.72rem;font-weight:700}.user-details-modal__actions{border-top:1px solid #94a3b829;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.25rem;padding-top:.65rem;display:flex}.user-details-modal__delete{color:#b91c1c}.user-details-modal__delete:hover:not(:disabled){color:#991b1b;background:#fef2f2}.user-details-modal__done{flex-shrink:0;margin-left:auto}.users-exco-pill--inline{margin-top:.15rem;padding:.14rem .4rem;font-size:.64rem;display:inline-flex}.users-active-toggle{background:linear-gradient(135deg,#f8fafc,#eff6ff);border:1px solid #2563eb24;border-radius:.85rem;gap:.55rem;margin-top:.35rem;padding:.85rem;display:grid}.users-active-toggle__options{background:#e2e8f0;border-radius:999px;grid-template-columns:1fr 1fr;gap:.45rem;padding:.3rem;display:grid}.users-active-toggle__option{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.5rem .75rem;font-size:.84rem;font-weight:800;transition:background .15s,color .15s,box-shadow .15s}.users-active-toggle__option--selected{color:#15803d;background:#fff;box-shadow:0 4px 12px #0f172a14}.users-active-toggle__option--selected-inactive{color:#b91c1c;background:#fff;box-shadow:0 4px 12px #0f172a14}.users-active-toggle__hint{color:#64748b;margin:0;font-size:.76rem;font-weight:600}.users-admin-form__details-link{color:#1d4ed8;text-underline-offset:.16rem;cursor:pointer;background:0 0;border:none;margin-top:.25rem;padding:0;font-size:.82rem;font-weight:800;text-decoration:underline;display:inline-block}.modal-card--user-details{width:min(42rem,100%)}.user-details-modal__hero{background:radial-gradient(circle at 100% 0,#2563eb24,#0000 38%),linear-gradient(135deg,#eff6ff,#fff);border:1px solid #2563eb24;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:start;gap:.85rem;margin-bottom:1rem;padding:1rem;display:grid}.user-details-modal__avatar{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:1rem;place-items:center;width:3.25rem;height:3.25rem;font-size:1.25rem;font-weight:900;display:grid}.user-details-modal__hero h3{margin:0 0 .15rem}.user-details-modal__pills{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.user-details-modal__section{background:#fff;border:1px solid #94a3b824;border-radius:.85rem;gap:.65rem;margin-bottom:.75rem;padding:.85rem;display:grid}.user-details-modal__section h4{color:#334155;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.user-details-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem;margin:0;display:grid}.user-details-modal__grid div{gap:.12rem;display:grid}.user-details-modal__grid dt{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800}.user-details-modal__grid dd{color:#0f172a;word-break:break-word;margin:0;font-size:.88rem;line-height:1.35}.user-details-modal__link-card{background:#f8fafc;border:1px solid #94a3b829;border-radius:.8rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.75rem;display:flex}.user-details-modal__link-card+.user-details-modal__link-card{margin-top:.55rem}.user-programme-profile__stack{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.user-programme-profile__card{flex-direction:column;align-items:flex-start;gap:.85rem}.user-programme-profile__card-body{width:100%}.user-programme-profile__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin-top:.75rem;display:grid}.user-programme-profile__detail dt{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-text,#64748b);font-size:.72rem}.user-programme-profile__detail dd{margin:.15rem 0 0;font-size:.92rem}.user-programme-profile__summary{margin-bottom:.25rem}.user-programme-profile__empty{margin:0}@media (width<=720px){.user-details-modal__hero{grid-template-columns:auto 1fr}.user-details-modal__hero>.button{grid-column:1/-1;justify-self:start}.user-details-modal__grid{grid-template-columns:1fr}}.parent-link-picker__selected--primary{background:radial-gradient(circle at 0 0,#f59e0b1f,#0000 42%),#fffbeb;border:1px solid #f59e0b47;border-radius:.9rem;margin-bottom:.15rem;padding:.85rem}.parent-linked-children-display{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.parent-linked-children-display--empty{font-size:.8rem;font-weight:600}.parent-linked-children-display--detailed{gap:.5rem}.parent-linked-children-chip{background:#f59e0b24;border:1px solid #f59e0b47;border-radius:.7rem;align-items:center;gap:.4rem;padding:.28rem .55rem .28rem .28rem;display:inline-flex}.parent-linked-children-display--detailed .parent-linked-children-chip{border-radius:.8rem;padding:.45rem .65rem .45rem .45rem}.parent-linked-children-chip__avatar{color:#fff;background:linear-gradient(135deg,#d97706,#b45309);border-radius:.5rem;flex-shrink:0;place-items:center;width:1.55rem;height:1.55rem;font-size:.72rem;font-weight:900;display:grid}.parent-linked-children-display--detailed .parent-linked-children-chip__avatar{border-radius:.55rem;width:1.85rem;height:1.85rem}.parent-linked-children-chip__body{gap:.05rem;min-width:0;display:grid}.parent-linked-children-chip__body strong{color:#78350f;font-size:.78rem;line-height:1.2}.parent-linked-children-display--detailed .parent-linked-children-chip__body strong{font-size:.86rem}.parent-linked-children-chip__meta{color:#92400e;font-size:.7rem;font-weight:600;line-height:1.25}.users-admin-table__profile .parent-linked-children-display{max-width:16rem}.users-admin-edit-hero .parent-linked-children-display{margin-top:.35rem}.user-details-modal__section--parent>.parent-linked-children-display{margin-bottom:.65rem}.parent-link-picker{background:radial-gradient(circle at 0 0,#2563eb1a,#0000 38%),linear-gradient(#f8fafc,#fff);border:1px solid #2563eb2e;border-radius:.95rem;gap:.85rem;padding:.9rem;display:grid}.parent-link-picker__intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.parent-link-picker__intro strong{color:#0f172a;font-size:.92rem;display:block}.parent-link-picker__lead{max-width:28rem;margin:.2rem 0 0;font-size:.8rem;line-height:1.45}.parent-link-picker__count{color:#15803d;letter-spacing:.03em;text-transform:uppercase;background:#22c55e24;border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.72rem;font-weight:900;display:inline-flex}.parent-link-picker__count--empty{color:#b91c1c;background:#ef44441f}.parent-link-picker__relationship{background:#ffffffd1;border:1px solid #94a3b829;border-radius:.8rem;gap:.5rem;padding:.75rem;display:grid}.parent-link-picker__relationship-label{color:#475569;letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:800}.parent-link-picker__relationship-presets{flex-wrap:wrap;gap:.4rem;display:flex}.parent-link-picker__preset{color:#334155;cursor:pointer;background:#fff;border:1px solid #94a3b847;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:800;transition:border-color .15s,background .15s,color .15s}.parent-link-picker__preset:hover{color:#1d4ed8;border-color:#2563eb59}.parent-link-picker__preset--active{color:#fff;background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#2563eb;box-shadow:0 8px 18px #2563eb38}.parent-link-picker__relationship-custom{margin:0}.parent-link-picker__subheading{color:#334155;letter-spacing:.05em;text-transform:uppercase;font-size:.74rem;font-weight:900}.parent-link-picker__selected-list,.parent-link-picker__available-list{gap:.5rem;margin:.45rem 0 0;padding:0;list-style:none;display:grid}.parent-link-picker__selected-card,.parent-link-picker__available-card{background:#fff;border:1px solid #94a3b82e;border-radius:.8rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.65rem .75rem;display:grid}.parent-link-picker__selected-card{background:linear-gradient(135deg,#f0fdf4f2,#fff);border-color:#22c55e47}.parent-link-picker__avatar{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:.7rem;place-items:center;width:2.25rem;height:2.25rem;font-size:.95rem;font-weight:900;display:grid}.parent-link-picker__avatar--muted{color:#475569;background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.parent-link-picker__selected-body,.parent-link-picker__available-body{gap:.1rem;min-width:0;display:grid}.parent-link-picker__selected-body strong,.parent-link-picker__available-body strong{color:#0f172a;font-size:.88rem}.parent-link-picker__programme,.parent-link-picker__selected-body .muted-text,.parent-link-picker__available-body .muted-text{font-size:.76rem}.parent-link-picker__programme{color:#1d4ed8;font-weight:700}.parent-link-picker__remove{color:#b91c1c;cursor:pointer;background:#ef44441a;border:none;border-radius:.55rem;padding:.32rem .55rem;font-size:.72rem;font-weight:800}.parent-link-picker__remove:hover{background:#ef44442e}.parent-link-picker__add{white-space:nowrap;font-size:.78rem;font-weight:800}.parent-link-picker__empty-selected{background:#fef2f28c;border:1px dashed #ef444459;border-radius:.8rem;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:.75rem;display:grid}.parent-link-picker__empty-selected p{gap:.15rem;margin:0;display:grid}.parent-link-picker__empty-icon{color:#b91c1c;background:#ef44441f;border-radius:.7rem;place-items:center;width:2.25rem;height:2.25rem;font-size:1.1rem;font-weight:900;display:grid}.parent-link-picker__browse{gap:.45rem;display:grid}.parent-link-picker__browse-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.parent-link-picker__search{border:1px solid #94a3b859;border-radius:.65rem;min-width:min(100%,14rem);padding:.45rem .65rem;font-size:.82rem}.parent-link-picker__no-students{margin:.35rem 0 0;font-size:.82rem;line-height:1.45}.users-admin-form__grid--parent-meta{margin-top:.15rem}.parent-link-summary{background:radial-gradient(circle at 0 0,#2563eb1a,#0000 42%),#f8fafc;border:1px solid #2563eb24;border-radius:.8rem;gap:.35rem;padding:.75rem;display:grid}.parent-link-summary__meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.parent-link-summary__status{text-transform:capitalize;border-radius:999px;padding:.22rem .55rem;font-size:.72rem;font-weight:900;display:inline-flex}.parent-link-summary__status--active{color:#15803d;background:#22c55e24}.parent-link-summary__status--inactive{color:#475569;background:#94a3b833}.parent-link-summary__relationship{color:#0f172a;font-size:.88rem;font-weight:800}.parent-link-summary__count{margin:0;font-size:.8rem}.parent-link-summary__children{gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.parent-link-summary__child-card{background:#fff;border:1px solid #94a3b829;border-radius:.85rem;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;padding:.75rem;display:grid}.parent-link-summary__avatar{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);border-radius:.75rem;place-items:center;width:2.35rem;height:2.35rem;font-weight:900;display:grid}.parent-link-summary__child-body{gap:.12rem;min-width:0;display:grid}.parent-link-summary__programme{color:#1d4ed8;font-size:.76rem;font-weight:700}.parent-link-summary__child-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .85rem;margin:.45rem 0 0;display:grid}.parent-link-summary__child-details dt{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:800}.parent-link-summary__child-details dd{color:#0f172a;margin:.1rem 0 0;font-size:.84rem;font-weight:700}.user-details-modal__section--parent{border-color:#2563eb29}@media (width<=720px){.users-admin-form__grid{grid-template-columns:1fr}.parent-link-picker__selected-card,.parent-link-picker__available-card,.parent-link-summary__child-card{grid-template-columns:auto 1fr}.parent-link-picker__remove,.parent-link-picker__add,.parent-link-summary__child-card>.button{grid-column:1/-1;justify-self:start}.parent-link-summary__child-details,.users-role-picker{grid-template-columns:1fr}.users-admin-edit-hero{grid-template-columns:auto 1fr}.users-admin-edit-hero>.button{grid-column:1/-1;justify-self:start}}::selection{color:var(--brand-ink);background:#2563eb2e}:focus-visible{box-shadow:var(--focus-ring);outline:none}.page-stack{gap:1.35rem}.page-stack>.hero-card:first-child,.hub-page>.hero-card:first-child{border-radius:var(--radius-xl);background:radial-gradient(circle at 100% 0%, #2563eb14, transparent 42%), radial-gradient(circle at 0% 100%, #14b8a60f, transparent 38%), linear-gradient(165deg, var(--surface-strong), var(--surface-base));padding:1.35rem 1.5rem}.hub-page>.hero-card:first-child h2{letter-spacing:-.03em;font-size:clamp(1.35rem,2.5vw,1.75rem)}.hub-page>.hero-card:first-child .sidebar__eyebrow,.hero-card .sidebar__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem;font-size:.7rem;font-weight:800;display:inline-block}.panel-card{border-radius:var(--radius-lg);transition:box-shadow .2s,border-color .2s}.panel-card:hover{box-shadow:0 16px 36px #0f172a14}.panel-card__header h2,.panel-card__header h3{letter-spacing:-.02em}.state-card{text-align:center;border-radius:var(--radius-lg);background:linear-gradient(#f8fafcf2,#ffffffe6);border-style:dashed;border-color:#94a3b859;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1.5rem;display:flex}.state-card h3{letter-spacing:-.02em;margin:0;font-size:1.05rem}.state-card p{max-width:28rem;color:var(--text-muted);margin:0}.state-card--loading{border-style:solid}.state-card__spinner{border:3px solid #2563eb26;border-top-color:var(--brand-primary);border-radius:50%;width:2rem;height:2rem;animation:.75s linear infinite ui-spin}.state-card__icon{width:2.75rem;height:2.75rem;color:var(--brand-primary);background:#2563eb1a;border:1px solid #2563eb29;border-radius:1rem;place-items:center;font-size:1.25rem;font-weight:800;display:grid}@keyframes ui-spin{to{transform:rotate(360deg)}}.error-banner,.success-banner,.helper-banner,.form-success-banner{border-radius:var(--radius-md);font-weight:600;line-height:1.45}.error-banner{box-shadow:0 8px 20px #dc262614}.success-banner,.helper-banner,.form-success-banner{box-shadow:0 8px 20px #16a34a14}.button:not(.button--ghost):not(.button--success):not(.button--danger):not(.button--calendar-edit):not(.button--calendar-delete):not(.button--small),.button--action{cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:radial-gradient(120% 180% at 8% -40%,#ffffff59,#0000 52%),linear-gradient(145deg,#4f8ef7 0%,#2563eb 46%,#1d4ed8 100%);border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.72rem 1.28rem;transition:transform .22s cubic-bezier(.34,1.2,.64,1),box-shadow .22s,filter .22s,border-color .22s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff47,0 14px 32px #2563eb47,0 2px 6px #0f172a14}.button:not(.button--ghost):not(.button--success):not(.button--danger):not(.button--calendar-edit):not(.button--calendar-delete):not(.button--small):before,.button--action:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#fff3 0%,#0000 42%);position:absolute;inset:0}.button:not(.button--ghost):not(.button--success):not(.button--danger):not(.button--calendar-edit):not(.button--calendar-delete):not(.button--small):hover:not(:disabled),.button--action:hover:not(:disabled){filter:brightness(1.04);border-color:#ffffff57;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff52,0 20px 40px #2563eb57,0 6px 14px #0f172a1a}.button:not(.button--ghost):not(.button--success):not(.button--danger):not(.button--calendar-edit):not(.button--calendar-delete):not(.button--small):active:not(:disabled),.button--action:active:not(:disabled){filter:brightness(.96);transform:translateY(0)scale(.98);box-shadow:inset 0 2px 6px #0f172a24,0 8px 20px #2563eb38}.button:not(.button--ghost):not(.button--success):not(.button--danger):not(.button--calendar-edit):not(.button--calendar-delete):not(.button--small):focus-visible,.button--action:focus-visible{box-shadow:var(--focus-ring), 0 1px 0 #ffffff47 inset, 0 14px 32px #2563eb47}.panel-card__header>.button:not(.button--ghost),.teacher-bank-card>.button,.leadership-home__announce-form .button{font-size:.9rem;font-weight:800}.button--users-invite{background:radial-gradient(120% 180% at 8% -40%,#ffffff59,#0000 52%),linear-gradient(145deg,#4f8ef7 0%,#2563eb 46%,#1d4ed8 100%);border:1px solid #ffffff38;border-radius:999px;padding-inline:1.05rem 1.2rem}.button--users-invite .button__icon{background:#ffffff3d;box-shadow:inset 0 1px #fff3}.button--ghost{border-radius:999px}.button--ghost:focus-visible{box-shadow:var(--focus-ring)}.button--ghost:hover:not(:disabled){background:#fff;border-color:#2563eb52;transform:translateY(-1px);box-shadow:0 12px 28px #0f172a14}.button--ghost:active:not(:disabled){transform:translateY(0)scale(.99)}.proposals-approval-chip--active,.rewards-redemption-queue-toolbar__segment--active,.leadership-home__series-toggle--active,.leadership-home__trend-duration-btn--active{color:#1e40af;background:radial-gradient(120% 140% at 0 0,#ffffffe6,#0000 55%),linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#2563eb73;box-shadow:inset 0 1px #ffffffd9,0 8px 20px #2563eb29,0 0 0 1px #2563eb1f}.form-active-toggle{background:linear-gradient(#e2e8f0 0%,#cbd5e1 100%);border:1px solid #94a3b873;border-radius:999px;grid-template-columns:1fr 1fr;gap:.35rem;padding:.32rem;display:grid;box-shadow:inset 0 1px 2px #0f172a14}.form-active-toggle__option{appearance:none;color:#64748b;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.58rem .85rem;font-size:.86rem;font-weight:800;transition:background .2s,color .2s,box-shadow .2s,transform .15s}.form-active-toggle__option:hover{color:#334155;background:#ffffff73}.form-active-toggle__option--on{color:#fff;background:radial-gradient(120% 140% at 10% 0,#ffffff59,#0000 50%),linear-gradient(145deg,#22c55e 0%,#16a34a 55%,#15803d 100%);box-shadow:inset 0 1px #ffffff47,0 8px 18px #16a34a47,0 0 0 1px #15803d59}.form-active-toggle__option--off.form-active-toggle__option--on{background:radial-gradient(120% 140% at 10% 0,#ffffff4d,#0000 50%),linear-gradient(145deg,#f87171 0%,#dc2626 55%,#b91c1c 100%);box-shadow:inset 0 1px #ffffff38,0 8px 18px #dc262638,0 0 0 1px #b91c1c4d}.form-active-toggle__option:active{transform:scale(.98)}.form-field--status-toggle{gap:.55rem}.form-field--status-toggle>span{letter-spacing:.06em;text-transform:uppercase;color:#475569;font-size:.78rem;font-weight:800}.users-active-toggle{background:radial-gradient(circle at 0 0,#2563eb14,#0000 55%),linear-gradient(135deg,#f8fafc 0%,#eff6ff 100%);border:1px solid #2563eb29;border-radius:1rem;gap:.55rem;margin-top:.35rem;padding:.9rem 1rem;display:grid;box-shadow:0 10px 24px #2563eb0f}.users-active-toggle__label{color:#334155;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:800}.users-active-toggle__hint{color:#64748b;margin:0;font-size:.76rem;font-weight:600;line-height:1.45}.modal-card .form-active-toggle{max-width:20rem}.form-field span{letter-spacing:.03em;text-transform:uppercase;color:#475569;font-size:.82rem;font-weight:700}.form-field input,.form-field textarea,.form-field select,.toolbar__search{border-radius:var(--radius-md)}.form-grid{gap:1.1rem}.table-card{border-radius:var(--radius-lg);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);overflow:hidden}.data-table thead th{z-index:1;position:sticky;top:0;box-shadow:0 1px #e2e8f0}.data-table tbody tr:nth-child(2n){background:#f8fafca6}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom))}.modal-card{border-radius:var(--radius-xl);max-height:min(90dvh,100vh - 2rem)}.summary-grid{gap:.85rem}.summary-card{border-radius:var(--radius-md);transition:transform .15s,box-shadow .15s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0f172a17}.summary-card span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;font-weight:800}.summary-card strong{letter-spacing:-.03em;color:var(--brand-ink);font-size:1.65rem;font-weight:900}.exco-hub-card{border-radius:var(--radius-lg)}.exco-hub-card strong{letter-spacing:-.02em;font-size:1.02rem}.leadership-home__action{border-radius:var(--radius-md);transition:transform .15s,box-shadow .15s,border-color .15s}.leadership-home__action:hover{transform:translateY(-2px)}.leadership-home__panel{border-radius:var(--radius-lg)}.login-shell{padding:max(1.5rem, env(safe-area-inset-top)) 1.25rem max(1.5rem, env(safe-area-inset-bottom))}.login-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-strong)}.login-card h1{letter-spacing:-.04em}.login-card__eyebrow{letter-spacing:.08em;font-weight:800}.leadership-dashboard-hero{border-radius:var(--radius-xl)}.leadership-dashboard-hero h2{letter-spacing:-.03em}.pending-actions-banner{border-radius:var(--radius-lg)}.pending-actions-banner__item{border-radius:var(--radius-md);transition:transform .15s,box-shadow .15s}.pending-actions-banner__item:hover{transform:translateY(-1px)}.student-floating-chat{width:3.25rem;height:3.25rem;font-size:1.35rem;transition:transform .15s,box-shadow .15s}.student-floating-chat:hover{transform:scale(1.06)}.sidebar__link{border-radius:var(--radius-md);min-height:2.75rem}.sidebar__nav-group-label{letter-spacing:.12em;margin-top:.5rem;padding-top:.75rem;font-size:.68rem;font-weight:800}.app-shell__content{background:radial-gradient(circle at 12% 0,#2563eb0a,#0000 36%),radial-gradient(circle at 88% 8%,#14b8a60d,#0000 32%),linear-gradient(#ffffff80,#f1f5f933)}.app-shell--role-grassroots_leader .app-shell__content{background:radial-gradient(circle at 10% 0,#22c55e0f,#0000 34%),linear-gradient(#ffffff8c,#f0fdf426)}.app-shell--role-amica_exco .app-shell__content{background:radial-gradient(circle at 12% 0,#a855f712,#0000 34%),linear-gradient(#ffffff8c,#faf5ff33)}.app-shell--role-teacher .app-shell__content{background:radial-gradient(circle at 10% 0,#f59e0b12,#0000 32%),linear-gradient(#ffffff8c,#fffbeb26)}.app-shell--role-student .app-shell__content{background:radial-gradient(circle at 8% 0,#0ea5e914,#0000 30%),radial-gradient(circle at 92% 12%,#2dd4bf12,#0000 28%),linear-gradient(#ffffffa6,#eff6ff40)}.app-shell--role-parent .app-shell__content{background:radial-gradient(circle at 10% 0,#f472b612,#0000 32%),linear-gradient(#ffffff8c,#fdf4f82e)}.activity-item{transition:border-color .15s,box-shadow .15s}.activity-item:hover{border-color:#2563eb38;box-shadow:0 10px 24px #0f172a0f}.quick-action{transition:transform .15s,box-shadow .15s}.status-pill,.proposal-status-pill,.teacher-status{letter-spacing:.02em;font-weight:800}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.summary-card:hover,.exco-hub-card--large:hover,.leadership-home__action:hover,.activity-item:hover{transform:none}}@media (width<=720px){.panel-card,.hero-card,.hub-page>.hero-card:first-child{padding:1.15rem}.summary-card strong{font-size:1.4rem}}
