@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--sidebar-width-open:16rem;--sidebar-width-closed:5rem;--sidebar-bg:var(--bg-surface);--sidebar-border:var(--border-main);--text-primary:var(--text-heading);--text-secondary:var(--text-muted);--accent-color:var(--brand-primary);--accent-bg:var(--bg-sidebar-active);--sidebar-hover-bg:var(--bg-app);--sidebar-group-bg:var(--bg-app);--sidebar-dot-bg:var(--border-main);--sidebar-avatar-bg:var(--bg-sidebar-active);--sidebar-avatar-color:var(--brand-primary);--sidebar-role-color:var(--text-muted);--sidebar-menu-bg:var(--bg-surface);--sidebar-toggle-bg:var(--bg-surface)}body.dark-mode{--sidebar-bg:var(--bg-surface);--sidebar-border:var(--border-main);--text-primary:var(--text-heading);--text-secondary:var(--text-muted);--accent-color:var(--brand-primary);--accent-bg:var(--bg-sidebar-active);--sidebar-hover-bg:var(--bg-app);--sidebar-group-bg:var(--bg-app);--sidebar-dot-bg:var(--border-main);--sidebar-avatar-bg:var(--bg-sidebar-active);--sidebar-avatar-color:var(--brand-primary);--sidebar-role-color:var(--text-muted);--sidebar-menu-bg:var(--bg-surface);--sidebar-toggle-bg:var(--bg-surface)}#sidebar{width:var(--sidebar-width-open);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:50;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0}@media (width<=767px){#sidebar{width:var(--sidebar-width-open);z-index:9999;transform:translate(-100%)}.sidebar-mobile-open #sidebar{transform:translate(0)}}@media (width>=768px){#sidebar{transform:translate(0)}.sidebar-retracted #sidebar{width:var(--sidebar-width-closed)}}#sidebar-header{border-bottom:1px solid var(--sidebar-border);justify-content:center;align-items:center;height:4rem;display:flex;position:relative}.sidebar-mobile-close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:none;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.sidebar-mobile-close:hover{background:var(--sidebar-hover-bg);color:var(--accent-color)}@media (width<=767px){.sidebar-mobile-close{display:flex}}.sidebar-logo-container{align-items:center;gap:.5rem;height:2.5rem;transition:opacity .2s;display:flex}.retracted-logo{height:2.5rem;display:none}.sidebar-retracted .sidebar-logo-container{display:none}.sidebar-retracted .retracted-logo{justify-content:center;align-items:center;width:100%;display:flex}.sidebar-retracted .retracted-logo .institute-logo{width:2.25rem;max-width:2.25rem;height:2.25rem;padding:2px}#sidebar-nav{flex-direction:column;flex:1;align-content:flex-start;gap:.25rem;padding:1rem .75rem;display:flex;overflow:hidden auto}.erpli-nav-link{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.erpli-nav-link:hover{background:var(--sidebar-hover-bg);color:var(--text-primary)}.erpli-nav-link.active{background:var(--accent-bg);color:var(--accent-color)}.nav-icon{flex-shrink:0;transition:color .2s}.erpli-nav-link.active .nav-icon{color:var(--accent-color)}.nav-badge{background:var(--brand-primary,#f28482);min-width:1.25rem;height:1.25rem;color:var(--brand-on-solid,#fff);text-align:center;border-radius:999px;flex-shrink:0;margin-left:auto;padding:0 .35rem;font-size:.6875rem;font-weight:700;line-height:1.25rem}.sidebar-retracted .nav-badge{width:.5rem;min-width:.5rem;height:.5rem;margin:0;padding:0;font-size:0;line-height:0;position:absolute;top:.4rem;right:.6rem}.sidebar-text{transition:opacity .2s}.sidebar-retracted .erpli-nav-link{justify-content:center;padding:.75rem 0}.sidebar-retracted .group-trigger{justify-content:center!important}.sidebar-retracted .sidebar-text{display:none!important}.group-trigger{justify-content:flex-start}.group-trigger .flex-1{text-align:left;flex:auto}.group-trigger .arrow{flex-shrink:0;align-items:center;display:flex}.arrow{color:#9ca3af}.group-content{background:var(--sidebar-group-bg);border-radius:.5rem;max-height:0;margin-top:0;transition:max-height .3s ease-out;overflow:hidden}.nav-group.open .group-content{max-height:500px;margin-top:2px}.sub-link{color:#6b7280;padding-left:1rem;font-size:.85rem}.sidebar-retracted .sub-link{display:none}.sidebar-retracted .nav-group:hover{background:0 0}.dot{background:var(--sidebar-dot-bg);border-radius:50%;width:6px;height:6px;margin-right:8px}.sub-link.active .dot{background:var(--accent-color)}#sidebar-footer{border-top:1px solid var(--sidebar-border);background:var(--sidebar-bg);padding:1rem;position:relative}#profile-trigger,#profile-trigger-retracted{cursor:pointer;border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem;transition:background .2s;display:flex}#profile-trigger:hover,#profile-trigger-retracted:hover{background:var(--sidebar-hover-bg)}.profile-avatar{background:var(--sidebar-avatar-bg);width:2.25rem;height:2.25rem;color:var(--sidebar-avatar-color);border-radius:.5rem;justify-content:center;align-items:center;font-weight:700;display:flex}.profile-info{flex-direction:column;display:flex;overflow:hidden}#user-email-sidebar{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}#user-email-secondary{color:var(--sidebar-role-color);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}#user-role-sidebar{color:var(--sidebar-role-color);font-size:.75rem}.sidebar-retracted #profile-trigger{display:none}#profile-trigger-retracted{justify-content:center;display:none}.sidebar-retracted #profile-trigger-retracted{display:flex}#profile-menu{background:var(--sidebar-menu-bg);border:1px solid var(--sidebar-border);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;border-radius:.75rem;margin-bottom:.5rem;padding:.5rem;transition:all .2s;position:absolute;bottom:100%;left:.75rem;right:.75rem;transform:translateY(10px)}#profile-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.sidebar-retracted #profile-menu{min-width:160px;margin-bottom:0;bottom:calc(100% + .5rem);left:0;right:auto}.profile-menu-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.profile-menu-item:hover{background:var(--sidebar-hover-bg);color:var(--text-primary)}#profile-logout-button{color:#e35d5a}#profile-logout-button:hover{background:var(--sidebar-hover-bg);color:#dc2626}body.dark-mode #profile-logout-button:hover{color:#ff8783}#sidebar-toggle-button{top:50%;left:var(--sidebar-width-open);background:var(--sidebar-toggle-bg);border:1px solid var(--sidebar-border);width:2rem;height:2rem;color:var(--sidebar-avatar-color);cursor:pointer;z-index:60;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;transform:translate(-50%,-50%)}@media (width<=767px){#sidebar-toggle-button{display:none}}@media (width>=768px){.sidebar-retracted #sidebar-toggle-button{left:var(--sidebar-width-closed)}}@media (width<=767px){.sidebar-mobile-open #sidebar-overlay{opacity:1;display:block}}@media (width<=767px){.app-main{margin-left:0;padding:16px}}.mobile-topbar-logo{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:none}.mobile-topbar-logo img{object-fit:contain;width:auto;height:1.75rem}@media (width<=767px){.mobile-topbar{z-index:45;background:var(--bg-app);border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;height:4rem;margin:-16px -16px 12px;padding:0 16px;display:flex;position:sticky;top:0}.mobile-topbar-logo{display:flex}.mobile-menu-button{display:inline-flex}body.sidebar-mobile-open .mobile-topbar{display:none}}.sidebar-retracted .theme-toggle-wrapper{border:1px solid var(--sidebar-border);color:var(--sidebar-avatar-color);cursor:pointer;z-index:60;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex}@media (width<=767px){#sidebar-toggle-button{display:none}}@media (width>=768px){.sidebar-retracted #sidebar-toggle-button{left:var(--sidebar-width-closed)}}.toggle-icon{transition:transform .3s}.sidebar-retracted .toggle-icon{transform:rotate(180deg)}#sidebar-toggle-button:hover{border-color:var(--accent-color);color:var(--accent-color)}.nav-tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:100;background:#1f2937;border-radius:.25rem;margin-left:.5rem;padding:.25rem .5rem;font-size:.75rem;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.erpli-nav-link:hover .nav-tooltip{opacity:1}.sidebar-retracted .erpli-nav-link:hover .nav-tooltip{display:block}body:not(.sidebar-retracted) .nav-tooltip{display:none}#sidebar-overlay{z-index:40;background-color:#00000080;transition:opacity .3s;display:none;position:fixed;inset:0}@media (width<=767px){.sidebar-mobile-open #sidebar-overlay{opacity:1;z-index:9998;display:block}}.app-main{max-width:100%;margin-left:var(--sidebar-width-open);flex-direction:column;padding:32px 40px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex;overflow-x:hidden}body.sidebar-retracted .app-main{margin-left:var(--sidebar-width-closed)}@media (width<=767px){.app-main{margin-left:0;padding:16px}}.mobile-topbar{display:none}.mobile-topbar-logo-container{cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;height:2.5rem;padding:0;display:none}.mobile-topbar-logo-container img{object-fit:contain;width:auto;max-width:5rem;height:1.75rem}.mobile-topbar-logo-container .institute-monogram{width:1.75rem;height:1.75rem;font-size:.9rem}.mobile-topbar-logo-container .institute-name{max-width:9rem}.mobile-menu-button{border:1px solid var(--border-main);background:var(--bg-surface);width:38px;height:38px;color:var(--text-main);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,background .2s,border-color .2s;display:none}@media (width<=767px){.mobile-topbar{z-index:45;background:var(--bg-app);border-bottom:1px solid var(--sidebar-border);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;height:4rem;margin:-16px -16px 24px;padding:0 16px;display:grid;position:sticky;top:0}.mobile-topbar-logo-container{justify-content:center;justify-self:center;display:flex}.mobile-menu-button{order:-1;display:inline-flex}.mobile-topbar-actions{justify-self:end}body.sidebar-mobile-open .mobile-topbar{display:none}}.theme-toggle-wrapper{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:.5rem;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem .5rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:relative}.theme-toggle-wrapper:hover{background:var(--sidebar-hover-bg);color:var(--text-primary)}.theme-toggle-wrapper .nav-icon{color:var(--text-secondary)}.theme-toggle-wrapper:hover .nav-icon{color:var(--text-primary)}.sidebar-retracted .theme-toggle-wrapper{justify-content:center;padding:.75rem 0}.sidebar-retracted .theme-toggle-wrapper .sidebar-text{display:none!important}.sidebar-retracted .theme-toggle-wrapper:hover .nav-tooltip{opacity:1}.logo-brand-text{flex-direction:column;justify-content:center;align-items:flex-start;line-height:1;display:flex}.logo-text{font-family:"Outfit", var(--font-sans);color:var(--text-heading,#3d405b);letter-spacing:-.03em;font-size:1.35rem;font-weight:800;line-height:1;transition:color .25s}.logo-dot{color:var(--brand-primary,#f28482)}.institute-logo{object-fit:contain;background:#fff;border-radius:.5rem;flex-shrink:0;width:auto;max-width:7.5rem;height:2.75rem;padding:2px 6px}.institute-monogram{background:var(--brand-primary);color:#fff;width:2.25rem;height:2.25rem;font-family:"Outfit", var(--font-sans);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex}.institute-name+.logo-subtitle{letter-spacing:.08em;text-transform:none;font-size:.6rem}.institute-name{font-family:"Outfit", var(--font-sans);color:var(--text-heading,#3d405b);text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:1rem;font-weight:700;overflow:hidden}body.dark-mode .institute-name{color:#f1f5f9}.powered-by{letter-spacing:.02em;color:#94a3b8;white-space:nowrap;align-items:center;gap:.5rem;padding:.4rem .75rem .55rem;font-size:.65rem;display:flex;overflow:hidden}.powered-by img{opacity:.85;flex-shrink:0;width:auto;height:.95rem}.powered-by strong{color:#64748b;font-weight:700}body.dark-mode .powered-by strong{color:#cbd5e1}.sidebar-retracted .powered-by{justify-content:center;padding-left:0;padding-right:0}.logo-subtitle{font-family:"Outfit", var(--font-sans);letter-spacing:.22em;color:#64748b;text-transform:uppercase;margin-top:1px;font-size:.55rem;font-weight:700;transition:color .25s}body.dark-mode .logo-text{color:#f7f3f0}body.dark-mode .logo-dot{color:#f6a5a3}body.dark-mode .logo-subtitle{color:#94a3b8}.custom-dropdown-item:hover{background-color:var(--bg-sidebar-active)!important;color:var(--brand-primary)!important}html,body{height:100%}#root{display:block!important}.login-page{--bg-app:#fdf6ed;--bg-surface:#fff;--bg-form:#fffaf3;--bg-input:#f7efe4;--text-main:#343650;--text-muted:#6b6e88;--text-heading:#24263f;--border-light:#efe4d6;--border-main:#ddd0be;--brand-primary:#f28482;--brand-primary-hover:#e06b69;--brand-solid:#c94a45;--brand-solid-hover:#b23f3b;--shadow-card:0 18px 44px -8px #3d2f232e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:var(--bg-app);width:100%;min-height:100dvh;font-family:var(--font-sans);justify-content:center;align-items:center;padding:clamp(12px,2.5vh,24px);display:flex;position:relative;overflow:hidden}.login-page-background{object-fit:cover;pointer-events:none;z-index:0;will-change:transform;width:104%;height:104%;position:fixed;inset:-2%}.login-container{background:var(--bg-form);border:1px solid var(--border-main);width:1100px;max-width:100%;max-height:calc(100dvh - clamp(24px,5vh,48px));box-shadow:var(--shadow-card), 0 20px 50px #0000000a;z-index:1;border-radius:22px;display:flex;position:relative;overflow:hidden}.login-image{border-right:1px solid var(--border-main);background-color:#fdf6ee;flex-direction:column;flex:1.1;gap:clamp(1rem,2.5vh,1.75rem);min-height:0;padding:clamp(1.75rem,4vh,3rem);display:flex;position:relative;overflow:hidden}.login-image-bg{z-index:0;will-change:transform;background-position:100% 0;background-repeat:no-repeat;background-size:cover;width:112%;height:112%;position:absolute;inset:-6%}.login-image-leaves{object-fit:cover;pointer-events:none;z-index:3;opacity:.95;will-change:transform;width:118%;height:118%;position:absolute;inset:-9%}.login-image-header{z-index:2;position:relative}.login-image-tag{letter-spacing:.5px;color:var(--brand-solid);text-transform:uppercase;background:#ffffffa6;border:1px solid #c94a452e;border-radius:100px;padding:6px 14px;font-size:.75rem;font-weight:700;display:inline-block}.login-image-content{z-index:2;max-width:380px;position:relative}.login-image-content h2{font-family:"Outfit", var(--font-sans);color:var(--text-heading);margin:0 0 clamp(1rem,2.5vh,1.75rem);font-size:clamp(1.5rem,3.2vh,2rem);font-weight:700;line-height:1.25}.login-image-highlight{color:var(--brand-solid)}.login-features{flex-direction:column;gap:clamp(.5rem,1.4vh,.85rem);display:flex}.feature-item{color:var(--text-main);align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.feature-item .material-symbols-outlined{width:30px;height:30px;color:var(--brand-solid);background:#ffffffb3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex}.login-image-girl{z-index:1;pointer-events:none;will-change:transform;width:128%;max-width:560px;position:absolute;bottom:-13%;right:-14%}.login-form-wrapper{background:var(--bg-form);z-index:5;flex-direction:column;flex:1;justify-content:center;padding:clamp(1.75rem,4.5vh,3.25rem) clamp(1.75rem,3vw,3.25rem);display:flex;position:relative;overflow-y:auto}.login-brand{align-items:center;gap:10px;margin-bottom:clamp(1.25rem,3vh,2rem);display:flex}.login-brand-icon{object-fit:contain;width:auto;height:32px}.login-brand-text{font-family:"Outfit", var(--font-sans);color:var(--text-heading);letter-spacing:-.5px;font-size:1.65rem;font-weight:800;line-height:1}.login-brand-dot{color:var(--brand-primary)}.login-header h1{font-family:"Outfit", var(--font-sans);color:var(--text-heading);letter-spacing:-.5px;margin-bottom:.4rem;font-size:clamp(1.5rem,3.4vh,2rem);font-weight:700}.login-header p{color:var(--text-muted);margin-bottom:clamp(1.25rem,3.2vh,2rem);font-size:.925rem}.login-form-group{margin-bottom:clamp(.85rem,2.2vh,1.25rem)}.login-form-group label{color:var(--text-main);letter-spacing:.2px;margin-bottom:.45rem;font-size:.85rem;font-weight:600;display:block}.login-input-group{align-items:center;display:flex;position:relative}.login-input-group .input-icon{color:var(--text-muted);pointer-events:none;font-size:1.25rem;position:absolute;left:14px}.login-input{border:1.5px solid var(--border-main);width:100%;color:var(--text-heading);background-color:var(--bg-input);font-size:.95rem;font-family:var(--font-sans);border-radius:12px;outline:none;padding:.75rem 1rem .75rem 2.75rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.login-input::placeholder{color:var(--text-muted);opacity:.7}.login-input:focus{border-color:var(--brand-solid);background-color:var(--bg-surface);box-shadow:0 0 0 4px #c94a4529}.login-input-password{padding-right:2.8rem}.login-password-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;line-height:1;transition:all .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-password-toggle:hover{background-color:var(--border-light);color:var(--text-main)}.login-forgot-wrapper{justify-content:flex-end;margin-top:-.35rem;margin-bottom:clamp(1rem,2.6vh,1.5rem);display:flex}.login-forgot{font-family:var(--font-sans);color:var(--brand-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s}.login-forgot:hover:not(:disabled){color:var(--brand-primary-hover);text-decoration:none}.login-forgot:disabled{opacity:.6;cursor:not-allowed}.login-btn{background-color:var(--brand-solid);color:#fff;cursor:pointer;width:100%;font-size:1rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:12px;padding:.9rem;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 16px -2px #c94a4561}.login-btn:hover{background-color:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #dc26264d}.login-btn:active{transform:translateY(1px);box-shadow:0 2px 6px #dc262633}.login-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.login-error{border-left:4px solid var(--brand-primary);color:var(--brand-primary);background-color:#dc26260f;border-radius:8px;align-items:center;gap:8px;margin-bottom:1.5rem;padding:14px;font-size:.875rem;font-weight:500;display:flex}.login-notice{color:#15803d;background-color:#16a34a0f;border-left:4px solid #16a34a;border-radius:8px;align-items:center;gap:8px;margin-bottom:1.5rem;padding:14px;font-size:.875rem;font-weight:500;line-height:1.5;display:flex}@media (width<=1000px){.login-page{overflow:auto}.login-container{flex-direction:column;max-width:550px;max-height:none}.login-image{border-right:none;border-bottom:1px solid var(--border-main);height:auto;min-height:auto;padding:2.5rem}.login-features,.login-image-girl{display:none}.login-form-wrapper{padding:3rem 2.5rem}}@media (width<=480px){.login-page{padding:12px}.login-image{padding:2rem 1.5rem}.login-image-content h2{font-size:1.75rem}.login-form-wrapper{padding:2rem 1.5rem}.login-brand{margin-bottom:1.5rem}.login-header h1{font-size:1.75rem}.login-header p{margin-bottom:1.75rem}}.login-divider{color:var(--text-muted,#9ca3af);align-items:center;gap:12px;margin:clamp(.9rem,2.4vh,1.35rem) 0 clamp(.8rem,2vh,1.15rem);font-size:.8125rem;display:flex}.login-divider:before,.login-divider:after{content:"";background-color:#94a3b84d;flex:1;height:1px}.login-register-btn{box-sizing:border-box;background-color:var(--bg-surface);width:100%;color:var(--text-main);border:1.5px solid var(--border-main);cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-sans);isolation:isolate;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:.75rem;text-decoration:none;transition:background-color .2s,border-color .2s,transform .15s;display:flex;position:relative;overflow:hidden}.login-register-btn:hover{background-color:var(--bg-input);border-color:var(--text-muted)}.login-register-btn:active{transform:scale(.98)}.login-register-btn>*{z-index:1;position:relative}.login-register-btn .register-btn-bubble{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 30% 30%,#c94a4547,#c94a4529 55%,#c94a450a 100%);border-radius:50%;animation:3s ease-in infinite register-btn-bubble-rise;position:absolute;bottom:-4px}@keyframes register-btn-bubble-rise{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:.9}75%{opacity:.5}to{opacity:0;transform:translateY(-58px)scale(1)}}.login-register-btn .register-btn-ripple{z-index:0;pointer-events:none;background:#c94a4524;border-radius:50%;animation:.6s ease-out forwards register-btn-ripple;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes register-btn-ripple{to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.login-demo-note{text-align:center;color:var(--text-muted);margin:clamp(.7rem,1.8vh,1rem) 0 0;font-size:.8125rem}.login-demo-link{font-family:var(--font-sans);color:var(--brand-solid);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600}.login-demo-link:hover{color:var(--brand-solid-hover)}body.tool-fullscreen #sidebar,body.tool-fullscreen #sidebar-toggle-button,body.tool-fullscreen #sidebar-overlay,body.tool-fullscreen .mobile-topbar,body.tool-fullscreen .app-topbar,body.tool-fullscreen .page-header{display:none!important}body.tool-fullscreen .app-main{margin-left:0!important;padding:0!important}body.tool-fullscreen{overflow:hidden}.tool-dock{z-index:2147483000;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:fixed;bottom:18px;left:18px}.tool-dock-toggle{border:1px solid var(--border-color,#0f172a1f);background:var(--card-bg,#fff);width:48px;height:48px;color:var(--primary-blue,#0056b3);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;transition:transform .18s,background .18s,color .18s;display:flex;box-shadow:0 10px 30px #02142d38}.tool-dock-toggle:hover{transform:translateY(-2px)}.tool-dock-toggle.open{background:var(--primary-blue,#0056b3);color:#fff}.tool-dock-panel{border:1px solid var(--border-color,#0f172a1f);background:var(--card-bg,#fff);border-radius:16px;flex-direction:column;gap:2px;min-width:208px;padding:8px;display:flex;box-shadow:0 18px 45px #02142d42}.tool-dock-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted,#64748b);padding:6px 10px 8px;font-size:.66rem;font-weight:800}.tool-dock-item{width:100%;color:var(--text-main,#0f172a);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:.86rem;font-weight:600;display:flex}.tool-dock-item:hover{background:color-mix(in srgb, var(--primary-blue,#0056b3) 10%, transparent)}.tool-dock-item.active{background:color-mix(in srgb, var(--primary-blue,#0056b3) 16%, transparent);color:var(--primary-blue,#0056b3)}.tool-dock-item.exit{border-top:1px solid var(--border-color,#0f172a1f);color:#e11d48;border-radius:0 0 10px 10px;margin-top:4px}.tool-dock-item.exit:hover{background:#e11d481a}@media (width<=560px){.tool-dock{bottom:12px;left:12px}.tool-dock-toggle{border-radius:14px;width:42px;height:42px}}.wb-toolbar button,.wb-text-tools button{transition:background .15s,transform .12s,box-shadow .15s}.wb-toolbar button:not([data-swatch]):hover:not(:disabled),.wb-text-tools button:hover:not(:disabled){background:color-mix(in srgb, var(--text-heading) 12%, transparent)}.wb-toolbar button:not(:disabled):active,.wb-text-tools button:not(:disabled):active{transform:translateY(1px)}.wb-toolbar button:focus-visible,.wb-text-tools button:focus-visible,.wb-toolbar select:focus-visible,.wb-toolbar input:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.wb-toolbar [data-swatch]:hover{transform:scale(1.12)}.wb-toolbar [data-group]:hover{border-color:color-mix(in srgb, var(--text-heading) 22%, var(--border-main))}.wb-pop{animation:.12s ease-out wb-pop-in}@keyframes wb-pop-in{0%{opacity:0;transform:translateY(-4px)}}.wb-text-tools{animation:.12s ease-out wb-pop-in}.reg-backdrop{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;justify-content:center;align-items:center;padding:24px;animation:.2s reg-fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes reg-fade-in{0%{opacity:0}to{opacity:1}}.reg-modal{background:var(--bg-surface);border:1px solid var(--border-light);width:560px;max-width:100%;max-height:calc(100vh - 48px);box-shadow:var(--shadow-card), 0 24px 60px #0000002e;font-family:var(--font-sans);border-radius:24px;padding:2.5rem;animation:.25s cubic-bezier(.4,0,.2,1) reg-rise;overflow-y:auto}@keyframes reg-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reg-modal::-webkit-scrollbar{width:10px}.reg-modal::-webkit-scrollbar-thumb{background:#94a3b859 padding-box content-box;border:3px solid #0000;border-radius:100px}.reg-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:1.75rem;display:flex}.reg-title{font-family:"Outfit", var(--font-sans);letter-spacing:-.5px;color:var(--text-heading);margin:0 0 .4rem;font-size:1.6rem;font-weight:700}.reg-title-dot{color:var(--brand-primary)}.reg-subtitle{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.reg-close{border:1px solid var(--border-main);background:var(--bg-app);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.reg-close:hover{color:var(--brand-primary);border-color:var(--brand-primary);background:#dc26260f}.reg-steps{align-items:center;gap:10px;margin-bottom:1.5rem;display:flex}.reg-step{color:var(--text-muted);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.reg-step-dot{background:var(--border-light);width:24px;height:24px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.reg-step-active{color:var(--text-heading)}.reg-step-active .reg-step-dot{background:var(--brand-solid);color:#fff}.reg-step-done .reg-step-dot{color:var(--brand-solid);background:#dc262624}.reg-step-done .reg-step-dot.material-symbols-outlined{font-size:15px}.reg-step-line{background:var(--border-main);flex:auto;height:1px}.reg-section{color:var(--text-heading);align-items:center;gap:12px;margin:1.75rem 0 1.25rem;font-size:1.15rem;font-weight:700;display:flex}.reg-section:first-of-type{margin-top:0}.reg-section-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.reg-section-icon-pink{color:var(--brand-solid);background:#f2848229}.reg-section-icon-blue{color:#2563eb;background:#3b82f624}.reg-grid{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.reg-field{flex-direction:column;min-width:0;display:flex}.reg-field-full{grid-column:1/-1}.reg-label{letter-spacing:.2px;color:var(--text-main);align-items:center;gap:5px;margin-bottom:.5rem;font-size:.82rem;font-weight:600;display:flex}.reg-label-hint{color:var(--text-muted);cursor:help;-webkit-user-select:none;user-select:none;font-size:15px}.reg-input-wrap{align-items:center;display:flex;position:relative}.reg-input-icon{color:var(--text-muted);pointer-events:none;font-size:1.2rem;position:absolute;left:14px}.reg-input{border:1px solid var(--border-main);background:var(--bg-app);width:100%;color:var(--text-heading);font-size:.92rem;font-family:var(--font-sans);border-radius:12px;outline:none;padding:.8rem 1rem .8rem 2.75rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.reg-input::placeholder{color:var(--text-muted);opacity:.65}.reg-input:focus{border-color:var(--brand-primary);background:var(--bg-surface);box-shadow:0 0 0 4px #dc26261f}.reg-input:disabled{opacity:.65;cursor:not-allowed}.reg-input-error,.reg-input-error:focus{border-color:var(--brand-primary)}.reg-input-password{padding-right:2.8rem}.reg-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;line-height:1;transition:all .2s;display:flex;position:absolute;right:10px}.reg-toggle:hover{background:var(--border-light);color:var(--text-main)}.reg-error{color:var(--brand-primary);margin-top:.4rem;font-size:.78rem;font-weight:500}.reg-mirror{cursor:pointer;background:#f284821a;border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:11px;margin-bottom:1.1rem;padding:.9rem 1rem;transition:all .2s;display:flex}.reg-mirror:hover{border-color:#dc262659}.reg-mirror-on{border-color:var(--brand-primary);background:#dc26260d}.reg-checkbox{width:16px;height:16px;accent-color:var(--brand-primary);cursor:pointer;flex-shrink:0;margin-top:2px}.reg-mirror-label{color:var(--text-heading);font-size:.85rem;font-weight:600;display:block}.reg-mirror-hint{color:var(--text-muted);margin-top:3px;font-size:.78rem;line-height:1.45;display:block}.reg-banner{border-left:4px solid var(--brand-primary);color:var(--brand-primary);background:#dc26260f;border-radius:8px;align-items:center;gap:8px;margin-top:1.5rem;padding:14px;font-size:.85rem;font-weight:500;line-height:1.5;display:flex}.reg-actions{gap:12px;margin-top:2rem;display:flex}.reg-btn{font-size:.95rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:.95rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.reg-btn-primary{background:var(--brand-solid);color:#fff;border:none;flex:1.25;box-shadow:0 4px 12px #dc262633}.reg-btn-primary:hover:not(:disabled){background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #dc26264d}.reg-btn-primary:active:not(:disabled){transform:translateY(1px)}.reg-btn-ghost{border:1px solid var(--border-main);color:var(--text-main);background:0 0}.reg-btn-ghost:hover:not(:disabled){border-color:var(--text-muted);background:var(--bg-app)}.reg-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.reg-secure{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin:1.25rem 0 0;font-size:.78rem;font-weight:500;display:flex}.reg-success{text-align:center;padding:1rem 0 .5rem}.reg-success-icon{color:#16a34a;background:#16a34a1a;border:1px solid #16a34a33;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:1.25rem;font-size:36px;display:inline-flex}.reg-success .reg-title{margin-bottom:.6rem}.reg-success .reg-subtitle{max-width:380px;margin:0 auto}.reg-success .reg-actions{justify-content:center}.reg-success .reg-btn-primary{flex:0 0 160px}@media (width<=560px){.reg-backdrop{padding:12px}.reg-modal{border-radius:20px;padding:1.75rem 1.35rem}.reg-grid{grid-template-columns:1fr}.reg-title{font-size:1.4rem}}.register-page{--bg-app:#fffbf5;--bg-surface:#fff;--text-main:#3d405b;--text-muted:#767992;--text-heading:#2f3150;--border-light:#f6efe7;--border-main:#ece3d9;--brand-primary:#f28482;--brand-primary-hover:#e06b69;--brand-solid:#c94a45;--shadow-card:0 12px 32px -4px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg-app);width:100%;min-height:100vh;font-family:var(--font-sans);--px:0;--py:0;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:relative;overflow-x:hidden}.register-deco{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed}.register-parallax{transform:translate3d(calc(var(--px) * var(--depth,12px)), calc(var(--py) * var(--depth,12px)), 0) rotate(var(--spin,0deg));will-change:transform;transition:transform .2s ease-out}.register-shapes{--spin:-3deg;--depth:22px;z-index:4;width:15vw;min-width:160px;max-width:220px;top:35vh;right:19vw}.register-pink{--depth:8px;z-index:0;width:42vw;min-width:380px;bottom:-16vh;left:-7vw}.register-leaf{left:-1vw;bottom:calc(-1 * var(--depth));--depth:12px;z-index:1;width:15vw;min-width:180px}.register-scene{right:6vw;bottom:calc(-1 * var(--depth));--depth:14px;z-index:0;filter:blur(3px);width:auto;height:70vh}.register-boy{right:calc(-1 * var(--depth));bottom:calc(-1 * var(--depth));--depth:20px;z-index:1;filter:blur(.3px);width:auto;height:48vh}.register-plane{--depth:30px;z-index:1;width:13vw;min-width:120px;max-width:200px;top:7vh;right:12vw}.register-copy,.register-spacer{z-index:2;flex:1 1 0;min-width:0}.register-copy{max-width:420px;padding-left:clamp(24px,5vw,96px);position:relative}.register-copy-lines{--spin:-8deg;--depth:10px;pointer-events:none;width:30px;height:auto;position:absolute;top:-30px;left:calc(clamp(24px,5vw,96px) + 6px)}.register-copy h1{font-family:"Outfit", var(--font-sans);letter-spacing:-.5px;color:var(--text-heading);margin:0 0 1rem;font-size:2.85rem;font-weight:700;line-height:1.2}.register-copy-dot{color:var(--brand-solid)}.register-copy p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.6}.register-copy-tagline-wrap{width:270px;max-width:80%;margin-top:2.25rem;position:relative}.register-copy-tagline{width:100%;height:auto;display:block}.register-copy-bulb{--spin:10deg;--depth:16px;pointer-events:none;filter:blur(3px);width:42px;height:auto;position:absolute;top:-20px;right:10px}.register-page-card{width:600px;max-width:100%;max-height:min(820px,85vh);box-shadow:var(--shadow-card), 0 24px 60px #00000014;z-index:3;flex:0 0 600px;padding:2.75rem;position:relative;overflow-y:auto}.register-page-back{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:1.5rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.register-page-back:hover{color:var(--brand-primary)}@media (width<=1200px){.register-copy,.register-spacer{display:none}.register-page{justify-content:center}.register-scene,.register-boy,.register-plane{opacity:.5}}@media (width<=720px){.register-deco{display:none}}@media (width<=560px){.register-page{padding:12px}}.verify-page{--bg-app:#fffbf5;--bg-surface:#fff;--text-main:#3d405b;--text-muted:#767992;--text-heading:#2f3150;--border-light:#f6efe7;--border-main:#ece3d9;--brand-primary:#f28482;--brand-solid:#c94a45;--success-solid:#1e9165;--success-solid-hover:#167a53;--shadow-card:0 12px 32px -4px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:radial-gradient(ellipse 60vw 60vh at 12% 88%, #f2848229, transparent 65%), radial-gradient(ellipse 50vw 50vh at 92% 8%, #ffba8224, transparent 65%), radial-gradient(ellipse 40vw 40vh at 85% 90%, #1e916514, transparent 60%), var(--bg-app);width:100%;min-height:100vh;font-family:var(--font-sans);--px:0;--py:0;place-items:center;padding:24px;display:grid;position:relative;overflow:hidden}.verify-deco{pointer-events:none;-webkit-user-select:none;user-select:none;transform:translate3d(calc(var(--px) * var(--depth,12px)), calc(var(--py) * var(--depth,12px)), 0) rotate(var(--spin,0deg));will-change:transform;transition:transform .5s cubic-bezier(.22,1,.36,1);position:fixed}.verify-pink{--spin:-1.5deg;--depth:6px;z-index:0;width:34vw;min-width:360px;max-width:520px;bottom:-20px;left:-20px}.verify-leaf{--spin:-4deg;--depth:20px;z-index:1;width:18vw;min-width:220px;max-width:300px;top:-30px;left:-30px}.verify-leaf.verify-deco{transform:translate3d(calc(var(--px) * var(--depth,12px)), calc(var(--py) * var(--depth,12px)), 0) rotate(var(--spin,0deg)) scaleY(-1)}.verify-plane{--depth:34px;z-index:1;width:10vw;min-width:110px;max-width:170px;top:8vh;right:10vw}.verify-scene{right:5vw;bottom:calc(-1 * var(--depth));--depth:10px;z-index:0;filter:blur(3px);width:auto;height:72vh}.verify-boy{right:calc(-1 * var(--depth));bottom:calc(-1 * var(--depth));--spin:1.5deg;--depth:24px;z-index:2;width:auto;height:58vh}.verify-shapes{opacity:.6;--spin:-4deg;--depth:16px;z-index:1;width:11vw;min-width:130px;max-width:180px;top:38vh;left:5vw}.verify-tagline{--depth:12px;z-index:1;width:16vw;min-width:180px;max-width:240px;height:auto;bottom:8vh;left:5vw}.verify-dot-wrap{z-index:0}.verify-dot{pointer-events:none;background:radial-gradient(circle at 30% 30%,#fffc,#f2848259);border-radius:50%;animation:4s ease-in-out infinite verify-dot-float;display:block}@keyframes verify-dot-float{0%,to{opacity:.55;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-14px)scale(1.15)}}.verify-bulb{pointer-events:none;z-index:1;width:34px;height:auto;position:absolute;top:-22px;right:-18px;transform:rotate(8deg)}.verify-card{z-index:2;background:var(--bg-surface);border:1px solid var(--border-light);width:min(420px,100%);box-shadow:var(--shadow-card), 0 24px 60px #00000014;text-align:center;border-radius:20px;flex-direction:column;align-items:center;padding:40px 32px;display:flex;position:relative}.verify-brand{align-items:center;gap:8px;margin-bottom:28px;display:flex}.verify-brand-icon{width:28px;height:28px}.verify-brand-text{color:var(--text-heading);letter-spacing:-.2px;font-size:1.15rem;font-weight:700}.verify-brand-dot{color:var(--brand-solid)}.verify-icon-circle{border-radius:50%;place-items:center;width:68px;height:68px;margin-bottom:22px;display:grid;position:relative}.verify-title{color:var(--text-heading);margin:0;font-size:1.55rem;font-weight:700}.verify-card-lines{pointer-events:none;z-index:1;width:34px;height:auto;position:absolute;top:-34px;right:-22px;transform:rotate(8deg)}.verify-message{color:var(--text-muted);margin:12px 0 26px;font-size:.95rem;line-height:1.55}.verify-btn{cursor:pointer;width:100%;font-size:.9rem;font-weight:600;font-family:var(--font-sans);box-sizing:border-box;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:.85rem;text-decoration:none;transition:background-color .2s,transform .15s;display:flex;position:relative;overflow:hidden}.verify-btn:active{transform:scale(.98)}.verify-btn-success{background-color:var(--success-solid);color:#fff}.verify-btn-success:hover{background-color:var(--success-solid-hover)}.verify-btn-secondary{color:var(--text-main);border:1px solid var(--border-main);background-color:#0000}.verify-btn-secondary:hover{background-color:var(--bg-app);border-color:var(--text-muted)}.verify-btn .verify-btn-bubble{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 30% 30%,#fffffff2,#ffffff73 55%,#ffffff1a 100%);border-radius:50%;animation:3s ease-in infinite verify-btn-bubble-rise;position:absolute;bottom:-4px}@keyframes verify-btn-bubble-rise{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:.9}75%{opacity:.5}to{opacity:0;transform:translateY(-58px)scale(1)}}.verify-btn>*{z-index:1;position:relative}@keyframes verify-btn-ripple{to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.verify-spinner{border:3px solid var(--border-main);border-top-color:var(--brand-solid);border-radius:50%;width:30px;height:30px;margin-bottom:18px;animation:.8s linear infinite verify-spin}@keyframes verify-spin{to{transform:rotate(360deg)}}@media (width<=720px){.verify-deco,.verify-dot{display:none}}@media (width<=420px){.verify-card{padding:32px 22px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#fffbf5;--bg-surface:#fff;--bg-sidebar-active:#f284821f;--text-main:#3d405b;--text-muted:#666;--text-active:#f28482;--text-heading:#3d405b;--border-light:#f6efe7;--border-main:#ece3d9;--brand-primary:#f28482;--brand-primary-hover:#e06b69;--brand-solid:#c94a45;--brand-solid-hover:#b23f3b;--brand-on-solid:#fff;--branch-accent:#f28482;--branch-surface:#f284820d;--branch-surface-strong:#f284821a;--branch-border:#f2848261;--school-accent:#3b6fd6;--school-surface:#3b6fd60d;--school-surface-strong:#3b6fd61a;--school-border:#3b6fd661;--warning-bg:#fffaeb;--warning-border:#f5c451;--warning-text:#b54708;--warning-text-sub:#93601a;--warning-btn-bg:#b54708;--warning-btn-text:#fff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-card:0 12px 32px -4px #0f172a0a;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--gradient-overlay:radial-gradient(circle at top right, #f284820f, transparent 400px), radial-gradient(circle at bottom left, #f284820a, transparent 400px)}body.dark-mode{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#14110f;--bg-surface:#1e1a18;--bg-sidebar-active:#f2848224;--text-main:#b3aaa4;--text-muted:#8a807a;--text-active:#f6a5a3;--text-heading:#f7f3f0;--border-light:#2a2523;--border-main:#37302c;--brand-primary:#f6a5a3;--brand-primary-hover:#f9c0be;--brand-solid:#d1544f;--brand-solid-hover:#e0625f;--brand-on-solid:#fff;--branch-accent:#f6a5a3;--branch-surface:#f6a5a30d;--branch-surface-strong:#f6a5a31a;--branch-border:#f6a5a352;--school-accent:#7ea6f2;--school-surface:#7ea6f20f;--school-surface-strong:#7ea6f21f;--school-border:#7ea6f257;--warning-bg:#2a2015;--warning-border:#4a3820;--warning-text:#f0b94d;--warning-text-sub:#d9a869;--warning-btn-bg:#c9852e;--warning-btn-text:#1a1408;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--shadow-card:0 12px 32px -4px #0006;--gradient-overlay:radial-gradient(circle at top right, #f2848214, transparent 400px), radial-gradient(circle at bottom left, #f284820d, transparent 400px)}body{font-family:var(--font-sans);background-color:var(--bg-app);background-image:var(--gradient-overlay);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0}*,:before,:after{box-sizing:border-box;transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}#root{width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-heading);margin:0;font-family:inherit;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:20px;display:inline-flex;overflow:hidden}.material-symbols-outlined.font-loaded{color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-main);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button{font-family:var(--font-sans);cursor:pointer;border:none;transition:filter .15s,transform .15s,box-shadow .15s}button:hover:not(:disabled){filter:brightness(1.08)}body.dark-mode button:hover:not(:disabled){filter:brightness(1.25)}button:active:not(:disabled){filter:brightness(.95);transform:translateY(1px)scale(.99)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible{outline:none;box-shadow:0 0 0 3px #dc262659}input,select,textarea{font-family:var(--font-sans);border:1px solid var(--border-main);background-color:var(--bg-app);color:var(--text-heading);border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}select option{background-color:var(--bg-surface);color:var(--text-heading)}input:focus,select:focus,textarea:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #dc262626}.diagnostics-details summary{list-style:none}.diagnostics-details summary::-webkit-details-marker{display:none}.diagnostics-details[open] .diagnostics-chevron{transform:rotate(90deg)}table{border-collapse:collapse;background:var(--bg-surface);width:100%;box-shadow:var(--shadow-sm);border:1px solid var(--border-main);border-radius:8px;overflow:hidden}th{background:var(--bg-app);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--border-main);padding:14px 16px;font-size:12px;font-weight:600}td{color:var(--text-main);border-bottom:1px solid var(--border-light);padding:14px 16px;font-size:14px}tr:last-child td{border-bottom:none}tr:hover td{background-color:var(--bg-sidebar-active)}article[style],.hover-lift{transition:transform .18s,box-shadow .18s,border-color .18s}article[style]:hover,.hover-lift:hover{box-shadow:var(--shadow-card);border-color:var(--border-main);transform:translateY(-2px)}@keyframes rise-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.rise-in{animation:.25s both rise-in}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}main>div,.page-enter{animation:.3s both page-enter}@media (prefers-reduced-motion:reduce){button,article[style],.hover-lift,.interactive-card,.pill-toggle,.hover-row{transition:none}.rise-in,main>div,.page-enter{animation:none}button:hover:not(:disabled){filter:none}button:active:not(:disabled),.interactive-card:hover,article[style]:hover,.hover-lift:hover{transform:none}}.pill-toggle{-webkit-user-select:none;user-select:none;transition:filter .15s,transform .15s}.pill-toggle:hover{filter:brightness(1.1)}.pill-toggle:active{transform:scale(.97)}.interactive-card{transition:border-color .15s,box-shadow .15s,transform .15s}.interactive-card:hover{box-shadow:var(--shadow-sm);transform:translate(2px);border-color:var(--text-muted)!important}.hover-row{transition:background-color .15s}.hover-row:hover{background-color:var(--bg-sidebar-active)!important}.panel{background:var(--bg-surface);border:1px solid var(--border-main);box-shadow:var(--shadow-card);border-radius:12px;padding:24px}.content-grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}@media (width>=1024px){.content-grid.split{grid-template-columns:380px 1fr;align-items:start}}@media (width<=768px){h1{font-size:24px!important}h2{font-size:20px!important}h3{font-size:18px!important}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table{min-width:600px}.form-grid-2,[style*=questionTypeGrid],[style*=statsSummaryGrid]{grid-template-columns:1fr!important}[style*=optionRow]{grid-template-columns:24px 1fr!important;gap:4px!important}[style*=optionLabel]{grid-column:2}[style*=modalContent]{width:95%!important;max-height:85vh!important}[style*=pageHeader]{flex-direction:column!important;align-items:stretch!important;gap:12px!important}[style*=pageHeader] button,[style*=pageHeader] a{justify-content:center!important;width:100%!important}[style*=rowActions]{flex-wrap:wrap!important;justify-content:flex-start!important;gap:6px!important}[style*=rowActions] button{padding:6px 12px!important;font-size:12px!important}[style*=filters]{grid-template-columns:1fr!important;gap:12px!important;padding:16px!important}[style*=panelGrid]{grid-template-columns:1fr!important}[style*=hero]{flex-direction:column!important;align-items:flex-start!important;gap:16px!important;padding:20px 16px!important}[style*=heroStatus]{align-self:flex-start!important}[style*=modalBodyScroll] label{margin:4px 0!important}.page-action-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;width:100%!important}.search-row-container{flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important}.header-actions-container{flex-direction:column!important;justify-content:stretch!important;gap:10px!important;width:100%!important}.header-actions-container button,.header-actions-container a{flex:auto!important;justify-content:center!important;width:100%!important}.table-wrap,[style*=tableContainer],div[style*=overflowX]{-webkit-overflow-scrolling:touch;width:100%!important;overflow-x:auto!important}table,.responsive-table{min-width:750px!important}}.desktop-table-view{display:block}.mobile-cards-view{display:none!important}.desktop-actions{display:flex!important}.mobile-actions{display:none!important}.dropdown-item:hover,.three-dot-btn:hover{background-color:var(--border-light)!important}@media (width<=768px){.desktop-table-view{display:none!important}.mobile-cards-view{flex-direction:column!important;display:flex!important}.desktop-actions{display:none!important}.mobile-actions{display:inline-block!important}}.desktop-filters{flex:1;gap:16px;display:flex!important}.mobile-filter-trigger{display:none!important}@media (width<=768px){.desktop-filters{display:none!important}.mobile-filter-trigger{display:inline-flex!important}}.desktop-inline-form{display:grid!important}.mobile-grant-trigger{display:none!important}@media (width<=768px){.desktop-inline-form{display:none!important}.mobile-grant-trigger{display:inline-flex!important}}.search-input-field:focus{box-shadow:none!important;border-color:#0000!important}.search-input-field{box-sizing:border-box}.search-box-container{box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.search-box-container:focus-within{border-color:var(--brand-primary)!important;box-shadow:0 0 0 3px #dc262626!important}@media (width<=768px){.recorded-lesson-item{grid-template-columns:1fr!important;gap:12px!important}.recorded-lesson-actions{justify-content:flex-start!important;width:100%!important}}@media print{aside,#sidebar,header,.mobile-topbar,#sidebar-toggle-button,#sidebar-overlay,.no-print,.no-print *{display:none!important}html,body{color:#000!important;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}#root,.app-main,main,.app-main>div{min-height:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;margin:0!important;padding:0!important;display:block!important}.question-gen-grid{display:block!important}.worksheet-preview-container{box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;margin:0!important;padding:0!important}.worksheet-print-area{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important}.sheet-paper{box-shadow:none!important;box-sizing:border-box!important;color:#1f2937!important;background:#fff!important;border:none!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important}.sheet-paper *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#1f2937!important}.sheet-paper .sheet-header{border-bottom:2px solid var(--brand-primary)!important;margin-bottom:24px!important;padding-bottom:20px!important}.sheet-paper .questions-print-grid{gap:24px 16px!important;width:100%!important;display:grid!important}.sheet-paper .horizontal-print-grid{gap:15px 20px!important;width:100%!important;display:grid!important}.sheet-paper .vertical-card{box-sizing:border-box!important;background:#dc262605!important;border:1px solid #dc262626!important;border-radius:8px!important;flex-direction:column!important;align-items:center!important;padding:12px 8px!important;display:flex!important}.sheet-paper .vertical-q-num{background:var(--brand-solid)!important;color:#fff!important;border-radius:50%!important;place-items:center!important;width:20px!important;height:20px!important;margin-bottom:8px!important;font-size:11px!important;font-weight:700!important;display:grid!important}.sheet-paper .qNum{color:var(--brand-primary)!important;font-weight:700!important}.sheet-paper .answerText,.sheet-paper .verticalAnswer{color:#dc2626!important;font-weight:700!important}.page-break{page-break-inside:avoid!important}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){.spin{opacity:.7;animation:none}}.demo-banner,.access-banner{margin:0 -40px 24px;padding:10px 40px}.app-main>.demo-banner:first-child,.app-main>.access-banner:first-child{margin-top:-32px}@media (width<=767px){.demo-banner,.access-banner{margin:0 -16px 16px;padding:10px 16px}.app-main>.demo-banner:first-child,.app-main>.access-banner:first-child{margin-top:-16px}}@media print{.demo-banner,.access-banner{display:none!important}}.access-banner-chip{align-self:flex-start;width:fit-content;margin:8px 0 16px;display:inline-flex}@media (width<=767px){.access-banner-chip{align-self:center;margin:8px auto 16px}}
