@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@700;800&display=swap";:root{--primary: #7267f0;--primary-hover: #5d52db;--primary-soft: rgba(114, 103, 240, .12);--primary-glow: rgba(114, 103, 240, .24);--secondary: #a267f4;--sidebar-dark: #10111d;--sidebar-panel: #181927;--bg-main: #f4f5fa;--surface: #ffffff;--surface-soft: #f8f9fc;--text-main: #202235;--text-muted: #74798f;--border: #e7e8f0;--border-strong: #d9dbe7;--white: #ffffff;--danger: #ef5d72;--success: #25b985;--warning: #f3a83b;--shadow-sm: 0 7px 22px rgba(30, 32, 55, .06);--shadow-md: 0 18px 48px rgba(30, 32, 55, .09);--shadow-lg: 0 30px 80px rgba(15, 16, 30, .18);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 24px}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-main);background:var(--bg-main);overflow-x:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(114,103,240,.22);outline-offset:2px}.text-logo,.text-logo-sidebar{font-family:Manrope,Inter,sans-serif;font-weight:800;letter-spacing:-.055em}.text-logo{color:#fff;font-size:2rem}.text-logo span,.text-logo-sidebar span{background:linear-gradient(135deg,#8f84ff,#b76df5);-webkit-background-clip:text;background-clip:text;color:transparent}.text-logo-sidebar{color:#fff;font-size:1.3rem}.auth-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;min-height:100vh;padding:28px;display:flex;align-items:center;justify-content:center;overflow:auto;color:#fff;background:radial-gradient(circle at 10% 8%,rgba(114,103,240,.2),transparent 35%),radial-gradient(circle at 92% 92%,rgba(162,103,244,.16),transparent 34%),#090a12}.glow-auth:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px}.auth-orb{position:fixed;width:360px;height:360px;border-radius:50%;filter:blur(90px);opacity:.25;pointer-events:none}.auth-orb-one{top:-130px;left:-100px;background:#6f63ff}.auth-orb-two{right:-120px;bottom:-150px;background:#a657ec}.auth-shell{position:relative;z-index:1;width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,450px);gap:62px;align-items:center}.auth-showcase{max-width:620px}.showcase-badge,.eyebrow{display:inline-flex;width:fit-content;padding:7px 11px;border:1px solid rgba(145,132,255,.32);border-radius:999px;color:#c8c3ff;background:#7267f01c;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.showcase-logo{margin-top:24px;font-family:Manrope,sans-serif;font-size:2rem;font-weight:800;letter-spacing:-.055em}.showcase-logo span{color:#8f84ff}.auth-showcase h1{margin:18px 0;max-width:650px;color:#fff;font-family:Manrope,sans-serif;font-size:clamp(2.75rem,5.5vw,5rem);line-height:.99;letter-spacing:-.065em}.auth-showcase>p{max-width:555px;color:#a7abc0;font-size:1.05rem;line-height:1.72}.showcase-points{display:grid;gap:13px;margin-top:32px;color:#dddfee;font-size:.94rem}.showcase-points div{display:flex;align-items:center;gap:11px}.showcase-points span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;color:#0a1110;background:linear-gradient(135deg,#83f2c6,#3bd99f);font-size:.75rem;font-weight:900}.auth-card,.glow-card{position:relative;width:100%;max-width:440px;padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:26px;color:#fff;background:linear-gradient(145deg,#191a2bf2,#0d0e19f0);box-shadow:0 28px 90px #0000007a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-header{text-align:left}.auth-header h2{margin:20px 0 6px;font-size:1.65rem;letter-spacing:-.035em}.auth-subtitle{margin:0;color:#9ca1b8;font-size:.9rem;line-height:1.55}.auth-form-stack,.signup-fields{display:flex;flex-direction:column;gap:14px}.auth-form-stack{margin-top:24px}.field-label{display:flex;flex-direction:column;gap:8px;color:#d3d5e3;font-size:.78rem;font-weight:700}.glow-input,.auth-card input,.auth-card select{width:100%;min-height:49px;margin:0;padding:0 14px;border:1px solid rgba(255,255,255,.11);border-radius:13px;outline:none;color:#fff;background:#07081099;transition:border-color .18s ease,box-shadow .18s ease}.glow-input::placeholder,.auth-card input::placeholder{color:#747990}.glow-input:focus,.auth-card input:focus,.auth-card select:focus{border-color:#9184ffcc;box-shadow:0 0 0 4px #7267f021}.auth-container select,.dark-select{color-scheme:dark}.auth-container select option,.dark-select option{color:#fff!important;background:#171924!important}select:not(.dark-select){color-scheme:light}body select:not(.dark-select) option{color:var(--text-main)!important;background:var(--surface)!important}.auth-container select:not(.dark-select) option{color:#fff!important;background:#171924!important}.role-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-card{position:relative;min-height:104px;padding:15px;display:flex;align-items:center;gap:12px;text-align:left;color:#ccd0e0;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:#07081073;cursor:pointer;transition:.18s ease}.role-card:hover{transform:translateY(-2px);border-color:#9184ff73}.role-card.active{color:#fff;border-color:#9184ffdb;background:linear-gradient(145deg,#7267f038,#a267f417);box-shadow:0 0 0 3px #7267f014}.role-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:12px;background:#ffffff12}.role-card>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.role-card strong{font-size:.94rem}.role-card small{color:#8d93aa;font-size:.7rem;line-height:1.35}.role-check{position:absolute;top:10px;right:11px;display:none;color:#c3bdff;font-weight:900}.role-card.active .role-check{display:block}.compact-role-choice .role-card{min-height:78px;padding:12px}.auth-divider{display:flex;align-items:center;gap:12px;color:#777c92;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#ffffff1a}.google-login-btn{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #dadce0;border-radius:13px;color:#202124;background:#fff;cursor:pointer;font-weight:700;box-shadow:0 7px 23px #0000002e;transition:.18s ease}.google-login-btn:hover{transform:translateY(-1px);background:#fafafa;box-shadow:0 11px 28px #0000003d}.google-icon{width:21px;height:21px}.auth-toggle{padding:0;border:0;margin:1px 0 0;color:#999eb4;background:transparent;text-align:center;font:inherit;font-size:.82rem;cursor:pointer}.auth-toggle:disabled{cursor:wait;opacity:.62}.auth-toggle strong{color:#c4beff}.forgot-password-link{align-self:flex-end;margin-top:-4px;padding:0;border:0;background:transparent;color:#a9a2ff;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.forgot-password-link:hover{color:#c9c5ff;text-decoration:underline}.reset-password-shell{grid-template-columns:minmax(320px,520px);justify-content:center}.password-reset-message{margin:-2px 0 0;padding:10px 12px;border:1px solid rgba(248,113,113,.35);border-radius:10px;background:#7f1d1d33;color:#fecaca;font-size:.88rem;line-height:1.45}.onboarding-card{position:relative;z-index:1;width:min(860px,100%);max-width:none;max-height:calc(100vh - 52px);overflow:auto;padding:34px;border-radius:27px}.onboarding-top{display:flex;align-items:center;gap:18px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.08)}.profile-avatar{width:68px;height:68px;flex:0 0 auto;object-fit:cover;border:2px solid rgba(145,132,255,.68);border-radius:20px}.avatar-fallback{display:grid;place-items:center;background:linear-gradient(145deg,#6e63f8,#a75df5);font-size:1.6rem;font-weight:900}.onboarding-top h1{margin:8px 0 4px;font-family:Manrope,sans-serif;font-size:clamp(1.65rem,4vw,2.25rem);letter-spacing:-.045em}.onboarding-top p{margin:0;color:#9fa4ba}.onboarding-section{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.075)}.section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.section-heading>span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid rgba(145,132,255,.35);border-radius:9px;color:#ddd9ff;background:#7267f021;font-size:.8rem;font-weight:900}.section-heading h3{margin:0 0 3px;font-size:1rem}.section-heading p{margin:0;color:#9197af;font-size:.78rem}.class-search-wrap{position:relative;margin-bottom:12px}.class-search-wrap>span{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#858aa1}.class-search-wrap .glow-input{padding-left:42px}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:230px;overflow:auto}.class-chip{min-height:42px;padding:9px 10px;color:#c4c8d8;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#08091185;cursor:pointer;font-size:.77rem;font-weight:650;transition:.18s ease}.class-chip:hover,.class-chip.active{color:#fff;border-color:#9184ffcc;background:linear-gradient(135deg,#7267f045,#a267f421)}.teacher-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.onboarding-footer{padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.signed-in-note{min-width:0;display:flex;align-items:center;gap:10px;color:#989eb5}.signed-in-note>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#25b9851a}.signed-in-note div{min-width:0;display:flex;flex-direction:column;gap:2px}.signed-in-note small{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase}.signed-in-note strong{max-width:320px;overflow:hidden;text-overflow:ellipsis;color:#eaebf4;font-size:.8rem}.onboarding-submit{width:auto!important;min-width:220px;display:flex;align-items:center;justify-content:center;gap:13px}.dashboard-layout{width:100vw;height:100vh;display:flex;overflow:hidden;background:radial-gradient(circle at 78% -10%,rgba(114,103,240,.09),transparent 28%),var(--bg-main)}.sidebar{position:relative;width:264px;flex:0 0 264px;padding:25px 18px 19px;display:flex;flex-direction:column;overflow:hidden;color:#fff;background:radial-gradient(circle at 20% -5%,rgba(132,119,255,.16),transparent 27%),linear-gradient(180deg,#12131f,#0d0e18);box-shadow:18px 0 50px #13142714}.sidebar:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:150px;pointer-events:none;background:radial-gradient(circle,rgba(114,103,240,.12),transparent 70%)}.sidebar-brand{position:relative;z-index:1;padding:0 6px 25px;margin-bottom:17px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-mark{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:13px;color:#fff;background:linear-gradient(145deg,#756af3,#9e65e7);box-shadow:0 10px 26px #7267f042;font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:800}.brand-copy{min-width:0}.brand-copy small{display:block;margin-top:3px;color:#74798f;font-size:.66rem;letter-spacing:.02em}.sidebar nav{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px}.sidebar nav button{position:relative;width:100%;min-height:46px;padding:0 13px;display:flex;align-items:center;gap:12px;border:0;border-radius:13px;color:#8d92a8;background:transparent;cursor:pointer;font-size:.88rem;font-weight:600;text-align:left;transition:color .18s ease,background .18s ease,transform .18s ease}.sidebar nav button:hover{color:#fff;background:#ffffff0e;transform:translate(2px)}.sidebar nav button.active{color:#fff;background:linear-gradient(135deg,#7267f0f5,#9760e4e6);box-shadow:0 11px 27px #7267f03b}.sidebar nav button.active:after{content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 9px #fffc}.icon-span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#ffffff0d;font-size:.95rem}.sidebar nav button.active .icon-span{background:#ffffff24}.user-tag{position:relative;z-index:1;margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.07)}.sidebar-profile{min-width:0;margin-bottom:11px;display:flex;align-items:center;gap:10px}.sidebar-profile img,.sidebar-avatar-fallback{width:38px;height:38px;flex:0 0 auto;border-radius:12px;object-fit:cover}.sidebar-avatar-fallback{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#7267f0,#a267f4);font-weight:800}.sidebar-profile-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.sidebar-profile-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef0fa;font-size:.79rem}.sidebar-profile-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777d95;font-size:.67rem;text-transform:capitalize}.logout-lite{width:100%;min-height:37px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(239,93,114,.16);border-radius:10px;color:#ee8090;background:#ef5d7212;cursor:pointer;font-size:.74rem;font-weight:700;transition:.18s ease}.logout-lite:hover{color:#fff;border-color:transparent;background:var(--danger)}.main-content{min-width:0;flex:1;padding:26px 30px 32px;display:flex;flex-direction:column;overflow-y:auto}.dashboard-topbar{max-width:1500px;width:100%;margin:0 auto 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.page-eyebrow{display:block;margin-bottom:7px;color:#8b90a5;font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.page-title-row{display:flex;align-items:center;gap:13px}.page-title-icon{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(114,103,240,.15);border-radius:15px;background:linear-gradient(145deg,#fff,#f0f0fb);box-shadow:var(--shadow-sm);font-size:1.15rem}.page-heading h1{margin:0;color:#1c1e31;font-family:Manrope,sans-serif;font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.045em}.page-heading p{margin:4px 0 0;color:var(--text-muted);font-size:.83rem;line-height:1.5}.topbar-actions{display:flex;align-items:center;gap:11px}.today-pill,.topbar-profile{min-height:52px;display:flex;align-items:center;border:1px solid var(--border);border-radius:15px;background:#ffffffd6;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.today-pill{padding:0 15px;flex-direction:column;justify-content:center;align-items:flex-start}.today-pill span,.topbar-profile small{color:var(--text-muted);font-size:.64rem;text-transform:capitalize}.today-pill strong,.topbar-profile strong{color:#25273a;font-size:.78rem}.topbar-profile{min-width:168px;padding:7px 12px 7px 8px;gap:9px}.topbar-profile img,.topbar-profile>span{width:37px;height:37px;flex:0 0 auto;border-radius:11px}.topbar-profile img{object-fit:cover}.topbar-profile>span{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#7267f0,#a267f4);font-weight:800}.topbar-profile div{min-width:0;display:flex;flex-direction:column;gap:2px}.topbar-profile strong,.topbar-profile small{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-surface{max-width:1500px;width:100%;flex:1;margin:0 auto;min-height:0}.calendar-card,.materials-container,.admin-panel,.messaging-container{width:100%;min-height:100%;border:1px solid rgba(224,226,237,.86);border-radius:var(--radius-lg);background:#ffffffe0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.materials-container,.admin-panel,.messaging-container{padding:25px}.materials-container>div:first-child,.admin-panel>h2{margin-top:0}.materials-container h2,.admin-panel h2{margin:0;color:#202235;font-family:Manrope,sans-serif;font-size:1.22rem;letter-spacing:-.03em}.main-btn{min-height:42px;padding:0 18px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 10px 24px var(--primary-glow);cursor:pointer;font-size:.82rem;font-weight:750;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.main-btn:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 13px 30px #7267f047}.main-btn:active{transform:scale(.98)}.secondary-btn{width:100%;min-height:42px;margin-top:9px;border:1px solid var(--border-strong);border-radius:12px;color:#666b82;background:#fff;cursor:pointer;font-weight:700}.del-btn{width:38px;min-width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(239,93,114,.15);border-radius:11px;color:var(--danger);background:#ef5d7212;cursor:pointer;transition:.18s ease}.del-btn:hover{color:#fff;background:var(--danger)}.calendar-card{min-height:680px;padding:24px;overflow:hidden}.fc{--fc-border-color: #ececf3;--fc-page-bg-color: transparent;--fc-neutral-bg-color: #f7f7fb;--fc-today-bg-color: rgba(114,103,240,.07);--fc-button-bg-color: #fff;--fc-button-border-color: #e3e4ed;--fc-button-text-color: #555a70;--fc-button-hover-bg-color: #f1f1f8;--fc-button-hover-border-color: #d7d8e4;--fc-button-active-bg-color: #7267f0;--fc-button-active-border-color: #7267f0;font-size:.86rem}.fc .fc-toolbar{margin-bottom:22px!important}.fc .fc-toolbar-title{color:#222438;font-family:Manrope,sans-serif;font-size:1.28rem!important;letter-spacing:-.03em}.fc .fc-button{min-height:37px;padding:0 13px!important;border-radius:10px!important;box-shadow:none!important;font-size:.74rem!important;font-weight:700!important;text-transform:capitalize!important}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{box-shadow:0 8px 19px #7267f033!important}.fc-theme-standard th{padding:11px 0;color:#8b90a4;background:#fafafd;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.fc .fc-daygrid-day-number{padding:8px 9px;color:#5a5f74;font-size:.75rem;font-weight:650}.fc .fc-day-today .fc-daygrid-day-number{margin:6px;padding:2px;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--primary)}.fc .fc-daygrid-day-frame{min-height:105px}.fc .fc-event{padding:4px 6px;border:0;border-radius:7px;box-shadow:0 5px 12px #1e203714;font-size:.68rem;font-weight:650;cursor:pointer}.materials-grid,.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}.material-card,.task-item,.announcement-card{border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,#fff,#fcfcff);box-shadow:0 7px 22px #1e20370b;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.material-card:hover,.task-item:hover,.announcement-card:hover{transform:translateY(-3px);border-color:#7267f038;box-shadow:0 15px 38px #1e203716}.material-card{min-height:150px;padding:19px;display:flex;align-items:center;justify-content:space-between;gap:16px}.material-info{min-width:0}.material-info strong,.task-info strong,.announcement-header strong{color:#25273a;font-size:.94rem}.material-info p,.task-info p{margin:7px 0 0;color:var(--text-muted);font-size:.76rem;line-height:1.5}.task-item{padding:20px}.status-badge{display:inline-flex;width:fit-content;margin:12px 0;padding:6px 9px;border-radius:8px;font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.status-pending{color:#9b6713;background:#fff5d8}.status-approved{color:#14805b;background:#dcf8ed}.announcements-list{display:flex;flex-direction:column;gap:12px}.announcement-card{position:relative;padding:20px 21px 18px 25px;overflow:hidden}.announcement-card:before{content:"";position:absolute;left:0;top:17px;bottom:17px;width:4px;border-radius:0 5px 5px 0;background:linear-gradient(180deg,var(--primary),var(--secondary))}.announcement-header{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:9px}.ann-class-badge{flex:0 0 auto;padding:5px 9px;border:1px solid rgba(114,103,240,.13);border-radius:8px;color:var(--primary);background:var(--primary-soft);font-size:.67rem;font-weight:750}.announcement-content{margin:0 0 13px;color:#666b80;font-size:.81rem;line-height:1.62;word-break:break-word}.announcement-footer{display:flex;align-items:center;justify-content:space-between}.announcement-footer small{color:#9a9eb0;font-size:.68rem}.messaging-container{height:calc(100vh - 162px);min-height:590px;display:flex;flex-direction:column;gap:15px}.msg-tabs{display:flex;gap:7px;padding:5px;width:fit-content;border:1px solid var(--border);border-radius:13px;background:#f4f4f9}.msg-tab{min-height:38px;padding:0 15px;border:0;border-radius:9px;color:#7c8196;background:transparent;cursor:pointer;font-size:.76rem;font-weight:700}.msg-tab.active{color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 8px 18px #7267f033}.chat-layout,.dm-layout,.dm-chat{min-height:0;flex:1;display:flex;flex-direction:column;gap:11px}.chat-messages{min-height:0;flex:1;padding:20px;display:flex;flex-direction:column;gap:11px;overflow-y:auto;border:1px solid var(--border);border-radius:17px;background:radial-gradient(circle at 100% 0%,rgba(114,103,240,.05),transparent 30%),#fafafe}.chat-bubble{max-width:min(72%,620px);display:flex;flex-direction:column}.chat-bubble.mine{align-self:flex-end;align-items:flex-end}.chat-bubble.theirs{align-self:flex-start;align-items:flex-start}.bubble-name{margin-bottom:4px;color:#8d92a5;font-size:.66rem;font-weight:700}.bubble-text{padding:10px 13px;border-radius:15px;font-size:.81rem;line-height:1.48;word-break:break-word;box-shadow:0 6px 15px #1e20370d}.chat-bubble.mine .bubble-text{color:#fff;border-bottom-right-radius:4px;background:linear-gradient(135deg,var(--primary),#8b62e9)}.chat-bubble.theirs .bubble-text{color:#3d4054;border:1px solid #ebeaf1;border-bottom-left-radius:4px;background:#fff}.bubble-time{margin-top:4px;color:#9a9eb0;font-size:.62rem}.chat-input-row{display:flex;gap:9px}.chat-input-row input{min-width:0;flex:1;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:12px;color:var(--text-main);background:#fff;outline:none}.chat-input-row input:focus{border-color:#7267f0a6;box-shadow:0 0 0 4px #7267f017}.dm-split{min-height:0;flex:1;display:flex;gap:14px}.dm-sidebar{width:255px;min-width:225px;display:flex;flex-direction:column}.dm-sidebar>input{min-height:42px;margin-bottom:10px!important;border:1px solid var(--border)!important;border-radius:11px!important;background:#fafafe!important}.student-list{min-height:0;flex:1;display:flex;flex-direction:column;gap:7px;overflow-y:auto}.student-item{padding:11px 12px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);border-radius:12px;color:#3c3f53;background:#fff;cursor:pointer;transition:.18s ease}.student-item:hover{border-color:#7267f073;transform:translate(2px)}.student-item.selected{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 10px 22px #7267f033}.student-item strong{font-size:.77rem}.student-item small{color:#8c91a5;font-size:.65rem}.student-item.selected small{color:#ffffffbf}.dm-header{min-height:53px;padding:0 15px;display:flex;flex-direction:column;justify-content:center;gap:2px;border:1px solid var(--border);border-radius:13px;background:#fff}.dm-header strong{font-size:.83rem}.dm-header small{color:var(--text-muted);font-size:.67rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;padding:20px;display:flex;align-items:center;justify-content:center;background:#10111dad;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.modal-content{width:100%;max-width:490px;max-height:90vh;overflow-y:auto;padding:29px;border:1px solid rgba(255,255,255,.6);border-radius:23px;color:var(--text-main);background:#fff;box-shadow:var(--shadow-lg)}.modal-content h2,.modal-content h3{margin:0 0 20px;color:#222438;font-family:Manrope,sans-serif;letter-spacing:-.03em}.modal-content input,.modal-content select,.modal-content textarea,.main-input{width:100%;min-height:46px;margin-bottom:13px;padding:0 13px;border:1px solid var(--border);border-radius:11px;outline:none;color:var(--text-main);background:#f8f9fc}.modal-content textarea,textarea.main-input{min-height:100px;padding-top:12px;resize:vertical}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus,.main-input:focus{border-color:#7267f0a6;background:#fff;box-shadow:0 0 0 4px #7267f017}.modal-content select,.modal-content select option,.main-input option{color-scheme:light;color:#2b2e40!important;background:#fff!important}.class-selector{margin-bottom:15px}.class-checkbox-grid{max-height:225px;padding:3px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow-y:auto}.class-checkbox-item{padding:8px 9px;border:1px solid var(--border);border-radius:9px;color:#61667b;background:#fff;cursor:pointer;text-align:center;font-size:.72rem;font-weight:650;transition:.16s ease}.class-checkbox-item:hover{border-color:#7267f080}.class-checkbox-item.checked{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--secondary))}.select-all-btn{min-height:32px;padding:0 10px;border:1px solid rgba(114,103,240,.25);border-radius:8px;color:var(--primary);background:var(--primary-soft);cursor:pointer;font-size:.68rem;font-weight:750}.error-toast{position:fixed;z-index:20000;right:22px;bottom:22px;max-width:min(390px,calc(100vw - 44px));padding:13px 14px;display:flex;align-items:center;gap:13px;border:1px solid rgba(239,93,114,.2);border-radius:13px;color:#772938;background:#fff0f3;box-shadow:var(--shadow-md);font-size:.78rem}.error-toast-close{border:0;color:inherit;background:transparent;cursor:pointer}.profile-page{display:flex;flex-direction:column;gap:18px}.profile-hero-card,.profile-settings-card,.profile-summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffffe6;box-shadow:var(--shadow-md);overflow:hidden}.profile-hero-card{position:relative}.profile-cover{height:132px;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.2),transparent 24%),linear-gradient(125deg,#6257dd,#7569f1 45%,#a45fe8)}.profile-cover:after{content:"";position:absolute;inset:0 0 auto;height:132px;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:34px 34px}.profile-identity{position:relative;padding:0 28px 26px;display:flex;align-items:flex-end;gap:18px}.profile-avatar-large{width:96px;height:96px;flex:0 0 auto;margin-top:-45px;padding:5px;display:grid;place-items:center;border-radius:28px;background:#fff;box-shadow:0 14px 34px #1f213a2b}.profile-avatar-large img,.profile-avatar-large>span{width:100%;height:100%;border-radius:23px}.profile-avatar-large img{object-fit:cover}.profile-avatar-large>span{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#7267f0,#a267f4);font-size:2rem;font-weight:800}.profile-identity-copy{min-width:0;padding-top:16px}.profile-role-badge,.profile-preview-role{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:.65rem;font-weight:800;text-transform:capitalize}.profile-identity-copy h2{margin:8px 0 4px;color:#222438;font-family:Manrope,sans-serif;font-size:1.45rem;letter-spacing:-.04em}.profile-identity-copy p{margin:0;color:var(--text-muted);font-size:.78rem}.profile-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:18px}.profile-settings-card,.profile-summary-card{padding:24px}.profile-card-heading{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-card-heading span:first-child,.profile-summary-label{display:block;margin-bottom:5px;color:#8a8fa4;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.profile-card-heading h3,.profile-summary-card h3{margin:0;color:#222438;font-family:Manrope,sans-serif;letter-spacing:-.035em}.profile-card-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7267f0,#a267f4);box-shadow:0 10px 24px #7267f038}.profile-field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}.profile-field>span{color:#4d5167;font-size:.76rem;font-weight:750}.profile-field input,.profile-field textarea{width:100%;border:1px solid var(--border);border-radius:12px;outline:none;color:var(--text-main);background:#f8f9fc;transition:.18s ease}.profile-field input{min-height:46px;padding:0 13px}.profile-field textarea{padding:12px 13px;resize:vertical;line-height:1.5}.profile-field input:focus,.profile-field textarea:focus{border-color:#7267f0a6;background:#fff;box-shadow:0 0 0 4px #7267f017}.profile-field small{color:#969aad;font-size:.66rem;line-height:1.45}.profile-save-btn{min-width:150px}.profile-save-btn:disabled{opacity:.65;cursor:wait;transform:none}.profile-summary-card{text-align:center}.profile-preview-avatar{width:86px;height:86px;margin:18px auto 13px;display:grid;place-items:center;border:5px solid #fff;border-radius:25px;background:#fff;box-shadow:0 12px 30px #1f213a24}.profile-preview-avatar img,.profile-preview-avatar>span{width:100%;height:100%;border-radius:20px}.profile-preview-avatar img{object-fit:cover}.profile-preview-avatar>span{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#7267f0,#a267f4);font-size:1.65rem;font-weight:800}.profile-summary-card>p{min-height:58px;margin:15px 0 21px;color:var(--text-muted);font-size:.76rem;line-height:1.6}.profile-detail-list{display:flex;flex-direction:column;gap:9px;text-align:left}.profile-detail-list>div{padding:11px 12px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);border-radius:11px;background:#fafafe}.profile-detail-list span{color:#9296a9;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.profile-detail-list strong{overflow:hidden;text-overflow:ellipsis;color:#3a3d51;font-size:.72rem}.approved-text{color:var(--success)!important}.pending-text{color:var(--warning)!important}@media (max-width: 880px){.profile-settings-grid{grid-template-columns:1fr}.profile-summary-card{text-align:left}.profile-preview-avatar{margin-left:0}}@media (max-width: 560px){.profile-cover{height:105px}.profile-cover:after{height:105px}.profile-identity{padding:0 18px 21px;align-items:flex-start;flex-direction:column;gap:10px}.profile-avatar-large{width:82px;height:82px;margin-top:-38px;border-radius:23px}.profile-avatar-large img,.profile-avatar-large>span{border-radius:18px}.profile-identity-copy{padding-top:0}.profile-settings-card,.profile-summary-card{padding:19px}.profile-save-btn{width:100%}}.mobile-only{display:none}@media (max-width: 960px){.auth-shell{width:min(520px,100%);grid-template-columns:1fr}.auth-showcase{display:none}.sidebar{width:86px;flex-basis:86px;padding-inline:13px}.brand-copy,.sidebar nav .desktop-only,.sidebar-profile-copy,.logout-lite .desktop-only{display:none!important}.sidebar-brand,.sidebar-profile{justify-content:center}.sidebar-brand{padding-inline:0}.sidebar nav button{justify-content:center;padding-inline:0}.sidebar nav button.active:after{display:none}.logout-lite{min-width:40px}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){html,body,#root{width:100%;min-height:100%;overflow-x:hidden}body{overscroll-behavior-y:none}.mobile-only{display:initial}.dashboard-layout{width:100%;min-height:100svh;height:100svh;display:flex;flex-direction:column;overflow:hidden}.sidebar{position:fixed;z-index:999;inset:auto 0 0;order:2;width:100%;height:calc(72px + env(safe-area-inset-bottom));min-height:calc(72px + env(safe-area-inset-bottom));padding:7px 8px max(7px,env(safe-area-inset-bottom));flex:none;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -14px 40px #0f101e29}.sidebar:after,.sidebar-brand,.user-tag{display:none}.sidebar nav{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:3px}.sidebar nav button{width:100%;min-width:0;min-height:55px;padding:5px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px;font-size:.58rem;line-height:1.05;text-align:center}.sidebar nav .desktop-only{display:block!important;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-span{width:27px;height:25px;font-size:.9rem}.sidebar nav button:hover,.sidebar nav button.active{transform:none}.main-content{order:1;width:100%;height:100svh;min-width:0;padding:max(14px,env(safe-area-inset-top)) 12px calc(94px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.dashboard-topbar{width:100%;margin:0 auto 14px;gap:10px;align-items:center}.page-heading{min-width:0;flex:1}.page-title-row{min-width:0;gap:9px}.page-title-icon,.today-pill{display:none}.page-heading h1{overflow:hidden;font-size:clamp(1.35rem,7vw,1.75rem);line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.page-heading p{max-width:70vw;overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{flex:0 0 auto;gap:7px}.topbar-profile{min-width:0;min-height:44px;padding:5px;border-radius:13px}.topbar-profile div{display:none}.topbar-profile img,.topbar-profile>span{width:34px;height:34px}.page-surface{width:100%;min-width:0;min-height:0}.calendar-card,.materials-container,.admin-panel,.messaging-container,.profile-hero-card,.profile-settings-card,.profile-summary-card{width:100%;min-width:0;border-radius:19px;box-sizing:border-box}.materials-container,.admin-panel,.messaging-container{padding:16px}.materials-container>div:first-child,.admin-panel>div:first-child{flex-wrap:wrap;gap:10px}.main-btn,.secondary-btn,.google-login-btn,.logout-lite,.msg-tab,.del-btn,.select-all-btn{touch-action:manipulation}.main-btn{min-height:44px}.calendar-card{min-height:0;padding:12px;overflow-x:auto}.fc{min-width:610px;font-size:.78rem}.fc .fc-toolbar{margin-bottom:14px!important;gap:8px}.fc .fc-toolbar-title{font-size:1rem!important}.fc .fc-button{min-height:34px;padding:0 9px!important;font-size:.68rem!important}.fc .fc-daygrid-day-frame{min-height:76px}.fc .fc-daygrid-day-number{padding:6px}.materials-grid,.task-grid,.profile-settings-grid{grid-template-columns:1fr!important}.material-card{min-height:0;padding:16px;align-items:flex-start;flex-direction:column}.task-item,.announcement-card{padding:16px}.announcement-header,.announcement-footer{align-items:flex-start;gap:8px}.announcement-header{flex-direction:column}.announcement-footer{flex-wrap:wrap}.messaging-container{height:calc(100svh - 146px - env(safe-area-inset-bottom));min-height:500px;gap:11px}.msg-tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.msg-tabs::-webkit-scrollbar{display:none}.msg-tab{flex:0 0 auto;min-height:40px}.dm-split{display:grid;grid-template-columns:1fr;gap:10px}.dm-sidebar{width:100%;min-width:0;max-height:154px}.student-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding-bottom:3px;scrollbar-width:thin}.student-item{min-width:145px}.dm-chat{min-height:0}.chat-messages{padding:13px}.chat-bubble{max-width:88%}.chat-input-row{gap:7px}.chat-input-row input{min-width:0;min-height:46px;font-size:16px}.chat-input-row .main-btn{flex:0 0 auto;padding-inline:14px}.auth-container{min-height:100svh;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));align-items:flex-start}.auth-shell{width:100%;max-width:480px;display:block;margin:auto}.auth-card,.glow-card,.onboarding-card{width:100%;max-width:100%;padding:22px;border-radius:21px}.onboarding-card{max-height:none}.onboarding-top{align-items:flex-start}.role-choice,.teacher-fields{grid-template-columns:1fr}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-footer{align-items:stretch;flex-direction:column}.onboarding-submit{width:100%!important;min-width:0}.glow-input,.auth-card input,.auth-card select,.modal-content input,.modal-content select,.modal-content textarea,.main-input,.profile-field input,.profile-field textarea{font-size:16px}.profile-page{width:100%}.profile-cover,.profile-cover:after{height:108px}.profile-identity{padding:0 18px 20px;align-items:flex-start;flex-direction:column;gap:10px}.profile-avatar-large{width:78px;height:78px;margin-top:-38px;border-radius:23px}.profile-avatar-large img,.profile-avatar-large>span{border-radius:18px}.profile-identity-copy{width:100%;padding-top:0}.profile-identity-copy h2{font-size:1.22rem}.profile-identity-copy p{overflow-wrap:anywhere}.profile-settings-card,.profile-summary-card{padding:18px}.profile-card-heading{align-items:flex-start}.profile-save-btn{width:100%}.profile-detail-list>div{min-width:0}.profile-detail-list strong{overflow-wrap:anywhere;white-space:normal}.modal-overlay{padding:0;align-items:flex-end}.modal-content{width:100%;max-width:none;max-height:min(88svh,760px);margin:0;padding:21px 16px calc(18px + env(safe-area-inset-bottom));border-radius:23px 23px 0 0}.class-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.error-toast{right:10px;bottom:calc(84px + env(safe-area-inset-bottom));left:10px;max-width:none}}@media (max-width: 520px){.auth-card,.glow-card,.onboarding-card{padding:20px 17px}.auth-header h2{font-size:1.45rem}.onboarding-top{gap:12px}.profile-avatar{width:54px;height:54px;border-radius:16px}.class-grid,.class-checkbox-grid{grid-template-columns:1fr}.signed-in-note strong{max-width:210px}.page-heading p{display:none}.page-heading h1{max-width:65vw}.calendar-card{margin-inline:-2px}.fc{min-width:560px}.chat-bubble{max-width:93%}.profile-summary-card{text-align:left}.profile-preview-avatar{margin-left:0}}@media (max-width: 380px){.main-content{padding-right:9px;padding-left:9px}.dashboard-topbar{margin-bottom:11px}.page-heading h1{max-width:62vw;font-size:1.28rem}.sidebar{padding-right:4px;padding-left:4px}.sidebar nav{gap:1px}.sidebar nav button{min-height:52px;padding-inline:2px;font-size:.52rem}.icon-span{font-size:.82rem}.profile-identity{padding-right:13px;padding-left:13px}.profile-settings-card,.profile-summary-card,.materials-container,.admin-panel,.messaging-container{padding-right:14px;padding-left:14px}.chat-input-row .main-btn{padding-inline:11px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.signup-institutions,.onboarding-institutions{display:grid;gap:18px}.signup-institutions{padding-top:18px;border-top:1px solid rgba(119,87,232,.13)}.signup-section-title{display:grid;gap:4px}.signup-section-title strong{color:var(--text-main);font-size:.92rem}.signup-section-title small,.institution-help{color:var(--text-muted);font-size:.72rem;line-height:1.5}.institution-selector{min-width:0;display:grid;gap:9px}.institution-search{position:relative;display:block;margin-top:7px}.institution-search>span{position:absolute;z-index:1;top:50%;left:13px;color:var(--text-muted);transform:translateY(-50%)}.institution-search input{padding-left:38px}.institution-results{max-height:210px;display:grid;gap:7px;padding:5px;overflow-y:auto;border:1px solid rgba(119,87,232,.12);border-radius:15px;background:#f7f5ffb8}.institution-option{width:100%;min-width:0;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:12px;color:var(--text-main);background:#ffffffd6;cursor:pointer;text-align:left}.institution-option:hover,.institution-option.active{border-color:#6c54dd52;background:#fff;box-shadow:0 8px 20px #523fa514}.institution-option.active{box-shadow:inset 3px 0 #7657e8,0 8px 20px #523fa514}.institution-option-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0ecff}.institution-option>span:nth-child(2){min-width:0;display:grid;gap:2px}.institution-option strong,.institution-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institution-option strong{font-size:.78rem}.institution-option small{color:var(--text-muted);font-size:.65rem}.institution-check{width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(108,84,221,.22);border-radius:50%;color:#fff;background:#7657e8;font-size:.72rem;font-weight:900}.institution-option:not(.active) .institution-check{background:transparent}.institution-empty{margin:0;padding:18px 12px;color:var(--text-muted);font-size:.73rem;text-align:center}.sch-ready-note{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid rgba(35,125,204,.14);border-radius:12px;color:#43516d;background:#e6f4ff9e;font-size:.7rem;line-height:1.5}.pending-memberships{display:grid;gap:8px;margin:18px 0;text-align:left}.profile-institutions-detail{align-items:flex-start!important}.profile-institutions-detail>strong{display:grid;gap:6px}.profile-membership-row{min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.profile-membership-row small{padding:4px 7px;border-radius:7px;font-size:.58rem;text-transform:capitalize}.pending-memberships>div{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.pending-memberships>div>span:last-child{display:grid}.pending-memberships small{color:#9a6a17;text-transform:capitalize}.institution-admin-page{display:grid;gap:20px}.admin-heading h2,.admin-section h3{margin:0}.admin-heading p,.admin-section-heading p{margin:5px 0 0;color:var(--text-muted)}.admin-section{padding:20px;border:1px solid var(--border);border-radius:18px;background:#ffffffc2}.admin-section-heading,.admin-section-heading>div{display:flex;align-items:center;gap:11px}.admin-section-heading{justify-content:space-between;margin-bottom:16px}.admin-section-heading>div>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#6547cf;background:#eee9ff;font-size:.68rem;font-weight:900}.institution-create-form{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr auto;align-items:end;gap:10px}.institution-create-form label{min-width:0;display:grid;gap:6px;color:var(--text-muted);font-size:.68rem;font-weight:750}.institution-create-form .main-input{width:100%;margin:0}.admin-filter{min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:#fff}.application-list,.institution-admin-grid{display:grid;gap:10px}.application-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--border);border-radius:14px;background:#fff}.application-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#7657e8,#5440af);font-weight:850}.application-copy{min-width:0;display:grid;gap:2px}.application-copy>strong,.application-copy>small{overflow-wrap:anywhere}.application-copy>small{color:var(--text-muted)}.application-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.application-meta>span{padding:5px 7px;border-radius:8px;color:#5c5378;background:#f4f2fa;font-size:.62rem;font-weight:750}.membership-status{text-transform:capitalize}.membership-status.status-approved{color:#16704d;background:#e8f8f0}.membership-status.status-pending{color:#916216;background:#fff4dc}.membership-status.status-rejected,.membership-status.status-removed{color:#a03d4d;background:#ffecef}.application-actions{display:flex;gap:7px}.application-actions button,.institution-toggle{min-height:38px;padding:0 11px;border:1px solid rgba(103,75,214,.2);border-radius:10px;color:#6045c7;background:#f2eeff;cursor:pointer;font-weight:750}.application-actions .danger-lite,.institution-toggle{color:#a64052;border-color:#c3435929;background:#fff0f2}.institution-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-admin-card{min-width:0;display:grid;gap:12px;padding:15px;border:1px solid var(--border);border-radius:14px;background:#fff}.institution-admin-title{display:flex;align-items:center;gap:10px}.institution-admin-title>span{font-size:1.35rem}.institution-admin-title>div{min-width:0;display:grid}.institution-admin-title small{color:var(--text-muted)}.assign-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.assign-admin-row .main-input{min-width:0;margin:0}.admin-empty{padding:28px 16px;border:1px dashed var(--border);border-radius:13px;color:var(--text-muted);text-align:center}@media (max-width: 1080px){.institution-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.dashboard-layout:after{content:"";position:fixed;z-index:997;right:0;bottom:0;left:0;height:calc(92px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(244,244,249,.96) 58%)}.sidebar{z-index:999}.page-surface:after{content:"";display:block;width:100%;height:calc(34px + env(safe-area-inset-bottom))}.institution-results{max-height:180px}.institution-admin-page,.admin-section{min-width:0}.admin-section{padding:15px}.admin-section-toolbar{align-items:stretch;flex-direction:column}.admin-filter{width:100%;font-size:16px}.institution-create-form,.institution-admin-grid{grid-template-columns:1fr}.institution-create-form input,.institution-create-form select,.assign-admin-row input{font-size:16px}.application-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.application-actions{grid-column:1 / -1;width:100%}.application-actions button{flex:1}}@media (max-width: 440px){.assign-admin-row{grid-template-columns:1fr}.assign-admin-row .secondary-btn,.institution-toggle{width:100%}.institution-option{padding-inline:9px}}@media (max-width: 720px){.sidebar{inset:auto 10px max(10px,env(safe-area-inset-bottom));width:auto;height:64px;min-height:64px;padding:6px;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:#10111df0;box-shadow:0 16px 38px #0f101e47;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.sidebar nav{height:100%;align-items:stretch}.sidebar nav button{min-height:0;border-radius:16px}.main-content{padding-bottom:calc(124px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom))}.main-content{padding-left:10px;padding-right:10px}.dashboard-topbar{padding:2px 2px 0}.page-surface{width:100%}.calendar-card{width:100%;padding:10px;overflow:hidden}.fc{min-width:0!important;width:100%!important;font-size:.72rem}.fc .fc-view-harness,.fc .fc-view-harness-active,.fc .fc-scrollgrid,.fc table{width:100%!important;min-width:0!important}.fc .fc-toolbar{flex-wrap:wrap;align-items:center;margin-bottom:12px!important}.fc .fc-toolbar-chunk{display:flex;align-items:center;gap:4px}.fc .fc-toolbar-title{font-size:1rem!important;white-space:nowrap}.fc .fc-button{min-height:32px;padding:0 8px!important;font-size:.64rem!important}.fc-theme-standard th{padding:8px 0;font-size:.56rem;letter-spacing:.03em}.fc .fc-col-header-cell-cushion{padding:4px 1px}.fc .fc-daygrid-day-frame{min-height:70px}.fc .fc-daygrid-day-number{padding:5px;font-size:.68rem}.fc .fc-day-today .fc-daygrid-day-number{width:23px;height:23px;margin:4px}.fc .fc-event{padding:2px 3px;font-size:.58rem;border-radius:5px}.sidebar{height:calc(66px + env(safe-area-inset-bottom));min-height:calc(66px + env(safe-area-inset-bottom));padding:6px 6px max(6px,env(safe-area-inset-bottom))}.sidebar nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.sidebar nav button{min-height:52px;padding:4px 1px;gap:2px;border-radius:11px;font-size:.48rem}.sidebar nav button .desktop-only{max-width:46px;margin:0 auto;font-size:.48rem;line-height:1}.icon-span{width:25px;height:24px;font-size:.82rem}.sidebar nav button.active{box-shadow:0 7px 18px #7267f03d}.calendar-card,.materials-container,.admin-panel,.messaging-container,.profile-hero-card,.profile-settings-card,.profile-summary-card{border-radius:16px;box-shadow:0 10px 28px #1e203712}}@media (max-width: 420px){.sidebar{right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;border-radius:20px}.page-heading h1{font-size:1.42rem}.page-eyebrow{font-size:.6rem}.sidebar nav button .desktop-only{display:none!important}.sidebar nav button{min-height:48px}.icon-span{width:30px;height:30px;font-size:.92rem}.fc .fc-toolbar-chunk:first-child,.fc .fc-toolbar-chunk:last-child{transform:scale(.92);transform-origin:center}.fc .fc-toolbar-title{font-size:.94rem!important}.fc-theme-standard th{font-size:.5rem}.fc .fc-daygrid-day-frame{min-height:65px}}@media (max-width: 768px){.messages-page{width:100%;max-width:100%;overflow-x:hidden}.messages-container{width:100%;max-width:100%;min-width:0}.conversation-panel{width:100%;min-width:0}.message-bubble{max-width:82%;overflow-wrap:anywhere;word-break:break-word}}@media (max-width: 720px){.messaging-container,.dm-layout,.dm-split,.dm-chat,.dm-sidebar,.chat-messages,.chat-input-row{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.messaging-container{padding:14px;overflow-x:hidden}.dm-layout{overflow:hidden}.dm-split{display:flex;flex-direction:column;gap:12px;overflow:hidden}.dm-sidebar{width:100%;min-width:0;max-height:150px;flex:0 0 auto;overflow:hidden}.student-list{width:100%;max-width:100%;display:flex;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:5px}.student-item{min-width:135px;max-width:170px;flex:0 0 auto;overflow:hidden}.student-item strong,.student-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-chat{flex:1;overflow:hidden}.dm-header{width:100%;min-width:0;overflow:hidden}.dm-header strong,.dm-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-messages{padding:12px;overflow-x:hidden;overflow-y:auto}.chat-bubble{max-width:86%;min-width:0}.bubble-text{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.chat-input-row input{width:100%;min-width:0;font-size:16px}.chat-input-row .main-btn{width:auto!important;min-width:62px;padding:0 12px!important}}.push-notification-control{position:relative}.notification-toggle{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(119,87,232,.18);border-radius:14px;color:var(--text-main);background:#ffffffd1;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700}.notification-toggle.enabled{color:#5c3fc0;background:#f1edff}.notification-toggle:disabled{cursor:not-allowed;opacity:.62}.push-notification-message{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:min(280px,78vw);padding:10px 12px;border:1px solid #e4defb;border-radius:12px;color:var(--text-main);background:#fff;box-shadow:0 12px 30px #1f164824;font-size:.76rem;line-height:1.4}.route-loading{min-height:240px;display:grid;place-items:center;color:var(--text-muted);font-size:.9rem;font-weight:700}.material-link-unavailable{display:inline-flex;align-items:center;padding:7px 10px;border-radius:9px;color:#a33d50;background:#dc4c6417;font-size:.72rem;font-weight:750}.deadline-toolbar{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.deadline-upcoming-panel{margin-bottom:22px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.deadline-upcoming-item{width:100%;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;color:inherit;background:#fff;cursor:pointer;text-align:left}.deadline-upcoming-item:hover{border-color:#7267f047;background:#fcfbff}.deadline-due-copy{display:grid;justify-items:end;gap:2px;white-space:nowrap}.deadline-due-copy strong{font-size:.82rem}.deadline-due-copy small{color:#6b62cb;font-size:.64rem;font-weight:800}.deadline-due-copy small.overdue{color:#c64159}.deadline-modal{width:min(540px,calc(100vw - 28px))}.deadline-modal form>.main-input,.deadline-form-grid .main-input{margin-bottom:0}.deadline-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deadline-modal-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.deadline-modal-primary-actions{display:flex;gap:10px}.profile-language-switcher{position:static;display:flex;align-items:center;gap:6px;width:100%;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(124,92,246,.18);border-radius:20px;background:#fffffff5;box-shadow:0 14px 36px #1f164829,0 2px 8px #7c5cf614;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:none}.profile-language-caption{display:block;overflow:hidden;color:#756b98;font-size:.58rem;font-weight:800;letter-spacing:.06em;line-height:1;margin-right:auto;text-align:left;text-overflow:ellipsis;text-transform:uppercase}.profile-language-switcher button{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:5px;min-width:0;height:40px;margin:0;padding:0 7px;border:1px solid transparent;border-radius:12px;background:transparent;color:#6d648e;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.profile-language-switcher button:hover{background:#f6f3ff;transform:translateY(-1px)}.profile-language-switcher button.active{border-color:#7c5cf652;background:linear-gradient(135deg,#f1edff,#faf8ff);color:#6548db;box-shadow:0 5px 14px #7c5cf624}.profile-language-switcher button:focus-visible{outline:3px solid rgba(124,92,246,.24);outline-offset:2px}.profile-language-switcher button>span{font-size:1rem;line-height:1}.profile-language-switcher button small{font-size:.67rem;font-weight:900;letter-spacing:.04em}@media (max-width: 720px){.notification-toggle{width:42px;justify-content:center;padding:8px}.notification-toggle>span:last-child{display:none}.profile-language-switcher{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;width:min(100%,220px);margin:0 0 12px auto;padding:7px}.profile-language-caption{padding:0 5px}.deadline-toolbar{align-items:stretch;flex-direction:column}.deadline-toolbar .main-btn{width:100%!important}.deadline-upcoming-panel{padding:11px}.deadline-modal{width:100%}}@media (max-width: 520px){.deadline-form-grid{grid-template-columns:1fr}.deadline-modal-actions,.deadline-modal-primary-actions{width:100%;align-items:stretch;flex-direction:column}.deadline-modal-actions>div,.deadline-modal-actions .main-btn{width:100%!important}.deadline-upcoming-item{grid-template-columns:auto minmax(0,1fr)}.deadline-due-copy{grid-column:2;justify-items:start;grid-auto-flow:column;justify-content:start;gap:6px}}.mobile-navigation,.mobile-more-backdrop{display:none}@media screen and (min-width: 721px){.sidebar .mobile-navigation{display:none!important;visibility:hidden!important}.sidebar .desktop-navigation{display:flex!important;visibility:visible!important}}@media screen and (max-width: 720px){body.mobile-nav-sheet-open{overflow:hidden}.sidebar .desktop-navigation{display:none!important;visibility:hidden!important}.sidebar .mobile-navigation{width:100%;height:100%;display:grid!important;visibility:visible!important;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:3px}.sidebar .mobile-navigation button{width:100%;min-width:0;min-height:0;padding:4px 2px;gap:2px;border:0;border-radius:13px;color:#979caf;background:transparent;font-size:clamp(.48rem,1.8vw,.58rem);font-weight:700;line-height:1}.sidebar .mobile-navigation button>span:last-child{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .mobile-navigation button.active{color:#fff;background:linear-gradient(135deg,#7267f0fa,#9760e4f0);box-shadow:0 7px 18px #7267f040}.sidebar .mobile-navigation button.active:after{display:none}.sidebar .mobile-navigation .icon-span{width:28px;height:26px;display:grid;place-items:center;border-radius:9px;font-size:.88rem}.mobile-more-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;padding:16px 12px calc(88px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:center;background:#0a0b1475;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:mobile-more-fade-in .18s ease both}.mobile-more-sheet{width:min(100%,460px);max-height:min(66svh,470px);padding:8px 16px 18px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.76);border-radius:25px;color:var(--text-main);background:#fffffff7;box-shadow:0 28px 70px #090a1647;animation:mobile-more-slide-in .22s cubic-bezier(.2,.8,.2,1) both}.mobile-more-handle{width:42px;height:4px;margin:1px auto 12px;border-radius:999px;background:#d8dae5}.mobile-more-header{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-more-header small{display:block;margin-bottom:2px;color:var(--primary);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.mobile-more-header h2{margin:0;font-family:Manrope,Inter,sans-serif;font-size:1.25rem;letter-spacing:-.035em}.mobile-more-close{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--text-muted);background:var(--surface-soft);cursor:pointer;font-size:1.35rem;line-height:1}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-more-grid button{min-width:0;min-height:74px;padding:12px;display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:16px;color:var(--text-main);background:var(--surface-soft);cursor:pointer;font-size:.78rem;font-weight:750;text-align:left}.mobile-more-grid button.active{border-color:#7267f038;color:#574cc4;background:var(--primary-soft);box-shadow:inset 0 0 0 1px #7267f00d}.mobile-more-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:#fff;box-shadow:var(--shadow-sm);font-size:1.08rem}.mobile-more-grid .mobile-more-signout{border-color:#ef5d7226;color:#d94c63;background:#ef5d7212}@keyframes mobile-more-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mobile-more-slide-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}}@media (max-width: 380px){.sidebar .mobile-navigation{gap:1px}.sidebar .mobile-navigation button{padding-inline:1px;font-size:.46rem}.mobile-more-backdrop{padding-right:9px;padding-left:9px}.mobile-more-sheet{padding-right:13px;padding-left:13px}}.institution-workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 32px 16px;padding:12px 16px;border:1px solid rgba(99,102,241,.16);border-radius:16px;background:#ffffffe6;box-shadow:0 8px 30px #1e293b0f}.institution-workspace-bar>div{display:flex;align-items:center;gap:10px;min-width:0}.institution-workspace-bar>div>span{font-size:1.45rem}.institution-workspace-bar small{display:block;color:var(--text-muted);font-size:.72rem}.institution-workspace-bar strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institution-workspace-bar select{min-width:min(360px,45vw);padding:10px 36px 10px 12px;border:1px solid #dbe2ea;border-radius:12px;background:#fff;font:inherit}.institution-class-create{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.45fr) auto;gap:12px;margin-bottom:18px}.institution-class-create .main-btn{width:auto}.institution-class-list{display:grid;gap:10px}.institution-class-list article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.institution-class-list article.is-archived{opacity:.62;background:#f8fafc}.institution-class-list article small{display:block;margin-top:3px;color:var(--text-muted)}.institution-class-list article>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.institution-class-list button,.message-actions button{border:0;border-radius:9px;padding:7px 10px;cursor:pointer}.institution-bound-note{padding:12px 14px;border-radius:12px;background:#eef2ff;color:#4338ca;font-size:.88rem}.chat-composer{position:relative}.emoji-tray{display:flex;flex-wrap:wrap;gap:5px;padding:9px;border:1px solid #e5e7eb;border-radius:12px 12px 0 0;background:#fff}.emoji-tray button,.chat-tool-btn{border:0;border-radius:9px;background:#f1f5f9;cursor:pointer}.emoji-tray button{padding:6px;font-size:1.1rem}.chat-tool-btn{flex:0 0 auto;min-width:42px;padding:8px;font-weight:800}.chat-gif{display:block;width:min(100%,300px);max-height:260px;object-fit:contain;border-radius:12px}.message-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:4px;opacity:.55}.message-actions:hover{opacity:1}.message-actions button{padding:3px 6px;background:transparent;color:inherit;font-size:.68rem}@media (max-width: 720px){.institution-workspace-bar{align-items:stretch;flex-direction:column;margin:0 12px 10px;padding:10px 12px}.institution-workspace-bar select{width:100%;min-width:0}.institution-class-create{grid-template-columns:1fr}.institution-class-list article{align-items:flex-start;flex-direction:column}.institution-class-list article>div:last-child{width:100%}.institution-class-list article>div:last-child button{flex:1}.chat-input-row{gap:6px}.chat-tool-btn{min-width:36px;padding:7px 5px}.chat-input-row .main-btn{min-width:58px;padding-inline:10px!important}.main-content{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important}.page-surface{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important}.page-surface:after{height:calc(92px + env(safe-area-inset-bottom))!important}.chat-messages{scroll-padding-bottom:calc(150px + env(safe-area-inset-bottom))}}.auth-shell-signup{grid-template-columns:minmax(280px,.8fr) minmax(480px,620px);gap:clamp(28px,5vw,68px)}.registration-journey{width:100%;max-width:620px;max-height:min(860px,calc(100dvh - 64px));padding:clamp(24px,4vw,38px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.journey-header{display:grid;gap:16px}.journey-brand{display:flex;align-items:center;justify-content:space-between;gap:16px}.journey-brand .text-logo{font-size:1.55rem}.journey-brand>span{color:#aaa4ff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.journey-progress{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.journey-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#756af3,#b76df5);box-shadow:0 0 18px #8f84ff6b;transition:width .28s ease}.journey-account-chip{min-width:0;margin-top:18px;padding:10px 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff0a}.journey-account-chip img,.journey-account-chip>span{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;object-fit:cover;border-radius:11px;background:linear-gradient(135deg,#756af3,#a45fe8);font-weight:850}.journey-account-chip>div{min-width:0;display:grid;gap:2px}.journey-account-chip small{color:#8f94aa;font-size:.66rem}.journey-account-chip strong{overflow:hidden;color:#ececf5;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.journey-copy{margin:28px 0 22px}.journey-copy h1{margin:0 0 8px;font-family:Manrope,Inter,sans-serif;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.08;letter-spacing:-.045em}.journey-copy p{max-width:520px;margin:0;color:#999eb4;font-size:.88rem;line-height:1.58}.journey-stage{animation:journey-stage-in .22s ease both}.journey-choice-grid,.journey-path-grid{display:grid;gap:12px}.journey-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-path-grid{grid-template-columns:1fr}.journey-choice{position:relative;min-width:0;min-height:120px;padding:17px;display:flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.1);border-radius:17px;color:#d2d5e3;background:#0708107a;cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease}.journey-choice:hover{transform:translateY(-2px);border-color:#9184ff85}.journey-choice.active{border-color:#9184ffe6;background:linear-gradient(145deg,#7267f03d,#a267f41a);box-shadow:inset 0 0 0 2px #9184ff14}.journey-choice-icon{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#ffffff12;font-size:1.25rem}.journey-choice>span:nth-child(2){min-width:0;display:grid;gap:5px}.journey-choice strong{color:#f2f2f8;font-size:.95rem}.journey-choice small{color:#8f94aa;font-size:.72rem;line-height:1.4}.journey-choice-check{position:absolute;top:12px;right:12px;width:23px;height:23px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:transparent;background:#ffffff0a;font-size:.7rem}.journey-choice.active .journey-choice-check{border-color:#8f84ff;color:#fff;background:#756af3}.journey-account-fields{display:grid;gap:14px}.journey-review{display:grid;gap:10px}.journey-review>div{min-width:0;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#ffffff09}.journey-review span{color:#8f94aa;font-size:.78rem}.journey-review strong{overflow:hidden;color:#f0f0f7;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.journey-review p{margin:4px 0 0;padding:13px 14px;border-radius:13px;color:#c8c3ff;background:#7267f01f;font-size:.78rem;line-height:1.5}.journey-error{margin-top:14px;padding:10px 12px;border:1px solid rgba(239,93,114,.28);border-radius:11px;color:#ffc3cc;background:#ef5d7217;font-size:.78rem}.journey-actions{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.journey-back{min-height:46px;padding:0 14px;border:0;color:#aaaec0;background:transparent;cursor:pointer;font-weight:750}.journey-back:disabled{opacity:.28;cursor:default}.journey-continue{width:auto;min-width:170px}.journey-signin-link{grid-column:2;margin:-14px auto 0;border:0;color:#999eb4;background:transparent;cursor:pointer;font-size:.8rem}.journey-signin-link strong{color:#c4beff}.application-class-assignment{min-width:0;margin-top:11px}.application-class-assignment>small{display:block;margin-bottom:7px;color:var(--text-muted);font-weight:700}.application-class-assignment>div{display:flex;flex-wrap:wrap;gap:6px}.application-class-assignment label{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);background:#fff;cursor:pointer;font-size:.72rem;font-weight:700}.application-class-assignment label.checked{border-color:#7267f059;color:#574cc4;background:var(--primary-soft)}.application-class-assignment input{accent-color:var(--primary)}.application-class-assignment em{color:var(--text-muted);font-size:.74rem}@keyframes journey-stage-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media (max-width: 960px){.auth-shell-signup{width:min(620px,100%);grid-template-columns:minmax(0,1fr)}.auth-shell-signup .auth-showcase{display:none}.journey-signin-link{grid-column:1}}@media (max-width: 720px){.auth-container{position:fixed;min-height:100dvh;padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom));align-items:flex-start;overflow-y:auto}.auth-shell-signup{min-height:calc(100dvh - 24px);align-content:center;gap:14px}.registration-journey{max-height:none;padding:21px 16px;border-radius:22px;overflow:visible;scrollbar-gutter:auto}.journey-copy{margin:22px 0 18px}.journey-copy h1{font-size:clamp(1.42rem,7vw,1.8rem)}.journey-choice-grid{grid-template-columns:1fr}.journey-choice{min-height:92px;padding:14px}.journey-path-choice{min-height:100px}.journey-actions{position:sticky;z-index:3;bottom:-1px;margin:20px -6px -6px;padding:12px 6px 6px;background:linear-gradient(to bottom,transparent,rgba(14,15,26,.98) 28%)}.journey-continue{min-width:0;flex:1}.institution-results{max-height:min(38dvh,260px)}.dashboard-layout:after{height:calc(104px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent 0,rgba(244,244,249,.92) 42%,rgba(244,244,249,1) 100%)}.main-content{padding-bottom:calc(138px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:calc(138px + env(safe-area-inset-bottom))}.page-surface{min-width:0;max-width:100%;padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}.page-surface:after{height:calc(36px + env(safe-area-inset-bottom))!important}.page-surface,.page-surface>*,.admin-panel,.materials-container,.messaging-container,.profile-page,.calendar-card{min-width:0;max-width:100%}.page-surface img,.modal-content img,.chat-bubble img{max-width:100%;height:auto}.page-surface h1,.page-surface h2,.page-surface h3,.page-surface p,.page-surface strong,.page-surface small{overflow-wrap:anywhere}.modal-overlay{padding-top:max(12px,env(safe-area-inset-top))}.modal-content{width:min(100%,560px);max-width:100%;max-height:calc(100dvh - max(24px,env(safe-area-inset-top)));overflow-x:hidden;overscroll-behavior:contain}.application-card,.application-copy{min-width:0}.application-actions{flex-wrap:wrap}.application-actions button{min-width:min(120px,100%)}}@media (max-width: 390px){.registration-journey{padding-inline:14px}.journey-brand .text-logo{font-size:1.3rem}.journey-choice-icon{width:42px;height:42px}.journey-actions{gap:6px}.journey-back{padding-inline:8px}}.parent-overview{display:grid;gap:20px}.parent-privacy-banner{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid rgba(99,102,241,.18);border-radius:18px;background:linear-gradient(135deg,#6366f11a,#10b98112)}.parent-privacy-banner>span{font-size:1.55rem}.parent-privacy-banner strong,.parent-privacy-banner p{display:block;margin:0}.parent-privacy-banner p{margin-top:4px;color:var(--text-muted)}.parent-student-picker{display:grid;gap:7px;max-width:420px;font-weight:700}.parent-student-picker select,.announcement-schedule-field input,.admin-transfer-list select{width:100%;padding:11px 13px;border:1px solid #dfe4ef;border-radius:12px;background:#fff;color:var(--text-main)}.parent-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.parent-panel{padding:20px;border:1px solid #e9edf5;border-radius:18px;background:#fff;box-shadow:0 10px 30px #1e293b0f}.parent-panel-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.parent-panel-title h3{margin:0}.parent-panel article{display:grid;gap:5px;padding:13px 0;border-top:1px solid #edf0f6}.parent-panel article:first-of-type{border-top:0}.parent-panel article span,.parent-panel article time,.parent-panel article p,.parent-panel-empty{margin:0;color:var(--text-muted);font-size:.9rem}.parent-empty{min-height:320px;display:grid;place-content:center;justify-items:center;gap:8px;padding:30px;text-align:center;border:1px dashed #d8deea;border-radius:20px;background:#fff}.parent-empty>span{font-size:2rem}.family-connections-card{margin-top:20px}.family-request-row{display:grid;grid-template-columns:1fr auto;gap:10px}.family-request-row input{min-width:0;padding:12px 14px;border:1px solid #dfe4ef;border-radius:12px}.family-request-row .main-btn{width:auto;margin:0}.family-link-list{display:grid;gap:10px;margin-top:16px}.family-link-list article,.institution-current-admins>div,.admin-transfer-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e8ecf3;border-radius:12px}.family-link-list article>div,.family-link-list article>div:first-child,.institution-current-admins>div>span,.admin-transfer-list>div>span{display:flex;align-items:center;gap:8px}.family-privacy-copy{margin:14px 0 0;color:var(--text-muted);font-size:.88rem}.announcement-audience-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.announcement-audience-tabs button{padding:10px;border:1px solid #dfe4ef;border-radius:11px;background:#fff;font-weight:700;cursor:pointer}.announcement-audience-tabs button.active{border-color:#6366f1;background:#6366f11a;color:#4f46e5}.announcement-people-picker{display:grid;gap:8px;max-height:220px;overflow:auto;margin-bottom:14px;padding:5px}.announcement-people-picker label{display:flex;gap:10px;padding:10px;border:1px solid #e4e8f0;border-radius:11px;cursor:pointer}.announcement-people-picker label.checked{border-color:#6366f1;background:#6366f112}.announcement-people-picker label span{display:grid}.announcement-people-picker small{color:var(--text-muted)}.announcement-schedule-field{display:grid;gap:6px;margin-bottom:14px;font-weight:700}.institution-current-admins,.admin-transfer-list,.pending-admin-applicants,.audit-log-list{display:grid;gap:10px}.institution-current-admins{margin:14px 0}.institution-current-admins>small{font-weight:800}.institution-current-admins span,.admin-transfer-list span{display:grid}.institution-current-admins em{color:var(--text-muted)}:where(.main-content,.page-surface,.calendar-card,.materials-container,.messaging-container,.profile-page,.admin-panel,.institution-workspace-bar,.institution-class-list article,.institution-admin-card,.modal-content){color:var(--text-main)}:where(.main-content,.page-surface,.institution-workspace-bar,.institution-class-list,.institution-admin-page,.modal-content) :where(input,textarea,select):not(.dark-select){color:var(--text-main)}:where(.main-content,.page-surface,.institution-workspace-bar,.institution-admin-page,.modal-content) :where(input,textarea):not(.dark-select)::placeholder{color:var(--text-muted);opacity:1}.institution-option,.institution-option strong,.institution-workspace-bar strong,.institution-workspace-bar select,.institution-admin-title,.institution-admin-title strong,.institution-current-admins strong{color:var(--text-main)}.institution-option small,.institution-admin-title small,.institution-current-admins em{color:var(--text-muted)}:where(.main-btn,.danger-btn,.sidebar button.active,.msg-tab.active),:where(.main-btn,.danger-btn,.sidebar button.active,.msg-tab.active) *{color:#fff}.pending-admin-applicants,.admin-transfer-list{margin-top:22px;padding:18px;border:1px solid #e7eaf2;border-radius:16px}.pending-admin-applicants h4,.pending-admin-applicants p,.admin-transfer-list h4{margin:0}.pending-admin-applicants>div{display:flex;flex-wrap:wrap;gap:8px}.pending-admin-applicants button{display:grid;padding:10px 12px;border:1px solid #e1e5ee;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.admin-transfer-list>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto}.admin-transfer-list .secondary-btn{width:auto;margin:0}.audit-log-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f5}.audit-log-list article>div{display:grid;gap:3px}.audit-log-list strong{text-transform:capitalize}.audit-log-list span,.audit-log-list small{color:var(--text-muted)}@media (max-width: 900px){.parent-dashboard-grid{grid-template-columns:1fr}.admin-transfer-list>div{grid-template-columns:1fr}}@media (max-width: 620px){.family-request-row,.announcement-audience-tabs{grid-template-columns:1fr}.audit-log-list article{align-items:flex-start;flex-direction:column}}.admin-list-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-list-controls .main-input{min-width:min(260px,72vw)}.admin-load-more{align-self:center;margin:8px auto 0}.moderation-report-list{display:grid;gap:14px}.moderation-report-card{padding:18px;border:1px solid #e7e1f5;border-radius:16px;background:#fff}.moderation-report-meta,.moderation-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.moderation-report-meta span{padding:4px 9px;border-radius:999px;background:#f0ebff;color:#6246c7;font-size:12px}.moderation-report-card blockquote{margin:12px 0;padding:12px 14px;border-left:3px solid #8b6fe8;border-radius:8px;background:#f8f6ff;color:#403b50}.moderation-actions{margin-top:14px}.moderation-history{display:grid;gap:10px;margin-top:24px}.moderation-history article{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #ece7f7;border-radius:12px;background:#fbfaff}.moderation-history article p{grid-column:1 / -1;margin:0}@media (max-width: 720px){.admin-list-controls,.admin-list-controls .main-input,.admin-list-controls .admin-filter{width:100%}.moderation-actions button{flex:1 1 100%}.moderation-history article{grid-template-columns:1fr}}.offline-status{position:fixed;z-index:10050;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:min(92vw,480px);padding:10px 14px;border:1px solid #f0c76b;border-radius:14px;background:#fff8df;color:#624b10;box-shadow:0 12px 30px #241b042e}.offline-status.reconnected{border-color:#8fd5af;background:#edfff5;color:#17643a}.offline-status>span{font-size:1.25rem}.offline-status div{display:grid}.offline-status small{opacity:.82}.role-dashboard{margin-bottom:20px;padding:clamp(18px,3vw,26px);border:1px solid #e7e0ff;border-radius:22px;background:linear-gradient(135deg,#fff 20%,#f7f3ff);box-shadow:0 12px 34px #563e9914}.role-dashboard>header,.coursework-heading,.materials-library-header{display:flex;justify-content:space-between;align-items:center;gap:14px}.role-dashboard>header span{color:var(--primary);font-weight:750;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.role-dashboard>header h2{margin:4px 0 0}.role-dashboard>header small{color:var(--text-muted)}.role-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.role-dashboard-grid article{min-width:0;padding:16px;border:1px solid #eee9ff;border-radius:16px;background:#ffffffd1}.role-dashboard-grid article>span{font-size:1.4rem}.role-dashboard-grid article>strong{display:block;margin-top:8px;font-size:1.45rem}.role-dashboard-grid article p{margin:4px 0 0;color:var(--text-muted)}.role-dashboard-list{display:grid;gap:8px}.role-dashboard-list small{display:flex;justify-content:space-between;gap:8px;min-width:0}.role-dashboard-list small span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-dashboard-list time{color:var(--primary);white-space:nowrap}.assignment-options-grid,.review-grade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assignment-options-grid label{display:grid;gap:5px;font-size:.82rem;color:var(--text-muted)}.coursework-panel{display:grid;gap:12px;margin:18px 0;padding-top:16px;border-top:1px solid #ebe7f7}.coursework-heading>div{display:grid}.coursework-heading small{color:var(--text-muted)}.submission-list,.submission-form,.review-form{display:grid;gap:12px}.submission-card{padding:14px;border:1px solid #e8e3f6;border-radius:15px;background:#fcfbff}.submission-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.submission-meta>div{display:grid}.submission-meta small{color:var(--text-muted)}.submission-status{padding:5px 9px;border-radius:999px;background:#eee9ff;color:#6448ba;font-size:.72rem;font-weight:750;text-transform:capitalize}.status-graded{background:#e8faef;color:#197044}.status-late{background:#fff0ee;color:#a73528}.status-returned{background:#fff7dc;color:#7c5c08}.submission-response{white-space:pre-wrap;line-height:1.55}.file-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:8px 11px;border:1px solid #ddd5fa;border-radius:10px;background:#f6f2ff;color:#5b3fc0;text-decoration:none;cursor:pointer}.feedback-box{margin-top:10px;padding:12px;border-left:3px solid #7d5ce0;border-radius:8px;background:#f5f1ff}.feedback-box p{margin:6px 0}.coursework-file-picker{display:flex;align-items:center;padding:12px;border:1px dashed #b8a9ec;border-radius:12px;background:#faf8ff;cursor:pointer}.coursework-file-picker input,.material-replace input{display:none}.coursework-empty{padding:14px;border-radius:12px;background:#f7f7fa;color:var(--text-muted);text-align:center}.coursework-actions{display:flex;gap:8px}.coursework-actions button{width:auto}.materials-library-header h2{margin:0}.materials-library-header p{margin:5px 0 0;color:var(--text-muted)}.materials-header-actions{display:flex;gap:8px}.materials-header-actions button{width:auto;margin:0}.materials-controls{display:grid;grid-template-columns:minmax(220px,1fr) 180px 160px;gap:10px;margin:18px 0}.material-folder-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px}.material-folder-strip button{display:grid;flex:0 0 auto;gap:2px;padding:10px 14px;border:1px solid #e4def7;border-radius:12px;background:#fff;color:var(--text-main)}.material-folder-strip button.active{border-color:var(--primary);background:#f3efff;color:var(--primary)}.material-folder-strip small{color:var(--text-muted)}.material-card-v2{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px}.material-preview-button{display:grid;place-items:center;align-self:stretch;min-width:84px;border:0;border-radius:12px;background:linear-gradient(145deg,#f7f2ff,#eee7ff);cursor:pointer}.material-preview-button>span{font-size:1.8rem}.material-preview-button small{font-size:.68rem;color:var(--text-muted)}.material-card-v2 .material-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px}.material-card-v2 .material-actions>*{width:auto;margin:0;padding:8px 11px}.material-replace{cursor:pointer}.materials-empty{grid-column:1 / -1;padding:44px;text-align:center;color:var(--text-muted)}.materials-empty>span{display:block;font-size:2.4rem}.material-preview-modal dl{display:grid;gap:8px}.material-preview-modal dl div{display:grid;grid-template-columns:90px 1fr;gap:8px}.material-preview-modal dt{color:var(--text-muted)}.material-preview-modal dd{margin:0;overflow-wrap:anywhere}.material-preview-icon{font-size:2.8rem}.material-upload-divider{display:flex;align-items:center;gap:10px;margin:4px 0 12px;color:var(--text-muted);font-size:.8rem}.material-upload-divider:before,.material-upload-divider:after{content:"";height:1px;flex:1;background:#e8e4f0}.invitation-create-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}.invitation-create-form label{display:grid;gap:6px;color:var(--text-muted);font-size:.82rem}.invitation-list{display:grid;gap:10px;margin-top:18px}.invitation-list article{display:flex;justify-content:space-between;gap:16px;padding:14px;border:1px solid #e5e0f3;border-radius:14px}.invitation-list article>div{display:grid;gap:4px}.invitation-list article>div:last-child{display:flex;align-items:center}.invite-active,.invite-disabled{width:fit-content;padding:3px 7px;border-radius:999px;font-size:.68rem;font-weight:750}.invite-active{color:#197044;background:#e8faef}.invite-disabled{color:#6d6a74;background:#eeeef2}.invitation-redeemer form{display:grid;grid-template-columns:1fr auto;gap:8px}.invitation-redeemer form button{width:auto}.profile-secondary-grid{margin-top:20px;align-items:start}.privacy-success{margin-bottom:12px;padding:10px;border-radius:10px;background:#eafaf1;color:#17683c}.privacy-parent-controls{display:grid;gap:10px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #ebe7f3}.privacy-parent-controls p{margin:0;color:var(--text-muted)}.privacy-parent-controls label{display:flex;align-items:center;justify-content:space-between;gap:12px}.privacy-parent-controls input{width:20px;height:20px;accent-color:var(--primary)}.privacy-action-list{display:grid;gap:4px}.privacy-action-list>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #f0edf5}.privacy-action-list span{display:grid}.privacy-action-list small{color:var(--text-muted)}.privacy-action-list button{width:auto}.privacy-danger-row strong{color:#a73535}.grade-average-card{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:16px;border:1px solid #ddd5ff;border-radius:16px;background:linear-gradient(135deg,#f8f5ff,#fff)}.grade-average-card strong{grid-row:1 / 3;grid-column:2;font-size:1.8rem;color:var(--primary)}.grade-average-card small{color:var(--text-muted)}.grades-page{display:grid;gap:18px;width:100%}.grades-loading{min-height:260px;display:grid;place-items:center;color:var(--text-muted)}.grades-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:4px 2px}.grades-header h2{margin:4px 0 3px;font-size:clamp(1.45rem,4vw,2rem);color:var(--text-main)}.grades-header p{margin:0;color:var(--text-muted)}.grades-eyebrow{color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.12em}.grades-add-button{width:auto;min-width:148px}.grades-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grades-overview article{min-width:0;min-height:120px;display:grid;align-content:center;gap:4px;padding:18px;border:0;border-radius:18px;background:var(--card-bg, #fff);box-shadow:0 8px 25px #26234611}.grades-overview span,.grades-overview small{color:var(--text-muted)}.grades-overview span{font-size:.78rem;font-weight:700}.grades-overview strong{color:var(--text-main);font-size:1.75rem;line-height:1.1}.grades-overview small{font-size:.74rem}.grades-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:0;border-radius:17px;background:#ffffffc2;box-shadow:0 6px 22px #2623460d}.grades-filters label,.grade-editor label{display:grid;gap:6px;color:var(--text-muted);font-size:.77rem;font-weight:700}.grades-filters select,.grade-editor select,.grade-editor input,.grade-editor textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;outline:0;background:#fff;color:var(--text-main);font:inherit;font-weight:500}.grades-filters select:focus,.grade-editor select:focus,.grade-editor input:focus,.grade-editor textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7267f01f}.grade-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:13px}.grade-record-card{min-width:0;overflow:hidden;padding:18px;border:0;border-radius:19px;background:var(--card-bg, #fff);box-shadow:0 8px 28px #26234611}.grade-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.grade-record-top div{min-width:0}.grade-record-top div>span{color:var(--primary);font-size:.75rem;font-weight:800}.grade-record-top h3{overflow-wrap:anywhere;margin:4px 0 0;font-size:1.02rem}.grade-record-top>strong{flex:0 0 auto;max-width:45%;padding:9px 12px;border-radius:13px;background:linear-gradient(135deg,#7467ef,#9b6af5);color:#fff;font-size:1.12rem;overflow-wrap:anywhere}.grade-progress{display:grid;gap:7px;margin-top:15px}.grade-progress div{display:flex;justify-content:space-between;gap:10px;font-size:.75rem}.grade-progress span{color:var(--text-muted)}.grade-progress progress{width:100%;height:7px;overflow:hidden;border:0;border-radius:999px;accent-color:var(--primary)}.grade-record-meta{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:16px 0 0}.grade-record-meta div{min-width:0}.grade-record-meta dt{color:var(--text-muted);font-size:.68rem}.grade-record-meta dd{overflow-wrap:anywhere;margin:2px 0 0;color:var(--text-main);font-size:.82rem;font-weight:650}.grade-feedback{margin-top:15px;padding:12px;border-radius:13px;background:#f6f4ff}.grade-feedback span{color:var(--primary);font-size:.7rem;font-weight:800}.grade-feedback p{margin:5px 0 0;white-space:pre-wrap;font-size:.84rem;line-height:1.5}.grade-card-actions{display:flex;gap:8px;margin-top:15px}.grade-card-actions button,.grade-editor-actions>button:first-child{min-height:39px;padding:8px 14px;border:0;border-radius:11px;background:#f0eef8;color:var(--text-main);font-weight:750;cursor:pointer}.grade-card-actions .danger{background:#fff0f0;color:#b63b3b}.grades-empty{min-height:290px;display:grid;place-items:center;align-content:center;gap:8px;padding:30px;border:0;border-radius:20px;background:var(--card-bg, #fff);box-shadow:0 8px 28px #2623460e;text-align:center}.grades-empty>span{font-size:2rem}.grades-empty h3,.grades-empty p{margin:0}.grades-empty p{max-width:360px;color:var(--text-muted)}.grades-empty .main-btn{width:auto;margin-top:8px}.grade-editor{max-width:650px}.grade-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.grade-editor-heading span{color:var(--primary);font-size:.7rem;font-weight:800;letter-spacing:.1em}.grade-editor-heading h3{margin:3px 0 0}.grade-editor-heading>button{width:36px;height:36px;border:0;border-radius:50%;background:#f1eff7;color:var(--text-main);font-size:1.3rem;cursor:pointer}.grade-editor form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.grade-editor textarea{resize:vertical}.grade-editor-wide{grid-column:1 / -1}.grade-editor-note{padding:11px 13px;border-radius:12px;background:#f5f3ff;color:var(--text-muted);font-size:.76rem;line-height:1.45}.grade-editor-actions{display:flex;justify-content:flex-end;gap:9px}.grade-editor-actions .main-btn{width:auto}.parent-grade-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:2px 0 12px}.parent-grade-summary>div{display:grid;gap:3px;padding:12px;border-radius:13px;background:#f6f4ff}.parent-grade-summary span{color:var(--text-muted);font-size:.72rem}.parent-grade-summary strong{color:var(--primary);font-size:1.15rem}.parent-grade-card{display:grid;gap:11px;padding:14px!important;border:0!important;border-radius:15px;background:#fbfaff;box-shadow:none!important}.parent-grade-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.parent-grade-heading>div{display:grid;gap:3px;min-width:0}.parent-grade-heading small{color:var(--primary);font-weight:800}.parent-grade-heading strong{overflow-wrap:anywhere}.parent-grade-heading>b{flex:0 0 auto;max-width:42%;padding:8px 10px;border-radius:11px;background:var(--primary);color:#fff;overflow-wrap:anywhere}.parent-grade-score,.parent-grade-context{display:flex;justify-content:space-between;gap:12px;font-size:.76rem}.parent-grade-score span,.parent-grade-context{color:var(--text-muted)}.parent-grade-feedback{padding:10px;border-radius:11px;background:#fff}.parent-grade-feedback small{color:var(--primary);font-weight:800}.parent-grade-feedback p{margin:4px 0 0!important;white-space:pre-wrap}@media (max-width: 720px){.grades-header{align-items:stretch;flex-direction:column}.grades-add-button{width:100%}.grades-overview{grid-template-columns:1fr 1fr}.grades-overview article:first-child{grid-column:1 / -1}.grades-overview article{min-height:104px;padding:15px}.grades-filters,.grade-editor form{grid-template-columns:1fr}.grade-editor-wide{grid-column:auto}.grade-record-meta{grid-template-columns:1fr 1fr}}@media (max-width: 820px){.role-dashboard-grid,.materials-controls,.invitation-create-form{grid-template-columns:1fr}.role-dashboard>header,.materials-library-header{align-items:flex-start;flex-direction:column}.role-dashboard>header>small{display:none}.role-dashboard-grid{gap:9px}.materials-header-actions{width:100%}.materials-header-actions button{flex:1}.material-card-v2{grid-template-columns:68px minmax(0,1fr)}.material-preview-button{min-width:68px}.invitation-list article,.privacy-action-list>div{flex-direction:column}.invitation-list article>div:last-child{align-items:stretch}.invitation-redeemer form,.assignment-options-grid,.review-grade-grid{grid-template-columns:1fr}.offline-status{top:8px}}.feature-control-section,.institution-overview-page{display:grid;gap:20px}.feature-control-heading{align-items:flex-start}.feature-search{width:min(260px,100%)}.feature-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.feature-presets button{display:grid;gap:5px;min-width:0;padding:14px;border:1px solid #e5def8;border-radius:15px;color:var(--text-main);background:linear-gradient(145deg,#fff,#f8f5ff);text-align:left;cursor:pointer}.feature-presets button:hover{border-color:#7267f073;transform:translateY(-1px)}.feature-presets small,.feature-toggle-grid p,.feature-exception-intro p,.feature-exception-list p,.feature-exception-list small{margin:0;color:var(--text-muted)}.feature-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-toggle-grid article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:16px;border:1px solid #e6e8f0;border-radius:17px;background:#fff;transition:border-color .18s ease,background .18s ease,opacity .18s ease}.feature-toggle-grid article.feature-enabled{border-color:#7267f040;background:linear-gradient(135deg,#fff,#faf8ff)}.feature-toggle-grid article.feature-disabled{opacity:.72;background:#f7f7fa}.feature-card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--primary-soft);font-size:1.25rem}.feature-switch{min-width:66px;padding:5px;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px;border:0;border-radius:999px;color:#fff;background:#a6a8b2;cursor:pointer}.feature-switch[aria-checked=true]{grid-template-columns:1fr 24px;background:linear-gradient(135deg,#7267f0,#965fe0)}.feature-switch[aria-checked=true] span{grid-column:2}.feature-switch[aria-checked=true] small{grid-column:1;grid-row:1}.feature-switch span{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000002e}.feature-switch small{color:inherit;font-weight:800}.feature-exception-workspace{display:grid;gap:16px;margin-top:4px;padding-top:20px;border-top:1px solid #ebe7f4}.feature-exception-intro span,.overview-panel header span,.overview-quick-links>div:first-child span,.parent-add-child>div>span{color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.feature-exception-intro h4,.feature-exception-intro p,.overview-panel h3,.overview-quick-links h3,.parent-add-child h3,.parent-add-child p{margin:4px 0 0}.feature-exception-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.feature-exception-form label{display:grid;gap:6px;min-width:0;color:var(--text-muted);font-size:.8rem}.feature-exception-form input,.feature-exception-form select{width:100%;min-width:0;padding:11px 12px;border:1px solid #dfe3ed;border-radius:11px;background:#fff}.feature-reason-field{grid-column:span 3}.feature-exception-form .main-btn{width:100%;margin:0}.feature-exception-list{display:grid;gap:9px}.feature-exception-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e8e5ef;border-radius:13px;background:#fbfbfd}.feature-exception-list article>span{font-size:1.15rem}.feature-exception-list .danger-lite{width:auto}.overview-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(22px,4vw,34px);border:1px solid rgba(114,103,240,.2);border-radius:24px;background:radial-gradient(circle at 92% 12%,rgba(151,96,228,.18),transparent 36%),linear-gradient(135deg,#fff,#f7f4ff);box-shadow:0 16px 42px #523d8f17}.overview-welcome-card h2{margin:7px 0 6px;font-size:clamp(1.45rem,3vw,2rem)}.overview-welcome-card p{margin:0;color:var(--text-muted)}.overview-date-chip{display:grid;gap:3px;flex:0 0 auto;padding:13px 16px;border:1px solid #e4ddf6;border-radius:15px;background:#fffc;text-align:right}.overview-date-chip span{color:var(--text-muted);font-size:.76rem}.overview-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.overview-stat-grid article{min-width:0;padding:17px;border:1px solid #e8e5f0;border-radius:17px;background:#fff}.overview-stat-grid article>span{font-size:1.2rem}.overview-stat-grid strong{display:block;margin-top:10px;font-size:1.65rem}.overview-stat-grid p{margin:3px 0 0;color:var(--text-muted)}.overview-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.overview-panel,.overview-quick-links,.parent-add-child{min-width:0;padding:20px;border:1px solid #e8e5f0;border-radius:19px;background:#fff}.overview-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.overview-panel header button{border:0;color:var(--primary);background:transparent;cursor:pointer;font-weight:750}.overview-deadline-list,.overview-announcement-list{display:grid;gap:8px}.overview-deadline-list article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:11px;align-items:center;padding:11px;border-radius:13px;background:#faf9fd}.overview-deadline-list time{color:var(--primary);font-weight:800}.overview-deadline-list div,.overview-announcement-list div{min-width:0;display:grid;gap:3px}.overview-deadline-list span,.overview-announcement-list p{margin:0;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-announcement-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid #f0edf5}.overview-empty{margin:0;padding:18px;border-radius:12px;color:var(--text-muted);background:#f7f7fa;text-align:center}.overview-quick-links>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.overview-quick-links button{display:flex;align-items:center;gap:9px;min-width:0;padding:12px;border:1px solid #e7e2f5;border-radius:13px;color:var(--text-main);background:#faf8ff;cursor:pointer;text-align:left}.overview-quick-links button span{font-size:1.15rem}.feature-disabled-notice,.feature-disabled-inline{display:flex;align-items:center;gap:11px;margin-bottom:14px;padding:13px 15px;border:1px solid #e5e2ec;border-radius:13px;color:var(--text-muted);background:#f7f7fa}.feature-disabled-notice p{margin:3px 0 0}.parent-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.parent-summary-strip article{padding:14px 16px;border:1px solid #e8e5f0;border-radius:15px;background:#fff}.parent-summary-strip strong{display:block;font-size:1.4rem}.parent-summary-strip span{color:var(--text-muted)}.parent-panel details.parent-assignment-card{border-top:1px solid #edf0f6}.parent-assignment-card summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 0;list-style:none;cursor:pointer}.parent-assignment-card summary::-webkit-details-marker{display:none}.parent-assignment-card summary>div{display:grid;min-width:0;gap:4px}.parent-assignment-card summary>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-due-badge{padding:5px 7px;border-radius:8px;color:#4e3bb0!important;background:#eee9ff;font-size:.7rem!important;font-weight:800}.parent-due-badge.overdue{color:#a73535!important;background:#fff0ee}.parent-expand-icon{font-size:1.05rem!important;transition:transform .18s ease}.parent-assignment-card[open] .parent-expand-icon{transform:rotate(180deg)}.parent-assignment-detail{display:grid;gap:12px;padding:0 0 15px}.parent-assignment-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.parent-assignment-detail dl div{padding:9px;border-radius:10px;background:#f8f7fb}.parent-assignment-detail dt{color:var(--text-muted);font-size:.72rem}.parent-assignment-detail dd{margin:3px 0 0;color:var(--text-main);text-transform:capitalize}.parent-instructions{padding:12px;border-left:3px solid var(--primary);border-radius:10px;background:#faf8ff}.parent-instructions p{margin-top:6px!important;white-space:pre-wrap}.parent-add-child{display:grid;grid-template-columns:minmax(200px,1fr) minmax(280px,1.2fr);align-items:center;gap:18px}.parent-add-child form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.parent-add-child input{min-width:0;padding:12px 13px;border:1px solid #dfe3ed;border-radius:11px}.parent-add-child .main-btn{width:auto;margin:0}.parent-request-success{grid-column:1 / -1;margin:0;padding:10px 12px;border-radius:10px;color:#17683c;background:#eafaf1}@media (max-width: 900px){.feature-presets,.overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-toggle-grid,.overview-content-grid{grid-template-columns:1fr}.feature-exception-form{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-reason-field{grid-column:span 1}.overview-quick-links>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){:root{--mobile-nav-clearance: calc(118px + env(safe-area-inset-bottom)) }html,body,#root,.dashboard-layout{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.dashboard-layout{min-height:100dvh}.main-content{width:100%;height:100dvh;min-width:0;padding:max(12px,env(safe-area-inset-top)) clamp(10px,3vw,14px) var(--mobile-nav-clearance)!important;scroll-padding-bottom:var(--mobile-nav-clearance);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.page-surface{width:100%;min-width:0;padding-bottom:var(--mobile-nav-clearance)!important;overflow:visible}.page-surface:after{content:"";display:block;width:100%;height:calc(22px + env(safe-area-inset-bottom))!important;pointer-events:none}.sidebar{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));width:auto;max-width:680px;height:76px;margin:0 auto;padding:7px;border-radius:23px;box-sizing:border-box}.sidebar .mobile-navigation{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.sidebar .mobile-navigation button{min-width:0;min-height:58px;padding:5px 1px;border-radius:14px;font-size:clamp(.46rem,1.75vw,.58rem)}.dashboard-topbar{align-items:flex-start}.page-heading h1{max-width:68vw;white-space:normal}.page-heading p{max-width:68vw;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.institution-workspace-bar{width:100%;margin:0 0 12px;box-sizing:border-box}.calendar-card,.materials-container,.messaging-container,.admin-panel,.profile-page,.parent-overview,.institution-overview-page,.study-groups-page,.study-group-workspace{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.admin-panel{padding:0;background:transparent}.admin-heading,.admin-section,.feature-control-section{padding:16px;border-radius:18px}.feature-control-heading,.overview-welcome-card,.parent-privacy-banner{align-items:flex-start;flex-direction:column}.feature-search,.feature-presets,.feature-toggle-grid,.feature-exception-form,.feature-exception-form label,.feature-exception-form .main-btn{width:100%}.feature-presets,.feature-toggle-grid,.feature-exception-form,.overview-stat-grid,.overview-content-grid,.overview-quick-links>div:last-child,.parent-summary-strip,.parent-add-child,.parent-add-child form{grid-template-columns:1fr}.feature-reason-field{grid-column:auto}.feature-toggle-grid article{grid-template-columns:auto minmax(0,1fr)}.feature-toggle-grid .feature-switch{grid-column:1 / -1;justify-self:stretch;width:100%;grid-template-columns:24px 1fr}.feature-toggle-grid .feature-switch[aria-checked=true]{grid-template-columns:1fr 24px}.feature-exception-list article{grid-template-columns:auto minmax(0,1fr)}.feature-exception-list .danger-lite{grid-column:1 / -1;width:100%}.overview-welcome-card{padding:20px}.overview-date-chip{width:100%;box-sizing:border-box;text-align:left}.overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stat-grid article{padding:14px}.overview-panel,.overview-quick-links,.parent-add-child{padding:16px}.parent-dashboard-grid{grid-template-columns:1fr}.parent-assignment-card summary{grid-template-columns:1fr auto}.parent-due-badge{width:fit-content}.parent-assignment-card summary>div{grid-column:1 / -1;grid-row:2}.parent-expand-icon{grid-column:2;grid-row:1}.parent-assignment-detail dl{grid-template-columns:1fr}.fc{min-width:0!important;width:100%}.fc .fc-toolbar{align-items:stretch;flex-direction:column;gap:8px}.fc .fc-toolbar-chunk{display:flex;justify-content:center}.fc .fc-toolbar-title{font-size:1.05rem}.fc .fc-daygrid-day-number{padding:4px;font-size:.75rem}.fc .fc-event-title{font-size:.64rem}.modal-overlay{padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))}.modal-content{width:100%;max-height:calc(100dvh - 20px);padding:18px 15px;border-radius:19px;overflow-y:auto}.mobile-more-backdrop{padding-bottom:var(--mobile-nav-clearance)}.chat-messages,.study-group-chat-messages{scroll-padding-bottom:var(--mobile-nav-clearance)}}@media (max-width: 420px){.sidebar{right:6px;left:6px;height:72px;padding:6px}.sidebar .mobile-navigation button{min-height:56px;font-size:.44rem}.sidebar .mobile-navigation .icon-span{width:24px;height:23px;font-size:.8rem}.overview-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.overview-stat-grid p{font-size:.75rem}.parent-summary-strip{grid-template-columns:1fr}}:root{--control-height: 44px;--border: #dde1eb;--border-strong: #cdd3e0}.journey-choice-grid,.materials-grid,.task-grid,.parent-dashboard-grid,.overview-content-grid,.feature-toggle-grid{align-items:stretch}.journey-choice-grid{grid-auto-rows:1fr}.journey-choice{height:100%;border-color:#fff3}.journey-choice-check,.journey-account-chip,.journey-review>div,.glow-input,.auth-card input,.auth-card select{border-color:#ffffff2e}.glow-input,.auth-card input,.auth-card select{min-height:50px}.main-btn,.secondary-btn,.select-all-btn,.notification-toggle,.journey-back{min-height:var(--control-height)}.modal-content input:not([type=checkbox]):not([type=radio]),.modal-content select,.main-input,.profile-field input,.institution-workspace-bar select,.parent-student-picker select,.announcement-schedule-field input,.admin-transfer-list select,.parent-add-child input,.chat-input-row input{min-height:var(--control-height);border-color:var(--border-strong)}.calendar-card,.materials-container,.admin-panel,.messaging-container,.material-card,.task-item,.announcement-card,.profile-hero-card,.profile-settings-card,.profile-summary-card,.parent-panel,.parent-summary-strip article,.parent-add-child,.overview-panel,.overview-quick-links,.feature-control-section,.feature-toggle-grid article,.feature-exception-list article,.institution-workspace-bar,.institution-class-list article,.deadline-upcoming-panel,.deadline-upcoming-item{border-color:var(--border)}.material-card,.task-item,.announcement-card,.parent-panel,.parent-summary-strip article,.overview-panel,.overview-quick-links,.feature-toggle-grid article{height:100%}.feature-exception-form,.institution-class-create,.parent-add-child form{align-items:end}.feature-exception-form .main-btn,.institution-class-create .main-btn,.parent-add-child .main-btn{margin:0}@media (max-width: 720px){.journey-choice-grid{grid-auto-rows:minmax(96px,auto)}.journey-choice{min-height:96px}}@media (max-width: 720px){:root{--mobile-pill-height: clamp(58px, 8.5dvh, 68px);--mobile-pill-item-width: 82px;--mobile-pill-bottom: max(8px, env(safe-area-inset-bottom));--mobile-nav-clearance: calc( var(--mobile-pill-height) + var(--mobile-pill-bottom) + 30px )}.sidebar{inset:auto max(8px,env(safe-area-inset-right)) var(--mobile-pill-bottom) max(8px,env(safe-area-inset-left));width:auto;max-width:min(calc(var(--mobile-nav-count, 6) * var(--mobile-pill-item-width) + 14px),calc(100vw - 16px));height:var(--mobile-pill-height);min-height:0;flex:none;margin:0 auto;padding:clamp(4px,.7dvh,6px);border-radius:clamp(18px,3dvh,22px);box-sizing:border-box}.sidebar .mobile-navigation{height:100%;min-height:0;align-items:stretch}.sidebar .mobile-navigation button{height:100%;min-height:0;padding:3px 1px;gap:1px;border-radius:clamp(11px,2dvh,15px);font-size:clamp(.43rem,1.55vw,.54rem);line-height:1}.sidebar .mobile-navigation .icon-span{width:clamp(23px,4dvh,27px);height:clamp(21px,3.7dvh,25px);font-size:clamp(.76rem,2.2dvh,.88rem)}.main-content{padding-bottom:max(14px,env(safe-area-inset-bottom))!important;scroll-padding-bottom:var(--mobile-nav-clearance)}.page-surface{padding-bottom:0!important}.page-surface:after{content:"";display:block;width:100%;height:var(--mobile-nav-clearance)!important;min-height:var(--mobile-nav-clearance);flex:0 0 var(--mobile-nav-clearance);pointer-events:none}.dashboard-layout:after{height:calc(var(--mobile-pill-height) + var(--mobile-pill-bottom) + 18px)}.chat-messages,.study-group-chat-messages,.main-content{scroll-padding-bottom:var(--mobile-nav-clearance)}.mobile-more-backdrop{padding-bottom:var(--mobile-nav-clearance)}}@media (max-width: 420px){:root{--mobile-pill-height: clamp(56px, 8dvh, 64px);--mobile-pill-item-width: 68px;--mobile-nav-clearance: calc( var(--mobile-pill-height) + var(--mobile-pill-bottom) + 26px )}}@media (max-width: 720px) and (max-height: 520px){:root{--mobile-pill-height: 52px;--mobile-pill-item-width: 58px;--mobile-nav-clearance: calc(80px + env(safe-area-inset-bottom)) }.sidebar{padding:4px;border-radius:17px}.sidebar .mobile-navigation button{border-radius:11px}.sidebar .mobile-navigation button>span:last-child{display:none}.sidebar .mobile-navigation .icon-span{width:27px;height:27px;font-size:.84rem}}@media (max-width: 720px){:root{--mobile-pill-height: 60px;--mobile-nav-clearance: calc( var(--mobile-pill-height) + var(--mobile-pill-bottom) + 18px )}.sidebar{width:min(var(--mobile-nav-width, calc(100vw - 20px) ),calc(100vw - 20px));max-width:620px;height:60px;min-height:60px;padding:5px;border-radius:20px}.sidebar .mobile-navigation{grid-template-columns:repeat(var(--mobile-nav-count, 5),minmax(0,1fr))!important;gap:2px}.sidebar .mobile-navigation button{height:50px;min-height:50px;padding:3px 2px;gap:2px;border-radius:14px;font-size:clamp(.49rem,1.9vw,.58rem)}.sidebar .mobile-navigation .icon-span{width:27px;height:25px;font-size:.88rem}}@media (max-width: 720px) and (max-height: 520px){:root{--mobile-pill-height: 52px;--mobile-nav-clearance: calc(76px + env(safe-area-inset-bottom)) }.sidebar{height:52px;min-height:52px;padding:4px;border-radius:17px}.sidebar .mobile-navigation button{height:44px;min-height:44px}}@media (max-width: 720px){.dashboard-layout{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--mobile-nav-clearance);width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}.main-content{grid-column:1;grid-row:1;width:100%;height:auto!important;min-height:0;max-height:none;padding-bottom:16px!important;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.page-surface{width:100%;min-height:0;flex:0 0 auto;padding-bottom:0!important;overflow:visible!important}.mobile-nav-spacer,.page-surface:after{display:none!important}.calendar-card,.profile-page{height:auto!important;min-height:0;max-height:none!important;overflow-y:visible!important}.calendar-card{overflow-x:auto!important}.profile-page{padding-bottom:16px}}@media (max-width: 720px){:root{--mobile-pill-bottom: clamp(6px, env(safe-area-inset-bottom), 10px);--mobile-nav-clearance: calc( var(--mobile-pill-height) + var(--mobile-pill-bottom) + 18px )}.sidebar{right:auto;bottom:var(--mobile-pill-bottom);left:50%;width:min(calc(var(--mobile-nav-count, 6) * var(--mobile-pill-item-width) + 12px),calc(100vw - 12px));max-width:calc(100vw - 12px);margin:0;transform:translate(-50%)}.sidebar .mobile-navigation{width:100%;justify-items:stretch}.sidebar .mobile-navigation button{width:100%;justify-self:stretch}.sidebar .mobile-navigation button>span:last-child{min-width:0;max-width:100%;text-align:center}.page-surface{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.dashboard-layout:after{display:none!important}}@media (max-width: 720px){:root{--mobile-pill-height: 58px;--mobile-nav-clearance: calc( var(--mobile-pill-height) + var(--mobile-pill-bottom) + 18px )}.sidebar{width:min(var(--mobile-nav-width, 348px),calc(100vw - 12px));height:var(--mobile-pill-height);min-height:var(--mobile-pill-height)}.sidebar .mobile-navigation button{height:48px;min-height:48px;font-size:clamp(.45rem,1.55vw,.52rem)}.sidebar .mobile-navigation .icon-span{width:25px;height:23px;font-size:.82rem}.dashboard-topbar{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start!important;gap:8px;margin:0 0 14px;padding:12px 2px 10px!important}.page-heading{grid-column:1;min-width:0}.page-title-icon{display:none!important}.page-title-row{min-width:0;gap:0}.page-title-row>div{min-width:0}.page-heading h1,.page-heading p{max-width:100%}.topbar-actions{grid-column:2;width:auto!important;min-width:42px;align-self:start;justify-self:end;justify-content:flex-end!important}.notification-toggle{flex:0 0 42px}}@media (max-width: 720px) and (max-height: 520px){:root{--mobile-pill-height: 50px;--mobile-nav-clearance: calc(74px + env(safe-area-inset-bottom)) }.sidebar{min-height:50px}.sidebar .mobile-navigation button{height:42px;min-height:42px}}.mobile-nav-spacer{display:none}@media (max-width: 720px){:root{--mobile-pill-height: 54px;--mobile-pill-item-width: 56px;--mobile-pill-bottom: max(8px, env(safe-area-inset-bottom));--mobile-nav-clearance: calc( var(--mobile-pill-height) + var(--mobile-pill-bottom) + 24px )}.sidebar{width:auto;max-width:min(calc(var(--mobile-nav-count, 6) * var(--mobile-pill-item-width) + 12px),calc(100vw - 16px));height:var(--mobile-pill-height);min-height:var(--mobile-pill-height);padding:5px;border-radius:18px}.sidebar .mobile-navigation{grid-template-columns:repeat(var(--mobile-nav-count, 6),minmax(0,1fr))!important;gap:1px}.sidebar .mobile-navigation button{height:44px;min-height:44px;padding:2px 1px;border-radius:11px;font-size:clamp(.4rem,1.4vw,.48rem)}.sidebar .mobile-navigation .icon-span{width:23px;height:21px;font-size:.76rem}.sidebar .mobile-navigation .mobile-nav-signout{color:#ee8090}.main-content{padding-bottom:0!important;scroll-padding-bottom:var(--mobile-nav-clearance)}.page-surface{padding-bottom:0!important}.page-surface:after{display:none!important;height:0!important;min-height:0;flex-basis:0}.mobile-nav-spacer{display:block;width:100%;height:var(--mobile-nav-clearance);min-height:var(--mobile-nav-clearance);flex:0 0 var(--mobile-nav-clearance);pointer-events:none}.dashboard-layout:after{height:calc(var(--mobile-pill-height) + var(--mobile-pill-bottom) + 14px)}}@media (max-width: 720px) and (max-height: 520px){:root{--mobile-pill-height: 48px;--mobile-pill-item-width: 50px;--mobile-nav-clearance: calc(72px + env(safe-area-inset-bottom)) }.sidebar{min-height:48px;padding:4px;border-radius:15px}.sidebar .mobile-navigation button{height:40px;min-height:40px}}.institution-language-control{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:18px;border-radius:18px;background:linear-gradient(135deg,#f8f6ff,#fff);box-shadow:0 7px 22px #1f223a0e}.institution-language-control>div:first-child{display:grid;gap:4px}.institution-language-control>div:first-child>span{color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.institution-language-control p{max-width:620px;margin:0;color:var(--text-muted)}.institution-language-control>div:last-child{display:flex;gap:8px}.institution-language-control button{min-height:44px;padding:10px 14px;border:0;border-radius:12px;color:var(--text-muted);background:#eceef4;cursor:pointer;font-weight:750;display:flex;align-items:center;justify-content:center;gap:5px}.institution-language-control button.active{color:#4f3fb5;background:#eae6ff;box-shadow:inset 0 0 0 1px #7267f029}.operations-page{display:grid;gap:18px}.operations-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:clamp(20px,3.5vw,30px);border-radius:22px;background:radial-gradient(circle at 92% 8%,rgba(151,96,228,.19),transparent 38%),linear-gradient(135deg,#fff,#f6f3ff);box-shadow:0 12px 34px #1f223a12}.operations-hero span{color:var(--primary);font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.operations-hero h2{margin:5px 0 0;font-size:clamp(1.45rem,3vw,2rem)}.operations-hero p{max-width:610px;margin:0;color:var(--text-muted);line-height:1.55}.operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.operations-card{min-width:0;padding:clamp(17px,2.6vw,23px);border:0;border-radius:20px;background:#fff;box-shadow:0 10px 30px #1f223a11}.operations-price-card,.operations-audit-card{grid-column:1 / -1}.operations-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.operations-heading>span{width:42px;height:42px;display:grid;flex:0 0 42px;place-items:center;border-radius:13px;background:var(--primary-soft);font-size:1.2rem}.operations-heading h3,.operations-heading p{margin:0}.operations-heading p{margin-top:4px;color:var(--text-muted);line-height:1.45}.operations-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.operations-form label,.operations-price-card label{display:grid;gap:6px;min-width:0;color:var(--text-muted);font-size:.8rem;font-weight:650}.operations-form .full{grid-column:1 / -1}.operations-form input,.operations-form select,.operations-form textarea,.operations-price-card input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d9deea;border-radius:12px;color:var(--text-main);background:#fff;font:inherit}.operations-form textarea{resize:vertical}.operations-form .main-btn{grid-column:1 / -1;margin:2px 0 0}.operations-form-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.operations-form-actions .main-btn{grid-column:auto;margin:0}.operations-price-card form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px}.operations-price-card .main-btn{width:auto;margin:0}.operations-price-card>small{display:block;margin-top:10px;color:var(--text-muted)}.class-pricing-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px}.class-pricing-grid form{display:grid;grid-template-columns:1fr;align-content:start;padding:14px;border-radius:15px;background:#f8f8fc}.class-pricing-grid form:nth-child(2){grid-template-columns:repeat(2,minmax(0,1fr))}.class-pricing-grid form:nth-child(2) .main-btn{grid-column:1 / -1}.class-price-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px}.class-price-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 12px;border:0;border-radius:12px;color:var(--text-main);background:#f4f3fa;cursor:pointer;font:inherit;text-align:left}.class-price-list strong{color:var(--primary);font-size:.78rem}.operations-payment-card{margin-top:0}.payment-summary-grid,.parent-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.payment-summary-grid article,.parent-payment-summary article{display:grid;gap:4px;padding:14px;border-radius:14px;background:#f7f6fc}.payment-summary-grid span,.parent-payment-summary span{color:var(--text-muted);font-size:.76rem}.payment-summary-grid strong,.parent-payment-summary strong{font-size:1.2rem}.payment-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.payment-filters label,.payment-bulk-controls label{display:grid;gap:5px;color:var(--text-muted);font-size:.78rem;font-weight:700}.payment-filters select,.payment-bulk-controls select,.payment-bulk-controls input,.class-pricing-grid select{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #d9deea;border-radius:11px;background:#fff;font:inherit}.payment-bulk-controls{display:grid;grid-template-columns:140px 150px minmax(180px,1fr) repeat(3,auto);align-items:end;gap:8px;margin-top:10px}.payment-bulk-controls .main-btn,.payment-bulk-controls .secondary-btn{width:auto;min-height:42px;margin:0;white-space:nowrap}.payment-select-all{display:flex;gap:8px;margin:12px 0 8px}.payment-select-all .secondary-btn{width:auto;margin:0}.payment-ledger-list{display:grid;gap:7px;max-height:620px;overflow:auto;padding:2px}.payment-ledger-list>label{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px 12px;border-radius:13px;background:#f8f8fc;cursor:pointer}.payment-ledger-list>label.selected{background:#eeebff;box-shadow:inset 0 0 0 1px #7267f029}.payment-ledger-list input{width:18px;height:18px;accent-color:var(--primary)}.payment-ledger-list label>span:nth-of-type(1){display:grid;min-width:0;gap:2px}.payment-ledger-list small,.payment-ledger-list time{color:var(--text-muted);font-size:.74rem}.payment-status{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:850;text-transform:capitalize}.payment-status.status-paid{color:#14663a;background:#e5f8ed}.payment-status.status-unpaid{color:#a73535;background:#fff0ee}.payment-status.status-waived{color:#5d6475;background:#eceef3}.parent-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-payment-result{align-items:end;justify-items:end}.parent-payment-result small{color:var(--text-muted);font-size:.7rem;text-align:right}.operations-list,.timetable-list{display:grid;gap:8px;margin-top:16px}.operations-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-radius:13px;background:#f8f8fc}.operations-list article>div{min-width:0;display:grid;gap:3px}.operations-list article>div:last-child{flex:0 0 auto;text-align:right}.operations-row-end{justify-items:end}.operations-edit-btn{min-height:30px;padding:5px 10px;border:0;border-radius:9px;color:#5647bf;background:#eae7ff;cursor:pointer;font:inherit;font-size:.74rem;font-weight:800}.operations-list article span,.operations-list article small,.operations-list article time{color:var(--text-muted);font-size:.78rem}.operations-list.compact article{min-height:54px}.operations-empty{margin:0;padding:18px;border-radius:13px;color:var(--text-muted);background:#f7f7fa;text-align:center}.timetable-list>div{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:8px;padding:11px;border-radius:13px;background:#f8f8fc}.timetable-list>div>strong{color:var(--primary)}.timetable-list article{display:flex;align-items:center;gap:9px;min-width:0}.timetable-list article time{flex:0 0 auto;font-weight:750}.timetable-list article span{min-width:0;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.attendance-status{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:capitalize}.attendance-status.status-present{color:#14663a;background:#e8f8ef}.attendance-status.status-absent{color:#a73535;background:#fff0ee}.attendance-status.status-late{color:#8a5a0a;background:#fff7da}.attendance-status.status-excused{color:#4451a6;background:#eef0ff}.report-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.report-stat-grid article{display:grid;min-height:86px;place-content:center;padding:12px;border-radius:14px;background:#f8f7fc;text-align:center}.report-stat-grid strong{font-size:1.45rem}.report-stat-grid span{color:var(--text-muted);font-size:.78rem}.notification-preference-list{display:grid;gap:8px;margin-bottom:12px}.notification-preference-list label{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:10px 13px;border-radius:12px;background:#f8f8fc;text-transform:capitalize}.notification-preference-list input{width:20px;height:20px;accent-color:var(--primary)}.parent-calendar-panel{margin:16px 0}.parent-summary-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.parent-calendar-panel .fc{margin-top:14px}.parent-panel-intro{margin:0 0 12px;color:var(--text-muted)}.parent-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.parent-lesson-row>div{min-width:0;display:grid;gap:3px}.parent-lesson-row>div:last-child{flex:0 0 auto;text-align:right}.parent-timetable-list{display:grid;gap:8px}.parent-timetable-list article{display:grid;grid-template-columns:90px auto minmax(0,1fr);align-items:center;gap:9px;padding:11px;border-radius:12px;background:#f8f8fc}.parent-attendance-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px!important}.parent-attendance-row>div{display:grid;gap:3px}.parent-attendance-row p{grid-column:1 / -1}.parent-finance-panel>article{display:flex;align-items:center;justify-content:space-between;gap:12px}.parent-finance-panel>article>div{display:grid;gap:3px}.parent-finance-total{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:14px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#7267f0,#965fe0)}.parent-finance-total strong{font-size:1.25rem}@media (max-width: 900px){.operations-grid{grid-template-columns:1fr}.operations-price-card,.operations-audit-card{grid-column:auto}}@media (max-width: 720px){.institution-language-control,.operations-hero{align-items:stretch;flex-direction:column}.institution-language-control>div:last-child{display:grid;grid-template-columns:1fr 1fr}.operations-page{gap:12px}.operations-hero,.operations-card{padding:16px;border-radius:18px}.operations-form{grid-template-columns:1fr}.operations-form .full,.operations-form .main-btn{grid-column:auto}.operations-form-actions{grid-column:auto;grid-template-columns:1fr}.operations-price-card form{grid-template-columns:1fr}.operations-price-card .main-btn{width:100%}.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-list article,.parent-lesson-row{align-items:flex-start}.parent-timetable-list article{grid-template-columns:1fr auto}.parent-timetable-list article small{grid-column:1 / -1}.parent-calendar-panel .fc .fc-toolbar{align-items:center;flex-direction:column}.class-pricing-grid,.class-pricing-grid form:nth-child(2),.payment-filters{grid-template-columns:1fr}.class-pricing-grid form:nth-child(2) .main-btn{grid-column:auto}.payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-bulk-controls{grid-template-columns:1fr 1fr}.payment-bulk-controls .payment-note{grid-column:1 / -1}.payment-bulk-controls .main-btn,.payment-bulk-controls .secondary-btn{width:100%;white-space:normal}.payment-ledger-list>label{grid-template-columns:auto minmax(0,1fr) auto}.payment-ledger-list .payment-status{grid-column:2 / -1;justify-self:start}}:root{--surface-radius: 20px;--card-radius: 17px;--surface-padding: clamp(17px, 2.6vw, 24px);--surface-gap: 14px;--surface-shadow: 0 10px 30px rgba(31, 34, 58, .065);--card-shadow: 0 6px 20px rgba(31, 34, 58, .055)}.page-surface,.calendar-card,.materials-container,.admin-panel,.messaging-container,.profile-page,.profile-hero-card,.profile-settings-card,.profile-summary-card,.role-dashboard,.admin-section,.parent-panel,.parent-add-child,.overview-welcome-card,.overview-panel,.overview-quick-links,.feature-control-section,.institution-workspace-bar,.deadline-upcoming-panel,.coursework-panel{border:0!important}.calendar-card,.materials-container,.admin-panel,.messaging-container,.profile-hero-card,.profile-settings-card,.profile-summary-card,.role-dashboard,.admin-section,.parent-panel,.parent-add-child,.overview-welcome-card,.overview-panel,.overview-quick-links,.feature-control-section,.institution-workspace-bar,.deadline-upcoming-panel{border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}.materials-container,.admin-panel,.profile-settings-card,.profile-summary-card,.admin-section,.parent-panel,.parent-add-child,.overview-panel,.overview-quick-links,.feature-control-section,.deadline-upcoming-panel{padding:var(--surface-padding)}.material-card,.task-item,.announcement-card,.role-dashboard-grid article,.parent-summary-strip article,.overview-stat-grid article,.feature-toggle-grid article,.feature-exception-list article,.institution-class-list article,.deadline-upcoming-item,.submission-card,.family-link-list article{height:100%;min-width:0;border:0!important;border-radius:var(--card-radius);background:#fff;box-shadow:var(--card-shadow)}.materials-grid,.task-grid,.role-dashboard-grid,.parent-dashboard-grid,.parent-summary-strip,.overview-stat-grid,.overview-content-grid,.feature-toggle-grid,.profile-settings-grid,.institution-class-list{align-items:stretch;gap:var(--surface-gap)}.role-dashboard-grid,.overview-stat-grid,.parent-summary-strip,.feature-toggle-grid{grid-auto-rows:1fr}.role-dashboard-grid article,.overview-stat-grid article,.parent-summary-strip article{display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:17px}.feature-toggle-grid article{min-height:92px;padding:15px 16px}.feature-toggle-grid article.feature-enabled,.feature-toggle-grid article.feature-disabled{border:0!important}.feature-toggle-grid article.feature-enabled{background:linear-gradient(135deg,#fff,#f8f5ff)}.feature-toggle-grid article.feature-disabled{background:#f3f4f8}.overview-date-chip,.overview-quick-links button,.feature-presets button{border:0;background:#f7f6fc;box-shadow:0 3px 12px #1f223a0b}.overview-quick-links button{min-height:var(--control-height)}.overview-announcement-list article,.parent-panel details.parent-assignment-card,.coursework-panel,.feature-exception-workspace{border-color:transparent}.main-btn,.secondary-btn,.select-all-btn,.notification-toggle,.journey-back,.overview-quick-links button{min-height:var(--control-height);border-radius:12px}.modal-content input:not([type=checkbox]):not([type=radio]),.modal-content select,.main-input,.profile-field input,.parent-student-picker select,.announcement-schedule-field input,.admin-transfer-list select,.parent-add-child input,.chat-input-row input,textarea{min-height:var(--control-height);border-color:#d9deea;border-radius:12px}@media (hover: hover) and (pointer: fine){.material-card:hover,.announcement-card:hover,.task-item:hover,.overview-quick-links button:hover,.feature-presets button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1f223a17}}@media (max-width: 720px){:root{--surface-radius: 18px;--card-radius: 15px;--surface-padding: 16px;--surface-gap: 10px}.page-surface{box-shadow:none!important}.role-dashboard,.admin-section,.parent-panel,.parent-add-child,.overview-panel,.overview-quick-links,.feature-control-section,.materials-container,.admin-panel,.profile-settings-card,.profile-summary-card{padding:16px}.role-dashboard-grid article,.overview-stat-grid article,.parent-summary-strip article{min-height:108px;padding:15px}.overview-stat-grid,.parent-summary-strip{grid-auto-rows:1fr}.material-card,.announcement-card,.task-item{padding:15px}}@media (max-width: 720px){:root{--mobile-pill-height: 60px;--mobile-pill-bottom: clamp(6px, env(safe-area-inset-bottom), 10px);--mobile-nav-clearance: calc( var(--mobile-pill-height) + var(--mobile-pill-bottom) + 18px )}.sidebar{inset:auto auto var(--mobile-pill-bottom) 50%!important;width:min(var(--mobile-nav-width, calc(100vw - 20px) ),calc(100vw - 20px))!important;max-width:620px!important;height:var(--mobile-pill-height)!important;min-height:var(--mobile-pill-height)!important;margin:0!important;padding:5px!important;border-radius:20px!important;transform:translate(-50%)!important}.sidebar .mobile-navigation{width:100%!important;height:100%!important;grid-template-columns:repeat(var(--mobile-nav-count, 5),minmax(0,1fr))!important;align-items:stretch!important;gap:2px!important}.sidebar .mobile-navigation button{width:100%!important;height:50px!important;min-width:0!important;min-height:50px!important;padding:3px 2px!important;gap:2px!important;border-radius:14px!important;font-size:clamp(.49rem,1.9vw,.58rem)!important}.sidebar .mobile-navigation .icon-span{width:27px!important;height:25px!important;font-size:.88rem!important}.sidebar .mobile-navigation button>span:last-child{width:100%;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 720px) and (max-height: 520px){:root{--mobile-pill-height: 52px;--mobile-nav-clearance: calc(76px + env(safe-area-inset-bottom)) }.sidebar{height:52px!important;min-height:52px!important;padding:4px!important;border-radius:17px!important}.sidebar .mobile-navigation button{height:44px!important;min-height:44px!important}}
