@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#fafafc;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f6f7fa;--bg-sunken:#f1f2f6;--text-primary:#15171e;--text-secondary:#4e5567;--text-muted:#646b7e;--accent-primary:#4f46e5;--accent-secondary:#7a22ce;--accent-hover:#4338ca;--accent-contrast:#fff;--accent-wash:#f4f3fe;--accent-soft:#eeedfd;--accent-line:#d9d6fa;--accent-line-strong:#b7b2f2;--accent-glow:transparent;--border:#e2e4ec;--border-hover:#c3c8d6;--border-interactive:#7d8494;--success:#046c4e;--success-soft:#e7f6ef;--warning:#9a5b00;--warning-soft:#fdf3e2;--error:#c01b3c;--error-soft:#fdebef;--role-student:#a65200;--role-teacher:#4f46e5;--role-parent:#046c4e;--role-admin:#7a22ce;--elev-1:0 1px 2px #10121c0f, 0 0 0 1px #10121c0a;--elev-2:0 4px 12px #10121c1a, 0 0 0 1px #10121c0d;--elev-3:0 16px 48px #10121c2e, 0 0 0 1px #10121c0f;--veil:#10121c52;--skeleton-shine:#10121c0d;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--text-xs:.8125rem;--text-sm:.875rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-2xl:2.25rem;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--motion-ease:cubic-bezier(.2, 0, .15, 1);--navbar-height:64px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#14161c;--bg-secondary:#1c1f27;--bg-card:#1c1f27;--bg-card-hover:#232732;--bg-sunken:#0f1116;--text-primary:#edeef2;--text-secondary:#aeb4c4;--text-muted:#8b93a6;--accent-primary:#a5a2ff;--accent-secondary:#c99bf5;--accent-hover:#bdbbff;--accent-contrast:#14161c;--accent-wash:#1a1930;--accent-soft:#1e1d33;--accent-line:#343159;--accent-line-strong:#4a467a;--border:#2c313d;--border-hover:#414859;--border-interactive:#6b7387;--success:#4ade93;--success-soft:#12241c;--warning:#f5b544;--warning-soft:#2a2014;--error:#ff8095;--error-soft:#2a161b;--role-student:#f0b152;--role-teacher:#a5a2ff;--role-parent:#4ade93;--role-admin:#c99bf5;--elev-1:0 0 0 1px #2c313d;--elev-2:0 4px 12px #0006, 0 0 0 1px #414859;--elev-3:0 16px 48px #0009, 0 0 0 1px #414859;--veil:#0000008f;--skeleton-shine:#ffffff0f}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#14161c;--bg-secondary:#1c1f27;--bg-card:#1c1f27;--bg-card-hover:#232732;--bg-sunken:#0f1116;--text-primary:#edeef2;--text-secondary:#aeb4c4;--text-muted:#8b93a6;--accent-primary:#a5a2ff;--accent-secondary:#c99bf5;--accent-hover:#bdbbff;--accent-contrast:#14161c;--accent-wash:#1a1930;--accent-soft:#1e1d33;--accent-line:#343159;--accent-line-strong:#4a467a;--border:#2c313d;--border-hover:#414859;--border-interactive:#6b7387;--success:#4ade93;--success-soft:#12241c;--warning:#f5b544;--warning-soft:#2a2014;--error:#ff8095;--error-soft:#2a161b;--role-student:#f0b152;--role-teacher:#a5a2ff;--role-parent:#4ade93;--role-admin:#c99bf5;--elev-1:0 0 0 1px #2c313d;--elev-2:0 4px 12px #0006, 0 0 0 1px #414859;--elev-3:0 16px 48px #0009, 0 0 0 1px #414859;--veil:#0000008f;--skeleton-shine:#ffffff0f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.tabular{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-sunken)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-full);border:2px solid var(--bg-sunken)}::-webkit-scrollbar-thumb:hover{background:var(--border-interactive)}.app-container{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:100;background:var(--bg-secondary);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.navbar{background:color-mix(in srgb, var(--bg-secondary) 88%, transparent)}}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex}.navbar-brand{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:800;text-decoration:none}.navbar-links{align-items:center;gap:.5rem;list-style:none;display:flex}.navbar-links a,.navbar-links button:not(.theme-toggle){border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.5rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s}.navbar-links a:hover{color:var(--text-primary);background:var(--accent-soft)}.navbar-links .btn-nav-primary{background:var(--accent-primary);color:var(--accent-contrast);font-weight:600}.navbar-links .btn-nav-primary:hover{background:var(--accent-hover)}@media (width<=480px){.navbar{padding:0 1rem}.navbar-brand{font-size:1.1rem}.navbar-links{gap:.25rem}.navbar-links a,.navbar-links button:not(.theme-toggle){white-space:nowrap;padding:.4rem .6rem;font-size:.8rem}}@media (width<=400px){.navbar{padding:0 .75rem}.navbar-brand{font-size:1rem}.navbar-links{gap:.15rem}.navbar-links a,.navbar-links button:not(.theme-toggle){padding:.35rem .5rem;font-size:.75rem}}@media (width<=340px){.navbar{padding:0 .4rem}.navbar-brand{font-size:.8rem}.navbar-links{gap:.1rem}.navbar-links a,.navbar-links button:not(.theme-toggle){padding:.3rem;font-size:.75rem}}.theme-toggle{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--accent-wash);color:var(--accent-primary);border-color:var(--accent-line-strong)}.theme-row{justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0;display:flex}.theme-row-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.theme-row-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:.15rem}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-primary{background:var(--accent-primary);color:var(--accent-contrast);box-shadow:var(--elev-1)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--elev-2)}.btn-outline{color:var(--accent-primary);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent-primary);background:var(--accent-wash)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text-primary);border-color:var(--border-hover)}.btn-danger{background:var(--error-soft);color:var(--error);border:1px solid var(--error)}@supports (color:color-mix(in lab, red, red)){.btn-danger{border:1px solid color-mix(in srgb, var(--error) 30%, transparent)}}.btn-danger:hover{background:var(--error)}@supports (color:color-mix(in lab, red, red)){.btn-danger:hover{background:color-mix(in srgb, var(--error) 25%, transparent)}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--border-hover)}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-input{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft)}.form-input::placeholder{color:var(--text-muted)}.form-input.error{border-color:var(--error)}.form-input:disabled{opacity:.6}.form-error{color:var(--error);font-size:.8rem}.form-2col{grid-template-columns:1fr 1fr;display:grid}.form-2col>*{min-width:0}@media (width<=480px){.form-2col{grid-template-columns:1fr}}.alert{border-radius:var(--radius-md);margin-bottom:1rem;padding:.875rem 1.25rem;font-size:.9rem}.alert-error{background:var(--error-soft);border:1px solid var(--error)}@supports (color:color-mix(in lab, red, red)){.alert-error{border:1px solid color-mix(in srgb, var(--error) 30%, transparent)}}.alert-error{color:var(--error)}.alert-success{background:var(--success-soft);border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.alert-success{border:1px solid color-mix(in srgb, var(--success) 30%, transparent)}}.alert-success{color:var(--success)}.alert-warning{background:var(--warning-soft);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.alert-warning{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.alert-warning{color:var(--warning)}.auth-page{background:radial-gradient(ellipse at 50% 0%, var(--accent-soft) 0%, transparent 60%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{width:100%;max-width:440px}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:800}.auth-subtitle{color:var(--text-secondary);font-size:.95rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.875rem}.auth-footer a{color:var(--accent-primary);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.legal-page{background:radial-gradient(ellipse at 50% 0%, var(--accent-soft) 0%, transparent 60%);justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem;display:flex}.legal-card{width:100%;max-width:780px}.hero{text-align:center;background:radial-gradient(ellipse at 50% -20%, var(--accent-line) 0%, transparent 60%);padding:6rem 2rem}.hero-badge{border-radius:var(--radius-full);background:var(--accent-soft);border:1px solid var(--accent-line-strong);color:var(--accent-primary);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:.375rem;margin-bottom:1.5rem;padding:.375rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-1px;margin-bottom:1.25rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1}.hero-title .gradient-text{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-description{color:var(--text-secondary);max-width:540px;margin:0 auto 2.5rem;font-size:1.125rem;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.features-section{max-width:1100px;margin:0 auto;padding:4rem 2rem}.section-title{text-align:center;letter-spacing:-.5px;margin-bottom:.75rem;font-size:2rem;font-weight:700}.section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:3rem;font-size:1rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;transition:all .3s}.feature-card:hover{border-color:var(--border-hover);box-shadow:var(--elev-2);transform:translateY(-4px)}.feature-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.25rem;font-size:1.4rem;display:flex}.feature-title{margin-bottom:.5rem;font-size:1.05rem;font-weight:600}.feature-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.step-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;position:relative}.step-number{color:var(--accent-line-strong);font-size:1.75rem;font-weight:800;line-height:1;position:absolute;top:1.25rem;right:1.25rem}.step-icon{color:var(--accent-primary);margin-bottom:1.25rem}.roles-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.role-card{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);border-top:3px solid var(--card-color,var(--accent-primary));padding:1.75rem;transition:all .3s}.role-card:hover{border-color:var(--border-hover);border-top-color:var(--card-color,var(--accent-primary));box-shadow:var(--elev-2);transform:translateY(-4px)}.role-card-icon{color:var(--card-color,var(--accent-primary));margin-bottom:1rem}.role-card[data-role=admin]{--card-color:#a855f7}.role-card[data-role=teacher]{--card-color:#6c63ff}.role-card[data-role=parent]{--card-color:#10b981}.role-card[data-role=student]{--card-color:#f59e0b}.landing-cta{padding-top:4rem;padding-bottom:5rem}.profile-page{max-width:700px;margin:3rem auto;padding:0 1.5rem}.profile-header{align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:80px;height:80px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.profile-name{font-size:1.5rem;font-weight:700}.profile-email{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem}.profile-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;margin-top:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-user{background:var(--accent-soft);color:var(--accent-primary);border:1px solid var(--accent-line-strong)}.badge-admin{background:var(--accent-soft);color:var(--accent-secondary);border:1px solid var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.badge-admin{border:1px solid color-mix(in srgb, var(--accent-secondary) 30%, transparent)}}.profile-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;min-width:0;padding:1.25rem}.stat-value{color:var(--accent-primary);overflow-wrap:break-word;font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-secondary);margin-top:.25rem;font-size:.8rem}@media (width<=480px){.profile-stats{gap:.5rem}.stat-card{padding:.75rem .5rem}.stat-value{font-size:1.05rem}.stat-label{font-size:.75rem}}.spinner{border:2px solid var(--accent-line-strong);border-top-color:var(--accent-primary);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{min-height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.page-fade{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:flex-start;gap:.75rem;max-width:420px;padding:.875rem 1.25rem;font-size:.9rem;font-weight:500;line-height:1.5;animation:.25s slideUp;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 8px 32px #0006}.toast-success{color:#6ee7b7;background:#10b9811f;border:1px solid #10b98159}.toast-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459}.toast-warning{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b59}.toast-info{color:#a5b4fc;background:#6c63ff1f;border:1px solid #6c63ff59}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.divider{background:var(--border);height:1px;margin:1.5rem 0}.footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:auto;padding:2rem;font-size:.85rem}.edu-dashboard{max-width:1400px;margin:0 auto;padding:2rem 1.5rem}.edu-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.subject-dot{border-radius:var(--radius-full);flex-shrink:0;width:12px;height:12px;box-shadow:inset 0 0 0 1px #00000014}.edu-title{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.8rem;font-weight:800;display:inline-flex}.edu-tabs{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;gap:.5rem;padding:.35rem;display:flex}.edu-tab{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.5rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s}.edu-tab:hover{color:var(--text-primary);background:var(--accent-soft)}.edu-tab.active{background:var(--accent-primary);color:var(--accent-contrast);font-weight:600}.student-selector{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.student-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.student-chip:hover{border-color:var(--accent-primary);color:var(--text-primary)}.student-chip.active{background:var(--accent-line);border-color:var(--accent-primary);color:var(--accent-primary);font-weight:600}.student-chip .chip-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:22px;height:22px;font-size:var(--text-xs);color:var(--accent-contrast);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.search-result-item:hover{background:var(--accent-wash)!important}.search-results-list::-webkit-scrollbar{width:4px}.timetable-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:64px repeat(5,1fr);gap:2px;display:grid;overflow:hidden}.timetable-header{background:var(--bg-secondary);text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:.75rem .5rem;font-size:.8rem;font-weight:600}.timetable-time-col{background:var(--bg-secondary);text-align:center;color:var(--text-muted);padding:.5rem .25rem;font-size:.75rem;font-weight:500}.timetable-cell{background:var(--bg-primary);border:1px solid var(--accent-wash);min-height:64px;position:relative}.timetable-cell:hover{background:var(--accent-wash)}.timetable-cell-occupied{opacity:.35}.lesson-block{border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:2px;padding:.4rem .6rem;transition:all .2s;display:flex;position:absolute;inset:3px;overflow:hidden}.lesson-block:hover{box-shadow:var(--elev-2);transform:scale(1.02)}.lesson-subject{color:#fff;text-shadow:0 1px 2px #00000073;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;line-height:1.2;overflow:hidden}.lesson-meta{font-size:var(--text-xs);color:var(--accent-contrast);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.add-lesson-btn{border-radius:var(--radius-sm);border:1px dashed var(--accent-line);cursor:pointer;opacity:0;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;inset:3px}.timetable-cell:hover .add-lesson-btn{opacity:1}@media (hover:none),(pointer:coarse){.lesson-delete-btn{display:none}}.assignments-list{flex-direction:column;gap:.75rem;display:flex}.assignment-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;transition:border-color .2s,transform .2s;display:flex}.assignment-card:hover{border-color:var(--border-hover)}.assignment-card.status-done{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.assignment-card.status-done{border-color:color-mix(in srgb, var(--success) 30%, transparent)}}.assignment-card.status-done{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.assignment-card.status-done{background:color-mix(in srgb, var(--success) 4%, transparent)}}.assignment-card.status-in_progress{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.assignment-card.status-in_progress{border-color:color-mix(in srgb, var(--warning) 30%, transparent)}}.assignment-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.assignment-title{color:var(--text-primary);font-size:1rem;font-weight:600}.assignment-subject{color:var(--accent-primary);font-size:.8rem;font-weight:500}.assignment-badges{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;padding:.2rem .6rem;font-weight:600}.badge-todo{background:var(--bg-sunken);color:var(--text-muted);border:1px solid var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.badge-todo{border:1px solid color-mix(in srgb, var(--text-muted) 30%, transparent)}}.badge-in_progress{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.badge-in_progress{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.badge-done{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.badge-done{border:1px solid color-mix(in srgb, var(--success) 30%, transparent)}}.badge-overdue{background:var(--error-soft);color:var(--error);border:1px solid var(--error)}@supports (color:color-mix(in lab, red, red)){.badge-overdue{border:1px solid color-mix(in srgb, var(--error) 30%, transparent)}}.assignment-desc{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.assignment-footer{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:1.5rem;font-size:.8rem;display:flex}.assignment-answer-area{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.assignment-answer-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.assignment-answer-text{color:var(--text-primary);background:var(--success);font-size:.875rem}@supports (color:color-mix(in lab, red, red)){.assignment-answer-text{background:color-mix(in srgb, var(--success) 6%, transparent)}}.assignment-answer-text{border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.assignment-answer-text{border:1px solid color-mix(in srgb, var(--success) 20%, transparent)}}.assignment-answer-text{border-radius:var(--radius-sm);padding:.75rem;line-height:1.6}.materials-list{flex-direction:column;gap:1rem;display:flex}.material-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s;overflow:hidden}.material-card:hover{border-color:var(--border-hover)}.material-header{cursor:pointer;background:var(--bg-secondary);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.material-title{font-size:1rem;font-weight:600}.material-meta{color:var(--text-muted);margin-top:.2rem;font-size:.78rem}.material-expand-icon{color:var(--text-muted);flex-shrink:0;font-size:1.2rem;transition:transform .2s}.material-expand-icon.open{transform:rotate(180deg)}.material-body{border-top:1px solid var(--border);padding:1.5rem}.markdown-content{color:var(--text-secondary);font-size:.9rem;line-height:1.75}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--text-primary);margin:1rem 0 .5rem}.markdown-content p{margin-bottom:.75rem}.markdown-content code{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--accent-primary);padding:.1rem .4rem;font-size:.85em}.markdown-content pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.75rem;padding:1rem;overflow-x:auto}.markdown-content ul,.markdown-content ol{margin-bottom:.75rem;padding-left:1.5rem}.markdown-content strong{color:var(--text-primary)}.markdown-content blockquote{border-left:3px solid var(--accent-primary);color:var(--text-muted);margin:.5rem 0;padding-left:1rem}.quiz-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.quiz-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-size:.9rem;font-weight:600}.quiz-question{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.75rem;padding:1rem 1.25rem}.quiz-question-text{color:var(--text-primary);margin-bottom:.75rem;font-size:.9rem;font-weight:500;line-height:1.5}.quiz-answer-existing{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.quiz-answer-existing{background:color-mix(in srgb, var(--success) 8%, transparent)}}.quiz-answer-existing{border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.quiz-answer-existing{border:1px solid color-mix(in srgb, var(--success) 20%, transparent)}}.quiz-answer-existing{border-radius:var(--radius-sm);color:var(--success);margin-bottom:.5rem;padding:.625rem .875rem;font-size:.85rem}.quiz-answer-form{gap:.5rem;margin-top:.5rem;display:flex}.quiz-answer-input{border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);outline:none;flex:1;padding:.5rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .2s}.quiz-answer-input:focus{border-color:var(--accent-primary)}.modal-overlay{background:var(--veil);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;animation:fadeIn var(--motion-base) var(--motion-ease);justify-content:center;align-items:center;padding:1.5rem 1rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--elev-3);width:100%;min-height:0;max-height:min(90vh,100%);animation:modalIn var(--motion-slow) var(--motion-ease);flex-direction:column;display:flex;overflow:hidden}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:760px}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.125rem 1.25rem;display:flex}.modal-title{font-size:var(--text-md);color:var(--text-primary);min-width:0;margin:0;font-weight:600;line-height:1.35}.modal-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.modal-close{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-muted);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-10px -10px 0 0;display:inline-flex}.modal-close:hover{background:var(--bg-sunken);color:var(--text-primary)}.modal-body{flex:auto;min-height:0;padding:1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0;padding:1rem 1.25rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.confirm-message{color:var(--text-secondary);margin:0;line-height:1.5}.confirm-impact-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);flex-direction:column;gap:.35rem;margin:.85rem 0 0;padding:.75rem 1rem;font-size:.875rem;list-style:none;display:flex}.confirm-impact-list strong{color:var(--text-primary)}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal,.modal-sm,.modal-md,.modal-lg{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:92dvh;animation:sheetIn var(--motion-slow) var(--motion-ease)}.modal-footer{padding-bottom:max(1rem, env(safe-area-inset-bottom))}.modal-actions>.btn{flex:auto;justify-content:center}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.color-picker{flex-wrap:wrap;gap:.5rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--bg-card);box-shadow:0 0 0 2px var(--accent-primary);transform:scale(1.15)}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 2rem}.empty-icon{margin-bottom:1rem;font-size:3rem}.empty-title{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.empty-desc{font-size:.875rem;line-height:1.6}.edu-two-col{grid-template-columns:1fr 340px;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.edu-two-col{grid-template-columns:1fr}.timetable-grid{grid-template-columns:48px repeat(5,1fr)}}.edu-sidebar{flex-direction:column;gap:1rem;display:flex}.edu-sidebar-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.edu-sidebar-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:1rem;font-size:.8rem;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-heading{font-size:1.1rem;font-weight:700}textarea.form-input{resize:vertical;min-height:100px}.subject-catalog-badge{border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-primary);border:1px solid var(--accent-line-strong);align-items:center;padding:.35rem .875rem;font-size:.8rem;font-weight:600;display:inline-flex}.subject-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.subject-catalog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;transition:border-color .2s,transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.subject-catalog-card:hover{border-color:var(--border-hover);box-shadow:var(--elev-2);transform:translateY(-4px)}.subject-catalog-card.enrolled{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.subject-catalog-card.enrolled{border-color:color-mix(in srgb, var(--success) 30%, transparent)}}.subject-catalog-bar{width:100%;height:4px}.subject-catalog-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:60px;height:60px;margin:1.25rem 1.25rem 0;display:flex}.subject-catalog-body{flex:1;padding:.875rem 1.25rem .5rem}.subject-catalog-name{color:var(--text-primary);margin-bottom:.4rem;font-size:1.05rem;font-weight:700}.subject-catalog-desc{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.subject-catalog-footer{gap:.5rem;padding:1rem 1.25rem 1.25rem;display:flex}.subject-catalog-enrolled-badge{background:var(--success-soft);border:1px solid var(--success);position:absolute;top:.875rem;right:.875rem}@supports (color:color-mix(in lab, red, red)){.subject-catalog-enrolled-badge{border:1px solid color-mix(in srgb, var(--success) 30%, transparent)}}.subject-catalog-enrolled-badge{color:var(--success);font-size:var(--text-xs);border-radius:var(--radius-full);padding:.2rem .6rem;font-weight:700}.syllabus-chapters{flex-direction:column;gap:.75rem;display:flex}.syllabus-chapter{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s;overflow:hidden}.syllabus-chapter.expanded{border-color:var(--border-hover)}.syllabus-chapter-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.1rem 1.5rem;font-family:inherit;transition:background .15s;display:flex}.syllabus-chapter-header:hover{background:var(--accent-wash)}.syllabus-chapter-num{border-radius:var(--radius-md);letter-spacing:-.5px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.8rem;font-weight:800;display:flex}.syllabus-chapter-title{color:var(--text-primary);font-size:1rem;font-weight:600}.syllabus-chapter-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin-top:.2rem;font-size:.8rem;overflow:hidden}.syllabus-chevron{color:var(--text-muted);font-size:.75rem;transition:transform .25s}.syllabus-chevron.open{transform:rotate(180deg)}.chapter-resource-pill{border-radius:var(--radius-full);font-size:var(--text-xs);padding:.2rem .6rem;font-weight:600}.note-pill{background:var(--accent-soft);color:var(--accent-primary);border:1px solid var(--accent-line)}.exercise-pill{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.exercise-pill{border:1px solid color-mix(in srgb, var(--success) 25%, transparent)}}.quiz-pill{background:var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.quiz-pill{background:color-mix(in srgb, var(--accent-secondary) 12%, transparent)}}.quiz-pill{color:var(--accent-secondary);border:1px solid var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.quiz-pill{border:1px solid color-mix(in srgb, var(--accent-secondary) 25%, transparent)}}.material-status-done{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.material-status-done{border:1px solid color-mix(in srgb, var(--success) 30%, transparent)}}.material-status-pending{background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.material-status-pending{background:color-mix(in srgb, var(--warning) 12%, transparent)}}.material-status-pending{color:var(--warning);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.material-status-pending{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.syllabus-chapter-body{border-top:1px solid var(--border);background:var(--bg-sunken);animation:.2s fadeIn}.syllabus-tab-bar{border-bottom:1px solid var(--border);background:var(--bg-sunken);gap:.5rem;padding:0 1.5rem;display:flex}.syllabus-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.syllabus-tab-btn:hover{color:var(--text-primary);background:var(--accent-wash)}.syllabus-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.tab-count-badge{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-muted);padding:.1rem .4rem;font-weight:500}.syllabus-tab-btn.active .tab-count-badge{background:var(--accent-soft);border-color:var(--accent-line-strong);color:var(--accent-primary)}.syllabus-tab-content{padding:1.25rem 1.5rem}.syllabus-tab-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.modal.modal-fullscreen{width:96vw;max-width:96vw;height:96vh;max-height:96vh}.modal-body-reading{padding:.5rem 0}.modal-body-flow{flex-direction:column;gap:0;display:flex}.note-reading-pane{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:780px;box-shadow:var(--elev-2);margin:.5rem auto;padding:2.25rem 2.75rem}.note-markdown{color:var(--text-primary);font-size:1.05rem;line-height:1.85}.note-markdown h1{border-bottom:1px solid var(--border);color:var(--text-primary);margin-top:1.75rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:2rem;font-weight:800}.note-markdown h2{border-bottom:1px solid var(--border);color:var(--text-primary);margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.25rem;font-size:1.5rem;font-weight:700}.note-markdown h3{color:var(--text-primary);margin-top:1.25rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.note-markdown p{color:var(--text-secondary);margin-bottom:1rem}.note-markdown blockquote{background:var(--accent-wash);border-left:4px solid var(--accent-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.25rem 0;padding:.75rem 1.25rem;font-style:italic}.note-markdown code{background:var(--bg-sunken);color:var(--accent-primary);border-radius:var(--radius-sm);padding:.15rem .35rem;font-family:monospace;font-size:.9em}.note-markdown pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:1rem 1.25rem;overflow-x:auto}.note-markdown pre code{color:inherit;background:0 0;border-radius:0;padding:0;font-size:.85rem}.note-markdown ul,.note-markdown ol{margin-bottom:1rem;padding-left:1.75rem}.note-markdown li{color:var(--text-secondary);margin-bottom:.35rem}.syllabus-content-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;padding:1.25rem 1.5rem;display:grid}.syllabus-section{flex-direction:column;gap:.5rem;display:flex}.syllabus-section-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.78rem;font-weight:700;display:flex}.syllabus-section-count{background:var(--bg-secondary);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-muted);padding:.1rem .5rem}.syllabus-item{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;transition:border-color .15s;display:flex}.syllabus-item.note-item{flex-direction:column;align-items:stretch;gap:.5rem}.syllabus-item.clickable{cursor:pointer}.syllabus-item.clickable:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.syllabus-item-icon{text-align:center;flex-shrink:0;width:28px;padding-top:2px;font-size:1.1rem}.syllabus-item-body{flex:1;min-width:0}.syllabus-item-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.syllabus-item-preview{color:var(--text-muted);margin-top:.2rem;font-size:.8rem;line-height:1.4}.syllabus-item-meta{color:var(--accent-primary);margin-top:.2rem;font-size:.75rem;font-weight:500}.exercise-solve-layout{grid-template-columns:1fr 280px;align-items:start;gap:1.5rem;display:grid}@media (width<=860px){.exercise-solve-layout{grid-template-columns:1fr}}.exercise-solve-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.exercise-solve-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.75rem 2rem 1.25rem;display:flex}.exercise-solve-icon{border-radius:var(--radius-lg);background:var(--success-soft);width:48px;height:48px;color:var(--success);flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.exercise-solve-subject{color:var(--accent-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.78rem;font-weight:600}.exercise-solve-title{color:var(--text-primary);font-size:1.3rem;font-weight:800;line-height:1.3}.exercise-locked-badge{border-radius:var(--radius-full);background:var(--success-soft);border:1px solid var(--success);padding:.35rem .875rem}@supports (color:color-mix(in lab, red, red)){.exercise-locked-badge{border:1px solid color-mix(in srgb, var(--success) 30%, transparent)}}.exercise-locked-badge{color:var(--success);white-space:nowrap;font-size:.8rem;font-weight:700}.exercise-open-badge{border-radius:var(--radius-full);background:var(--warning);padding:.35rem .875rem}@supports (color:color-mix(in lab, red, red)){.exercise-open-badge{background:color-mix(in srgb, var(--warning) 12%, transparent)}}.exercise-open-badge{border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.exercise-open-badge{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.exercise-open-badge{color:var(--warning);white-space:nowrap;font-size:.8rem;font-weight:700}.exercise-points-bar{background:var(--accent-wash);border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.75rem 2rem;font-size:.85rem;display:flex}.exercise-solve-content{border-bottom:1px solid var(--border);padding:1.5rem 2rem}.exercise-content-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.75rem;font-size:.78rem;font-weight:700}.exercise-content-body{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem 1.5rem}.exercise-submit-area{padding:1.5rem 2rem;transition:background .3s}.exercise-submit-area.locked{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.exercise-submit-area.locked{background:color-mix(in srgb, var(--success) 4%, transparent)}}.exercise-locked-result{flex-direction:column;gap:.75rem;display:flex}.exercise-locked-message{color:var(--text-muted);background:var(--success);font-size:.85rem}@supports (color:color-mix(in lab, red, red)){.exercise-locked-message{background:color-mix(in srgb, var(--success) 6%, transparent)}}.exercise-locked-message{border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.exercise-locked-message{border:1px solid color-mix(in srgb, var(--success) 20%, transparent)}}.exercise-locked-message{border-radius:var(--radius-md);margin-top:.5rem;padding:.75rem 1rem}.exercise-solve-sidebar{flex-direction:column;gap:1rem;display:flex}.exercise-info-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.quiz-option-hover{transition:all .2s cubic-bezier(.4,0,.2,1)}.quiz-option-hover:hover{box-shadow:0 4px 12px var(--accent-soft);transform:translateY(-2px);border-color:var(--accent-primary)!important;background:var(--accent-wash)!important}.navbar-link{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.45rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.navbar-link:hover{color:var(--text-primary);background:var(--accent-wash)}.navbar-link.active{color:var(--accent-primary);background:var(--accent-soft);font-weight:600}.navbar-center-links{white-space:nowrap;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.navbar-center-links>li{pointer-events:auto}.navbar-avatar-btn{background:var(--accent-wash);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;color:var(--text-primary);align-items:center;gap:.5rem;padding:.35rem .875rem .35rem .35rem;font-family:inherit;transition:all .2s;display:flex}.navbar-avatar-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft)}.navbar-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:30px;height:30px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.navbar-avatar-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.85rem;font-weight:500;overflow:hidden}.navbar-dropdown-chevron{opacity:.5;transition:transform .2s}.navbar-dropdown-chevron-open{transform:rotate(180deg)}.material-status-done-text{color:#10b981}.quiz-status-pending{color:#a855f7}.exercise-status-pending{color:#f59e0b}.quiz-review-card{background:var(--bg-secondary);border-radius:14px;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;display:flex;position:relative}.quiz-review-card--correct{border:1px solid #10b9814d}.quiz-review-card--incorrect{border:1px solid #ef44444d}.quiz-review-badge{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.quiz-review-badge--correct{color:#34d399;background:#10b9811a}.quiz-review-badge--incorrect{color:#f87171;background:#ef44441a}.quiz-review-feedback{border-radius:0 8px 8px 0;margin-top:.25rem;padding:.5rem .75rem;font-size:.85rem}.quiz-review-feedback--correct{color:#a7f3d0;background:#10b9810f;border-left:3px solid #10b981}.quiz-review-feedback--incorrect{color:#fca5a5;background:#ef44440f;border-left:3px solid #ef4444}.quiz-tf-btn{cursor:pointer;border-radius:12px;flex:1;padding:1rem;font-size:.95rem;font-weight:700;transition:all .2s}.quiz-tf-btn--unselected{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary)}.quiz-tf-btn--true-selected{color:#34d399;background:#10b9811a;border:1px solid #10b981}.quiz-tf-btn--false-selected{color:#f87171;background:#ef44441a;border:1px solid #ef4444}.quiz-submit-btn{background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:12px;padding:1rem 2.5rem;font-size:1.05rem;font-weight:700;transition:all .25s;box-shadow:0 4px 15px #a855f766}.quiz-submit-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.quiz-progress-dots{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quiz-progress-dot{background:var(--bg-primary);border:1px solid var(--border);border-radius:50%;width:10px;height:10px;transition:background .2s,border-color .2s}.quiz-progress-dot--answered{background:#a855f7;border-color:#a855f7}.subject-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.role-perm-status{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.role-perm-status--all{color:var(--accent-primary)}.role-perm-status--some{color:#f59e0b}.feature-toggle-chip{cursor:pointer;border:1px solid var(--border);color:var(--text-secondary);background:#ffffff0a;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.78rem;transition:all .15s;display:flex}.feature-toggle-chip.selected{border-color:var(--accent-primary);color:var(--accent-primary);background:#6c63ff2e}.navbar-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:240px;box-shadow:var(--elev-3);z-index:200;animation:.15s fadeIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.navbar-dropdown-header{background:var(--bg-secondary);align-items:center;gap:.875rem;padding:1rem 1.25rem;display:flex}.navbar-dropdown-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:40px;height:40px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.navbar-dropdown-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.navbar-dropdown-email{color:var(--text-muted);margin-top:1px;font-size:.75rem}.navbar-dropdown-roles{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.navbar-dropdown-divider{background:var(--border);height:1px}.navbar-dropdown-item{color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.navbar-dropdown-item:hover{background:var(--accent-wash);color:var(--text-primary)}.navbar-dropdown-signout:hover{color:var(--error);background:var(--error)}@supports (color:color-mix(in lab, red, red)){.navbar-dropdown-signout:hover{background:color-mix(in srgb, var(--error) 8%, transparent)}}body:has(.dash-layout){overflow:hidden}body:has(.dash-layout) .footer{display:none}.dash-layout{height:calc(100vh - var(--navbar-height));display:flex;position:relative;overflow:hidden}.dash-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.25rem;width:240px;height:100%;padding:1.5rem .75rem;transition:width .2s;display:flex;overflow:hidden auto}@media (width>=769px){.dash-sidebar.rail{width:64px}.dash-sidebar.rail .dash-sidebar-role-label,.dash-sidebar.rail .dash-sidebar-item-label,.dash-sidebar.rail .dash-sidebar-switcher-label,.dash-sidebar.rail .dash-sidebar-switch-btn span{display:none}.dash-sidebar.rail .dash-sidebar-role{justify-content:center}.dash-sidebar.rail .dash-sidebar-item,.dash-sidebar.rail .dash-sidebar-switch-btn{justify-content:center;padding-left:0;padding-right:0}}.dash-sidebar-role{border-radius:var(--radius-md);background:var(--accent-wash);border:1px solid;flex-wrap:wrap;align-items:center;gap:.625rem;margin-bottom:1rem;padding:.75rem .875rem;display:flex}.dash-sidebar-role-icon{flex-shrink:0}.dash-sidebar-role-label{flex:1;font-size:.85rem;font-weight:700}.dash-sidebar-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.dash-sidebar-toggle:hover{background:var(--accent-wash);color:var(--text-primary)}.dash-sidebar-nav{flex-direction:column;gap:2px;display:flex}.dash-sidebar-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.65rem .875rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.dash-sidebar-item:hover{background:var(--accent-wash);color:var(--text-primary)}.dash-sidebar-item.active{background:rgba(var(--item-color-rgb,108,99,255), .15);background:var(--item-color,var(--accent-primary))}@supports (color:color-mix(in lab, red, red)){.dash-sidebar-item.active{background:color-mix(in srgb, var(--item-color,var(--accent-primary)) 15%, transparent)}}.dash-sidebar-item.active{color:var(--item-color,var(--accent-primary));font-weight:600}.dash-sidebar-item-icon{flex-shrink:0;font-size:1rem}.dash-sidebar-item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.dash-sidebar-switcher{border-top:1px solid var(--border);margin-top:auto;padding-top:1rem}.dash-sidebar-switcher-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.5rem;padding:0 .875rem;font-weight:600}.dash-sidebar-switch-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .875rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.dash-sidebar-switch-btn:hover{background:var(--accent-wash);color:var(--text-primary)}.dash-sidebar-switch-btn.active{color:var(--accent-primary)}.dash-sidebar-mini-children{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.dash-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.dash-topbar{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.dash-topbar-title{color:var(--text-primary);flex:1;font-size:1rem;font-weight:600}.dash-topbar-actions{align-items:center;gap:.5rem;display:flex}.dash-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;display:flex}.dash-hamburger span{background:var(--text-secondary);border-radius:var(--radius-full);width:20px;height:2px;display:block}@media (width>=769px){.dash-hamburger{display:none}}.dash-content{flex:1;padding:1.5rem;overflow-y:auto}.dash-sidebar-overlay{background:var(--veil);z-index:149;display:none;position:fixed;inset:0}.dash-bottom-nav{background:var(--bg-card);border-top:1px solid var(--border);padding:.5rem 0 max(.5rem, env(safe-area-inset-bottom));z-index:100;display:none;position:fixed;bottom:0;left:0;right:0}.dash-bottom-nav-item{min-width:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:.25rem 0;font-family:inherit;transition:color .15s;display:flex}.dash-bottom-nav-item.active{color:var(--accent-primary)}.dash-bottom-nav-icon{font-size:1.2rem}.dash-bottom-nav-label{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;overflow:hidden}.pairing-code-card{background:var(--accent-wash);border:1px dashed var(--accent-line-strong);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.pairing-code-card-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.3rem;font-weight:700}.pairing-code-card-value{color:var(--accent-primary);letter-spacing:3px;font-size:1.4rem;font-weight:800}.pairing-code-card-hint{color:var(--text-muted);margin-top:.35rem;font-size:.8rem}.dash-section-title{color:var(--text-primary);font-size:1.05rem;font-weight:700}.dash-section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.dash-info-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);padding:1.5rem;font-size:.9rem;line-height:1.7}.dash-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.dash-placeholder-icon{margin-bottom:1rem;font-size:3rem}.dash-placeholder-title{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.dash-placeholder-desc{color:var(--text-muted);max-width:400px;font-size:.9rem;line-height:1.6}.dash-no-access{min-height:calc(100vh - var(--navbar-height));justify-content:center;align-items:center;padding:2rem;display:flex}.dash-no-access-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:480px;padding:3rem}.dash-no-access-icon{margin-bottom:1rem;font-size:3.5rem}.dash-no-access-card h2{margin-bottom:1rem;font-size:1.4rem;font-weight:700}.dash-no-access-card p{color:var(--text-secondary);font-size:.925rem;line-height:1.7}.dash-role-picker{min-height:calc(100vh - var(--navbar-height));background:radial-gradient(ellipse at 50% 0%, var(--accent-soft) 0%, transparent 60%);justify-content:center;align-items:center;padding:2rem;display:flex}.dash-role-picker-inner{text-align:center;width:100%;max-width:700px}.dash-role-picker-title{letter-spacing:-.5px;margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800}.dash-role-picker-subtitle{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1rem}.dash-role-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.dash-role-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1.5rem;font-family:inherit;transition:all .25s;display:flex;position:relative;overflow:hidden}.dash-role-card:before{content:"";background:var(--card-color,var(--accent-primary));height:3px;position:absolute;top:0;left:0;right:0}.dash-role-card:hover{border-color:var(--card-color,var(--accent-primary));box-shadow:var(--elev-2);transform:translateY(-4px)}.dash-role-card-emoji{margin-bottom:.25rem;font-size:2.5rem}.dash-role-card-label{color:var(--text-primary);font-size:1rem;font-weight:700}.dash-role-card-desc{color:var(--text-muted);font-size:.8rem;line-height:1.5}.dash-role-card-arrow{color:var(--card-color,var(--accent-primary));margin-top:.5rem;font-size:1.25rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.stat-card-new{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:1.25rem;transition:border-color .2s,transform .2s}.stat-card-new:hover{border-color:var(--border-hover);transform:translateY(-2px)}.stat-card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto .75rem;font-size:1.25rem;display:flex}.stat-card-value{color:var(--text-primary);margin-bottom:.35rem;font-size:1.75rem;font-weight:800;line-height:1}.stat-card-label{color:var(--text-muted);font-size:.78rem;font-weight:500}.stat-card-neutral{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;padding:1.25rem}.stat-card-neutral-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.4rem;font-size:.75rem;font-weight:600}.stat-card-neutral-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:800;line-height:1}.progress-bar-wrap{align-items:center;gap:.5rem;display:flex}.progress-bar-track{border-radius:var(--radius-full);background:var(--bg-sunken);flex:1;height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .6s}.progress-bar-label{text-align:right;flex-shrink:0;min-width:48px;font-size:.75rem;font-weight:700}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--bg-sunken) 25%, var(--bg-card-hover) 50%, var(--bg-sunken) 75%);border-radius:var(--radius-md);background-size:800px 100%;animation:1.4s infinite shimmer}.skeleton-rows{flex-direction:column;gap:.75rem;display:flex}.skeleton-row-item{align-items:center;gap:1rem;display:flex}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:40px;height:40px}.skeleton-row-text{flex-direction:column;flex:1;gap:.4rem;display:flex}.skeleton-text{border-radius:var(--radius-sm);height:14px}.role-badge{border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-weight:700;display:inline-flex}.badge-role-teacher{background:var(--accent-soft);color:var(--accent-primary);border:1px solid var(--accent-line-strong)}.badge-role-student{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.badge-role-student{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.badge-role-parent{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.badge-role-parent{border:1px solid color-mix(in srgb, var(--success) 30%, transparent)}}.badge-role-admin{background:var(--accent-soft);color:var(--accent-secondary);border:1px solid var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.badge-role-admin{border:1px solid color-mix(in srgb, var(--accent-secondary) 30%, transparent)}}.divider-or{color:var(--text-muted);align-items:center;gap:1rem;font-size:.75rem;font-weight:600;display:flex}.divider-or:before,.divider-or:after{content:"";background:var(--border);flex:1;height:1px}.student-welcome-text{min-width:0}.student-welcome-title{margin-bottom:.4rem;font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:800}.student-welcome-sub{color:var(--text-secondary);font-size:.9rem}.streak-badge{border-radius:var(--radius-full);background:var(--warning-soft);border:1px solid var(--warning);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;padding:.4rem .75rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.streak-badge{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.streak-badge{color:var(--text-primary);font-size:.85rem;font-weight:600}.streak-badge-record{color:var(--text-muted);font-weight:500}.achievements-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.achievements-level-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.achievements-level-badge{border-radius:var(--radius-full);background:var(--accent-secondary);flex-shrink:0;padding:.3rem .75rem}@supports (color:color-mix(in lab, red, red)){.achievements-level-badge{background:color-mix(in srgb, var(--accent-secondary) 18%, transparent)}}.achievements-level-badge{color:var(--accent-secondary);font-size:.85rem;font-weight:700}.achievements-level-bar{flex:160px;min-width:120px}.achievements-badge-grid{flex-wrap:wrap;gap:.6rem;display:flex}.achievements-badge{border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border);align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.8rem;font-weight:600;display:flex}.achievements-badge-icon{font-size:1rem}.subject-list{flex-direction:column;gap:.625rem;display:flex}.subject-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .2s,background .2s;display:flex}.subject-row:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.subject-row--highlighted{animation:2.5s ease-out teach01-highlight-fade}@keyframes teach01-highlight-fade{0%{border-color:var(--accent-primary);background:var(--bg-card-hover);box-shadow:0 0 0 2px var(--accent-primary)}to{border-color:var(--border);background:var(--bg-card);box-shadow:none}}.syllabus-chapter--highlighted{animation:2.5s ease-out teach01-highlight-fade}.subject-row-info{flex:1;min-width:0}.subject-row-name{margin-bottom:.4rem;font-size:.9rem;font-weight:600}.subject-row-progress .progress-bar-track{height:12px}.subject-row-pct{color:var(--accent-primary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:1.05rem;font-weight:700}.subject-row-arrow{color:var(--text-muted);flex-shrink:0}.subjects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.subject-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;padding:1.5rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.subject-card:hover{border-color:var(--border-hover);box-shadow:var(--elev-2);transform:translateY(-3px)}.subject-card-head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.subject-card-name{margin:0;font-size:1rem;font-weight:700}.subject-card-desc{color:var(--text-muted);flex:1;font-size:.85rem;line-height:1.5}.subject-card-footer{justify-content:flex-end;margin-top:1rem;display:flex}.badge-global{background:var(--accent-soft);color:var(--accent-primary);border:1px solid var(--accent-primary)}@supports (color:color-mix(in lab, red, red)){.badge-global{border:1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent)}}.badge-global{border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;padding:.15rem .5rem;font-weight:700}.badge-readonly{background:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.badge-readonly{background:color-mix(in srgb, var(--text-muted) 10%, transparent)}}.badge-readonly{color:var(--text-muted);border:1px solid var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.badge-readonly{border:1px solid color-mix(in srgb, var(--text-muted) 20%, transparent)}}.badge-readonly{border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;padding:.15rem .5rem;font-weight:700}.badge-upsell{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.badge-upsell{border:1px solid color-mix(in srgb, var(--warning) 30%, transparent)}}.badge-upsell{text-transform:none;align-items:center;gap:.3rem;margin-left:.6rem;display:inline-flex}.student-selector-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 0;display:flex}.student-selector-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.chip-remove{color:var(--error);cursor:pointer;opacity:.6;margin-left:.25rem;font-size:.8rem;transition:opacity .15s}.chip-remove:hover{opacity:1}.chip-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:22px;height:22px;font-size:var(--text-xs);color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.children-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.child-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.child-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.child-card.selected{border-color:var(--success);background:var(--success)}@supports (color:color-mix(in lab, red, red)){.child-card.selected{background:color-mix(in srgb, var(--success) 5%, transparent)}}.child-card-avatar{background:var(--success);width:48px;height:48px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.child-card-info{flex:1;min-width:0}.child-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:.925rem;font-weight:600;overflow:hidden}.child-card-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.child-card-unlink{cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:1rem;transition:opacity .15s;display:inline-flex}.child-card-unlink:hover{opacity:1}.dash-child-avatar{background:var(--success);width:28px;height:28px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.subject-progress-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.subject-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.subject-progress-name{font-size:.95rem;font-weight:700}.subject-progress-avg{border-radius:var(--radius-full);padding:.25rem .75rem;font-size:.75rem;font-weight:700}.subject-progress-bars{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.subject-progress-bar-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem;font-weight:600}.weak-material-row{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--error);border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.weak-material-icon{flex-shrink:0;font-size:1.1rem}.weak-material-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.weak-material-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.weak-material-subject{color:var(--text-muted);font-size:.75rem}.weak-material-score{color:var(--error);flex-shrink:0;font-size:.95rem;font-weight:700}.btn-unlink-tiny{color:var(--error);cursor:pointer;border-radius:var(--radius-sm);opacity:.7;background:0 0;border:none;align-items:center;gap:4px;padding:.25rem;font-family:inherit;font-size:.75rem;transition:opacity .15s;display:inline-flex}.btn-unlink-tiny:hover{opacity:1}.enroll-subject-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.875rem 1rem;transition:border-color .15s;display:flex}.enroll-subject-row:hover{border-color:var(--border-hover)}.badge-enrolled{background:var(--success-soft);color:var(--success);border-radius:var(--radius-full);padding:.3rem .75rem;font-size:.75rem;font-weight:600}.search-result-child{background:var(--bg-sunken);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.admin-welcome{background:linear-gradient(135deg, var(--accent-secondary), var(--accent-wash));justify-content:space-between;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-welcome{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-secondary) 12%, transparent), var(--accent-wash))}}.admin-welcome{border:1px solid var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.admin-welcome{border:1px solid color-mix(in srgb, var(--accent-secondary) 20%, transparent)}}.admin-welcome{border-radius:var(--radius-lg);gap:1rem;padding:2rem 2.5rem}.admin-welcome-title{margin-bottom:.4rem;font-size:1.75rem;font-weight:800}.admin-welcome-sub{color:var(--text-secondary);font-size:.9rem}.admin-badge{background:linear-gradient(135deg, var(--accent-secondary), var(--accent-primary));color:var(--accent-contrast);border-radius:var(--radius-full);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;padding:.5rem 1.25rem;font-size:.75rem;font-weight:800}.admin-quick-actions{flex-direction:column;gap:.625rem;display:flex}.admin-quick-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;font-family:inherit;transition:all .2s;display:flex}.admin-quick-btn:hover{border-color:var(--accent-secondary);transform:translate(4px)}.admin-quick-icon{font-size:1.25rem}.admin-quick-label{color:var(--text-primary);text-align:left;flex:1;font-size:.9rem;font-weight:600}.admin-quick-arrow{color:var(--accent-secondary)}@media (width<=768px){.dash-sidebar{top:var(--navbar-height);width:260px;height:calc(100vh - var(--navbar-height));z-index:150;transition:transform .3s;position:fixed;left:0;transform:translate(-100%)}.dash-sidebar.open{transform:translate(0)}.dash-sidebar-overlay{display:block}.dash-hamburger,.dash-bottom-nav{display:flex}.dash-sidebar-toggle{display:none}.dash-content{padding-bottom:calc(64px + 1.5rem)}.navbar-center-links{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.subject-progress-bars{grid-template-columns:1fr;gap:.75rem}.children-grid{grid-template-columns:1fr}}@media (width<=480px){.dash-content{padding:1rem}.admin-welcome{flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.subject-row:has(.subject-row-actions){flex-wrap:wrap}.subject-row-actions{flex-basis:100%;justify-content:flex-end}}.qq-list{flex-direction:column;gap:.75rem;max-height:55vh;padding-right:2px;display:flex;overflow-y:auto}.qq-row{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.125rem;transition:border-color .15s}.qq-row:hover{border-color:var(--border-hover)}.qq-row-header{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.qq-index{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.qq-text{color:var(--text-primary);flex:1;font-size:.9rem;font-weight:600;line-height:1.4}.qq-options{flex-wrap:wrap;gap:.5rem;margin-left:2rem;display:flex}.qq-option{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:.25rem .75rem;font-size:.8rem;transition:all .15s}.qq-option-correct{background:var(--accent-soft);border-color:var(--accent-line-strong);color:var(--accent-primary);font-weight:600}.qq-points{color:var(--text-muted);margin-top:.5rem;margin-left:2rem;font-size:.75rem}.qf-form{flex-direction:column;gap:.875rem;display:flex}.qf-form .form-group{margin-bottom:0}.btn-ai{border-radius:var(--radius-md);background:linear-gradient(var(--bg-card), var(--bg-card)) padding-box, linear-gradient(135deg, var(--accent-secondary), var(--accent-primary), var(--accent-primary)) border-box;color:var(--accent-primary);cursor:pointer;border:1.5px solid #0000;align-items:center;gap:.4rem;padding:.45rem 1rem;font-family:inherit;font-size:.825rem;font-weight:700;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn-ai:before{content:"";background:linear-gradient(135deg, var(--accent-secondary), var(--accent-wash));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.btn-ai:before{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-secondary) 8%, transparent), var(--accent-wash))}}.btn-ai:before{opacity:0;transition:opacity .2s}.btn-ai:hover:before{opacity:1}.btn-ai:hover{box-shadow:0 4px 16px var(--accent-line);transform:translateY(-1px)}.btn-ai:active{transform:translateY(0)}@keyframes ai-twinkle{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.2)rotate(15deg)}}.ai-sparkle{animation:2s ease-in-out infinite ai-twinkle;display:inline-block}.ai-quiz-question-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:.875rem}.ai-generated-badge{border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--accent-secondary);background:var(--accent-secondary);align-items:center;margin-left:.5rem;padding:.1rem .5rem;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.ai-generated-badge{background:color-mix(in srgb, var(--accent-secondary) 12%, transparent)}}.ai-generated-badge{border:1px solid var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.ai-generated-badge{border:1px solid color-mix(in srgb, var(--accent-secondary) 25%, transparent)}}.ai-generated-badge{vertical-align:middle}.ai-note-modal .modal-body{padding-top:1rem}.ai-prompt-intro{background:linear-gradient(135deg, var(--accent-secondary), var(--accent-wash));align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;display:flex}@supports (color:color-mix(in lab, red, red)){.ai-prompt-intro{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-secondary) 6%, transparent), var(--accent-wash))}}.ai-prompt-intro{border:1px solid var(--accent-line);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.875rem;line-height:1.5}.ai-prompt-icon{flex-shrink:0;margin-top:.1rem;font-size:1.75rem}.ai-prompt-textarea{resize:vertical;min-height:100px}.ai-generate-btn{background:linear-gradient(135deg, var(--accent-secondary), var(--accent-primary));border:none;align-items:center;gap:.5rem;display:inline-flex}.ai-generate-btn:disabled{opacity:.65;cursor:not-allowed;transform:none!important}@keyframes ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-spinner{border:2px solid var(--border-hover);border-top-color:var(--accent-primary);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite ai-spin;display:inline-block}.ai-spinner--sm{width:13px;height:13px}.ai-tabs{background:var(--bg-sunken);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.ai-tab{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.45rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .18s}.ai-tab.active{background:var(--bg-card);color:var(--accent-primary);box-shadow:var(--elev-1)}.ai-tab:hover:not(.active){color:var(--text-secondary)}.ai-chat-history{background:var(--bg-sunken);border-radius:var(--radius-md);border:1px solid var(--border);scroll-behavior:smooth;flex-direction:column;gap:.4rem;max-height:110px;margin-bottom:.5rem;padding:.5rem;display:flex;overflow-y:auto}.ai-chat-message{align-items:baseline;gap:.5rem;padding:.25rem 0;font-size:.78rem;line-height:1.4;display:flex}.ai-chat-message--user .ai-chat-content{color:var(--text-secondary)}.ai-chat-message--model .ai-chat-content{color:var(--text-muted);font-style:italic}.ai-chat-role{font-weight:700;font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.ai-followup-row{align-items:flex-end;gap:.5rem;display:flex}.ai-followup-input{resize:none;flex:1;min-height:60px;font-size:.85rem}.ai-followup-btn{flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;gap:.3rem;min-width:80px;display:inline-flex}.ai-approve-btn{background:var(--success);border:none}.ai-approve-btn:not(:disabled):hover{box-shadow:0 4px 16px var(--success)}@supports (color:color-mix(in lab, red, red)){.ai-approve-btn:not(:disabled):hover{box-shadow:0 4px 16px color-mix(in srgb, var(--success) 35%, transparent)}}.ai-approve-btn:not(:disabled):hover{transform:translateY(-1px)}@keyframes ai-pulse{0%,to{opacity:.6}50%{opacity:1}}.ai-generating{animation:1.5s ease-in-out infinite ai-pulse}.exercise-answer-textarea{resize:vertical;width:100%;min-height:180px;font-size:.9rem;line-height:1.7;transition:border-color .2s,box-shadow .2s}.exercise-answer-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft)}.exercise-answer-textarea:disabled{opacity:.7;cursor:not-allowed;background:var(--bg-secondary)}.exercise-ai-result-card{background:var(--bg-card);border:1px solid var(--accent-line);border-radius:var(--radius-lg);padding:1.75rem;animation:.35s fadeInUp;position:relative;overflow:hidden}.exercise-ai-result-card:before{content:"";background:linear-gradient(90deg, var(--accent-secondary), var(--accent-primary), var(--accent-primary));height:3px;position:absolute;top:0;left:0;right:0}.exercise-ai-result-card--locked{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.exercise-ai-result-card--locked{border-color:color-mix(in srgb, var(--success) 25%, transparent)}}.exercise-ai-result-card--locked:before{background:linear-gradient(90deg, var(--success), var(--success))}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.exercise-ai-result-header{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1rem;font-weight:700;display:flex}.exercise-ai-score-row{align-items:center;gap:1.5rem;margin-bottom:1.25rem;display:flex}.exercise-ai-score-circle{border:4px solid var(--score-color,var(--accent-primary));background:var(--score-color,var(--accent-primary));border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex}@supports (color:color-mix(in lab, red, red)){.exercise-ai-score-circle{background:color-mix(in srgb, var(--score-color,var(--accent-primary)) 8%, transparent)}}.exercise-ai-score-circle{transition:border-color .4s}.exercise-ai-score-number{font-size:2rem;font-weight:900;line-height:1}.exercise-ai-score-pct{color:var(--text-muted);font-size:.9rem;font-weight:700}.exercise-ai-justification{background:var(--bg-sunken);border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:1.25rem;padding:1rem 1.25rem}.exercise-ai-justification-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.exercise-ai-justification-text{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.exercise-hint-box{background:var(--warning);margin-top:1rem}@supports (color:color-mix(in lab, red, red)){.exercise-hint-box{background:color-mix(in srgb, var(--warning) 6%, transparent)}}.exercise-hint-box{border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.exercise-hint-box{border:1px solid color-mix(in srgb, var(--warning) 25%, transparent)}}.exercise-hint-box{border-radius:var(--radius-lg);padding:.875rem 1.125rem;animation:.2s fadeIn}.exercise-hint-header{color:var(--warning);justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.8rem;font-weight:700;display:flex}.exercise-hint-text{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.exercise-ai-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.exercise-confirm-btn{background:var(--success);border:none;align-items:center;gap:.4rem;display:inline-flex}.exercise-confirm-btn:not(:disabled):hover{box-shadow:0 6px 20px var(--success)}@supports (color:color-mix(in lab, red, red)){.exercise-confirm-btn:not(:disabled):hover{box-shadow:0 6px 20px color-mix(in srgb, var(--success) 40%, transparent)}}.exercise-confirm-btn:not(:disabled):hover{transform:translateY(-2px)}.exercise-confirm-btn:disabled{opacity:.7;cursor:not-allowed}.admin-content{padding:2rem}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search-bar{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.5rem;min-width:240px;padding:0 .875rem;display:flex}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:.6rem 0;font-family:inherit;font-size:.875rem}.search-bar input::placeholder{color:var(--text-muted)}.table-wrapper{border-radius:var(--radius-md);overflow-x:auto}.table-wrapper table{border-collapse:collapse;width:100%;font-size:.875rem}.table-wrapper thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.table-wrapper tbody tr{border-bottom:1px solid var(--accent-wash);transition:background .15s}.table-wrapper tbody tr:hover{background:var(--accent-wash)}.table-wrapper tbody tr:last-child{border-bottom:none}.table-wrapper tbody td{color:var(--text-primary);vertical-align:middle;padding:.875rem 1rem}.pagination{color:var(--text-muted);justify-content:space-between;align-items:center;padding:1rem 0 0;font-size:.85rem;display:flex}.pagination-btns{gap:.5rem;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:34px;height:34px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.user-cell{align-items:center;gap:.75rem;display:flex}.user-cell-info .name{font-weight:500}.user-cell-info .email{color:var(--text-muted);margin-top:.1rem;font-size:.78rem}.btn-icon{border-radius:var(--radius-sm);width:44px;height:44px;padding:0}.btn-success{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.btn-success{border:1px solid color-mix(in srgb, var(--success) 25%, transparent)}}.btn-success:hover{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.btn-success:hover{background:color-mix(in srgb, var(--success) 20%, transparent)}}.badge-active{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}@supports (color:color-mix(in lab, red, red)){.badge-active{border:1px solid color-mix(in srgb, var(--success) 25%, transparent)}}.badge-inactive{background:var(--error)}@supports (color:color-mix(in lab, red, red)){.badge-inactive{background:color-mix(in srgb, var(--error) 12%, transparent)}}.badge-inactive{color:var(--error);border:1px solid var(--error)}@supports (color:color-mix(in lab, red, red)){.badge-inactive{border:1px solid color-mix(in srgb, var(--error) 25%, transparent)}}.badge-moderator{background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.badge-moderator{background:color-mix(in srgb, var(--warning) 12%, transparent)}}.badge-moderator{color:var(--warning);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.badge-moderator{border:1px solid color-mix(in srgb, var(--warning) 25%, transparent)}}.u-flex-1{flex:1}.u-margin-bottom-0-875rem{margin-bottom:.875rem}.u-font-size-0-78rem{font-size:.78rem}.u-color-text-muted{color:var(--text-muted)}.u-margin-left-0-6rem{margin-left:.6rem}.u-font-family-monospace{font-family:monospace}.u-font-weight-400{font-weight:400}.u-max-width-140px{max-width:140px}.u-position-absolute{position:absolute}.u-top-3px{top:3px}.u-right-3px{right:3px}.u-background-rgba-0-0-0-0-4{background:#0006}.u-border-none{border:none}.u-color-white{color:#fff}.u-padding-1px-4px{padding:1px 4px}.u-font-size-0-65rem{font-size:var(--text-xs)}.u-border-radius-4px{border-radius:4px}.u-cursor-pointer{cursor:pointer}.u-gap-1rem{gap:1rem}.u-background-none{background:0 0}.u-color-inherit{color:inherit}.u-font-size-1-1rem{font-size:1.1rem}.u-line-height-1{line-height:1}.u-opacity-0-6{opacity:.6}.u-flex-shrink-0{flex-shrink:0}.u-padding-0{padding:0}.u-margin-top-1rem{margin-top:1rem}.u-margin-top-1-5rem{margin-top:1.5rem}.u-width-40{width:40%}.u-height-10px{height:10px}.u-display-flex{display:flex}.u-align-items-center{align-items:center}.u-width-40px{width:40px}.u-height-40px{height:40px}.u-border-radius-6px{border-radius:6px}.u-margin-0-75rem-0-0{margin:.75rem 0 0}.u-font-size-0-875rem{font-size:.875rem}.u-gap-0-4rem{gap:.4rem}.u-padding-top-1rem{padding-top:1rem}.u-font-weight-600{font-weight:600}.u-margin-bottom-0-25rem{margin-bottom:.25rem}.u-font-size-0-825rem{font-size:.825rem}.u-margin-bottom-0{margin-bottom:0}.u-font-size-0-75rem{font-size:.75rem}.u-margin-top-0-4rem{margin-top:.4rem}.u-margin-top-1-25rem{margin-top:1.25rem}.u-padding-top-0-75rem{padding-top:.75rem}.u-border-top-1px-solid-border{border-top:1px solid var(--border)}.u-padding-top-0-875rem{padding-top:.875rem}.u-margin-top-0-25rem{margin-top:.25rem}.u-flex-direction-column{flex-direction:column}.u-margin-top-auto{margin-top:auto}.u-overflow-hidden{overflow:hidden}.u-gap-0-75rem{gap:.75rem}.u-flex-0-0-auto{flex:none}.u-max-height-240px{max-height:240px}.u-overflow-y-auto{overflow-y:auto}.u-border-1px-solid-border-color{border:1px solid var(--border-color)}.u-border-radius-10px{border-radius:10px}.u-padding-1rem{padding:1rem}.u-line-height-1-65{line-height:1.65}.u-color-text-primary{color:var(--text-primary)}.u-font-size-0-9rem{font-size:.9rem}.u-width-100{width:100%}.u-min-height-200px{min-height:200px}.u-font-size-0-85rem{font-size:.85rem}.u-resize-vertical{resize:vertical}.u-background-transparent{background:0 0}.u-text-transform-uppercase{text-transform:uppercase}.u-letter-spacing-0-05em{letter-spacing:.05em}.u-margin-bottom-0-4rem{margin-bottom:.4rem}.u-border-top-1px-solid-border-color{border-top:1px solid var(--border-color)}.u-gap-0-35rem{gap:.35rem}.u-justify-content-space-between{justify-content:space-between}.u-align-items-flex-start{align-items:flex-start}.u-gap-0-5rem{gap:.5rem}.u-margin-bottom-0-6rem{margin-bottom:.6rem}.u-display-grid{display:grid}.u-grid-template-columns-1fr-1fr{grid-template-columns:1fr 1fr}.u-font-weight-700{font-weight:700}.u-font-size-0-8rem{font-size:.8rem}.u-width-1rem{width:1rem}.u-padding-0-45rem-0-6rem{padding:.45rem .6rem}.u-margin-top-0-5rem{margin-top:.5rem}.u-margin-0{margin:0}.u-width-70px{width:70px}.u-padding-0-35rem-0-5rem{padding:.35rem .5rem}.u-max-width-100px{max-width:100px}.u-padding-right-0-25rem{padding-right:.25rem}.u-text-align-center{text-align:center}.u-padding-1-5rem{padding:1.5rem}.u-align-self-center{align-self:center}.u-position-relative{position:relative}.u-right-12px{right:12px}.u-top-50{top:50%}.u-transform-translatey-50{transform:translateY(-50%)}.u-width-16px{width:16px}.u-height-16px{height:16px}.u-border-width-2px{border-width:2px}.u-border-1px-solid-border{border:1px solid var(--border)}.u-margin-bottom-1-25rem{margin-bottom:1.25rem}.u-padding-0-75rem-1rem{padding:.75rem 1rem}.u-border-bottom-1px-solid-border{border-bottom:1px solid var(--border)}.u-transition-background-0-15s{transition:background .15s}.u-margin-bottom-1rem{margin-bottom:1rem}.u-width-140px{width:140px}.u-accent-color-6c63ff{accent-color:#6c63ff}.u-color-6c63ff{color:#6c63ff}.u-display-inline-flex{display:inline-flex}.u-gap-0-2rem{gap:.2rem}.u-margin-top-0-75rem{margin-top:.75rem}.u-padding-0-5rem-0-75rem{padding:.5rem .75rem}.u-background-6c63ff18{background:#6c63ff18}.u-border-radius-8px{border-radius:8px}.u-background-ff634718{background:#ff634718}.u-color-ff6347{color:tomato}.u-max-width-120px{max-width:120px}.u-margin-left-0-25rem{margin-left:.25rem}.u-margin-bottom-1-5rem{margin-bottom:1.5rem}.u-padding-1-25rem{padding:1.25rem}.u-background-bg-secondary{background:var(--bg-secondary)}.u-border-radius-12px{border-radius:12px}.u-color-accent-primary{color:var(--accent-primary)}.u-padding-2rem{padding:2rem}.u-margin-0-auto-0-75rem{margin:0 auto .75rem}.u-padding-2-5rem{padding:2.5rem}.u-font-size-2-5rem{font-size:2.5rem}.u-margin-bottom-0-5rem{margin-bottom:.5rem}.u-border-1px-solid-accent-primary{border:1px solid var(--accent-primary)}.u-margin-bottom-0-75rem{margin-bottom:.75rem}.u-gap-0-875rem{gap:.875rem}.u-min-width-0{min-width:0}.u-margin-0-auto-0-5rem{margin:0 auto .5rem}.u-flex-wrap-wrap{flex-wrap:wrap}.u-grid-column-1-1{grid-column:1/-1}.u-padding-top-0{padding-top:0}.u-padding-left-2-1rem{padding-left:2.1rem}.u-padding-left-1-25rem{padding-left:1.25rem}.u-margin-top-0{margin-top:0}.u-padding-4rem{padding:4rem}.u-color-text-secondary{color:var(--text-secondary)}.u-font-weight-500{font-weight:500}.u-gap-1-25rem{gap:1.25rem}.u-font-style-italic{font-style:italic}.u-letter-spacing-0-04em{letter-spacing:.04em}.u-border-radius-999px{border-radius:999px}.u-height-12px{height:12px}.u-padding-0-75rem{padding:.75rem}.u-background-rgba-16-185-129-0-06{background:#10b9810f}.u-font-size-0-82rem{font-size:.82rem}.u-border-1px-solid-rgba-16-185-129-0-15{border:1px solid #10b98126}.u-font-size-1-5rem{font-size:1.5rem}.u-line-height-1-6{line-height:1.6}.u-gap-0-625rem{gap:.625rem}.u-margin-top-0-15rem{margin-top:.15rem}.u-padding-0-625rem{padding:.625rem}.u-background-rgba-239-68-68-0-06{background:#ef44440f}.u-color-ef4444{color:#ef4444}.u-border-1px-solid-rgba-239-68-68-0-15{border:1px solid #ef444426}.u-justify-content-center{justify-content:center}.u-width-18px{width:18px}.u-height-18px{height:18px}.u-gap-0-3rem{gap:.3rem}.u-font-size-1rem{font-size:1rem}.u-gap-0-1rem{gap:0 1rem}.u-margin-2rem-0{margin:2rem 0}.u-padding-0-3rem-0-6rem{padding:.3rem .6rem}.u-background-color-bg-secondary{background-color:var(--bg-secondary)}.u-grid-template-columns-1fr{grid-template-columns:1fr}.u-min-height-60vh{min-height:60vh}.u-width-50px{width:50px}.u-height-50px{height:50px}.u-border-width-4px{border-width:4px}.u-border-color-accent-primary-transparent-transparent-t{border-color:var(--accent-primary) transparent transparent transparent}.u-padding-0-2rem-0-6rem{padding:.2rem .6rem}.u-background-rgba-168-85-247-0-15{background:#a855f726}.u-color-c084fc{color:#c084fc}.u-background-rgba-168-85-247-0-1{background:#a855f71a}.u-border-color-rgba-168-85-247-0-3{border-color:#a855f74d}.u-padding-1-25rem-2rem{padding:1.25rem 2rem}.u-animation-fadein-0-4s-ease{animation:.4s fadeIn}.u-border-radius-16px{border-radius:16px}.u-margin-bottom-2rem{margin-bottom:2rem}.u-box-shadow-0-4px-20px-rgba-0-0-0-0-15{box-shadow:0 4px 20px #00000026}.u-letter-spacing-1-5px{letter-spacing:1.5px}.u-background-rgba-255-255-255-0-06{background:#ffffff0f}.u-width-200px{width:200px}.u-margin-1rem-auto{margin:1rem auto}.u-margin-0-25rem-0{margin:.25rem 0}.u-gap-2rem{gap:2rem}.u-padding-1-5rem-2rem{padding:1.5rem 2rem}.u-transition-border-color-0-2s-box-shadow-0-2s{transition:border-color .2s,box-shadow .2s}.u-line-height-1-4{line-height:1.4}.u-accent-color-accent-primary{accent-color:var(--accent-primary)}.u-background-bg-primary{background:var(--bg-primary)}.u-font-size-0-95rem{font-size:.95rem}.u-outline-none{outline:none}.u-transition-border-color-0-2s{transition:border-color .2s}.u-padding-top-2rem{padding-top:2rem}.u-max-width-420px{max-width:420px}.u-font-size-1-75rem{font-size:1.75rem}.u-width-14px{width:14px}.u-height-14px{height:14px}.u-background-bg-card{background:var(--bg-card)}.u-border-radius-14px{border-radius:14px}.u-padding-1-25rem-1-5rem{padding:1.25rem 1.5rem}.u-font-size-1-25rem{font-size:1.25rem}.u-width-13px{width:13px}.u-height-13px{height:13px}.u-height-8px{height:8px}.u-padding-3rem{padding:3rem}.u-background-warning-soft{background:var(--warning-soft)}.u-border-color-warning{border-color:var(--warning)}.u-border-bottom-1px-solid-warning{border-bottom:1px solid var(--warning)}.u-color-warning{color:var(--warning)}.u-display-block{display:block}.u-padding-0-6rem-0-875rem{padding:.6rem .875rem}.u-background-rgba-255-255-255-0-04{background:#ffffff0a}.u-user-select-none{-webkit-user-select:none;user-select:none}.u-text-transform-capitalize{text-transform:capitalize}.u-padding-0-625rem-0-875rem{padding:.625rem .875rem}.u-display-none{display:none}.u-visually-hidden-checkbox{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.u-font-weight-800{font-weight:800}.u-margin-0-auto-1rem{margin:0 auto 1rem}.u-margin-bottom-0-375rem{margin-bottom:.375rem}.u-font-size-0-68rem{font-size:var(--text-xs)}.u-padding-0-15rem-0-5rem{padding:.15rem .5rem}.u-border-radius-20px{border-radius:20px}.u-background-rgba-108-99-255-0-15{background:#6c63ff26}.u-border-1px-solid-rgba-108-99-255-0-3{border:1px solid #6c63ff4d}.u-font-size-0-72rem{font-size:var(--text-xs)}.u-min-width-80px{min-width:80px}.u-font-size-0-7rem{font-size:var(--text-xs)}.u-margin-0-auto{margin:0 auto}.u-color-f59e0b{color:#f59e0b}.u-margin-top-2rem{margin-top:2rem}.u-min-height-150px{min-height:150px}.u-list-style-none{list-style:none}.u-border-bottom-1px-solid-border-color{border-bottom:1px solid var(--border-color)}.u-gap-0-15rem{gap:.15rem}.u-min-width-160px{min-width:160px}.u-min-width-120px{min-width:120px}.u-text-transform-none{text-transform:none}.u-color-error{color:var(--error)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
