@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700&family=Sora:wght@400;500;600;700&display=swap");:root{--blue-950:#0b1a3a;--blue-900:#0b2a61;--blue-800:#143a7a;--blue-700:#1f5fd6;--blue-600:#2f7be9;--blue-100:#e6f1ff;--sky-50:#f5f9ff;--teal-500:#14b8a6;--amber-500:#f59e0b;--red-500:#ef4444;--text-900:#0f172a;--text-600:#475569;--text-500:#64748b;--border-100:#e2e8f0;--shadow-1:0 14px 30px rgba(15,23,42,.08);--shadow-2:0 8px 20px rgba(15,23,42,.08);--radius-lg:18px;--radius-md:12px;--radius-sm:10px;--font-heading:"Sora","Manrope",sans-serif;--font-body:"Manrope","Sora",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--text-900);background:radial-gradient(circle at 20% 10%,#e9f2ff 0,#f8fbff 45%,#f1f6ff 100%)}.heading,h1,h2,h3{font-family:var(--font-heading);margin:0}p{margin:0}a{color:inherit;text-decoration:none}.app-root{min-height:100vh}.dashboard-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:relative;padding:28px 22px;color:#fff;background:linear-gradient(165deg,#0b2a61,#1a4fb7 55%,#2f7be9)}.sidebar:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.18),transparent 55%);pointer-events:none}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand img{border-radius:50%;background:#fff}.brand-title{font-family:var(--font-heading);font-weight:700;letter-spacing:.04em}.brand-subtitle{font-size:.75rem;opacity:.7}.nav-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;font-weight:600;letter-spacing:.01em;background:hsla(0,0%,100%,.08);color:#eef4ff;transition:all .2s ease}.nav-item:hover{transform:translateX(4px);background:hsla(0,0%,100%,.16)}.nav-item.active{background:#fff;color:var(--blue-900);box-shadow:var(--shadow-2)}.nav-badge{font-size:.7rem;padding:2px 8px;border-radius:999px;background:hsla(0,0%,100%,.2)}.sidebar-footer{margin-top:32px;padding:16px;border-radius:16px;background:hsla(0,0%,100%,.12)}.sidebar-footer p{font-size:.8rem;opacity:.85}.dashboard-main{display:grid;grid-template-rows:auto 1fr;background:linear-gradient(180deg,#f6f9ff,#f9fbff)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;background:#fff;border-bottom:1px solid var(--border-100)}.topbar-title{font-size:1.1rem;font-weight:700}.topbar-subtitle{font-size:.9rem;color:var(--text-500);margin-top:4px}.topbar-actions{display:flex;align-items:center;gap:16px}.search-input{min-width:260px;padding:10px 14px;border-radius:999px;border:1px solid #dbe3f5;background:#f8fbff;font-family:inherit}.user-pill{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#f1f6ff;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.user-pill[data-disabled=true]{cursor:default}.user-initial{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue-700);color:#fff;font-weight:700}.user-name{font-weight:600;font-size:.9rem}.user-role{font-size:.75rem;color:var(--text-500)}.dashboard-content{padding:32px;position:relative;overflow:hidden}.dashboard-content:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(47,123,233,.18),transparent 65%);top:-40px;right:14%}.dashboard-content:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.18),transparent 65%);bottom:-40px;left:18%}.page{position:relative;z-index:1}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-header h1{font-size:2.2rem}.page-header p{margin-top:10px;color:var(--text-600);max-width:520px}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.eyebrow{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-700);font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.card{background:#fff;border-radius:var(--radius-lg);padding:20px;border:1px solid #e6edf8;box-shadow:var(--shadow-1)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-weight:700;font-size:1.05rem}.card-subtitle{font-size:.85rem;color:var(--text-500)}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(47,123,233,.08),transparent 55%);opacity:0;transition:opacity .3s ease}.stat-card:hover:after{opacity:1}.stat-label{font-size:.85rem;color:var(--text-500)}.stat-value{font-size:1.8rem;font-weight:700;margin-top:6px}.stat-delta{margin-top:12px;font-size:.8rem;font-weight:600}.delta-up{color:var(--teal-500)}.delta-down{color:var(--red-500)}.delta-neutral{color:var(--text-500)}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:18px;gap:18px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;padding:10px 0;color:var(--text-500);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.table td{padding:12px 0;border-top:1px solid #edf2fb;font-weight:600}.table-clickable tbody tr{cursor:pointer}.table-clickable tbody tr:hover{background:#f6f9ff}.table-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.metric-value{color:var(--blue-950);font-family:var(--font-heading);font-size:2.2rem;font-weight:800;line-height:1}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.badge.blue{background:rgba(47,123,233,.15);color:var(--blue-700)}.badge.green{background:rgba(20,184,166,.15);color:var(--teal-500)}.badge.amber{background:rgba(245,158,11,.16);color:var(--amber-500)}.badge.red{background:rgba(239,68,68,.16);color:var(--red-500)}.assignment-chip-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.assignment-chip{display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:6px 8px 6px 12px;border:1px solid #dbe7f7;border-radius:999px;background:#f8fbff;color:var(--blue-950)}.assignment-chip.compact{padding-right:12px}.assignment-chip-name{display:block;font-weight:700;line-height:1.1}.assignment-chip-meta{display:block;margin-top:2px;color:var(--text-500);font-size:.72rem;font-weight:600;line-height:1.1}.assignment-chip-remove{border:none;border-radius:999px;background:rgba(239,68,68,.1);color:var(--red-500);cursor:pointer;font-family:var(--font-heading);font-size:.72rem;font-weight:700;padding:6px 9px}.assignment-chip-remove:disabled{cursor:progress;opacity:.65}.assignment-empty{color:var(--text-500);font-weight:600}.assignment-modal-summary{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid #e6edf8;border-radius:8px;background:#f8fbff}.btn{border:none;cursor:pointer;font-family:var(--font-heading);font-weight:600;padding:10px 18px;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease}.btn-primary{background:linear-gradient(135deg,#1f5fd6,#2f7be9);color:#fff;box-shadow:0 10px 20px rgba(31,95,214,.2)}.btn-outline{background:#fff;border:1px solid #cdd9f0;color:var(--blue-700)}.btn-ghost{background:rgba(47,123,233,.12);color:var(--blue-700)}.btn:hover{transform:translateY(-2px)}.btn-sm{padding:8px 14px;font-size:.8rem}.progress{height:8px;border-radius:999px;background:#eef3fb;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(120deg,#1f5fd6,#2f7be9)}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.list-row+.list-row{margin-top:12px}.alert-card{display:grid;grid-gap:12px;gap:12px}.alert-item{padding:12px;border-radius:12px;background:#f7faff;border:1px solid #e6edf8}.fade-in{animation:rise .6s ease both}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.dashboard-shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0}.topbar{flex-direction:column;align-items:flex-start;gap:16px}.search-input{width:100%}}@media (max-width:720px){.dashboard-content{padding:24px 18px}.page-header,.topbar-actions{flex-direction:column}.topbar-actions{align-items:flex-start;width:100%}.user-pill{width:100%;justify-content:space-between}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.auth-card{width:min(420px,100%);display:grid;grid-gap:18px;gap:18px}.auth-field{display:grid;grid-gap:8px;gap:8px;font-size:.9rem;color:var(--text-600)}.auth-field input{padding:12px 14px;border-radius:12px;border:1px solid #dbe3f5;background:#fff;font-family:inherit}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap input{width:100%;padding-right:46px}.password-toggle{position:absolute;right:8px;display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--text-500);cursor:pointer}.password-toggle:focus-visible,.password-toggle:hover{background:#eef4ff;color:var(--primary)}.password-toggle svg{width:18px;height:18px}.auth-row{display:flex;align-items:center;justify-content:space-between}.auth-note,.auth-row{font-size:.85rem;color:var(--text-500)}.link-button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#1f5fd6,#2f7be9);color:#fff;font-family:var(--font-heading);font-weight:600;box-shadow:0 10px 20px rgba(31,95,214,.2)}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.56);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px;z-index:50}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:var(--radius-lg);box-shadow:0 30px 80px rgba(15,23,42,.28);padding:22px}.billing-modal{display:grid;grid-gap:18px;gap:18px}.billing-modal-wide{width:min(980px,100%)}.billing-modal-compact{width:min(520px,100%)}.billing-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e6edf8;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#fff 62%,#eef6ff)}.billing-modal-title{margin-top:4px;font-family:var(--font-heading);font-size:1.35rem;font-weight:800;color:var(--blue-950)}.billing-modal-subtitle{margin-top:4px;color:var(--text-500);font-size:.9rem;font-weight:600}.billing-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.billing-summary-strip>div{padding:14px;border:1px solid #e6edf8;border-radius:12px;background:#f8fbff}.billing-summary-strip span{display:block;color:var(--text-500);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.billing-summary-strip strong{display:block;margin-top:6px;font-family:var(--font-heading);font-size:1.45rem;color:var(--blue-950)}.billing-table-wrap{overflow:auto;border:1px solid #e6edf8;border-radius:14px}.billing-table{min-width:720px}.billing-table td,.billing-table th{padding-left:14px;padding-right:14px}.billing-table tbody tr:hover{background:#f8fbff}.billing-amount{font-family:var(--font-heading);color:var(--blue-950)}.billing-reason{max-width:220px;color:var(--text-600);font-weight:600}.billing-muted{color:var(--text-500);font-size:.8rem;font-weight:700}.billing-form-panel{display:grid;grid-gap:14px;gap:14px;padding:16px;border:1px solid #e6edf8;border-radius:14px;background:#f8fbff}.form-grid{display:grid;grid-gap:16px;gap:16px}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-field{display:grid;grid-gap:8px;gap:8px;font-size:.9rem;color:var(--text-600)}.form-field input,.form-field select,.form-field textarea{padding:12px 14px;border-radius:12px;border:1px solid #dbe3f5;background:#fff;font-family:inherit}.form-field textarea{resize:vertical;min-height:90px}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filter-bar input,.filter-bar select{padding:10px 12px;border-radius:10px;border:1px solid #dbe3f5;background:#fff;font-family:inherit}.detail-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.detail-card{background:#f7faff;border-radius:14px;padding:12px;border:1px solid #e6edf8}.detail-title{font-weight:700;margin-bottom:6px}.detail-list{display:grid;grid-gap:8px;gap:8px;font-size:.9rem;color:var(--text-600)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#e9f2ff;font-size:.75rem;font-weight:700;color:var(--blue-700)}.availability-grid{display:grid;grid-gap:10px;gap:10px}.availability-row{display:grid;grid-template-columns:110px 1fr 1fr;grid-gap:12px;gap:12px;align-items:start}.availability-row span{font-weight:600;color:var(--text-600)}.availability-slots{display:flex;flex-wrap:wrap;gap:8px}.availability-slot{padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.slot-occupied{background:rgba(47,123,233,.18);color:var(--blue-700)}.slot-free{background:rgba(20,184,166,.16);color:var(--teal-500)}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;background:#f7faff;padding:12px;border-radius:16px;border:1px solid #e6edf8}.schedule-page-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(520px,1.5fr);grid-gap:18px;gap:18px;align-items:start}.schedule-upcoming-card{align-self:start}.schedule-upcoming-list{display:grid;grid-gap:12px;gap:12px}.schedule-upcoming-item{display:grid;grid-template-columns:104px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;padding:12px;border:1px solid #e6edf8;border-radius:14px;background:#f8fbff}.schedule-date-tile{display:grid;grid-gap:4px;gap:4px;min-height:58px;padding:10px;border-radius:12px;background:#fff;border:1px solid #dbe7f7}.schedule-date-tile span{color:var(--text-500);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.schedule-date-tile strong{color:var(--blue-950);font-family:var(--font-heading);font-size:.9rem}.schedule-upcoming-body{min-width:0}.schedule-upcoming-status{display:flex;justify-content:flex-end}.schedule-management-card{min-width:0}.schedule-table-wrap{overflow:auto;border:1px solid #e6edf8;border-radius:14px}.schedule-management-table{min-width:760px}.schedule-management-table td,.schedule-management-table th{padding-left:14px;padding-right:14px}.schedule-management-table tbody tr:hover{background:#f8fbff}.schedule-time-cell{display:grid;grid-gap:3px;gap:3px}.schedule-time-cell strong{color:var(--blue-950)}.schedule-time-cell span{color:var(--text-500);font-size:.85rem}.schedule-recurrence-note{padding:10px 12px;border:1px solid #dbe7f7;border-radius:12px;background:#f8fbff;color:var(--text-600);font-size:.85rem;font-weight:600}.schedule-cell{background:#fff;border-radius:14px;padding:10px;border:1px solid #edf2fb;min-height:80px;display:grid;grid-gap:8px;gap:8px}.schedule-day{font-weight:700;font-size:.85rem;color:var(--text-600)}.schedule-pill{font-size:.8rem;color:var(--text-900);background:#e9f2ff;padding:6px 8px;border-radius:10px}.schedule-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;grid-gap:12px;gap:12px;align-items:center}.schedule-actions{display:flex;justify-content:flex-start;margin-top:12px}@media (max-width:720px){.schedule-page-grid,.schedule-upcoming-item{grid-template-columns:1fr}.schedule-upcoming-item{align-items:start}.schedule-upcoming-status{justify-content:flex-start}.schedule-row{grid-template-columns:1fr}}.attendance-input{width:100%}.attendance-actions{display:flex;justify-content:flex-end;margin-top:12px}.trend-section{display:grid;grid-gap:12px;gap:12px}.trend-section+.trend-section{margin-top:18px}.trend-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-500);font-weight:700}.trend-stack{display:grid;grid-gap:12px;gap:12px}.calendar{display:grid;grid-gap:16px;gap:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.calendar-day-header{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-500);font-weight:700}.calendar-day{border-radius:16px;border:1px solid #edf2fb;background:#fff;padding:10px;min-height:80px;display:grid;grid-gap:6px;gap:6px}.calendar-day.empty{border-style:dashed;background:transparent}.calendar-day.has-class{background:#e6f1ff}.calendar-day.today{border-color:var(--blue-700);box-shadow:0 0 0 1px rgba(31,95,214,.2)}.calendar-date{font-weight:700;font-size:.85rem}.calendar-count{font-size:.75rem;color:var(--text-600)}.calendar-count.muted,.calendar-legend{color:var(--text-500)}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem}.legend-item{display:inline-flex;align-items:center;gap:8px}.legend-dot{width:10px;height:10px;border-radius:999px;background:#e6f1ff;border:1px solid #c5d8f6}.legend-dot.legend-today{background:#fff;border-color:var(--blue-700)}.profile-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.profile-photo{display:grid;grid-gap:12px;gap:12px}.profile-avatar{width:120px;height:120px;border-radius:999px;background:#e6f1ff;border:1px solid #c5d8f6;display:grid;place-items:center;font-weight:700;font-size:1.4rem}.profile-avatar img{width:100%;height:100%;border-radius:999px;object-fit:cover}.profile-meta{display:grid;grid-gap:6px;gap:6px;color:var(--text-500);font-size:.8rem}.profile-card{display:grid;grid-gap:16px;gap:16px}.file-input{display:none}.card-scroll{max-height:420px;overflow:auto}.overview-list{display:grid;grid-gap:12px;gap:12px}.overview-item{display:flex;align-items:center;gap:14px;padding:12px;border-radius:16px;border:1px solid #edf2fb;background:#fff}.overview-item-class{align-items:flex-start}.overview-avatar{width:52px;height:52px;border-radius:16px;background:#e6f1ff;border:1px solid #c5d8f6;display:grid;place-items:center;font-weight:700}.overview-details{flex:1 1;min-width:0;display:grid;grid-gap:6px;gap:6px}.overview-title{font-weight:700}.overview-subtitle{color:var(--text-600);font-size:.9rem}.overview-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.75rem;color:var(--text-500)}.overview-side{display:grid;grid-gap:8px;gap:8px;text-align:right;min-width:110px}.overview-time{font-weight:700;color:var(--blue-700)}.overview-empty{color:var(--text-500);font-size:.9rem}.student-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:18px;gap:18px;margin-bottom:24px}.student-hero-card{background:linear-gradient(135deg,#e6f1ff,#fff 60%);border-radius:var(--radius-lg);border:1px solid #e2e8f0;padding:20px;box-shadow:var(--shadow-1);display:grid;grid-gap:16px;gap:16px}.student-hero-secondary{background:linear-gradient(135deg,#f5f1ff,#fff 60%)}.student-hero-info{display:grid;grid-gap:6px;gap:6px}.student-hero-title{font-weight:700;font-size:1.1rem}.student-hero-subtitle{color:var(--text-600);font-size:.9rem}.student-hero-stats{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px}.student-hero-stat{display:grid;grid-gap:6px;gap:6px}.student-hero-value{font-size:1.6rem;font-weight:700;color:var(--blue-700)}.student-hero-label{font-size:.8rem;color:var(--text-500);text-transform:uppercase;letter-spacing:.08em}.student-hero-divider{width:1px;height:44px;background:#dbe7fb}.student-next-class{display:flex;gap:14px;align-items:center}.student-next-title{font-weight:700}.student-next-subtitle{color:var(--text-500);font-size:.85rem}.student-time-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(31,95,214,.12);color:var(--blue-700);font-weight:700;font-size:.85rem}.student-card-surface{background:#fff;box-shadow:var(--shadow-1)}.student-teacher{display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;align-items:center}.student-teacher-details{display:grid;grid-gap:6px;gap:6px}.student-teacher-name{font-weight:700}.student-teacher-skills{color:var(--text-600)}.student-teacher-meta{display:flex;gap:10px;color:var(--text-500);font-size:.85rem}.student-teacher-badges{display:grid;grid-gap:8px;gap:8px;justify-items:end}.student-class-list{display:grid;grid-gap:12px;gap:12px}.student-class-item{display:flex;justify-content:space-between;gap:16px;padding:14px;border-radius:16px;background:#f8fbff;border:1px solid #e6edf8}.student-class-left{display:flex;gap:12px;align-items:center}.student-class-title{font-weight:700}.student-class-subtitle{color:var(--text-500);font-size:.85rem}.student-class-right{display:grid;justify-items:end;grid-gap:6px;gap:6px}.student-class-meta{color:var(--text-500);font-size:.75rem}.student-history-list{display:grid;grid-gap:12px;gap:12px}.student-history-item{display:grid;grid-template-columns:120px 1fr auto;align-items:center;grid-gap:16px;gap:16px;padding:14px;border-radius:16px;border:1px solid #e6edf8;background:#fff}.student-history-time{display:grid;grid-gap:6px;gap:6px}.student-history-day{font-weight:700}.student-history-hour{color:var(--text-500);font-size:.85rem}.student-history-title{font-weight:700}.student-history-subtitle{color:var(--text-500);font-size:.85rem}.student-notifications{display:grid;grid-gap:12px;gap:12px}.student-notification{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:16px;gap:16px;padding:14px;border-radius:16px;background:#f8fbff;border:1px solid #e6edf8}.student-notification-icon{width:38px;height:38px;border-radius:12px;background:#e6f1ff;color:var(--blue-700);display:grid;place-items:center;font-weight:700}.student-notification-body{display:grid;grid-gap:6px;gap:6px}.student-notification-title{font-weight:700}.student-notification-detail{color:var(--text-500);font-size:.85rem}.student-notification-pill{padding:6px 10px;border-radius:999px;background:rgba(20,184,166,.12);color:var(--teal-500);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.student-empty{color:var(--text-500);font-size:.9rem}@media (max-width:900px){.profile-grid{grid-template-columns:1fr}.student-history-item,.student-teacher{grid-template-columns:1fr;justify-items:start}.student-class-item{flex-direction:column;align-items:flex-start}}