@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/224e262ef877bfa4-s.0mo8vqgr8yagc.woff2?dpl=dpl_9sQsSBb2Tzi177tMZtJbc1Sh8LxB)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0r4w1y.tjq0ay.woff2?dpl=dpl_9sQsSBb2Tzi177tMZtJbc1Sh8LxB)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.0lcb62h0-.jh3.woff2?dpl=dpl_9sQsSBb2Tzi177tMZtJbc1Sh8LxB)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.0ri_id_kcagyz.woff2?dpl=dpl_9sQsSBb2Tzi177tMZtJbc1Sh8LxB)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.0tqkxa-w3pk~c.woff2?dpl=dpl_9sQsSBb2Tzi177tMZtJbc1Sh8LxB)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_2daf454e-module__xZ8DQq__className{font-family:Nunito,Nunito Fallback;font-style:normal}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#1f93ff;--accent:#ffd84d;--info:#2ec4b6;--danger:#e7358a;--progress-poor:#e7358a;--progress-low:#ff6a3d;--progress-moderate:#ffb30f;--progress-good:#1f93ff;--progress-excellent:#149b74;--on-primary:#fff;--on-info:#fff;--on-accent:#15245c;--on-danger:#fff;--bg-default:#f7f8fe;--bg-subtle:#eef1ff;--bg-muted:#eef1ff;--surface-default:#fff;--surface-raised:#fff;--surface-tooltip:#15245c;--text-primary:#15245c;--text-secondary:#66749e;--text-inverse:#fff;--text-disabled:#9ba7cc;--text-color:#15245c;--icon-default:#15245c;--icon-muted:#66749e;--icon-inverse:#fff;--border-default:#d8def3;--border-strong:#c2cbeb;--border-color:#d8def3;--disabled-bg:#e8ebf4;--disabled-border:#d4d9ea;--state-success-main:#149b74;--state-success-bg:#e8fbf2;--state-success-border:#97e2cc;--state-error-main:#e7358a;--state-error-bg:#ffeaf3;--state-error-border:#f8b8d5;--state-error-dark:#c81e70;--state-warning-main:#ffd84d;--state-warning-bg:#fff8de;--state-warning-border:#ffe08a;--state-info-main:#2ec4b6;--state-info-bg:#e8faf8;--state-info-border:#8be1d8;--interaction-pressed-overlay:#15245c14;--overlay-scrim:#15245c73;--overlay-sheen:#ffffff47;--overlay-white-subtle:#ffffff4d;--blur-overlay:4px;--shadow-color:#15245c2e;--shadow-neutral-subtle:#0000000a;--shadow-neutral:#15245c1f;--shadow-neutral-medium:#00000026;--shadow-neutral-strong:#15245c33;--shadow-error:#e7358a1f;--primary-overlay-subtle:#1f93ff05;--primary-overlay-light:#1f93ff0a;--primary-overlay-soft:#1f93ff0d;--primary-overlay-inset:#1f93ff0f;--primary-overlay-hover:#1f93ff14;--primary-overlay-border:#1f93ff1a;--primary-overlay-active:#1f93ff1f;--primary-shadow-focus:#1f93ff33;--primary-shadow:#1f93ff40;--primary-shadow-strong:#1f93ff4d;--success-shadow:#149b7440;--success-shadow-strong:#149b744d;--success-shadow-deep:#149b7414;--info-shadow:#2ec4b64d;--muted-overlay:#66749e1a;--slate-overlay:#9ba7cc2e;--opacity-icon-subtle:.4;--opacity-disabled:.5;--opacity-disabled-strong:.6;--opacity-subtle:.7;--shadow-sm:0 2px 4px var(--shadow-neutral-subtle);--shadow-md:0 4px 12px var(--primary-shadow-focus);--shadow-lg:0 8px 16px var(--shadow-neutral);--shadow-xl:0 12px 20px var(--primary-shadow-strong);--shadow-xxl:0 24px 48px var(--shadow-neutral-strong);--shadow-card:0 2px 4px var(--shadow-neutral-subtle);--shadow-button:0 4px 12px var(--primary-shadow-focus);--shadow-modal:0 24px 48px var(--shadow-neutral-strong);--spacing-xxs:2px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-xxl:32px;--spacing-xxxl:40px;--spacing-jumbo:48px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-xxl:28px;--radius-pill:999px;--font-family-regular:"Nunito-Regular", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-medium:"Nunito-SemiBold", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-bold:"Nunito-Bold", "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:22px;--font-size-xxl:28px;--line-height-xs:16px;--line-height-sm:20px;--line-height-md:24px;--line-height-lg:26px;--line-height-xl:30px;--line-height-xxl:36px;--letter-spacing-tight:.05em;--letter-spacing-normal:.08em;--letter-spacing-wide:.1em;--letter-spacing-extra:.15em;--motion-duration-instant:0s;--motion-duration-fast:.12s;--motion-duration-normal:.2s;--motion-duration-slow:.28s;--motion-easing-default:ease;--motion-easing-press:cubic-bezier(.14, .84, .28, 1);--motion-translate-subtle:-1px;--motion-translate-modal-start:-20px;--z-base:0;--z-header:10;--z-floating:20;--z-overlay:30;--z-modal:40;--z-toast:50;--breakpoint-sm:640px;--breakpoint-md:1024px;--size-button-sm:44px;--size-button-md:52px;--size-button-lg:60px;--size-input-md:52px;--size-chip-default:48px;--size-icon-sm:16px;--size-icon-md:20px;--size-icon-lg:24px;--size-icon-xl:32px;--size-icon-xxl:40px;--size-avatar-sm:32px;--size-avatar-md:44px;--size-avatar-lg:56px;--size-progress-bar-height:16px;--size-progress-ring-stroke:8px;--size-checkbox:18px;--size-success-badge:64px;--size-spinner:14px;--size-tooltip-min-width:260px;--size-input-field-width:320px;--size-modal-width-percent:90%;--size-modal-height-percent:90vh;--size-tooltip-arrow-outer:8px;--size-tooltip-arrow-inner:7px;--layout-settings-offset:220px;--layout-profile-label-width:160px;--layout-profile-divider-offset:178px;--grid-min-card-width:200px;--size-border-thin:1px;--size-border-normal:2px;--size-border-thick:3px;--size-focus-ring:3px;--max-width-xs:440px;--max-width-sm:500px;--max-width-md:520px;--max-width-lg:560px;--max-width-xl:720px;--gradient-primary:linear-gradient(135deg, var(--primary), var(--primary-dark));--gradient-neutral:linear-gradient(135deg, var(--bg-default), var(--bg-subtle));--gradient-success:linear-gradient(135deg, var(--state-success-main), var(--primary));--gradient-overlay:linear-gradient(135deg, var(--primary-overlay-soft), var(--primary-overlay-hover));--gradient-info:linear-gradient(135deg, var(--info), var(--accent));--gradient-radial-overlay:radial-gradient(circle, var(--primary-overlay-border) 0%, transparent 70%);--sidebar-width:240px;--primary-dark:#1878d9;--text-muted:#66749e;font-family:var(--font-family-regular)}*,:before,:after{box-sizing:border-box}html,body{background:radial-gradient(circle at top left, #1f93ff29, transparent 28%), radial-gradient(circle at top right, #ffd84d33, transparent 24%), linear-gradient(180deg, #eef1ff 0%, var(--bg-default) 46%, #fff 100%);min-height:100%;color:var(--text-primary);margin:0;padding:0}body{isolation:isolate;min-height:100vh;display:flex;position:relative}.app-root{z-index:1;flex:1;width:100%;min-height:100vh;display:flex;position:relative}.background-orb{filter:blur(10px);opacity:.9;pointer-events:none;z-index:-1;border-radius:999px;position:fixed}.background-orb--blue{background:#1f93ff2e;width:280px;height:280px;top:8%;left:-8%}.background-orb--yellow{background:#ffd84d38;width:260px;height:260px;bottom:10%;right:-6%}.background-orb--teal{background:#2ec4b638;width:120px;height:120px;top:18%;right:12%}a{color:inherit;text-decoration:none}main{flex:1}button,input,select{font-family:inherit}.app-shell{width:100%;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--surface-default);border-right:var(--size-border-thin) solid var(--border-default);padding:var(--spacing-lg) var(--spacing-lg);gap:var(--spacing-lg);flex-direction:column;display:flex}.sidebar-header{gap:var(--spacing-xs);flex-direction:column;display:flex}.sidebar-brand{align-items:center;gap:var(--spacing-sm);font-family:var(--font-family-medium);min-width:0;display:inline-flex}.sidebar-brand-icon{flex-shrink:0;width:2.5rem;height:2.5rem}.sidebar-brand-name{color:var(--primary);font-family:var(--font-family-bold);font-size:var(--font-size-lg);line-height:var(--line-height-sm);white-space:nowrap}.sidebar-nav{gap:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:var(--font-size-md);line-height:var(--line-height-md);flex-direction:column;padding:0;display:flex;position:relative}.sidebar-nav a{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);transition:background var(--motion-duration-normal) var(--motion-easing-default), color var(--motion-duration-normal) var(--motion-easing-default);display:block}.sidebar-nav a:hover{background:var(--state-success-bg)}.sidebar-nav a.active{background:var(--state-success-bg);color:var(--primary)}.tooltip-warning{background:var(--state-warning-bg);color:var(--state-warning-main);border:var(--size-border-thin) solid var(--state-warning-border);gap:var(--spacing-md);align-items:flex-start}.tooltip-warning:after{content:"";top:calc(var(--spacing-xs) * -1.5);border-left:var(--size-tooltip-arrow-outer) solid transparent;border-right:var(--size-tooltip-arrow-outer) solid transparent;border-bottom:var(--size-tooltip-arrow-outer) solid var(--state-warning-border);width:0;height:0;position:absolute;left:50%;transform:translate(-50%)}.tooltip-warning:before{content:"";top:calc(var(--spacing-xs) * -1.25);border-left:var(--size-tooltip-arrow-inner) solid transparent;border-right:var(--size-tooltip-arrow-inner) solid transparent;border-bottom:var(--size-tooltip-arrow-inner) solid var(--state-warning-bg);width:0;height:0;position:absolute;left:50%;transform:translate(-50%)}.tooltip-icon{font-size:var(--font-size-lg);margin-top:var(--spacing-xxs);flex:none;line-height:1}.tooltip-content{flex:auto}.delete-confirm-name{color:var(--state-error-main)}.danger-box{align-items:flex-start;gap:var(--spacing-md);background:var(--state-error-bg);color:var(--state-error-main);border:var(--size-border-thin) solid var(--state-error-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);margin-top:var(--spacing-sm);display:flex}.warning-icon{font-size:var(--font-size-lg);margin-top:var(--spacing-xxs);flex:none;line-height:1}.warning-content{flex:auto}.sidebar-section{margin-top:var(--spacing-lg);text-transform:uppercase;font-size:var(--font-size-xs);color:var(--text-secondary);letter-spacing:var(--letter-spacing-normal)}.sidebar-empty{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.sidebar-divider{margin:var(--spacing-md) 0;height:var(--size-border-thin);background:var(--border-default);border-radius:var(--radius-pill);width:100%}.sidebar-account-section{border-top:var(--size-border-thin) solid var(--border-default);padding-top:var(--spacing-lg);margin-top:auto;position:relative}.sidebar-account-trigger{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-sm);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--motion-duration-normal) var(--motion-easing-default);background:0 0;border:none;display:flex}.sidebar-account-trigger:hover{background:var(--primary-overlay-hover)}.sidebar-account-avatar{width:var(--size-avatar-md);height:var(--size-avatar-md);background:var(--gradient-primary);color:var(--text-inverse);font-size:var(--font-size-sm);font-family:var(--font-family-medium);border:var(--size-border-thin) solid var(--border-default);box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-account-details{gap:var(--spacing-xxs);text-align:left;flex-direction:column;display:flex;overflow:hidden}.sidebar-account-details strong{font-size:var(--font-size-sm);font-family:var(--font-family-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-account-details span{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-account-menu{bottom:100%;left:var(--spacing-sm);right:var(--spacing-sm);margin-bottom:var(--spacing-sm);background:var(--surface-default);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default);box-shadow:var(--shadow-lg);padding:var(--spacing-sm);gap:var(--spacing-xxs);z-index:var(--z-modal);flex-direction:column;display:flex;position:absolute}.sidebar-account-menu button{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-align:left;cursor:pointer;color:var(--text-primary);font-family:var(--font-family-medium);transition:background var(--motion-duration-normal) var(--motion-easing-default);background:0 0;border:none}.sidebar-account-menu button:hover{background:var(--state-success-bg);color:var(--primary)}.app-content{flex-direction:column;flex:1;min-height:100vh;display:flex;position:relative}.app-main{padding:var(--spacing-jumbo);flex:1;overflow-y:auto}.settings-tabs{gap:var(--spacing-xl);flex-direction:column;display:flex}.settings-tab-list{gap:var(--spacing-jumbo);border-bottom:var(--size-border-thin) solid var(--border-default);padding-bottom:var(--spacing-md);display:flex}.settings-tab-button{padding:0 0 var(--spacing-md);font-family:var(--font-family-medium);font-size:var(--font-size-md);color:var(--text-secondary);cursor:pointer;transition:color var(--motion-duration-normal) var(--motion-easing-default);background:0 0;border:none;position:relative}.settings-tab-button:hover{color:var(--text-primary)}.settings-tab-button:after{content:"";width:0;height:var(--size-border-thick);border-radius:var(--radius-pill);background:var(--primary);transition:width var(--motion-duration-normal) var(--motion-easing-default);position:absolute;bottom:0;left:0}.settings-tab-button.active{color:var(--primary)}.settings-tab-button.active:after{width:100%}.settings-tab-panel{padding:var(--spacing-xl) 0 0 0;box-shadow:none;justify-content:flex-start;align-items:center;gap:var(--spacing-xl);padding-top:var(--spacing-xl);min-height:calc(100vh - var(--layout-settings-offset));background:0 0;border:none;border-radius:0;flex-direction:column;display:flex}.settings-tab-panels{flex-direction:column;display:flex}.settings-tab-panel .profile-section-card{width:100%;max-width:var(--max-width-xl);display:block}.settings-tab-panel.hidden{display:none}.page-section{background:var(--surface-default);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default)}.students-manager{gap:var(--spacing-xl);flex-direction:column;display:flex}.students-header-row{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.page-header{margin-bottom:var(--spacing-xl)}.page-header p{margin:var(--spacing-sm) 0 0 0;color:var(--text-secondary)}.page-section h2{margin-top:0;margin-bottom:var(--spacing-lg)}.empty-state{color:var(--text-secondary)}.empty-state-card{background:var(--gradient-neutral);border:1px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-xxxl) var(--spacing-jumbo);text-align:center;align-items:center;gap:var(--spacing-xl);margin:var(--spacing-jumbo) 0;flex-direction:column;display:flex}.empty-state-card h3{font-size:var(--font-size-xl);font-family:var(--font-family-medium);color:var(--text-primary);margin:0}.empty-state-card p{font-size:var(--font-size-md);color:var(--text-secondary);max-width:var(--max-width-lg);line-height:var(--line-height-lg);margin:0}.empty-state-card a{color:var(--primary);font-family:var(--font-family-medium);align-items:center;gap:var(--spacing-xs);transition:color var(--motion-duration-normal) var(--motion-easing-default);text-decoration:none;display:inline-flex}.empty-state-card a:hover{color:var(--primary-dark);text-decoration:underline}.empty-state-card button{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);background:var(--gradient-primary);color:var(--text-inverse);font-family:var(--font-family-medium);font-size:var(--font-size-md);cursor:pointer;box-shadow:var(--shadow-lg) var(--primary-shadow);transition:all var(--motion-duration-normal) var(--motion-easing-default);border:none}.empty-state-card button:hover{transform:translateY(var(--motion-translate-subtle));box-shadow:var(--shadow-xl) var(--primary-shadow-strong)}.student-card-name{font-size:var(--font-size-lg);font-family:var(--font-family-medium);color:var(--text-primary)}.students-cards-list{gap:var(--spacing-lg);margin-top:var(--spacing-xl);flex-direction:column;display:flex}.student-card-horizontal{align-items:flex-start;gap:var(--spacing-lg);background:var(--surface-default);border:var(--size-border-thin) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);display:flex}.student-avatar{width:var(--size-avatar-lg);height:var(--size-avatar-lg);min-width:var(--size-avatar-lg);background:var(--gradient-primary);color:var(--text-inverse);font-size:var(--font-size-lg);font-family:var(--font-family-medium);border-radius:50%;justify-content:center;align-items:center;display:flex}.student-card-content{gap:var(--spacing-md);flex-direction:column;flex:1;display:flex}.student-card-main{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);display:flex}.student-card-info{gap:var(--spacing-xxs);flex-direction:column;display:flex}.student-card-grade{font-size:var(--font-size-sm);color:var(--text-secondary)}.student-card-actions{gap:var(--spacing-sm);align-items:center;display:flex}.student-activation-code{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--size-border-thin) solid var(--border-color);display:flex}.activation-code-display{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.activation-code-label{font-size:var(--font-size-sm);color:var(--text-muted)}.activation-code-value-button{font-family:SF Mono,Menlo,Monaco,monospace;font-size:var(--font-size-md);font-family:var(--font-family-medium);color:var(--text-color);letter-spacing:var(--letter-spacing-wide);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:none;transition:all .2s;position:relative}.activation-code-value-button:not(:disabled):hover{background:var(--state-success-bg);color:var(--primary)}.activation-code-value-button:not(:disabled):active{background:var(--primary-overlay-active)}.activation-code-value-button:disabled{cursor:default;opacity:var(--opacity-disabled-strong)}.copied-tooltip{z-index:var(--z-toast);background:var(--state-success-main);color:var(--text-inverse);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-family:var(--font-family-medium);pointer-events:none;box-shadow:var(--shadow-lg) var(--success-shadow-strong);animation:2s ease-in-out forwards tooltipFadeInOut;position:fixed;transform:translate(-50%,-120%)}@keyframes tooltipFadeInOut{0%{opacity:0;transform:translate(-50%,-100%)}10%,90%{opacity:1;transform:translate(-50%,-120%)}to{opacity:0;transform:translate(-50%,-140%)}}.copied-message{font-size:var(--font-size-xs);color:var(--state-success-main);background:var(--state-success-bg);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-xs);font-family:var(--font-family-medium);animation:2s ease-in-out fadeInOut}.activation-code-status{font-size:var(--font-size-xs);font-family:var(--font-family-medium);padding:var(--spacing-xxs) var(--spacing-sm);border-radius:var(--radius-pill);text-transform:uppercase}.status-active{background:var(--state-success-bg);color:var(--state-success-main)}.status-expired{background:var(--state-error-bg);color:var(--state-error-main)}.status-redeemed{background:var(--muted-overlay);color:var(--text-secondary)}.btn-text{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--primary);font-family:var(--font-family-medium);cursor:pointer;transition:all var(--motion-duration-normal) var(--motion-easing-default);font-size:var(--font-size-sm);background:0 0;border:none}.btn-text:hover:not(:disabled){background:var(--state-success-bg)}.btn-text:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-primary{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--gradient-primary);color:var(--text-inverse);font-family:var(--font-family-medium);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--motion-duration-normal) var(--motion-easing-default);font-size:var(--font-size-sm);border:none}.btn-primary:hover{transform:translateY(var(--motion-translate-subtle));box-shadow:var(--shadow-lg) var(--primary-shadow-strong)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;box-shadow:var(--shadow-sm) var(--primary-overlay-border);transform:none}.btn-primary:disabled:hover{box-shadow:var(--shadow-sm) var(--primary-overlay-border);transform:none}.btn-secondary{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default);background:var(--surface-default);color:var(--text-primary);font-family:var(--font-family-medium);cursor:pointer;transition:all var(--motion-duration-normal) var(--motion-easing-default);font-size:var(--font-size-sm);line-height:var(--line-height-md);justify-content:center;align-items:center;display:flex}.btn-secondary:hover:not(:disabled){background:var(--bg-default);border-color:var(--text-secondary);transform:translateY(var(--motion-translate-subtle))}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:var(--opacity-disabled-strong);cursor:not-allowed}.btn-small{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);height:var(--size-button-sm)}.btn-danger{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--state-error-main);background:var(--state-error-main);color:var(--text-inverse);font-family:var(--font-family-medium);cursor:pointer;transition:all var(--motion-duration-normal) var(--motion-easing-default);font-size:var(--font-size-sm)}.btn-danger:hover:not(:disabled){background:var(--state-error-dark,#c64545);border-color:var(--state-error-dark,#c64545);transform:translateY(var(--motion-translate-subtle))}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-danger:disabled{opacity:var(--opacity-disabled-strong);cursor:not-allowed;background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--text-disabled)}.modal-overlay{background:var(--overlay-scrim);z-index:var(--z-modal);-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xxl);max-width:var(--max-width-sm);width:var(--size-modal-width-percent);max-height:var(--size-modal-height-percent);animation:modalSlideIn var(--motion-duration-normal) ease-out;padding:var(--spacing-xl);flex-direction:column;display:flex;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(var(--motion-translate-modal-start))}to{opacity:1;transform:translateY(0)}}.modal-header{padding:0 0 var(--spacing-lg) 0;border-bottom:var(--size-border-thin) solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--font-size-lg);font-family:var(--font-family-medium);margin:0}.modal-close{font-size:var(--font-size-xl);color:var(--text-secondary);cursor:pointer;width:var(--size-avatar-sm);height:var(--size-avatar-sm);border-radius:var(--radius-lg);transition:all var(--motion-duration-normal) var(--motion-easing-default);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.modal-close:hover{background:var(--state-error-bg);color:var(--state-error-main)}.add-child-form,.add-student-form{padding:var(--spacing-xl) 0 0 0;gap:var(--spacing-xl);flex-direction:column;display:flex}.form-row{gap:var(--spacing-sm);flex-direction:column;display:flex}.form-row label{font-family:var(--font-family-medium)}.form-row input{padding:var(--spacing-md) var(--spacing-md);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default);background:var(--surface-default)}.form-row input:focus{outline:2px solid var(--primary-shadow-focus)}.form-status{padding:var(--spacing-md) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);margin:0}.form-status.success{background:var(--state-success-bg);border:var(--size-border-thin) solid var(--state-success-main);color:var(--state-success-main)}.form-status.error{background:var(--state-error-bg);border:var(--size-border-thin) solid var(--state-error-main);color:var(--state-error-main)}.profile-form{gap:var(--spacing-md);flex-direction:column;width:auto;margin:0 auto;display:flex}.profile-section-card{vertical-align:top;background:var(--surface-default);border:var(--size-border-thin) solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-lg);display:inline-block}.profile-section-title{font-size:var(--font-size-lg);font-family:var(--font-family-medium);color:var(--text-primary);width:100%;padding-bottom:var(--spacing-md);margin:0 0 var(--spacing-md) 0;border-bottom:var(--size-border-thin) solid var(--border-default);display:block}.profile-field-row{grid-template-columns:var(--layout-profile-label-width) auto;column-gap:var(--spacing-lg);row-gap:var(--spacing-sm);padding:var(--spacing-sm) 0;align-items:flex-start;display:grid}.profile-field-label{font-family:var(--font-family-medium);color:var(--text-primary);padding-top:var(--spacing-sm)}.profile-field-input{gap:var(--spacing-sm);flex-direction:column;display:flex}.profile-field-input input{width:var(--size-input-field-width);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default);background:var(--surface-default)}.profile-field-input input:focus{outline:2px solid var(--primary-shadow-focus)}.profile-field-helper{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.input-error{font-size:var(--font-size-sm);color:var(--state-error-main);padding-top:var(--spacing-sm);margin:0}.profile-form-actions{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.profile-divider{width:100%;height:var(--size-border-thin);background:var(--border-color);margin-bottom:var(--spacing-lg)}.profile-field-row.profile-save-row .profile-field-input{padding-top:var(--spacing-xl);position:relative}.profile-field-row.profile-save-row .profile-divider{top:0;left:calc(var(--layout-profile-divider-offset) * -1);width:calc(100% + var(--layout-profile-divider-offset));z-index:0;margin:0;position:absolute}@media (max-width:640px){.profile-section-card{padding:var(--spacing-lg)}.profile-field-row{row-gap:var(--spacing-sm);grid-template-columns:1fr}.profile-field-label{padding-top:0}.profile-field-input input{max-width:100%}.profile-field-row.profile-save-row .profile-field-input{position:static}.profile-field-row.profile-save-row .profile-divider{width:100%;margin-bottom:var(--spacing-md);position:static;left:0}}.form-error{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--state-error-bg);border:var(--size-border-thin) solid var(--state-error-border);color:var(--state-error-main);font-size:var(--font-size-sm);margin:0}.form-actions-modal{gap:var(--spacing-md);margin-top:var(--spacing-sm);justify-content:flex-end;display:flex}.consent-step{padding:var(--spacing-xl) 0 0 0;gap:var(--spacing-xl);flex-direction:column;display:flex}.consent-intro{line-height:var(--line-height-lg);color:var(--text-primary)}.consent-intro p{margin:0}.consent-policy-link{padding:var(--spacing-lg);background:var(--bg-default);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default)}.consent-policy-link a{color:var(--primary);font-family:var(--font-family-medium);transition:color var(--motion-duration-normal) var(--motion-easing-default);text-decoration:none}.consent-policy-link a:hover{color:var(--primary-dark)}.consent-checkbox{padding:var(--spacing-lg);background:var(--surface-default);border:var(--size-border-thin) solid var(--border-default);border-radius:var(--radius-lg)}.consent-checkbox label{gap:var(--spacing-lg);cursor:pointer;align-items:flex-start;display:flex}.consent-checkbox input[type=checkbox]{margin-top:var(--spacing-sm);width:var(--size-checkbox);height:var(--size-checkbox);cursor:pointer;flex-shrink:0}.consent-checkbox span{line-height:var(--line-height-md);color:var(--text-primary)}.activation-step{padding:var(--spacing-xl) 0 0 0;gap:var(--spacing-xl);flex-direction:column;display:flex}.activation-success-message{align-items:center;gap:var(--spacing-lg);text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background:var(--state-success-bg);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--state-success-border);flex-direction:column;display:flex}.success-icon{width:var(--size-success-badge);height:var(--size-success-badge);background:var(--gradient-success);color:var(--text-inverse);font-size:var(--size-icon-xxl);font-family:var(--font-family-bold);box-shadow:var(--shadow-xl) var(--success-shadow);border-radius:50%;justify-content:center;align-items:center;display:flex}.success-text{font-size:var(--font-size-md);line-height:var(--line-height-lg);color:var(--state-success-main);font-family:var(--font-family-medium);margin:0}.activation-code-section{gap:var(--spacing-md);flex-direction:column;display:flex}.activation-code-section-label{font-size:var(--font-size-sm);font-family:var(--font-family-medium);color:var(--text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.activation-code-box{padding:var(--spacing-xl);background:var(--bg-default);border:2px dashed var(--border-default);border-radius:var(--radius-lg);transition:all var(--motion-duration-normal) var(--motion-easing-default);justify-content:center;align-items:center;display:flex}.activation-code-box:hover{border-color:var(--primary);background:var(--primary-overlay-subtle)}.activation-code-box-clickable{cursor:pointer;border:2px dashed var(--border-default);width:100%;padding:var(--spacing-xl);border-radius:var(--radius-lg);transition:all var(--motion-duration-normal) var(--motion-easing-default);background:0 0;justify-content:center;align-items:center;display:flex}.activation-code-box-clickable:hover{border-color:var(--primary);background:var(--primary-overlay-soft)}.activation-code-box-clickable:active{background:var(--primary-overlay-hover);transform:scale(.98)}.activation-code-value-display{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-xxl);font-family:var(--font-family-bold);color:var(--primary);letter-spacing:var(--letter-spacing-extra);-webkit-user-select:all;user-select:all;cursor:text}.activation-instructions{padding:var(--spacing-lg);background:var(--primary-overlay-light);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--primary-overlay-border)}.activation-instructions p{font-size:var(--font-size-sm);line-height:var(--line-height-lg);color:var(--text-secondary);margin:0}.tooltip-wrapper{display:inline-block;position:relative}.tooltip-wrapper.disabled{cursor:not-allowed}.tooltip{bottom:calc(100% + var(--spacing-sm));background:var(--surface-tooltip);color:var(--text-inverse);padding:var(--spacing-md) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-md);box-shadow:var(--shadow-md);white-space:normal;max-width:var(--max-width-lg);min-width:var(--size-tooltip-min-width);overflow-wrap:anywhere;word-break:break-word;z-index:var(--z-floating);opacity:0;pointer-events:none;transition:opacity var(--motion-duration-fast) var(--motion-easing-default);position:absolute;left:50%;transform:translate(-50%)}.tooltip-wrapper:hover .tooltip{opacity:1}.progress-tree{gap:var(--spacing-xl);flex-direction:column;display:flex}.progress-tree-header h2{margin:0}.topic-list{gap:var(--spacing-lg);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.topic-item{border:var(--size-border-thin) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-lg);background:var(--surface-default)}.topic-title{font-family:var(--font-family-medium);margin-bottom:var(--spacing-md)}.skill-list{gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skill-item{padding:var(--spacing-sm) 0;border-bottom:var(--size-border-thin) solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.skill-item:last-child{border-bottom:none}.skill-name{font-family:var(--font-family-medium)}.skill-meta{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.pill{padding:var(--spacing-xxs) var(--spacing-md);border-radius:var(--radius-pill);background:var(--state-success-bg);color:var(--primary-dark);font-size:var(--font-size-xs)}.pill.subtle{background:var(--slate-overlay);color:var(--text-secondary)}.stats-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit, minmax(var(--grid-min-card-width), 1fr));display:grid}.stat-card{border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default);padding:var(--spacing-xl);background:var(--surface-default);box-shadow:inset 0 0 0 1px var(--primary-overlay-inset);gap:var(--spacing-sm);flex-direction:column;display:flex}.stat-card.subtle{opacity:var(--opacity-subtle)}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.stat-value{font-size:var(--font-size-xxl);font-family:var(--font-family-medium);color:var(--primary-dark)}.auth-container{min-height:100vh}.auth-split{grid-template-columns:1fr 1fr;width:100%;min-height:100vh;display:grid}.auth-form-section{padding:var(--spacing-jumbo);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffad;justify-content:center;align-items:center;display:flex}.auth-form-wrapper{width:100%;max-width:var(--max-width-xs);gap:var(--spacing-xxxl);flex-direction:column;display:flex}.auth-brand h1{font-size:var(--font-size-xl);font-family:var(--font-family-bold);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0}.auth-brand--image{width:100%;margin-top:calc(var(--spacing-xl) * -1);margin-bottom:var(--spacing-lg);justify-content:center;display:flex}.auth-brand-image{width:min(8.5rem,40vw);height:auto;display:block}.auth-header h2{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xxl);font-family:var(--font-family-medium)}.auth-header p{color:var(--text-secondary);font-size:var(--font-size-md);margin:0}.auth-form{gap:var(--spacing-xl);flex-direction:column;display:flex}.auth-field{gap:var(--spacing-sm);flex-direction:column;display:flex}.auth-field-label-row{justify-content:space-between;align-items:center;display:flex}.auth-field label{font-family:var(--font-family-medium);font-size:var(--font-size-sm);color:var(--text-primary)}.auth-field input{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:var(--size-border-thin) solid var(--border-default);background:var(--surface-default);font-size:var(--font-size-md);transition:all var(--motion-duration-normal) var(--motion-easing-default)}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 var(--size-focus-ring) var(--primary-overlay-border);outline:none}.auth-field input:disabled{opacity:var(--opacity-disabled-strong);cursor:not-allowed;background:var(--bg-default)}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{width:100%;padding-right:var(--size-button-sm)}.password-toggle{right:var(--spacing-md);border-radius:var(--radius-md);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:none;transition:color var(--motion-duration-normal) var(--motion-easing-default);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.password-toggle:hover{color:var(--primary);background:0 0}.password-toggle:focus{color:var(--primary);background:0 0;outline:none}.password-toggle svg{display:block}.auth-error{padding:var(--spacing-lg) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--state-error-bg);border:var(--size-border-thin) solid var(--state-error-border);color:var(--state-error-main);font-size:var(--font-size-sm);line-height:var(--line-height-md);align-items:flex-start;gap:var(--spacing-md);box-shadow:var(--shadow-sm) var(--shadow-error);display:flex}.auth-error:before{content:"⚠";font-size:var(--font-size-lg);margin-top:var(--size-border-thin);flex-shrink:0}.auth-submit{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--gradient-primary);color:var(--text-inverse);font-family:var(--font-family-medium);font-size:var(--font-size-md);cursor:pointer;box-shadow:var(--shadow-lg) var(--primary-shadow);transition:all var(--motion-duration-normal) var(--motion-easing-default);border:none}.auth-submit:hover:not(:disabled){transform:translateY(var(--motion-translate-subtle));box-shadow:var(--shadow-xl) var(--primary-shadow-strong)}.auth-submit:disabled{opacity:var(--opacity-disabled-strong);cursor:not-allowed;box-shadow:var(--shadow-sm) var(--primary-overlay-border);transform:none}.button-spinner{align-items:center;gap:var(--spacing-sm);display:inline-flex}.spinner{width:var(--size-spinner);height:var(--size-spinner);border:2px solid var(--overlay-white-subtle);border-top-color:var(--text-inverse);border-radius:50%;animation:.6s linear infinite spin}.reset-code-info{padding:var(--spacing-lg) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--state-success-bg);border:var(--size-border-thin) solid var(--state-success-border);color:var(--state-success-main);font-size:var(--font-size-sm);line-height:var(--line-height-md);align-items:flex-start;gap:var(--spacing-lg);box-shadow:var(--shadow-sm) var(--success-shadow-deep);display:flex}.reset-code-message{gap:var(--spacing-xxs);flex-direction:column;flex:1;display:flex}.reset-code-message strong{font-family:var(--font-family-medium);display:block}.auth-footer{gap:var(--spacing-lg);padding-top:var(--spacing-sm);flex-direction:column;display:flex}.auth-footer p{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;margin:0}.auth-link{color:var(--primary);font-family:var(--font-family-medium);transition:color var(--motion-duration-normal) var(--motion-easing-default);text-decoration:none}.auth-link:hover{color:var(--primary-dark);text-decoration:underline}.auth-terms{line-height:var(--line-height-md);font-size:var(--font-size-sm)!important}.auth-testimonial-section{padding:var(--spacing-jumbo);background:var(--gradient-overlay);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-testimonial-section:before{content:"";background:var(--gradient-radial-overlay);pointer-events:none;width:100%;height:100%;position:absolute;top:-50%;right:-50%}.auth-testimonial{max-width:var(--max-width-md);gap:var(--spacing-xxxl);flex-direction:column;display:flex;position:relative}.testimonial-quote{gap:var(--spacing-xl);flex-direction:column;display:flex}.quote-icon{color:var(--primary);opacity:var(--opacity-icon-subtle)}.testimonial-quote p{font-size:var(--font-size-lg);line-height:var(--line-height-xl);color:var(--text-primary);margin:0}.testimonial-author{align-items:center;gap:var(--spacing-lg);display:flex}.author-avatar{width:var(--size-avatar-lg);height:var(--size-avatar-lg);background:var(--gradient-info);color:var(--text-inverse);font-family:var(--font-family-medium);font-size:var(--font-size-lg);box-shadow:var(--shadow-lg) var(--info-shadow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.author-info{gap:var(--spacing-xxs);flex-direction:column;display:flex}.author-name{font-family:var(--font-family-medium);font-size:var(--font-size-md);color:var(--text-primary)}.author-role{font-size:var(--font-size-sm);color:var(--text-secondary)}@media (max-width:1024px){.auth-split{grid-template-columns:1fr}.auth-testimonial-section{display:none}.auth-form-section{min-height:100vh}}
