html{background-color:#f9fbfd;--lightningcss-light:initial!important;--lightningcss-dark: !important;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light only!important}:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-title:"Outfit", var(--font-sans);--bg-gradient-start:#f9fbfd;--bg-gradient-end:#f9fbfd;--bg-main:#f9fbfd;--bg-surface:#fff;--bg-card:#fff;--border-color:#e2e8f0;--text-main:#334155;--text-muted:#64748b;--text-title:#0f172a;--primary:#000;--primary-text:#fff;--bubble-coral:#f87171;--bubble-coral-glow:#f8717126;--bubble-bg-alt:#fef2f2;--inst-school:#0284c7;--inst-academy:#ea580c;--inst-private:#16a34a;--success:#16a34a;--warning:#ca8a04;--danger:#dc2626;--info:#2563eb;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #0000000d;--shadow-lg:0 10px 25px #0000000d;--lightningcss-light:initial!important;--lightningcss-dark: !important;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light only!important}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;--lightningcss-light:initial!important;--lightningcss-dark: !important;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light only!important;background:#f9fbfd!important}.app-container{flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}.app-body{flex:1;display:flex}.app-header{z-index:1001;justify-content:space-between;align-items:center;height:56px;padding:0 10px 0 20px;transition:background-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,border-bottom-color .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0;color:#0f172a!important;box-shadow:none!important;background:#fff!important;border-bottom:none!important}.app-header.scrolled{-webkit-backdrop-filter:blur(16px)!important;box-shadow:none!important;background:#fff!important;border-bottom:none!important}.app-header.scrolled .logo-text-mobile,.app-header.scrolled .app-header-center-title,.app-header.scrolled .app-header-right button{color:#0f172a!important}.app-header.scrolled .app-header-right button svg{stroke:#0f172a!important}.app-header-logo .logo-icon-desktop{display:inline-block!important}.app-header-logo .logo-text-mobile{display:none!important}.app-header-left{align-items:center;gap:14px;display:flex}.app-header-logo{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:26px;line-height:1;transition:transform .2s}.app-header-logo:hover{transform:scale(1.15)}.app-header-greeting{align-items:center;gap:8px;display:flex}.app-header-greeting .avatar{background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.app-header-greeting .text{letter-spacing:.3px;font-size:14px;font-weight:700}.app-header-right{align-items:center;gap:4px;display:flex}.app-header-center-title{font-family:var(--font-title);letter-spacing:.3px;pointer-events:none;white-space:nowrap;font-size:16px;font-weight:700;position:absolute;left:50%;transform:translate(-50%);color:#0f172a!important}.app-header-right button{cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;transition:color .2s;color:#64748b!important;justify-content:center!important;align-items:center!important;width:32px!important;height:32px!important;display:inline-flex!important}.app-header-right button:hover{color:#0f172a}.sidebar-nav{color:#fff;background:#000;border-right:1px solid #ffffff14;flex-direction:column;width:280px;height:100vh;padding:24px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%);z-index:999999!important}.sidebar-nav.open{transform:translate(0)}.desktop-menu-trigger{display:none}.desktop-menu-trigger button{cursor:pointer;background:0 0;border:none;align-items:center;width:fit-content;padding:0 0 16px;font-size:28px;display:flex}.brand-section{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding-bottom:20px;display:flex}.brand-logo{width:36px;height:36px}.brand-name{font-family:var(--font-title);color:#fff;font-size:20px;font-weight:800}.nav-links{flex-direction:column;flex:1;gap:8px;margin-top:24px;display:flex}.nav-link{border-radius:var(--radius-sm);color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link.active{color:#fff;background:#1d4ed8}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:90px 32px 40px}.header-bar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;display:flex}.user-profile{background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:30px;align-items:center;gap:12px;padding:6px 14px;display:flex}.user-avatar{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-info-text{flex-direction:column;display:flex}.user-name{color:var(--text-title);font-size:13px;font-weight:700}.user-role{color:var(--text-muted);text-transform:uppercase;font-size:10px}.role-banner{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:16px 20px;display:flex}.role-banner-title{flex-direction:column;display:flex}.role-banner-title span:first-child{font-family:var(--font-title);color:var(--text-title);font-size:14px;font-weight:700}.role-banner-title span:last-child{color:var(--text-muted);font-size:12px}.role-selectors{flex-wrap:wrap;gap:6px;display:flex}.role-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:#f1f5f9;border-radius:20px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .15s}.role-btn:hover{background:#e2e8f0}.role-btn.active{color:#fff;background:#000;border-color:#000}.bottom-dock-nav{display:none}.nav-svg-icon{stroke:currentColor;fill:none;width:20px;height:20px;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.sidebar-icon-wrapper{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.grid-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.grid-1-2{grid-template-columns:1fr 2fr;gap:24px;display:grid}.grid-2-1{grid-template-columns:2fr 1fr;gap:24px;display:grid}.glass-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px;transition:transform .2s,box-shadow .2s}.glass-card.interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.glass-card h2,.glass-card h3{font-family:var(--font-title);color:var(--text-title);margin-bottom:16px;font-size:16px;font-weight:700}.screen-header{color:#fff;background:#000;border-radius:0;justify-content:space-between;align-items:center;height:56px;margin:0 -32px 24px;padding:0 16px;display:flex}.screen-header-back{color:#fff;cursor:pointer;background:0 0;border:none;width:24px;font-size:20px}.screen-header-title{font-family:var(--font-title);text-transform:uppercase;letter-spacing:.8px;text-align:center;flex:1;font-size:13px;font-weight:700}.screen-header-action{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:flex-end;width:24px;font-size:20px;display:flex}.sub-header-bar{border-bottom:1px solid var(--border-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);font-family:var(--font-title);color:var(--text-title);background:#fff;justify-content:space-between;align-items:center;margin:0 -32px;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.bubble-sheet-row{justify-content:space-between;align-items:center;height:48px;padding:8px 16px;display:flex}.bubble-sheet-row:nth-child(odd){background-color:var(--bubble-bg-alt)}.bubble-sheet-row:nth-child(2n){background-color:#fff}.bubble-sheet-num{font-family:var(--font-title);color:var(--bubble-coral);width:24px;font-size:14px;font-weight:800}.bubble-circle-btn{border:1px solid var(--bubble-coral);width:32px;height:32px;color:var(--bubble-coral);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .1s;display:flex}.bubble-circle-btn.selected{color:#fff;background:#000;border-color:#000}.calendar-strip{border:1px solid var(--border-color);background:0 0;border-top:none;flex-direction:column;gap:12px;margin:0 -32px;padding:16px;display:flex}.calendar-strip-month{font-family:var(--font-title);color:var(--text-title);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.calendar-strip-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-strip-day-label{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.calendar-strip-day-num{font-family:var(--font-title);width:28px;height:28px;color:var(--text-title);border-radius:6px;justify-content:center;align-items:center;margin:0 auto;font-size:13px;font-weight:700;display:flex;position:relative}.calendar-strip-day-num.active{color:#fff;background:#4ade80}.calendar-strip-day-dot{background-color:#3b82f6;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px}.agenda-timeline{margin-top:10px;padding-left:28px;position:relative}.agenda-timeline:before{content:"";background:#bae6fd;width:2px;position:absolute;top:8px;bottom:8px;left:9px}.agenda-timeline-node{z-index:2;background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:4px;left:0}.agenda-timeline-node.completed{color:#fff;background:#3b82f6;border-color:#3b82f6;font-size:11px;font-weight:700}.agenda-timeline-node.pending{border-color:#3b82f6}.agenda-timeline-item{padding-bottom:24px;position:relative}.agenda-item-header{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.agenda-item-title{color:var(--text-title);font-weight:700}.agenda-item-time{color:var(--text-muted)}.agenda-item-badge{color:var(--text-muted);background:#f1f5f9;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex}.hazard-progress-bar{background:repeating-linear-gradient(75deg,#facc15 0 30px,#0f172a 30px 60px);border-radius:4px;width:100%;height:18px}.chat-stream{flex-direction:column;gap:16px;max-height:480px;padding:10px 4px;display:flex;overflow-y:auto}.chat-bubble-user{color:var(--text-title);max-width:80%;box-shadow:var(--shadow-sm);background:#e0f2fe;border-radius:16px 16px 0;align-self:flex-end;padding:12px 16px;font-size:12px;line-height:1.4}.chat-bubble-ai{color:var(--text-title);border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#fff;align-self:flex-start;max-width:90%;padding:12px;font-size:12px;line-height:1.5}.announcement-list{flex-direction:column;gap:14px;display:flex}.announcement-item{border:1px solid var(--border-color);background:#fff;border-radius:16px;align-items:center;gap:16px;padding:16px 20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 12px #0000000a}.announcement-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.announcement-avatar{background:linear-gradient(135deg,#e0f2fe 0%,#f1f5f9 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000f;font-size:24px!important}.announcement-avatar.has-custom-img{background:0 0!important;padding:0!important}.announcement-avatar img{object-fit:cover!important;border-radius:50%!important;width:100%!important;height:100%!important}.announcement-body{flex:1;min-width:0}.announcement-title{color:var(--text-title);margin-bottom:2px;font-size:13px;font-weight:700}.announcement-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.announcement-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.announcement-time{color:var(--text-muted);font-size:10px}.announcement-badge{color:#fff;background:#4ade80;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.msg-contact-panel{flex-shrink:0;width:100%;min-width:100%}@media (width>=640px){.msg-contact-panel{width:300px!important;min-width:300px!important}}@media (width>=768px){.msg-contact-panel{width:320px!important;min-width:320px!important}}.btn{cursor:pointer;border:none;border-radius:20px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{color:#fff;background:#000}.btn-secondary{color:#000;border:1px solid var(--border-color);background:#fff}.badge{border-radius:12px;align-items:center;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.badge-school{color:var(--inst-school);background:#e0f2fe}.badge-academy{color:var(--inst-academy);background:#ffedd5}.badge-private{color:var(--inst-private);background:#dcfce7}.badge-high{color:var(--danger);background:#fee2e2}.badge-medium{color:var(--warning);background:#fef3c7}.badge-low{color:var(--info);background:#eff6ff}.toggle-switch{cursor:pointer;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background-color:#cbd5e1;border-radius:24px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;bottom:3px;left:3px}input:checked+.toggle-slider{background-color:#4ade80}input:checked+.toggle-slider:before{transform:translate(20px)}.pat-ai-float-btn{cursor:pointer;z-index:99;background:#3b82f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;transition:transform .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 14px #3b82f699}.pat-ai-float-btn:hover{transform:scale(1.08)}.reports-kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.sparkline-grid-row{grid-template-columns:120px 1fr 120px;align-items:center;gap:16px;display:grid}.reports-subject-select{border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-title);cursor:pointer;min-width:200px;box-shadow:var(--shadow-sm);appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border-radius:12px;outline:none;padding:10px 36px 10px 16px;font-size:14px;font-weight:700}.reports-subject-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.reports-table{border-collapse:separate;border-spacing:0 8px;width:100%}.reports-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 12px 8px;font-size:11px;font-weight:600}.reports-table td{padding:14px 12px;font-size:13px}@media (width<=768px){html,body,.app-container,.app-body{background:#f9fbfd!important}.app-container{flex-direction:column}.sidebar-nav{z-index:1005!important;height:100vh!important;display:flex!important;top:0!important}.desktop-menu-trigger{display:none}.main-content{padding:72px 16px calc(80px + env(safe-area-inset-bottom)) 16px!important}.screen-header{margin:0 -16px 16px}.sub-header-bar,.calendar-strip{margin:0 -16px}.header-bar{display:none}.bottom-dock-nav{height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:1000;border-bottom:none;justify-content:space-around;align-items:center;display:flex;position:fixed;inset:auto 0 0;background:#fff!important;border-top:1px solid #e2e8f0!important;box-shadow:0 -4px 20px #0000000d!important}.bottom-dock-item{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 0;text-decoration:none;transition:all .2s;display:flex;position:relative;color:#64748b!important}.bottom-dock-item.active{color:#0f172a!important}.bottom-dock-icon{justify-content:center;align-items:center;width:22px;height:22px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.bottom-dock-item.active .bottom-dock-icon{transform:scale(1.15)translateY(-2px)}.bottom-dock-badge{color:#fff;background:#dc2626;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;font-weight:700;display:flex;position:absolute;top:-2px;right:-4px}.bottom-dock-label{letter-spacing:.1px;font-size:9px;font-weight:500;transition:opacity .2s}.bottom-dock-item.active .bottom-dock-label{color:#0f172a!important;font-weight:800!important}.grid-2,.grid-3,.grid-1-2,.grid-2-1{grid-template-columns:1fr;gap:16px}.pat-ai-float-btn{bottom:calc(72px + env(safe-area-inset-bottom))!important;z-index:9999!important;width:50px!important;height:50px!important;font-size:22px!important;display:flex!important;right:16px!important}.fab-btn{bottom:calc(72px + env(safe-area-inset-bottom))!important;right:16px!important}.reports-kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px}.sparkline-grid-row{grid-template-columns:80px 1fr 90px;gap:12px}.reports-table td{padding:10px 8px;font-size:12px}.reports-table th{padding:0 8px 6px;font-size:10px}.app-header-logo img{vertical-align:middle!important;display:inline-block!important}.app-header-logo .logo-text-mobile{font-family:var(--font-title);letter-spacing:-.3px;font-size:20px;font-weight:800;color:#0f172a!important;display:inline-block!important}.app-header-profile-wrapper{display:none!important}.app-header{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:#fff!important;border-bottom:none!important;transition:background-color .25s,border-color .25s,box-shadow .25s!important}.app-header .logo-text-mobile,.app-header .app-header-center-title{color:#0f172a!important}.app-header .app-header-right button{color:#64748b!important}.app-header .app-header-right button:hover{color:#0f172a!important}.app-header.scrolled{-webkit-backdrop-filter:blur(16px)!important;background:#fff!important}.app-header.scrolled .logo-text-mobile,.app-header.scrolled .app-header-center-title{color:#0f172a!important}.app-header.scrolled .app-header-right button{color:#64748b!important}.app-header-center-title.header-title-load-balancer,.staff-panel-header,.staff-announcements-title,.attendance-title-wrapper,.attendance-title,.attendance-label{display:none!important}.staff-announcements-card,.attendance-main-card{-webkit-backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important;overflow:visible!important}.staff-announcements-card .glow-orb-element,.attendance-main-card .glow-orb-element{display:none!important}.announcement-list{gap:12px!important}.attendance-students-list{gap:0!important}.announcement-item,.attendance-student-item{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;width:100%!important;margin:0!important;padding:10px 4px!important}.announcement-avatar{width:52px!important;height:52px!important;font-size:24px!important}.announcement-item:last-child,.attendance-student-item:last-child{border-bottom:none!important}.announcement-item:active,.attendance-student-item:active{background:#00000008!important}.attendance-controls-box{background:0 0!important;border:none!important;flex-flow:row!important;gap:10px!important;margin-bottom:12px!important;padding:0 0 12px!important;display:flex!important}.attendance-controls-box>div{flex:1!important;min-width:0!important}.attendance-select-dropdown{appearance:none!important;height:40px!important;color:var(--text-title)!important;background-color:#f1f5f9!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:14px!important;border:1px solid #cbd5e1!important;border-radius:12px!important;outline:none!important;padding:6px 28px 6px 12px!important;font-size:13px!important;font-weight:700!important;box-shadow:0 1px 3px #0000000a!important}.attendance-save-btn,.homework-save-btn{bottom:calc(72px + env(safe-area-inset-bottom))!important;z-index:999!important;color:#fff!important;background:0 0!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:50px!important;height:50px!important;padding:0!important;font-size:20px!important;display:flex!important;position:fixed!important;right:16px!important;box-shadow:0 4px 14px #00000040!important}.attendance-save-btn-text{display:none!important}.announcement-title{color:var(--text-title)!important;font-size:14px!important;font-weight:700!important}.announcement-text{color:var(--text-muted)!important;font-size:12px!important}.announcement-time{color:var(--text-muted)!important;font-size:11px!important}}@media (width<=480px){.reports-kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.reports-kpi-grid .glass-card{padding:12px 10px!important}.sparkline-grid-row{grid-template-columns:70px 1fr!important;gap:8px!important}.sparkline-grid-row>:last-child{border-top:1px dashed #0000000a!important;grid-column:span 2!important;justify-content:flex-end!important;margin-top:4px!important;padding-top:4px!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s ease-out forwards fadeIn}.progress-bar-wrapper{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.progress-bar-header{justify-content:space-between;font-size:12px;font-weight:600;display:flex}.progress-bar-bg{background:#0000000d;border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:#3b82f6;border-radius:4px;height:100%}.load-bar-container{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000004;justify-content:space-around;align-items:flex-end;height:210px;margin-top:16px;margin-bottom:20px;padding:20px;display:flex}.load-bar-column{flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:90px;height:100%;display:flex}.load-bar-track{background:#00000009;border:1px solid #0000000d;border-radius:8px;align-items:flex-end;width:48px;height:120px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #00000008}.load-bar-fill{border-radius:4px 4px 0 0;width:100%;transition:height .4s cubic-bezier(.4,0,.2,1)}.load-bar-fill.bg-school{background:linear-gradient(180deg, #38bdf8 0%, var(--inst-school) 100%);box-shadow:inset 0 1px 2px #ffffff4d,0 2px 8px #0284c340}.load-bar-fill.bg-academy{background:linear-gradient(180deg, #fb923c 0%, var(--inst-academy) 100%);box-shadow:inset 0 1px 2px #ffffff4d,0 2px 8px #ea580c40}.load-bar-fill.bg-private{background:linear-gradient(180deg, #4ade80 0%, var(--inst-private) 100%);box-shadow:inset 0 1px 2px #ffffff4d,0 2px 8px #16a34a40}.load-bar-label{color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:700}.form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.form-control{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-main);width:100%;color:var(--text-title);font-family:var(--font-sans);outline:none;padding:10px 14px;font-size:13px;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fab-btn{color:#fff;cursor:pointer;z-index:1000;background:#529ce8;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;transition:transform .2s,background-color .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 14px #529ce866}.fab-btn:hover{transform:scale(1.08);background-color:#3d86d2!important}.suggestion-card{transition:all .25s}.suggestion-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);background:#8b5cf60a!important;border-color:#8b5cf6!important}.chat-input-container:focus-within{border-color:#8b5cf6!important;box-shadow:0 4px 18px #8b5cf626!important}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.dot-pulse{animation:1.2s ease-in-out infinite dotPulse}.task-item-card{transition:all .2s cubic-bezier(.4,0,.2,1)!important}.task-item-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000008;background:#00000008!important;border-color:#cbd5e1!important}.task-item-card:active{transform:scale(.995);background:#0000000a!important}.task-item-card.overdue:hover{background:#dc26260d!important;border-color:#dc262699!important}.status-pill-badge{transition:all .15s}.status-pill-badge:hover{transform:translateY(-.5px);background:#00000014!important;border-color:#00000026!important}.status-pill-badge:active{transform:scale(.97);background:#0000001f!important}.popup-status-option{transition:all .15s!important}.popup-status-option:hover{transform:translateY(-1px);background:#0000000a!important;border-color:#0003!important}.popup-status-option:active{transform:scale(.985);background:#00000014!important}.app-header,.fab-btn,.pat-ai-float-btn,.bottom-dock-nav{will-change:transform;transform:translateZ(0)}.announcement-body,.announcement-title,.announcement-text,.app-header-center-title{contain:layout style;min-height:1.2em}.announcement-item,.task-item-card,.chat-contact-row{content-visibility:auto;contain-intrinsic-size:0 60px}body.streak-page-theme{color:#f8fafc!important;--bg-gradient-start:#000!important;--bg-gradient-end:#000!important;--bg-main:#000!important;--bg-surface:#0a0a0a!important;--bg-card:#121212!important;--border-color:#222!important;--text-main:#f1f5f9!important;--text-muted:#94a3b8!important;--text-title:#fff!important;background:#000!important}body.streak-page-theme .app-header{background:#fff!important;border-bottom:1px solid #e2e8f0!important;box-shadow:0 1px 4px #0000000d!important}body.streak-page-theme .app-header.scrolled{-webkit-backdrop-filter:blur(20px)saturate(190%)!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;box-shadow:0 4px 20px #0000000d!important}body.streak-page-theme .app-header-logo{color:#fff!important}body.streak-page-theme .sidebar-nav{background:#000!important;border-right:1px solid #222!important}body.streak-page-theme .nav-link{color:#94a3b8!important}body.streak-page-theme .nav-link.active{color:#fff!important;background:#ffffff14!important}body.streak-page-theme .bottom-dock-nav{-webkit-backdrop-filter:blur(12px)saturate(180%);backdrop-filter:blur(12px)saturate(180%);background:#000000f2!important;border-top:1px solid #222!important}body.streak-page-theme .bottom-dock-item{color:#94a3b8!important}body.streak-page-theme .bottom-dock-item.active{color:#fff!important}.sidebar-nav{color:#fff;z-index:1005;background:#000;border-right:1px solid #ffffff14;flex-direction:column;width:280px;height:100vh;padding:0 24px 24px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%)}.theme-switch{--toggle-size:7px;--container-width:5.625em;--container-height:2.5em;--container-radius:6.25em;--container-light-bg:#3d7eae;--container-night-bg:#1d1f2c;--circle-container-diameter:3.375em;--sun-moon-diameter:2.125em;--sun-bg:#ecca2f;--moon-bg:#c4c9d1;--spot-color:#959db1;--circle-container-offset:calc((var(--circle-container-diameter) - var(--container-height)) / 2 * -1);--stars-color:#fff;--clouds-color:#f3fdff;--back-clouds-color:#aacadf;--transition:.5s cubic-bezier(0, -.02, .4, 1.25);--circle-transition:.3s cubic-bezier(0, -.02, .35, 1.17)}.theme-switch,.theme-switch *,.theme-switch :before,.theme-switch :after{box-sizing:border-box;font-size:var(--toggle-size);margin:0;padding:0}.theme-switch__container{width:var(--container-width);height:var(--container-height);background-color:var(--container-light-bg);border-radius:var(--container-radius);cursor:pointer;-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition);position:relative;overflow:hidden;box-shadow:0 -.062em .062em #00000040,0 .062em .125em #fffffff0}.theme-switch__container:before{content:"";z-index:1;border-radius:var(--container-radius);position:absolute;inset:0;box-shadow:inset 0 .05em .187em #00000040,inset 0 .05em .187em #00000040}.theme-switch__checkbox{display:none}.theme-switch__circle-container{width:var(--circle-container-diameter);height:var(--circle-container-diameter);left:var(--circle-container-offset);top:var(--circle-container-offset);border-radius:var(--container-radius);-webkit-transition:var(--circle-transition);-o-transition:var(--circle-transition);transition:var(--circle-transition);pointer-events:none;background-color:#ffffff1a;display:flex;position:absolute;box-shadow:inset 0 0 0 3.375em #ffffff1a,inset 0 0 0 3.375em #ffffff1a,0 0 0 .625em #ffffff1a,0 0 0 1.25em #ffffff1a}.theme-switch__sun-moon-container{pointer-events:auto;z-index:2;width:var(--sun-moon-diameter);height:var(--sun-moon-diameter);border-radius:var(--container-radius);background-color:var(--sun-bg);filter:drop-shadow(.062em .125em .125em #00000040)drop-shadow(0 .062em .125em #00000040);-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition);margin:auto;position:relative;overflow:hidden;box-shadow:inset .062em .062em .062em 0 #feffef9c,inset 0 -.062em .062em 0 #a1872a}.theme-switch__moon{background-color:var(--moon-bg);border-radius:inherit;width:100%;height:100%;-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition);position:relative;transform:translate(100%);box-shadow:inset .062em .062em .062em 0 #feffef9c,inset 0 -.062em .062em 0 #969696}.theme-switch__spot{border-radius:var(--container-radius);background-color:var(--spot-color);width:.75em;height:.75em;position:absolute;top:.75em;left:.312em;box-shadow:inset 0 .0312em .062em #00000040}.theme-switch__spot:nth-of-type(2){width:.375em;height:.375em;top:.937em;left:1.375em}.theme-switch__spot:nth-last-of-type(3){width:.25em;height:.25em;top:.312em;left:.812em}.theme-switch__clouds{background-color:var(--clouds-color);border-radius:var(--container-radius);width:1.25em;height:1.25em;-webkit-box-shadow:.937em .312em var(--clouds-color), -.312em -.312em var(--back-clouds-color), 1.437em .375em var(--clouds-color), .5em -.125em var(--back-clouds-color), 2.187em 0 var(--clouds-color), 1.25em -.062em var(--back-clouds-color), 2.937em .312em var(--clouds-color), 2em -.312em var(--back-clouds-color), 3.625em -.062em var(--clouds-color), 2.625em 0em var(--back-clouds-color), 4.5em -.312em var(--clouds-color), 3.375em -.437em var(--back-clouds-color), 4.625em -1.75em 0 .437em var(--clouds-color), 4em -.625em var(--back-clouds-color), 4.125em -2.125em 0 .437em var(--clouds-color);box-shadow:.937em .312em var(--clouds-color), -.312em -.312em var(--back-clouds-color), 1.437em .375em var(--clouds-color), .5em -.125em var(--back-clouds-color), 2.187em 0 var(--clouds-color), 1.25em -.062em var(--back-clouds-color), 2.937em .312em var(--clouds-color), 2em -.312em var(--back-clouds-color), 3.625em -.062em var(--clouds-color), 2.625em 0em var(--back-clouds-color), 4.5em -.312em var(--clouds-color), 3.375em -.437em var(--back-clouds-color), 4.625em -1.75em 0 .437em var(--clouds-color), 4em -.625em var(--back-clouds-color), 4.125em -2.125em 0 .437em var(--clouds-color);-o-transition:.5s cubic-bezier(0, -.02, .4, 1.25);transition:all .5s cubic-bezier(0,-.02,.4,1.25);position:absolute;bottom:-.625em;left:.312em}.theme-switch__stars-container{color:var(--stars-color);width:2.75em;height:auto;-webkit-transition:var(--transition);-o-transition:var(--transition);transition:var(--transition);position:absolute;top:-100%;left:.312em}.theme-switch__checkbox:checked+.theme-switch__container{background-color:var(--container-night-bg)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter))}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container:hover{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter) - .187em)}.theme-switch__circle-container:hover{left:calc(var(--circle-container-offset) + .187em)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__moon{transform:translate(0)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__clouds{bottom:-4.062em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-container{top:50%;transform:translateY(-50%)}.karne-print-grid{display:block}@media print{body,html{color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}#admin-reports-container-root,.app-header,.sidebar-nav,.bottom-dock-nav,.pat-ai-float-btn,.fab-btn,.karne-print-hide{display:none!important}.karne-print-modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:auto!important;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}.karne-print-modal-content{width:100%!important;max-width:100%!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.karne-print-grid{box-sizing:border-box!important;grid-template-columns:1.15fr .85fr!important;gap:16px!important;width:100%!important;display:grid!important}.karne-print-section{visibility:visible!important;page-break-inside:avoid!important;break-inside:avoid!important;display:block!important}.karne-print-modal-content *{font-size:10px!important;line-height:1.25!important}.karne-print-modal-content h3{margin:0!important;font-size:15px!important}.karne-print-modal-content h4{margin-top:6px!important;margin-bottom:4px!important;font-family:Outfit,sans-serif!important;font-size:11px!important;font-weight:800!important}.karne-print-modal-content td,.karne-print-modal-content th{padding:4px 6px!important}.karne-print-modal-content table{margin-bottom:6px!important}.karne-print-col-left-info{grid-template-columns:1fr 1.2fr!important;gap:8px!important;margin-bottom:10px!important}.karne-print-modal-content .bubble-grid-container{gap:2px!important}.karne-print-modal-content .bubble-item{border-radius:3px!important;padding:2px 1px!important}.karne-print-modal-content .bubble-item div{font-size:8px!important}.karne-print-modal-content .topic-list-container{max-height:none!important;overflow:visible!important}}.sidebar-nav{scrollbar-width:none!important;-ms-overflow-style:none!important;overflow-y:auto!important}.sidebar-nav::-webkit-scrollbar{display:none!important}.nav-links{gap:4px!important;margin-top:16px!important}.nav-link{padding:8px 16px!important}@media (width>=769px){.app-header-center-title{display:none!important}.app-header-center-title.homework-control-header-center{display:flex!important}}.app-header.solid-white-header,.app-header.reports-mobile-header{box-shadow:none!important;background:#fff!important;border-bottom:none!important}.app-header.reports-mobile-header .logo-text-mobile,.app-header.reports-mobile-header .app-header-center-title,.app-header.reports-mobile-header .app-header-right button{color:#0f172a!important}.main-content-messaging{width:100%!important;max-width:100%!important;height:calc(100dvh - 56px)!important;box-shadow:none!important;scrollbar-width:none!important;z-index:100!important;border:none!important;outline:none!important;flex-direction:column!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;inset:56px 0 0!important;overflow:hidden!important}.main-content-messaging::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.main-content-messaging ::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}@media (width<=768px){html,body,.app-container,.app-body,main{background:#fff!important}.student-announcements-card{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important;overflow:visible!important}.student-announcements-title{display:none!important}}header.app-header,.app-header,.app-header.scrolled,.app-header.solid-white-header,.app-header.reports-mobile-header,body.streak-page-theme .app-header,body.streak-page-theme .app-header.scrolled{box-shadow:none!important;-webkit-box-shadow:none!important;border-bottom:none!important}label,.form-group label{color:#334155!important;font-weight:700!important}.nav-link{color:#cbd5e1!important}.nav-link.active,.nav-link:hover{color:#fff!important}.role-btn{color:#334155!important;border-color:#cbd5e1!important}.btn-secondary{color:#0f172a!important;border-color:#cbd5e1!important}td,td>div{color:#334155}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}@media (width<=768px){::-webkit-scrollbar{display:none!important}*{scrollbar-width:none!important;-ms-overflow-style:none!important}}.loading-spinner-anim{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-booklet-row-wrapper{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;padding-left:6px;display:flex}@media (width<=768px){.error-booklet-row-wrapper{flex-direction:column;align-items:stretch;gap:8px}}.sidebar-nav{z-index:999999!important;box-sizing:border-box!important;flex-direction:column!important;height:100dvh!important;max-height:100dvh!important;display:flex!important}@media (width<=1024px){.sidebar-nav{z-index:999999!important;height:100dvh!important;max-height:100dvh!important;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)) 16px!important;top:0!important;left:0!important}.sidebar-nav .nav-links{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex:1!important;min-height:0!important;overflow-y:auto!important}.bottom-dock-nav{z-index:10000!important}.main-content.main-content-messaging,body.chat-active .main-content{z-index:9999!important;width:100vw!important;max-width:100vw!important;height:calc(100dvh - 56px)!important;max-height:calc(100dvh - 56px)!important;margin:0!important;padding:0!important;position:fixed!important;inset:56px 0 0!important;overflow:hidden!important}body.chat-active .bottom-dock-nav,body.chat-active .pat-ai-float-btn,body.chat-active .fab-btn,.messaging-chat-active .bottom-dock-nav{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body.chat-active .chat-window-mobile-wrapper{background:#f0f7ff!important;flex-direction:column!important;flex:1!important;width:100%!important;height:100%!important;display:flex!important;position:relative!important}body.chat-active .mobile-fixed-chat-input{z-index:99999!important;width:100vw!important;max-width:100vw!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)) 12px!important;box-sizing:border-box!important;background:#fff!important;border-top:1px solid #e2e8f0!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;box-shadow:0 -4px 12px #0000000f!important}}
