@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{--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}input[type=checkbox],input[type=radio]{flex-shrink:0;width:auto;padding:0}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}}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)}: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;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.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}.dashboard-container{color:#3d405b;background-color:#fffbf5;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.dashboard-card{text-align:center;background:#fff;border:1px solid #ece3d9;border-radius:20px;width:100%;max-width:520px;padding:2.5rem;box-shadow:0 12px 32px -4px #0f172a14}.dashboard-icon{color:#c94a45;margin-bottom:1rem;font-size:48px}.dashboard-card h1{color:#24263f;margin-bottom:.5rem;font-family:Outfit,sans-serif;font-size:1.8rem}.dashboard-card p{color:#6b6e88;margin-bottom:1.5rem;font-size:.95rem}.dashboard-badge{color:#15803d;background:#16a34a1a;border-radius:999px;align-items:center;gap:6px;margin-bottom:1.5rem;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.dashboard-info{text-align:left;background-color:#f7efe4;border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-size:.875rem}.dashboard-info-row{border-bottom:1px solid #ece3d9;justify-content:space-between;padding:.4rem 0;display:flex}.dashboard-info-row:last-child{border-bottom:none}.dashboard-info-label{color:#6b6e88;font-weight:500}.dashboard-info-value{color:#24263f;font-weight:600}.dashboard-logout-btn{color:#fff;cursor:pointer;background-color:#c94a45;border:none;border-radius:12px;width:100%;padding:.85rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #c94a4540}.dashboard-logout-btn:hover{background-color:#b23f3b;box-shadow:0 6px 16px #c94a4559}.loading-screen{color:#6b6e88;background-color:#fffbf5;justify-content:center;align-items:center;min-height:100vh;font-family:Outfit,sans-serif;font-size:1.1rem;display:flex}
