:root{--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Plus Jakarta Sans",var(--font-sans)}:root,[data-theme=dark]{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#a5b4fc;--primary-glow:#6366f124;--primary-solid:#4f46e5;--logo-circuit-teal:#4338ca;--logo-circuit-orange:#818cf8;--logo-circuit-glow-stroke:#c7d2fe;--logo-circuit-node:#a5b4fc;--logo-wordmark:#fff;--bg:#0c0e17;--bg-surface:#121827;--bg-card:#181f2e;--bg-hover:#1f2838;--dark:#0c0e17;--dark-2:#121827;--dark-3:#181f2e;--dark-4:#27334a;--mid:#546079;--muted:#546079;--sidebar-bg:#0f1423;--sidebar-border:#ffffff0f;--border:#ffffff12;--border-hover:#ffffff21;--text-primary:#eef2ff;--text-secondary:#c4cedf;--text-muted:#9ba8be;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--nav-active-bg:#6366f11f;--nav-active-border:#6366f159;--nav-active-text:#818cf8;--nav-hover-bg:#ffffff0a;--accent-ring:#6366f138;--accent-ring-strong:#6366f16b;--stat-icon-bg:#ffffff0a;--accent-1:var(--primary);--accent-2:var(--info);--accent-3:var(--success);--shadow-sm:0 1px 3px #00000080,0 1px 2px #0006;--shadow:0 4px 20px #00000073;--shadow-lg:0 10px 40px #0000008c;--shadow-glow:0 0 24px #6366f133;--shadow-card:0 1px 3px #0006,0 4px 16px #00000040;--sidebar-width:256px;--header-height:60px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--transition:.18s cubic-bezier(.4,0,.2,1);--transition-slow:.38s cubic-bezier(.4,0,.2,1);--login-panel-bg:linear-gradient(160deg,#0c0e17 0%,#131d35 60%,#0c0e17 100%);--login-panel-orb:radial-gradient(ellipse at 50% 35%,#4f46e52e 0%,transparent 65%);--login-feature-bg:#ffffff0a;--login-feature-border:#ffffff12;--login-heading:#eef2ff;--login-subtext:#8892a4;--role-teacher:#6366f1;--role-teacher-glow:#6366f124;--role-teacher-border:#6366f138;--role-student:#0ea5e9;--role-student-glow:#0ea5e924;--role-student-border:#0ea5e938;--role-parent:#ec4899;--role-parent-glow:#ec489924;--role-parent-border:#ec489938;--role-admin:#7c3aed;--role-admin-glow:#7c3aed24;--role-admin-border:#7c3aed38;--role-sysadmin:#0d9488;--role-sysadmin-glow:#0d948824;--role-sysadmin-border:#0d948838;--focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--primary);--score-high:#10b981;--score-mid:#f59e0b;--score-low:#ef4444;--text-on-primary:#fff;--surface-0:var(--bg);--surface-1:var(--bg-surface);--surface-2:var(--bg-card);--surface-3:var(--bg-hover);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--primary:#4f46e5;--primary-dark:#3730a3;--primary-light:#6366f1;--primary-glow:#4f46e51a;--primary-solid:#4f46e5;--logo-circuit-teal:#3730a3;--logo-circuit-orange:#4f46e5;--logo-circuit-glow-stroke:#3730a3;--logo-circuit-node:#4f46e5;--logo-wordmark:#1e293b;--bg:#f1f4fa;--bg-surface:#fff;--bg-card:#fff;--bg-hover:#eaeef8;--dark:#1e293b;--dark-2:#fff;--dark-3:#f1f4fa;--dark-4:#e2e8f4;--mid:#94a3b8;--muted:#94a3b8;--sidebar-bg:#fff;--sidebar-border:#00000012;--border:#00000012;--border-hover:#00000021;--text-primary:#1e293b;--text-secondary:#2d3748;--text-muted:#4a5568;--success:#059669;--warning:#d97706;--error:#dc2626;--info:#2563eb;--nav-active-bg:#4f46e514;--nav-active-border:#4f46e538;--nav-active-text:#4f46e5;--nav-hover-bg:#0000000a;--accent-ring:#4f46e52e;--accent-ring-strong:#4f46e561;--stat-icon-bg:#0000000a;--accent-1:var(--primary);--accent-2:var(--info);--accent-3:var(--success);--shadow-sm:0 1px 3px #00000012,0 1px 2px #0000000d;--shadow:0 4px 20px #00000014;--shadow-lg:0 12px 40px #0000001a;--shadow-glow:0 0 24px #4f46e524;--shadow-card:0 1px 3px #00000012,0 4px 12px #0000000d;--login-panel-bg:linear-gradient(155deg,#eef2ff 0%,#f8faff 45%,#f1f4fa 100%);--login-panel-orb:radial-gradient(ellipse at 50% 35%,#4f46e517 0%,transparent 60%);--login-feature-bg:#fff;--login-feature-border:#00000012;--login-heading:#1e293b;--login-subtext:#475569;--role-teacher:#4f46e5;--role-teacher-glow:#4f46e51a;--role-teacher-border:#4f46e52e;--role-student:#0284c7;--role-student-glow:#0284c71a;--role-student-border:#0284c72e;--role-parent:#db2777;--role-parent-glow:#db27771a;--role-parent-border:#db27772e;--role-admin:#6d28d9;--role-admin-glow:#6d28d91a;--role-admin-border:#6d28d92e;--role-sysadmin:#0f766e;--role-sysadmin-glow:#0f766e1a;--role-sysadmin-border:#0f766e2e;--focus-ring:0 0 0 2px #fff,0 0 0 4px var(--primary);--score-high:#059669;--score-mid:#d97706;--score-low:#dc2626;--text-on-primary:#fff;--surface-0:var(--bg);--surface-1:var(--bg-surface);--surface-2:var(--bg-card);--surface-3:var(--bg-hover);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);min-height:100vh;line-height:1.6;transition:background-color .35s,color .3s}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}img{max-width:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--dark-4);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--mid)}.btn{border-radius:var(--radius-sm);letter-spacing:-.01em;transition:all var(--transition);white-space:nowrap;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.btn-primary{background:var(--primary-solid);color:#fff;box-shadow:0 1px 2px #0003,inset 0 1px #ffffff1a}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-glow),0 2px 8px #00000040;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){background:var(--nav-hover-bg);color:var(--text-primary);border-color:var(--border)}.btn-danger{color:var(--error);background:#ef44441f;border:1px solid #ef444433}.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef444459}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:13px 28px;font-size:15px}.btn-xs{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition);padding:10px 14px;font-size:14px;line-height:1.5}.input:hover{border-color:var(--border-hover)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input::placeholder{color:var(--text-muted)}[data-theme=light] .input{background:#fff}.select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding:10px 36px 10px 14px;font-size:14px}.select:hover{border-color:var(--border-hover)}.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.select option{background:var(--bg-card);color:var(--text-primary)}[data-theme=light] .select{background-color:#fff}.textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:vertical;min-height:100px;transition:border-color var(--transition),box-shadow var(--transition);padding:12px 14px;font-size:14px;line-height:1.6}.textarea:hover{border-color:var(--border-hover)}.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.textarea::placeholder{color:var(--text-muted)}[data-theme=light] .textarea{background:#fff}.label{color:var(--text-secondary);letter-spacing:-.005em;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group{flex-direction:column;gap:6px;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition);box-shadow:var(--shadow-card);padding:24px}.card:hover{border-color:var(--border-hover)}[data-theme=light] .card{box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a}.card-glass{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);background:#181f2ed9}[data-theme=light] .card-glass{background:#ffffffd1}.badge{letter-spacing:.01em;border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary-glow);color:var(--primary-light);border:1px solid var(--nav-active-border)}.badge-success{color:var(--success);background:#10b9811f;border:1px solid #10b98133}.badge-warning{color:var(--warning);background:#f59e0b1f;border:1px solid #f59e0b33}.badge-error{color:var(--error);background:#ef44441f;border:1px solid #ef444433}.badge-info{color:var(--info);background:#3b82f61f;border:1px solid #3b82f633}.badge-muted{background:var(--dark-4);color:var(--text-muted);border:1px solid var(--border)}.app-layout{min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}[data-theme=light] .app-sidebar{box-shadow:2px 0 12px #0000000f}.app-main{margin-left:var(--sidebar-width);background:var(--bg);flex-direction:column;flex:1;min-height:100vh;display:flex}.app-header{height:var(--header-height);background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;gap:16px;padding:0 28px;display:flex;position:sticky;top:0}[data-theme=light] .app-header{box-shadow:0 1px #0000000f,0 2px 8px #00000008}.app-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.app-header-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-school-pill{color:#fff;max-width:min(320px,40vw);font-family:var(--font-sans);letter-spacing:.055em;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(90deg,#7b42f6 0%,#4a89f3 100%);border-radius:999px;flex-shrink:1;align-items:center;padding:10px 22px;font-size:13px;font-weight:700;line-height:1.25;display:inline-flex;overflow:hidden;box-shadow:0 1px 4px #4a89f359}.app-header-title{color:var(--text-primary);letter-spacing:-.02em;font-size:15px;font-weight:600}.app-header-subtitle{color:var(--text-muted);font-size:12px}.app-content{flex:1;width:100%;max-width:1400px;padding:40px 24px 48px 20px}.dashboard-greeting{max-width:520px;margin-bottom:28px}.sidebar-profile-link{color:inherit;background:var(--nav-hover-bg);transition:all var(--transition);border:1px solid #0000;border-radius:10px;outline:none;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;text-decoration:none;display:flex}.sidebar-profile-link:hover{background:var(--bg-hover);border-color:var(--border)}.sidebar-profile-link:focus-visible{box-shadow:0 0 0 2px var(--primary)}.sidebar-profile-link.active{background:var(--nav-active-bg);border-color:var(--nav-active-border)}.brand-logo-mark{box-shadow:var(--shadow-sm);background:#ffffff0a;border:1px solid #6366f14d;flex-shrink:0;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.34,1.4,.64,1),box-shadow .35s,border-color .3s;display:flex;position:relative;overflow:hidden}.brand-logo-link{border-radius:inherit;outline:none;display:inline-flex}.brand-logo-link:hover .brand-logo-mark{box-shadow:0 0 20px #6366f138,var(--shadow-sm);border-color:#6366f18c;transform:scale(1.05)}.brand-logo-mark--hero{background:var(--login-feature-bg);border-color:#6366f14d}[data-theme=dark] .brand-logo-mark{background:#ffffff0a;border-color:#6366f147}[data-theme=light] .brand-logo-mark{background:#fffffff2;border-color:#4f46e529;box-shadow:0 1px 4px #00000012}.brand-logo-mark__svg{z-index:1;display:block;position:relative}.logo-mark__light{display:none}.logo-mark__dark,[data-theme=light] .logo-mark__light{display:block}[data-theme=light] .logo-mark__dark{display:none}.logo-mark__dark{filter:drop-shadow(0 0 3px #6366f1cc)drop-shadow(0 0 10px #4f46e566)}.brand-wordmark{font-family:var(--font-display);letter-spacing:.14em;color:var(--logo-wordmark);font-size:11px;font-weight:800;line-height:1.2;transition:color .3s}.brand-wordmark--hero{letter-spacing:.15em;margin-top:4px;font-size:clamp(14px,2vw,19px)}.login-page-shell{background:var(--bg);min-height:100vh;display:flex}.login-brand-panel{background:var(--login-panel-bg);border-right:1px solid var(--border);transition:background .4s,border-color .3s;position:relative;overflow:hidden}.login-brand-panel__orb{background:var(--login-panel-orb);pointer-events:none;width:min(500px,90vw);height:min(500px,90vw);position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.login-brand-panel__pill{background:var(--login-feature-bg);border:1px solid var(--login-feature-border);border-radius:10px;align-items:center;gap:14px;padding:13px 16px;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex}.login-brand-panel__pill:hover{border-color:var(--accent-ring);transform:translate(5px)}.login-pill-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}@media (max-width:960px){.login-page-shell{flex-direction:column}.login-brand-panel{border-right:none;border-bottom:1px solid var(--border);min-height:auto;flex:none!important;padding:36px 24px!important}}.dashboard-grid-4{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.dashboard-grid-3{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.dashboard-grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:1100px){.dashboard-grid-4,.dashboard-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dashboard-grid-4,.dashboard-grid-3,.dashboard-grid-2{grid-template-columns:1fr}}.dashboard-stat-card{cursor:default;padding:22px;transition:transform .28s cubic-bezier(.34,1.3,.64,1),border-color .25s,box-shadow .28s}.dashboard-stat-card:hover{border-color:var(--accent-ring);box-shadow:var(--shadow),0 0 0 1px var(--primary-glow);transform:translateY(-4px)}.dashboard-stat-card:hover .dashboard-stat-card__icon-wrap{transform:scale(1.08)rotate(-5deg)}.dashboard-stat-card__icon-wrap{transition:transform .28s}.dashboard-action-card{cursor:pointer;align-items:center;gap:16px;padding:20px;transition:transform .28s cubic-bezier(.34,1.3,.64,1),border-color .25s,box-shadow .28s;display:flex}.dashboard-action-card:hover{border-color:var(--accent-ring-strong);box-shadow:var(--shadow-glow),var(--shadow);transform:translateY(-3px)}.dashboard-action-card:hover .dashboard-action-card__icon{transform:scale(1.08)}.dashboard-action-card__icon{background:var(--primary-glow);border:1px solid var(--nav-active-border);width:46px;height:46px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .25s,background .25s;display:flex}.dashboard-pending-row{transition:transform .22s,border-color .22s,box-shadow .22s}.dashboard-pending-row:hover{box-shadow:var(--shadow-sm);transform:translate(3px);border-color:var(--accent-ring)!important}.dashboard-phase-banner:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb,var(--info)35%,var(--border))!important}.theme-toggle-segment:hover:not([aria-pressed=true]){transform:scale(1.06);color:var(--text-primary)!important}.theme-toggle-segment:active{transform:scale(.94)}.page-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.25}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:14px;line-height:1.5}.tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.tab-btn{color:var(--text-muted);transition:all var(--transition);letter-spacing:-.01em;background:0 0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s forwards fadeIn}.animate-slide-up{animation:.3s cubic-bezier(.2,0,0,1) forwards slideInUp}.animate-spin{animation:.9s linear infinite spin}.animate-pulse{animation:2s infinite pulse}.skeleton{background:linear-gradient(90deg,var(--dark-3)25%,var(--dark-4)50%,var(--dark-3)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.markdown-output h1,.markdown-output h2,.markdown-output h3,.markdown-output h4,.markdown-output h5{margin:20px 0 10px;line-height:1.4}.markdown-output h1{color:var(--primary-light);font-size:22px;font-weight:800}.markdown-output h2{color:var(--primary);font-size:18px;font-weight:700}.markdown-output h3{color:var(--info);font-size:15px;font-weight:700}.markdown-output h4{color:var(--warning);font-size:14px;font-weight:600}.markdown-output h5{color:var(--success);font-size:13px;font-weight:600}[data-theme=light] .markdown-output h1{color:#3730a3}[data-theme=light] .markdown-output h2{color:#4f46e5}[data-theme=light] .markdown-output h3{color:#1d4ed8}[data-theme=light] .markdown-output h4{color:#92400e}[data-theme=light] .markdown-output h5{color:#065f46}.markdown-output p{color:var(--text-secondary);margin:8px 0;line-height:1.7}.markdown-output ul,.markdown-output ol{margin:8px 0;padding-left:20px}.markdown-output li{color:var(--text-secondary);margin:4px 0;line-height:1.6}.markdown-output strong{color:var(--text-primary);font-weight:700}.markdown-output em{color:var(--primary-light);font-style:italic}.markdown-output hr{border:none;border-top:1px solid var(--border);margin:20px 0}.markdown-output code{background:var(--dark-4);color:var(--primary-light);border-radius:5px;padding:2px 7px;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:13px}.markdown-output blockquote{border-left:3px solid var(--primary);color:var(--text-muted);margin:12px 0;padding-left:14px;font-style:italic}.markdown-output table{border-collapse:collapse;width:100%;margin:16px 0;font-size:13px}.markdown-output th{background:var(--dark-4);color:var(--text-primary);border:1px solid var(--border);text-align:left;padding:10px 12px;font-weight:600}.markdown-output td{border:1px solid var(--border);color:var(--text-secondary);padding:9px 12px}.markdown-output .katex-display{max-width:100%;margin:10px 0;padding-bottom:4px;overflow:auto visible}.markdown-output .katex{font-size:1em}.markdown-output .markdown-math-from-code .katex{background:0 0}.markdown-output{font-family:var(--font-sans),system-ui,"Segoe UI","Apple Symbols","Noto Sans Math","Noto Sans Symbols 2",sans-serif}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.w-full{width:100%}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary-color{color:var(--primary)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:13px}.text-xs{font-size:12px}.divider{background:var(--border);height:1px;margin:16px 0}.nav-badge{background:var(--primary);color:#fff;border-radius:100px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:700;display:flex}.sys-admin-flyout{list-style:none;position:relative}.sys-admin-flyout__trigger{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:default;-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:8px;padding:9px 10px;font-size:14px;font-weight:500;display:flex}.sys-admin-flyout:hover .sys-admin-flyout__trigger{background:var(--nav-hover-bg);color:var(--text-primary)}.sys-admin-flyout__menu{flex-direction:column;gap:2px;margin:0;padding:4px 0 10px 12px;list-style:none;display:none}.sys-admin-flyout__menu li{list-style:none}.sys-admin-flyout:hover .sys-admin-flyout__menu{display:flex}.sys-admin-flyout__menu a{color:var(--text-secondary);transition:background var(--transition),color var(--transition);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:500;display:block}.sys-admin-flyout__menu a:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.sys-admin-flyout--active .sys-admin-flyout__trigger{background:var(--nav-active-bg);color:var(--nav-active-text);border-color:var(--nav-active-border);font-weight:600}.dash-hero-grid{grid-template-columns:1fr 300px;gap:20px;margin-bottom:20px;display:grid}@media (max-width:1024px){.dash-hero-grid{grid-template-columns:1fr}}.dash-hero-card{color:#fff;background:linear-gradient(135deg,#312e81 0%,#3730a3 30%,#4f46e5 70%,#6366f1 100%);border-radius:20px;grid-template-columns:1.1fr 1fr;gap:20px;min-height:220px;padding:32px;display:grid;position:relative;overflow:hidden}@media (max-width:768px){.dash-hero-card{grid-template-columns:1fr}}.dash-hero-card:before{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:300px;height:300px;position:absolute;top:-60px;right:-60px}.dash-hero-card:after{content:"";pointer-events:none;background:#ffffff08;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-40px;left:30%}.dash-ai-badge{letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #ffffff40;border-radius:100px;align-items:center;gap:6px;margin-bottom:16px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.dash-schedule-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;background:#ffffff1f;border:1px solid #fff3;border-radius:14px;padding:18px;position:relative}.dash-schedule-item{border-bottom:1px solid #ffffff1a;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.dash-schedule-item:last-child{border-bottom:none}.dash-quick-card{background:var(--bg-card);border:1px solid var(--border);transition:all var(--transition);box-shadow:var(--shadow-card);cursor:pointer;border-radius:16px;flex-direction:column;gap:12px;padding:22px;display:flex}.dash-quick-card:hover{border-color:var(--accent-ring);box-shadow:var(--shadow),0 0 0 1px var(--primary-glow);transform:translateY(-2px)}.dash-bottom-grid{grid-template-columns:1.6fr 1fr;gap:20px;margin-bottom:20px;display:grid}@media (max-width:900px){.dash-bottom-grid{grid-template-columns:1fr}}.dash-insights-bar-track{background:var(--dark-4);border-radius:100px;height:6px;margin-top:6px;overflow:hidden}.dash-insights-bar-fill{border-radius:100px;height:100%;transition:width .6s}.dash-attention-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.dash-attention-item:last-child{border-bottom:none}.dash-avatar{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.dash-announce-scroll{scrollbar-width:none;gap:16px;padding-bottom:4px;display:flex;overflow-x:auto}.dash-announce-scroll::-webkit-scrollbar{display:none}.dash-announce-scroll--single{display:block;overflow-x:visible}.dash-announce-scroll--single .dash-announce-card{width:100%;min-width:0;max-width:none}.dash-announce-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--primary);min-width:260px;max-width:300px;box-shadow:var(--shadow-card);border-radius:14px;flex-shrink:0;padding:18px}.dash-stats-row{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;gap:0;margin-top:16px;display:flex;overflow:hidden}.dash-stats-col{text-align:center;border-right:1px solid var(--border);flex:1;padding:16px 20px}.dash-stats-col:last-child{border-right:none}.wizard-layout{grid-template-columns:1fr 520px;align-items:start;gap:28px;display:grid}@media (max-width:1100px){.wizard-layout{grid-template-columns:1fr}}.step-block{gap:20px;margin-bottom:32px;display:flex;position:relative}.step-block:not(:last-child):before{content:"";background:linear-gradient(to bottom,var(--primary),transparent);opacity:.3;width:2px;position:absolute;top:40px;bottom:-32px;left:18px}.step-num{background:var(--primary-solid);color:#fff;width:38px;height:38px;box-shadow:0 0 0 4px var(--primary-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.step-content{flex:1;min-width:0}.step-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:16px;font-size:18px;font-weight:700}.upload-zone{border:2px dashed var(--border-hover);text-align:center;background:var(--bg-surface);transition:all var(--transition);cursor:pointer;border-radius:14px;padding:40px 24px}.upload-zone:hover{border-color:var(--primary);background:var(--primary-glow)}.wizard-preview-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;flex-direction:column;height:calc(100vh - 120px);padding:24px;display:flex;position:sticky;top:80px;overflow:hidden}.output-type-btn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.output-type-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-glow)}.output-type-btn.active{background:var(--primary-solid);color:#fff;border-color:var(--primary-solid)}.output-type-btn:disabled{opacity:.45;cursor:not-allowed}.wizard-stats-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;display:grid}.wizard-stat-box{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:12px;padding:16px}.step-progress{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:0;margin-top:32px;padding:20px 0;display:flex}.step-progress-item{align-items:center;gap:8px;display:flex}.step-progress-circle{border:2px solid var(--border);background:var(--bg-card);width:28px;height:28px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.step-progress-circle.done{background:var(--primary-solid);border-color:var(--primary-solid);color:#fff}.step-progress-circle.active{border-color:var(--primary);color:var(--primary)}.step-progress-line{background:var(--border);width:60px;height:2px}.step-progress-line.done{background:var(--primary)}.difficulty-slider{-webkit-appearance:none;background:var(--dark-4);border-radius:100px;outline:none;width:100%;height:6px}.difficulty-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary-solid);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #0000004d}.question-format-btn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.question-format-btn.selected{border-color:var(--primary);color:var(--primary);background:var(--nav-active-bg)}.ai-float-btn{background:var(--primary-solid);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-glow),var(--shadow);cursor:pointer;transition:all var(--transition);z-index:200;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:32px;right:32px}.ai-float-btn:hover{background:var(--primary-dark);transform:scale(1.1)}[data-theme=light] .dash-hero-card{background:linear-gradient(135deg,#312e81 0%,#3730a3 30%,#4f46e5 70%,#6366f1 100%)}[data-theme=light] .dash-schedule-panel{background:#ffffff26;border-color:#ffffff40}[data-theme=light] .skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#eef2ff 50%,#e2e8f0 75%) 0 0/200% 100%}@keyframes lal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes lal-close-spin{0%{opacity:0;transform:rotate(-90deg)scale(.6)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes lal-word-pop{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes lal-dot-pulse{0%,to{box-shadow:0 0 #6366f180}50%{box-shadow:0 0 0 5px #6366f100}}.lal-problem-card-grid{grid-template-columns:1fr;gap:16px;width:100%;margin-bottom:28px;display:grid}@media (min-width:520px){.lal-problem-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ta-fab{background:var(--primary-solid);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-glow),0 8px 20px #00000040;transition:transform var(--transition),background var(--transition);z-index:9000;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px}.ta-fab:hover{background:var(--primary-dark);transform:scale(1.06)}.ta-fab:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.ta-panel{background:var(--bg-card);width:min(380px,100vw - 32px);height:min(560px,100vh - 120px);color:var(--text-primary);border:1px solid var(--border);box-shadow:0 20px 50px #00000059,var(--shadow-glow);z-index:9000;border-radius:16px;flex-direction:column;animation:.16s ease-out ta-pop-in;display:flex;position:fixed;bottom:92px;right:24px;overflow:hidden}@keyframes ta-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ta-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--primary-dark)0%,var(--primary-solid)100%);color:#fff;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.ta-header-title{align-items:center;gap:10px;min-width:0;display:flex}.ta-header-icon{background:#fff3;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ta-header-name{font-size:14px;font-weight:600;line-height:1.2}.ta-header-sub{opacity:.85;font-size:11px;line-height:1.2}.ta-header-actions{align-items:center;gap:4px;display:flex}.ta-icon-btn{color:#fff;cursor:pointer;width:28px;height:28px;transition:background var(--transition);background:#ffffff1f;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.ta-icon-btn:hover{background:#ffffff3d}.ta-messages{background:var(--bg-base,var(--bg-card));flex-direction:column;flex:auto;gap:10px;padding:14px;display:flex;overflow-y:auto}.ta-row{display:flex}.ta-row-user{justify-content:flex-end}.ta-row-assistant{justify-content:flex-start}.ta-bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:14px;max-width:85%;padding:9px 12px;font-size:13.5px;line-height:1.45}.ta-bubble-user{background:var(--primary-solid);color:#fff;border-bottom-right-radius:4px}.ta-bubble-assistant{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px}.ta-md{white-space:normal}.ta-md p{margin:0 0 6px}.ta-md p:last-child{margin-bottom:0}.ta-md ul,.ta-md ol{margin:4px 0 6px;padding-left:20px}.ta-md li{margin:2px 0}.ta-md h1,.ta-md h2,.ta-md h3,.ta-md h4{margin:8px 0 4px;font-size:14px;font-weight:600}.ta-md code{background:#7f7f7f2e;border-radius:4px;padding:1px 5px;font-size:12.5px}.ta-md pre{background:#7f7f7f24;border-radius:8px;margin:6px 0;padding:8px 10px;overflow-x:auto}.ta-md pre code{background:0 0;padding:0}.ta-md a{color:var(--primary);text-decoration:underline}.ta-md blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:6px 0;padding:2px 10px}.ta-typing{align-items:center;gap:4px;padding:12px 14px;display:inline-flex}.ta-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ta-blink}.ta-typing span:nth-child(2){animation-delay:.15s}.ta-typing span:nth-child(3){animation-delay:.3s}@keyframes ta-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.ta-error{color:#f87171;background:#dc26261a;border:1px solid #dc26264d;border-radius:8px;margin:0 14px 6px;padding:6px 10px;font-size:12px}.ta-input-row{border-top:1px solid var(--border);background:var(--bg-card);align-items:flex-end;gap:8px;padding:10px 12px 12px;display:flex}.ta-input{resize:none;border:1px solid var(--border);background:var(--bg-base,var(--bg-card));min-height:36px;max-height:120px;color:var(--text-primary);transition:border-color var(--transition);border-radius:10px;outline:none;flex:auto;padding:9px 12px;font-family:inherit;font-size:13.5px;line-height:1.4}.ta-input:focus{border-color:var(--primary)}.ta-input::placeholder{color:var(--text-muted)}.ta-send-btn{background:var(--primary-solid);color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--transition);border:none;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.ta-send-btn:hover:not(:disabled){background:var(--primary-dark)}.ta-send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:480px){.ta-panel{width:auto;height:min(70vh,520px);bottom:88px;left:12px;right:12px}.ta-fab{bottom:18px;right:18px}}.cal-page{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.cal-main{padding:18px}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cal-toolbar-left{align-items:center;gap:8px;display:flex}.cal-month-label{color:var(--text-primary);letter-spacing:-.01em;margin-left:6px;font-size:16px;font-weight:700}.cal-error{color:var(--error);background:#ef444414;border:1px solid #ef44442e;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:12px}.cal-weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 2px 6px;display:grid}.cal-weekday{text-align:center;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(108px,1fr);gap:6px;transition:opacity .18s;display:grid}.cal-grid-loading{opacity:.6}.cal-cell{background:var(--bg-card);border:1px solid var(--border);text-align:left;cursor:pointer;min-height:108px;transition:all var(--transition);font:inherit;color:inherit;border-radius:10px;outline:none;flex-direction:column;gap:4px;padding:6px 6px 4px;display:flex;position:relative}.cal-cell:focus-visible{box-shadow:0 0 0 2px #6366f159}.cal-cell:hover{background:var(--bg-hover);border-color:var(--border-hover)}.cal-cell-muted{opacity:.45}.cal-cell-today{border-color:var(--primary)}.cal-cell-today .cal-cell-date{background:var(--primary);color:#fff}.cal-cell-selected{border-color:var(--primary);box-shadow:0 0 0 2px #6366f12e}.cal-cell-head{justify-content:space-between;align-items:center;gap:4px;min-height:22px;display:flex}.cal-cell-date{width:22px;height:22px;color:var(--text-secondary);border-radius:6px;order:2;justify-content:center;align-items:center;margin-left:auto;font-size:11px;font-weight:700;display:inline-flex}.cal-cell-add-btn{border:1px dashed var(--border-hover);background:var(--bg-card);width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease,background var(--transition),color var(--transition);border-radius:5px;flex-shrink:0;order:1;justify-content:center;align-items:center;display:inline-flex;transform:scale(.85)}.cal-cell:hover .cal-cell-add-btn,.cal-cell:focus-within .cal-cell-add-btn{opacity:1;transform:scale(1)}.cal-cell-add-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.cal-cell-holiday{white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;overflow:hidden}.cal-holiday-national{color:#b45309;background:#f59e0b1f;border-left:2px solid #f59e0b;padding-left:5px}.cal-holiday-religious{color:#7e22ce;background:#a855f71f;border-left:2px solid #a855f7;padding-left:5px}.cal-holiday-observance{color:#0f766e;background:#14b8a61f;border-left:2px solid #14b8a6;padding-left:5px}.cal-cell-tasks{flex-direction:column;gap:3px;display:flex;overflow:hidden}.cal-task-chip{background:var(--bg-hover);color:var(--text-primary);border-left:3px solid var(--primary);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:500;display:flex;overflow:hidden}.cal-task-chip.task-priority-low{border-left-color:#60a5fa}.cal-task-chip.task-priority-normal{border-left-color:var(--primary)}.cal-task-chip.task-priority-high{border-left-color:var(--error)}.cal-task-chip.task-done{opacity:.55;text-decoration:line-through}.cal-chip-time{color:var(--text-muted);font-size:10px;font-weight:700}.cal-chip-title{text-overflow:ellipsis;flex:1;overflow:hidden}.cal-cell-more{color:var(--text-muted);padding-left:4px;font-size:10px;font-weight:600}.cal-detail-panel{flex-direction:column;gap:14px;max-height:calc(100vh - 100px);padding:16px;display:flex;position:sticky;top:14px;overflow-y:auto}.cal-detail-header{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.cal-detail-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.cal-detail-title{color:var(--text-primary);letter-spacing:-.01em;margin-top:2px;font-size:16px;font-weight:700}.cal-detail-holiday{border-radius:6px;margin-top:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.cal-detail-empty{background:var(--bg-hover);border:1px dashed var(--border);color:var(--text-secondary);text-align:center;border-radius:10px;padding:16px;font-size:13px;line-height:1.5}.task-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task-row{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--bg-card);transition:background var(--transition);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 10px 10px 8px;display:flex}.task-row:hover{background:var(--bg-hover)}.task-row.task-priority-low{border-left-color:#60a5fa}.task-row.task-priority-normal{border-left-color:var(--primary)}.task-row.task-priority-high{border-left-color:var(--error)}.task-row.task-done .task-row-title{color:var(--text-muted);text-decoration:line-through}.task-checkbox{border:1.5px solid var(--border-hover);background:var(--bg-card);cursor:pointer;color:#fff;width:18px;height:18px;transition:all var(--transition);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.task-checkbox.checked{background:var(--primary);border-color:var(--primary)}.task-row-body{flex:1;min-width:0}.task-row-title{color:var(--text-primary);word-break:break-word;font-size:13px;font-weight:600}.task-row-meta{color:var(--text-muted);text-transform:capitalize;align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.task-row-dot{opacity:.4}.task-row-desc{color:var(--text-secondary);word-break:break-word;margin-top:5px;font-size:12px;line-height:1.45}.task-row-actions{flex-shrink:0;gap:4px;display:flex}.task-icon-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.task-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.task-icon-btn.task-icon-danger:hover{color:var(--error);background:#ef444414;border-color:#ef444433}.task-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9700;background:#0f172a73;justify-content:center;align-items:center;padding:20px;animation:.12s fadeIn;display:flex;position:fixed;inset:0}.task-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;width:min(440px,100%);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 20px 60px #0f172a40}.task-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.task-modal-title{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:700}.task-modal-close{width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.task-modal-close:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text-primary)}.task-modal-body{flex-direction:column;gap:12px;padding:16px;display:flex}.task-field{flex-direction:column;gap:5px;display:flex}.task-field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.task-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.task-priority-row{gap:6px;display:flex}.task-priority-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:8px;flex:1;padding:7px 10px;font-size:12px;font-weight:600}.task-priority-btn:hover{background:var(--bg-hover)}.task-priority-btn.selected.task-priority-low{color:#2563eb;background:#60a5fa1f;border-color:#60a5fa}.task-priority-btn.selected.task-priority-normal{border-color:var(--primary);color:var(--primary);background:#6366f11f}.task-priority-btn.selected.task-priority-high{border-color:var(--error);color:var(--error);background:#ef44441a}.task-modal-error{color:var(--error);background:#ef444414;border:1px solid #ef44442e;border-radius:8px;padding:8px 10px;font-size:12px}.task-modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.dash-tasks-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.dash-task-row{background:#ffffff14;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 8px 8px 6px;display:flex}.dash-task-row.done .dash-task-title{opacity:.65;text-decoration:line-through}.dash-task-check{color:#fff;cursor:pointer;width:16px;height:16px;transition:all var(--transition);background:0 0;border:1.5px solid #ffffff8c;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.dash-task-check.checked{color:var(--primary);background:#fff;border-color:#fff}.dash-task-title{color:#fff;word-break:break-word;font-size:13px;font-weight:600}.dash-task-meta{color:#ffffffc7;gap:5px;margin-top:2px;font-size:11px;display:flex}.dash-tasks-footer{border-top:1px solid #ffffff2e;gap:8px;padding-top:6px;display:flex}.dash-tasks-add-btn,.dash-tasks-link{color:#fff;cursor:pointer;transition:background var(--transition);background:#ffffff24;border:1px solid #ffffff2e;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.dash-tasks-add-btn:hover,.dash-tasks-link:hover{background:#ffffff38}.bell-wrap{position:relative}.bell-btn{border:1px solid var(--border);background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);border-radius:100px;justify-content:center;align-items:center;display:inline-flex;position:relative}.bell-btn:hover{border-color:var(--border-hover);background:var(--bg-hover);color:var(--text-primary)}.bell-badge{background:var(--error);color:#fff;border:2px solid var(--bg-card);border-radius:100px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-3px;right:-3px}.bell-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:9600;border-radius:12px;width:320px;max-height:460px;padding:10px 10px 12px;animation:.12s fadeIn;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 16px 48px #0f172a2e}.bell-dropdown-header{color:var(--text-primary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 6px 8px;font-size:13px;font-weight:700;display:flex}.bell-dropdown-link{color:var(--primary);font-size:12px;font-weight:600;text-decoration:none}.bell-dropdown-link:hover{text-decoration:underline}.bell-section-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:6px 6px 4px;font-size:10px;font-weight:700}.bell-list{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.bell-item{background:var(--bg-hover);border-left:3px solid var(--primary);border-radius:8px;align-items:center;gap:8px;padding:8px 8px 8px 10px;display:flex}.bell-item.bell-priority-low{border-left-color:#60a5fa}.bell-item.bell-priority-normal{border-left-color:var(--primary)}.bell-item.bell-priority-high{border-left-color:var(--error)}.bell-item-body{flex:1;min-width:0}.bell-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.bell-item-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.bell-item-done{background:var(--primary);color:#fff;cursor:pointer;width:24px;height:24px;transition:background var(--transition);border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bell-item-done:hover{background:var(--primary-dark)}.bell-empty{color:var(--text-muted);padding:8px 10px 4px;font-size:12px}.bell-error{color:var(--error);background:#ef444414;border:1px solid #ef44442e;border-radius:8px;margin-bottom:8px;padding:6px 10px;font-size:11px}.toast-stack{top:calc(var(--header-height) + 12px);z-index:9500;pointer-events:none;flex-direction:column;gap:10px;width:min(340px,100vw - 32px);display:flex;position:fixed;right:18px}.toast-card{pointer-events:auto;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:14px;align-items:flex-start;gap:10px;padding:12px;animation:.28s cubic-bezier(.22,1,.36,1) toast-slide-in;display:flex;position:relative;box-shadow:0 14px 40px #0f172a2e}.toast-card.toast-popup{border-left-width:4px;animation:.36s cubic-bezier(.22,1,.36,1) toast-pop-in;box-shadow:0 18px 50px #0f172a38,0 0 0 1px #6366f12e}.toast-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:2px;font-size:10px;font-weight:700}.toast-card.toast-priority-high .toast-eyebrow{color:var(--error)}.toast-card.toast-priority-low .toast-eyebrow{color:#2563eb}.toast-card.toast-priority-low{border-left-color:#60a5fa}.toast-card.toast-priority-normal{border-left-color:var(--primary)}.toast-card.toast-priority-high{border-left-color:var(--error)}.toast-icon{width:28px;height:28px;color:var(--primary);background:#6366f11f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-body{flex:1;min-width:0}.toast-title{color:var(--text-primary);word-break:break-word;font-size:13px;font-weight:700}.toast-meta{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:inline-flex}.toast-meta svg{flex-shrink:0}.toast-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.toast-actions{gap:6px;margin-top:8px;display:flex}.toast-action-primary,.toast-action-ghost{cursor:pointer;transition:all var(--transition);border:1px solid #0000;border-radius:7px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.toast-action-primary{background:var(--primary);color:#fff}.toast-action-primary:hover{background:var(--primary-dark)}.toast-action-ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.toast-action-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px)translate(8px)}to{opacity:1;transform:translateY(0)translate(0)}}@keyframes toast-pop-in{0%{opacity:0;transform:translateY(-18px)scale(.92)}60%{opacity:1;transform:translateY(2px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.toast-card.toast-popup .toast-icon{background:#6366f12e;animation:1.6s ease-in-out 2 toast-icon-pulse}@media (max-width:900px){.cal-page{grid-template-columns:1fr}.cal-detail-panel{max-height:none;position:static}}@media (max-width:600px){.cal-grid{grid-auto-rows:minmax(82px,1fr)}.cal-task-chip{padding:1px 5px;font-size:10px}.cal-cell-holiday{padding:0 4px;font-size:9px}.cal-cell-add-btn{opacity:1;transform:scale(1)}.toast-stack{right:10px;top:calc(var(--header-height) + 8px)}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.data-number{font-family:var(--font-display);letter-spacing:-.05em;color:var(--text-primary);font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1}.section-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.app-sidebar--teacher{border-right-color:var(--role-teacher-border)}.app-sidebar--student{border-right-color:var(--role-student-border)}.app-sidebar--parent{border-right-color:var(--role-parent-border)}.app-sidebar--admin{border-right-color:var(--role-admin-border)}.app-sidebar--sysadmin{border-right-color:var(--role-sysadmin-border)}.nav-link{color:var(--text-secondary);transition:all var(--transition);letter-spacing:-.01em;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--nav-hover-bg);color:var(--text-primary)}.nav-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.nav-link.active{background:var(--nav-active-bg);color:var(--nav-active-text);border-color:var(--nav-active-border);font-weight:600}.card-interactive{cursor:pointer;transition:transform .22s cubic-bezier(.34,1.3,.64,1),border-color .2s,box-shadow .22s}.card-interactive:hover{border-color:var(--accent-ring);box-shadow:var(--shadow),0 0 0 1px var(--primary-glow);transform:translateY(-2px)}.filter-toolbar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;padding:14px 20px;display:flex}.app-main--teacher{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- Open book @ top-left --%3E%3Cg transform='translate(18,20) rotate(-8,22,14)' opacity='0.20'%3E%3Crect x='0' y='4' width='44' height='28' rx='2' fill='none' stroke='%236366F1' stroke-width='2.2'/%3E%3Cline x1='22' y1='4' x2='22' y2='32' stroke='%236366F1' stroke-width='1.6'/%3E%3Cline x1='4' y1='12' x2='19' y2='12' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='4' y1='17' x2='19' y2='17' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='4' y1='22' x2='19' y2='22' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='25' y1='12' x2='40' y2='12' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='25' y1='17' x2='40' y2='17' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='25' y1='22' x2='40' y2='22' stroke='%236366F1' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Pencil @ top-right --%3E%3Cg transform='translate(250,10) rotate(30,8,30)' opacity='0.20'%3E%3Crect x='4' y='0' width='9' height='44' rx='1' fill='%23818CF8' fill-opacity='0.25' stroke='%236366F1' stroke-width='1.9'/%3E%3Crect x='4' y='38' width='9' height='6' rx='0' fill='%23F9A8D4' fill-opacity='0.5' stroke='%23F472B6' stroke-width='1.4'/%3E%3Cpolygon points='4,44 13,44 8.5,54' fill='%23A78BFA' fill-opacity='0.6' stroke='%236366F1' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Apple @ center-right --%3E%3Cg transform='translate(240,130)' opacity='0.20'%3E%3Cellipse cx='16' cy='20' rx='14' ry='16' fill='%23EF4444' fill-opacity='0.3' stroke='%23EF4444' stroke-width='1.9'/%3E%3Cpath d='M16,4 Q18,0 22,2' fill='none' stroke='%2322C55E' stroke-width='2.2' stroke-linecap='round'/%3E%3Cellipse cx='16' cy='16' rx='6' ry='5' fill='white' fill-opacity='0.12'/%3E%3C/g%3E%3C!-- Ruler @ bottom-left --%3E%3Cg transform='translate(10,240) rotate(-5,50,8)' opacity='0.20'%3E%3Crect x='0' y='0' width='80' height='16' rx='2' fill='%236366F1' fill-opacity='0.18' stroke='%236366F1' stroke-width='1.9'/%3E%3Cline x1='10' y1='0' x2='10' y2='8' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='20' y1='0' x2='20' y2='12' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='30' y1='0' x2='30' y2='8' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='40' y1='0' x2='40' y2='12' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='50' y1='0' x2='50' y2='8' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='60' y1='0' x2='60' y2='12' stroke='%236366F1' stroke-width='1.4'/%3E%3Cline x1='70' y1='0' x2='70' y2='8' stroke='%236366F1' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Lightbulb @ center --%3E%3Cg transform='translate(128,120)' opacity='0.18'%3E%3Cpath d='M22,0 C10,0 2,8 2,18 C2,25 6,31 12,34 L12,40 L32,40 L32,34 C38,31 42,25 42,18 C42,8 34,0 22,0 Z' fill='%23F59E0B' fill-opacity='0.22' stroke='%23F59E0B' stroke-width='1.9'/%3E%3Crect x='14' y='40' width='16' height='4' rx='1' fill='%23F59E0B' fill-opacity='0.4' stroke='%23F59E0B' stroke-width='1.4'/%3E%3Crect x='16' y='44' width='12' height='4' rx='1' fill='%23F59E0B' fill-opacity='0.4' stroke='%23F59E0B' stroke-width='1.4'/%3E%3Cline x1='22' y1='10' x2='22' y2='30' stroke='%23FCD34D' stroke-width='1.6' stroke-opacity='0.5'/%3E%3Cline x1='14' y1='18' x2='30' y2='18' stroke='%23FCD34D' stroke-width='1.6' stroke-opacity='0.5'/%3E%3C/g%3E%3C!-- Small star @ bottom-right --%3E%3Cg transform='translate(258,248)' opacity='0.20'%3E%3Cpolygon points='18,0 22,12 34,12 24,20 28,32 18,24 8,32 12,20 2,12 14,12' fill='%23F59E0B' fill-opacity='0.35' stroke='%23F59E0B' stroke-width='1.6'/%3E%3C/g%3E%3C!-- Stack of books @ bottom-center --%3E%3Cg transform='translate(110,252)' opacity='0.20'%3E%3Crect x='0' y='30' width='50' height='10' rx='2' fill='%236366F1' fill-opacity='0.35' stroke='%236366F1' stroke-width='1.6'/%3E%3Crect x='4' y='18' width='44' height='13' rx='2' fill='%23818CF8' fill-opacity='0.3' stroke='%236366F1' stroke-width='1.6'/%3E%3Crect x='8' y='8' width='36' height='11' rx='2' fill='%23A78BFA' fill-opacity='0.25' stroke='%236366F1' stroke-width='1.6'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}[data-theme=light] .app-main--teacher{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- Open book @ top-left --%3E%3Cg transform='translate(18,20) rotate(-8,22,14)' opacity='0.22'%3E%3Crect x='0' y='4' width='44' height='28' rx='2' fill='none' stroke='%234F46E5' stroke-width='2.2'/%3E%3Cline x1='22' y1='4' x2='22' y2='32' stroke='%234F46E5' stroke-width='1.6'/%3E%3Cline x1='4' y1='12' x2='19' y2='12' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='4' y1='17' x2='19' y2='17' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='4' y1='22' x2='19' y2='22' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='25' y1='12' x2='40' y2='12' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='25' y1='17' x2='40' y2='17' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='25' y1='22' x2='40' y2='22' stroke='%234F46E5' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Pencil @ top-right --%3E%3Cg transform='translate(250,10) rotate(30,8,30)' opacity='0.22'%3E%3Crect x='4' y='0' width='9' height='44' rx='1' fill='%236366F1' fill-opacity='0.2' stroke='%234F46E5' stroke-width='1.9'/%3E%3Crect x='4' y='38' width='9' height='6' rx='0' fill='%23EC4899' fill-opacity='0.4' stroke='%23DB2777' stroke-width='1.4'/%3E%3Cpolygon points='4,44 13,44 8.5,54' fill='%234F46E5' fill-opacity='0.5' stroke='%234338CA' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Apple @ center-right --%3E%3Cg transform='translate(240,130)' opacity='0.22'%3E%3Cellipse cx='16' cy='20' rx='14' ry='16' fill='%23EF4444' fill-opacity='0.25' stroke='%23DC2626' stroke-width='1.9'/%3E%3Cpath d='M16,4 Q18,0 22,2' fill='none' stroke='%2316A34A' stroke-width='2.2' stroke-linecap='round'/%3E%3Cellipse cx='16' cy='16' rx='6' ry='5' fill='white' fill-opacity='0.2'/%3E%3C/g%3E%3C!-- Ruler @ bottom-left --%3E%3Cg transform='translate(10,240) rotate(-5,50,8)' opacity='0.22'%3E%3Crect x='0' y='0' width='80' height='16' rx='2' fill='%234F46E5' fill-opacity='0.15' stroke='%234F46E5' stroke-width='1.9'/%3E%3Cline x1='10' y1='0' x2='10' y2='8' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='20' y1='0' x2='20' y2='12' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='30' y1='0' x2='30' y2='8' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='40' y1='0' x2='40' y2='12' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='50' y1='0' x2='50' y2='8' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='60' y1='0' x2='60' y2='12' stroke='%234F46E5' stroke-width='1.4'/%3E%3Cline x1='70' y1='0' x2='70' y2='8' stroke='%234F46E5' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Lightbulb @ center --%3E%3Cg transform='translate(128,120)' opacity='0.20'%3E%3Cpath d='M22,0 C10,0 2,8 2,18 C2,25 6,31 12,34 L12,40 L32,40 L32,34 C38,31 42,25 42,18 C42,8 34,0 22,0 Z' fill='%23D97706' fill-opacity='0.2' stroke='%23D97706' stroke-width='1.9'/%3E%3Crect x='14' y='40' width='16' height='4' rx='1' fill='%23D97706' fill-opacity='0.35' stroke='%23D97706' stroke-width='1.4'/%3E%3Crect x='16' y='44' width='12' height='4' rx='1' fill='%23D97706' fill-opacity='0.35' stroke='%23D97706' stroke-width='1.4'/%3E%3Cline x1='22' y1='10' x2='22' y2='30' stroke='%23D97706' stroke-width='1.6' stroke-opacity='0.4'/%3E%3Cline x1='14' y1='18' x2='30' y2='18' stroke='%23D97706' stroke-width='1.6' stroke-opacity='0.4'/%3E%3C/g%3E%3C!-- Small star @ bottom-right --%3E%3Cg transform='translate(258,248)' opacity='0.22'%3E%3Cpolygon points='18,0 22,12 34,12 24,20 28,32 18,24 8,32 12,20 2,12 14,12' fill='%23D97706' fill-opacity='0.3' stroke='%23D97706' stroke-width='1.6'/%3E%3C/g%3E%3C!-- Stack of books @ bottom-center --%3E%3Cg transform='translate(110,252)' opacity='0.22'%3E%3Crect x='0' y='30' width='50' height='10' rx='2' fill='%234F46E5' fill-opacity='0.3' stroke='%234F46E5' stroke-width='1.6'/%3E%3Crect x='4' y='18' width='44' height='13' rx='2' fill='%236366F1' fill-opacity='0.25' stroke='%234F46E5' stroke-width='1.6'/%3E%3Crect x='8' y='8' width='36' height='11' rx='2' fill='%238B5CF6' fill-opacity='0.2' stroke='%234F46E5' stroke-width='1.6'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}.app-main--student{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- Backpack @ top-left --%3E%3Cg transform='translate(16,14)' opacity='0.20'%3E%3Crect x='4' y='10' width='34' height='36' rx='5' fill='%230EA5E9' fill-opacity='0.2' stroke='%230EA5E9' stroke-width='2.0'/%3E%3Crect x='10' y='6' width='22' height='8' rx='3' fill='none' stroke='%230EA5E9' stroke-width='1.7'/%3E%3Crect x='10' y='24' width='22' height='14' rx='3' fill='none' stroke='%230EA5E9' stroke-width='1.5'/%3E%3Cline x1='21' y1='24' x2='21' y2='38' stroke='%230EA5E9' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Spiral notebook @ top-right --%3E%3Cg transform='translate(232,16)' opacity='0.20'%3E%3Crect x='8' y='0' width='44' height='54' rx='3' fill='%2338BDF8' fill-opacity='0.15' stroke='%230EA5E9' stroke-width='1.9'/%3E%3Ccircle cx='8' cy='8' r='3' fill='none' stroke='%230EA5E9' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='18' r='3' fill='none' stroke='%230EA5E9' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='28' r='3' fill='none' stroke='%230EA5E9' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='38' r='3' fill='none' stroke='%230EA5E9' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='48' r='3' fill='none' stroke='%230EA5E9' stroke-width='1.6'/%3E%3Cline x1='16' y1='14' x2='46' y2='14' stroke='%230EA5E9' stroke-width='1.4'/%3E%3Cline x1='16' y1='22' x2='46' y2='22' stroke='%230EA5E9' stroke-width='1.4'/%3E%3Cline x1='16' y1='30' x2='46' y2='30' stroke='%230EA5E9' stroke-width='1.4'/%3E%3Cline x1='16' y1='38' x2='46' y2='38' stroke='%230EA5E9' stroke-width='1.4'/%3E%3Cline x1='16' y1='46' x2='38' y2='46' stroke='%230EA5E9' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Calculator @ center-left --%3E%3Cg transform='translate(22,140)' opacity='0.20'%3E%3Crect x='0' y='0' width='36' height='50' rx='4' fill='%230EA5E9' fill-opacity='0.18' stroke='%230EA5E9' stroke-width='1.9'/%3E%3Crect x='5' y='6' width='26' height='12' rx='2' fill='%2338BDF8' fill-opacity='0.25' stroke='%230EA5E9' stroke-width='1.4'/%3E%3Crect x='5' y='24' width='8' height='7' rx='1' fill='%230EA5E9' fill-opacity='0.3'/%3E%3Crect x='14' y='24' width='8' height='7' rx='1' fill='%230EA5E9' fill-opacity='0.3'/%3E%3Crect x='23' y='24' width='8' height='7' rx='1' fill='%230EA5E9' fill-opacity='0.3'/%3E%3Crect x='5' y='33' width='8' height='7' rx='1' fill='%230EA5E9' fill-opacity='0.3'/%3E%3Crect x='14' y='33' width='8' height='7' rx='1' fill='%230EA5E9' fill-opacity='0.3'/%3E%3Crect x='23' y='33' width='8' height='14' rx='1' fill='%2322D3EE' fill-opacity='0.35'/%3E%3Crect x='5' y='42' width='8' height='7' rx='1' fill='%230EA5E9' fill-opacity='0.3'/%3E%3Crect x='14' y='42' width='8' height='7' rx='1' fill='%230EA5E9' fill-opacity='0.3'/%3E%3C/g%3E%3C!-- Atom @ center --%3E%3Cg transform='translate(120,114)' opacity='0.18'%3E%3Ccircle cx='30' cy='30' r='5' fill='%230EA5E9' fill-opacity='0.5' stroke='%230EA5E9' stroke-width='1.6'/%3E%3Cellipse cx='30' cy='30' rx='26' ry='10' fill='none' stroke='%230EA5E9' stroke-width='1.7'/%3E%3Cellipse cx='30' cy='30' rx='26' ry='10' fill='none' stroke='%2338BDF8' stroke-width='1.7' transform='rotate(60,30,30)'/%3E%3Cellipse cx='30' cy='30' rx='26' ry='10' fill='none' stroke='%2322D3EE' stroke-width='1.7' transform='rotate(120,30,30)'/%3E%3C/g%3E%3C!-- Trophy @ center-right --%3E%3Cg transform='translate(240,120)' opacity='0.20'%3E%3Cpath d='M8,0 L42,0 L38,24 C36,34 14,34 12,24 Z' fill='%23F59E0B' fill-opacity='0.3' stroke='%23F59E0B' stroke-width='1.9'/%3E%3Crect x='18' y='34' width='14' height='10' rx='1' fill='%23F59E0B' fill-opacity='0.3' stroke='%23F59E0B' stroke-width='1.5'/%3E%3Crect x='12' y='44' width='26' height='5' rx='2' fill='%23F59E0B' fill-opacity='0.4' stroke='%23F59E0B' stroke-width='1.5'/%3E%3Cpath d='M8,6 Q0,6 0,14 Q0,22 10,22' fill='none' stroke='%23F59E0B' stroke-width='1.7'/%3E%3Cpath d='M42,6 Q50,6 50,14 Q50,22 40,22' fill='none' stroke='%23F59E0B' stroke-width='1.7'/%3E%3C/g%3E%3C!-- Pencil @ bottom-left --%3E%3Cg transform='translate(30,256) rotate(-15,8,22)' opacity='0.20'%3E%3Crect x='4' y='0' width='8' height='36' rx='1' fill='%2338BDF8' fill-opacity='0.25' stroke='%230EA5E9' stroke-width='1.6'/%3E%3Crect x='4' y='30' width='8' height='5' rx='0' fill='%23FDA4AF' fill-opacity='0.5' stroke='%23F472B6' stroke-width='1.2'/%3E%3Cpolygon points='4,35 12,35 8,44' fill='%230284C7' fill-opacity='0.5' stroke='%230EA5E9' stroke-width='1.2'/%3E%3C/g%3E%3C!-- Star @ bottom-center --%3E%3Cg transform='translate(130,256)' opacity='0.20'%3E%3Cpolygon points='18,0 22,12 34,12 24,20 28,32 18,24 8,32 12,20 2,12 14,12' fill='%230EA5E9' fill-opacity='0.3' stroke='%230EA5E9' stroke-width='1.6'/%3E%3C/g%3E%3C!-- Magnifying glass @ bottom-right --%3E%3Cg transform='translate(248,238)' opacity='0.20'%3E%3Ccircle cx='18' cy='18' r='14' fill='none' stroke='%230EA5E9' stroke-width='2.2'/%3E%3Ccircle cx='18' cy='18' r='9' fill='%230EA5E9' fill-opacity='0.1' stroke='%230EA5E9' stroke-width='1.4'/%3E%3Cline x1='28' y1='28' x2='38' y2='40' stroke='%230EA5E9' stroke-width='2' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}[data-theme=light] .app-main--student{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- Backpack @ top-left --%3E%3Cg transform='translate(16,14)' opacity='0.22'%3E%3Crect x='4' y='10' width='34' height='36' rx='5' fill='%230284C7' fill-opacity='0.15' stroke='%230284C7' stroke-width='2.0'/%3E%3Crect x='10' y='6' width='22' height='8' rx='3' fill='none' stroke='%230284C7' stroke-width='1.7'/%3E%3Crect x='10' y='24' width='22' height='14' rx='3' fill='none' stroke='%230284C7' stroke-width='1.5'/%3E%3Cline x1='21' y1='24' x2='21' y2='38' stroke='%230284C7' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Spiral notebook @ top-right --%3E%3Cg transform='translate(232,16)' opacity='0.22'%3E%3Crect x='8' y='0' width='44' height='54' rx='3' fill='%230284C7' fill-opacity='0.1' stroke='%230284C7' stroke-width='1.9'/%3E%3Ccircle cx='8' cy='8' r='3' fill='none' stroke='%230284C7' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='18' r='3' fill='none' stroke='%230284C7' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='28' r='3' fill='none' stroke='%230284C7' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='38' r='3' fill='none' stroke='%230284C7' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='48' r='3' fill='none' stroke='%230284C7' stroke-width='1.6'/%3E%3Cline x1='16' y1='14' x2='46' y2='14' stroke='%230284C7' stroke-width='1.4'/%3E%3Cline x1='16' y1='22' x2='46' y2='22' stroke='%230284C7' stroke-width='1.4'/%3E%3Cline x1='16' y1='30' x2='46' y2='30' stroke='%230284C7' stroke-width='1.4'/%3E%3Cline x1='16' y1='38' x2='46' y2='38' stroke='%230284C7' stroke-width='1.4'/%3E%3Cline x1='16' y1='46' x2='38' y2='46' stroke='%230284C7' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Calculator @ center-left --%3E%3Cg transform='translate(22,140)' opacity='0.22'%3E%3Crect x='0' y='0' width='36' height='50' rx='4' fill='%230284C7' fill-opacity='0.12' stroke='%230284C7' stroke-width='1.9'/%3E%3Crect x='5' y='6' width='26' height='12' rx='2' fill='%230284C7' fill-opacity='0.18' stroke='%230284C7' stroke-width='1.4'/%3E%3Crect x='5' y='24' width='8' height='7' rx='1' fill='%230284C7' fill-opacity='0.22'/%3E%3Crect x='14' y='24' width='8' height='7' rx='1' fill='%230284C7' fill-opacity='0.22'/%3E%3Crect x='23' y='24' width='8' height='7' rx='1' fill='%230284C7' fill-opacity='0.22'/%3E%3Crect x='5' y='33' width='8' height='7' rx='1' fill='%230284C7' fill-opacity='0.22'/%3E%3Crect x='14' y='33' width='8' height='7' rx='1' fill='%230284C7' fill-opacity='0.22'/%3E%3Crect x='23' y='33' width='8' height='14' rx='1' fill='%230369A1' fill-opacity='0.28'/%3E%3Crect x='5' y='42' width='8' height='7' rx='1' fill='%230284C7' fill-opacity='0.22'/%3E%3Crect x='14' y='42' width='8' height='7' rx='1' fill='%230284C7' fill-opacity='0.22'/%3E%3C/g%3E%3C!-- Atom @ center --%3E%3Cg transform='translate(120,114)' opacity='0.20'%3E%3Ccircle cx='30' cy='30' r='5' fill='%230284C7' fill-opacity='0.45' stroke='%230284C7' stroke-width='1.6'/%3E%3Cellipse cx='30' cy='30' rx='26' ry='10' fill='none' stroke='%230284C7' stroke-width='1.7'/%3E%3Cellipse cx='30' cy='30' rx='26' ry='10' fill='none' stroke='%230369A1' stroke-width='1.7' transform='rotate(60,30,30)'/%3E%3Cellipse cx='30' cy='30' rx='26' ry='10' fill='none' stroke='%230EA5E9' stroke-width='1.7' transform='rotate(120,30,30)'/%3E%3C/g%3E%3C!-- Trophy @ center-right --%3E%3Cg transform='translate(240,120)' opacity='0.22'%3E%3Cpath d='M8,0 L42,0 L38,24 C36,34 14,34 12,24 Z' fill='%23D97706' fill-opacity='0.22' stroke='%23D97706' stroke-width='1.9'/%3E%3Crect x='18' y='34' width='14' height='10' rx='1' fill='%23D97706' fill-opacity='0.22' stroke='%23D97706' stroke-width='1.5'/%3E%3Crect x='12' y='44' width='26' height='5' rx='2' fill='%23D97706' fill-opacity='0.3' stroke='%23D97706' stroke-width='1.5'/%3E%3Cpath d='M8,6 Q0,6 0,14 Q0,22 10,22' fill='none' stroke='%23D97706' stroke-width='1.7'/%3E%3Cpath d='M42,6 Q50,6 50,14 Q50,22 40,22' fill='none' stroke='%23D97706' stroke-width='1.7'/%3E%3C/g%3E%3C!-- Pencil @ bottom-left --%3E%3Cg transform='translate(30,256) rotate(-15,8,22)' opacity='0.22'%3E%3Crect x='4' y='0' width='8' height='36' rx='1' fill='%230284C7' fill-opacity='0.2' stroke='%230284C7' stroke-width='1.6'/%3E%3Crect x='4' y='30' width='8' height='5' rx='0' fill='%23EC4899' fill-opacity='0.4' stroke='%23DB2777' stroke-width='1.2'/%3E%3Cpolygon points='4,35 12,35 8,44' fill='%230369A1' fill-opacity='0.45' stroke='%230284C7' stroke-width='1.2'/%3E%3C/g%3E%3C!-- Star @ bottom-center --%3E%3Cg transform='translate(130,256)' opacity='0.22'%3E%3Cpolygon points='18,0 22,12 34,12 24,20 28,32 18,24 8,32 12,20 2,12 14,12' fill='%23D97706' fill-opacity='0.25' stroke='%23D97706' stroke-width='1.6'/%3E%3C/g%3E%3C!-- Magnifying glass @ bottom-right --%3E%3Cg transform='translate(248,238)' opacity='0.22'%3E%3Ccircle cx='18' cy='18' r='14' fill='none' stroke='%230284C7' stroke-width='2.2'/%3E%3Ccircle cx='18' cy='18' r='9' fill='%230284C7' fill-opacity='0.18' stroke='%230284C7' stroke-width='1.4'/%3E%3Cline x1='28' y1='28' x2='38' y2='40' stroke='%230284C7' stroke-width='2' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}.app-main--admin{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- School building @ top-left --%3E%3Cg transform='translate(12,12)' opacity='0.20'%3E%3Crect x='0' y='20' width='56' height='36' rx='2' fill='%237C3AED' fill-opacity='0.18' stroke='%237C3AED' stroke-width='1.9'/%3E%3Cpolygon points='0,20 28,2 56,20' fill='%238B5CF6' fill-opacity='0.2' stroke='%237C3AED' stroke-width='1.7'/%3E%3Crect x='22' y='36' width='12' height='20' rx='1' fill='%237C3AED' fill-opacity='0.25' stroke='%237C3AED' stroke-width='1.4'/%3E%3Crect x='6' y='28' width='10' height='10' rx='1' fill='%23A78BFA' fill-opacity='0.2' stroke='%237C3AED' stroke-width='1.2'/%3E%3Crect x='40' y='28' width='10' height='10' rx='1' fill='%23A78BFA' fill-opacity='0.2' stroke='%237C3AED' stroke-width='1.2'/%3E%3C/g%3E%3C!-- Org chart @ top-right --%3E%3Cg transform='translate(220,14)' opacity='0.20'%3E%3Crect x='24' y='0' width='24' height='14' rx='3' fill='%237C3AED' fill-opacity='0.25' stroke='%237C3AED' stroke-width='1.6'/%3E%3Cline x1='36' y1='14' x2='36' y2='24' stroke='%237C3AED' stroke-width='1.6'/%3E%3Cline x1='12' y1='24' x2='60' y2='24' stroke='%237C3AED' stroke-width='1.6'/%3E%3Cline x1='12' y1='24' x2='12' y2='32' stroke='%237C3AED' stroke-width='1.6'/%3E%3Cline x1='36' y1='24' x2='36' y2='32' stroke='%237C3AED' stroke-width='1.6'/%3E%3Cline x1='60' y1='24' x2='60' y2='32' stroke='%237C3AED' stroke-width='1.6'/%3E%3Crect x='0' y='32' width='24' height='14' rx='3' fill='%238B5CF6' fill-opacity='0.2' stroke='%237C3AED' stroke-width='1.5'/%3E%3Crect x='24' y='32' width='24' height='14' rx='3' fill='%238B5CF6' fill-opacity='0.2' stroke='%237C3AED' stroke-width='1.5'/%3E%3Crect x='48' y='32' width='24' height='14' rx='3' fill='%238B5CF6' fill-opacity='0.2' stroke='%237C3AED' stroke-width='1.5'/%3E%3C/g%3E%3C!-- Clipboard @ center-left --%3E%3Cg transform='translate(16,136)' opacity='0.20'%3E%3Crect x='0' y='8' width='40' height='52' rx='3' fill='%237C3AED' fill-opacity='0.15' stroke='%237C3AED' stroke-width='1.9'/%3E%3Crect x='10' y='0' width='20' height='12' rx='3' fill='%238B5CF6' fill-opacity='0.3' stroke='%237C3AED' stroke-width='1.6'/%3E%3Cline x1='6' y1='22' x2='34' y2='22' stroke='%237C3AED' stroke-width='1.4'/%3E%3Cline x1='6' y1='30' x2='34' y2='30' stroke='%237C3AED' stroke-width='1.4'/%3E%3Cline x1='6' y1='38' x2='34' y2='38' stroke='%237C3AED' stroke-width='1.4'/%3E%3Cline x1='6' y1='46' x2='28' y2='46' stroke='%237C3AED' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Shield @ center --%3E%3Cg transform='translate(124,118)' opacity='0.18'%3E%3Cpath d='M26,0 L50,10 L50,30 C50,44 26,54 26,54 C26,54 2,44 2,30 L2,10 Z' fill='%237C3AED' fill-opacity='0.2' stroke='%237C3AED' stroke-width='2.0'/%3E%3Cpath d='M14,26 L22,34 L38,18' fill='none' stroke='%23A78BFA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C!-- Bar chart @ center-right --%3E%3Cg transform='translate(234,126)' opacity='0.20'%3E%3Cline x1='0' y1='50' x2='56' y2='50' stroke='%237C3AED' stroke-width='1.6'/%3E%3Crect x='4' y='30' width='10' height='20' rx='1' fill='%237C3AED' fill-opacity='0.3' stroke='%237C3AED' stroke-width='1.4'/%3E%3Crect x='18' y='18' width='10' height='32' rx='1' fill='%238B5CF6' fill-opacity='0.3' stroke='%237C3AED' stroke-width='1.4'/%3E%3Crect x='32' y='8' width='10' height='42' rx='1' fill='%23A78BFA' fill-opacity='0.3' stroke='%237C3AED' stroke-width='1.4'/%3E%3Crect x='46' y='22' width='10' height='28' rx='1' fill='%238B5CF6' fill-opacity='0.3' stroke='%237C3AED' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Graduation cap @ bottom-left --%3E%3Cg transform='translate(20,244)' opacity='0.20'%3E%3Cpolygon points='28,0 56,12 28,24 0,12' fill='%238B5CF6' fill-opacity='0.25' stroke='%237C3AED' stroke-width='1.9'/%3E%3Cpath d='M46,18 L46,34 C46,34 38,44 28,44 C18,44 10,34 10,34 L10,18' fill='none' stroke='%237C3AED' stroke-width='1.7'/%3E%3Cline x1='56' y1='12' x2='56' y2='28' stroke='%237C3AED' stroke-width='1.9'/%3E%3C/g%3E%3C!-- Star badge @ bottom-center --%3E%3Cg transform='translate(128,252)' opacity='0.20'%3E%3Ccircle cx='22' cy='22' r='20' fill='%237C3AED' fill-opacity='0.12' stroke='%237C3AED' stroke-width='1.7'/%3E%3Cpolygon points='22,6 25,16 36,16 27,22 30,33 22,27 14,33 17,22 8,16 19,16' fill='%23A78BFA' fill-opacity='0.4' stroke='%237C3AED' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Checkmark clipboard @ bottom-right --%3E%3Cg transform='translate(244,242)' opacity='0.20'%3E%3Crect x='0' y='8' width='40' height='46' rx='3' fill='%237C3AED' fill-opacity='0.12' stroke='%237C3AED' stroke-width='1.7'/%3E%3Crect x='10' y='0' width='20' height='12' rx='3' fill='%238B5CF6' fill-opacity='0.28' stroke='%237C3AED' stroke-width='1.6'/%3E%3Cpath d='M8,28 L16,36 L32,20' fill='none' stroke='%2322C55E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}[data-theme=light] .app-main--admin{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- School building @ top-left --%3E%3Cg transform='translate(12,12)' opacity='0.22'%3E%3Crect x='0' y='20' width='56' height='36' rx='2' fill='%236D28D9' fill-opacity='0.12' stroke='%236D28D9' stroke-width='1.9'/%3E%3Cpolygon points='0,20 28,2 56,20' fill='%236D28D9' fill-opacity='0.15' stroke='%236D28D9' stroke-width='1.7'/%3E%3Crect x='22' y='36' width='12' height='20' rx='1' fill='%236D28D9' fill-opacity='0.18' stroke='%236D28D9' stroke-width='1.4'/%3E%3Crect x='6' y='28' width='10' height='10' rx='1' fill='%237C3AED' fill-opacity='0.15' stroke='%236D28D9' stroke-width='1.2'/%3E%3Crect x='40' y='28' width='10' height='10' rx='1' fill='%237C3AED' fill-opacity='0.15' stroke='%236D28D9' stroke-width='1.2'/%3E%3C/g%3E%3C!-- Org chart @ top-right --%3E%3Cg transform='translate(220,14)' opacity='0.22'%3E%3Crect x='24' y='0' width='24' height='14' rx='3' fill='%236D28D9' fill-opacity='0.18' stroke='%236D28D9' stroke-width='1.6'/%3E%3Cline x1='36' y1='14' x2='36' y2='24' stroke='%236D28D9' stroke-width='1.6'/%3E%3Cline x1='12' y1='24' x2='60' y2='24' stroke='%236D28D9' stroke-width='1.6'/%3E%3Cline x1='12' y1='24' x2='12' y2='32' stroke='%236D28D9' stroke-width='1.6'/%3E%3Cline x1='36' y1='24' x2='36' y2='32' stroke='%236D28D9' stroke-width='1.6'/%3E%3Cline x1='60' y1='24' x2='60' y2='32' stroke='%236D28D9' stroke-width='1.6'/%3E%3Crect x='0' y='32' width='24' height='14' rx='3' fill='%237C3AED' fill-opacity='0.14' stroke='%236D28D9' stroke-width='1.5'/%3E%3Crect x='24' y='32' width='24' height='14' rx='3' fill='%237C3AED' fill-opacity='0.14' stroke='%236D28D9' stroke-width='1.5'/%3E%3Crect x='48' y='32' width='24' height='14' rx='3' fill='%237C3AED' fill-opacity='0.14' stroke='%236D28D9' stroke-width='1.5'/%3E%3C/g%3E%3C!-- Clipboard @ center-left --%3E%3Cg transform='translate(16,136)' opacity='0.22'%3E%3Crect x='0' y='8' width='40' height='52' rx='3' fill='%236D28D9' fill-opacity='0.1' stroke='%236D28D9' stroke-width='1.9'/%3E%3Crect x='10' y='0' width='20' height='12' rx='3' fill='%237C3AED' fill-opacity='0.22' stroke='%236D28D9' stroke-width='1.6'/%3E%3Cline x1='6' y1='22' x2='34' y2='22' stroke='%236D28D9' stroke-width='1.4'/%3E%3Cline x1='6' y1='30' x2='34' y2='30' stroke='%236D28D9' stroke-width='1.4'/%3E%3Cline x1='6' y1='38' x2='34' y2='38' stroke='%236D28D9' stroke-width='1.4'/%3E%3Cline x1='6' y1='46' x2='28' y2='46' stroke='%236D28D9' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Shield @ center --%3E%3Cg transform='translate(124,118)' opacity='0.20'%3E%3Cpath d='M26,0 L50,10 L50,30 C50,44 26,54 26,54 C26,54 2,44 2,30 L2,10 Z' fill='%236D28D9' fill-opacity='0.15' stroke='%236D28D9' stroke-width='2.0'/%3E%3Cpath d='M14,26 L22,34 L38,18' fill='none' stroke='%237C3AED' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C!-- Bar chart @ center-right --%3E%3Cg transform='translate(234,126)' opacity='0.22'%3E%3Cline x1='0' y1='50' x2='56' y2='50' stroke='%236D28D9' stroke-width='1.6'/%3E%3Crect x='4' y='30' width='10' height='20' rx='1' fill='%236D28D9' fill-opacity='0.22' stroke='%236D28D9' stroke-width='1.4'/%3E%3Crect x='18' y='18' width='10' height='32' rx='1' fill='%237C3AED' fill-opacity='0.22' stroke='%236D28D9' stroke-width='1.4'/%3E%3Crect x='32' y='8' width='10' height='42' rx='1' fill='%238B5CF6' fill-opacity='0.22' stroke='%236D28D9' stroke-width='1.4'/%3E%3Crect x='46' y='22' width='10' height='28' rx='1' fill='%237C3AED' fill-opacity='0.22' stroke='%236D28D9' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Graduation cap @ bottom-left --%3E%3Cg transform='translate(20,244)' opacity='0.22'%3E%3Cpolygon points='28,0 56,12 28,24 0,12' fill='%236D28D9' fill-opacity='0.18' stroke='%236D28D9' stroke-width='1.9'/%3E%3Cpath d='M46,18 L46,34 C46,34 38,44 28,44 C18,44 10,34 10,34 L10,18' fill='none' stroke='%236D28D9' stroke-width='1.7'/%3E%3Cline x1='56' y1='12' x2='56' y2='28' stroke='%236D28D9' stroke-width='1.9'/%3E%3C/g%3E%3C!-- Star badge @ bottom-center --%3E%3Cg transform='translate(128,252)' opacity='0.22'%3E%3Ccircle cx='22' cy='22' r='20' fill='%236D28D9' fill-opacity='0.18' stroke='%236D28D9' stroke-width='1.7'/%3E%3Cpolygon points='22,6 25,16 36,16 27,22 30,33 22,27 14,33 17,22 8,16 19,16' fill='%237C3AED' fill-opacity='0.3' stroke='%236D28D9' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Checkmark clipboard @ bottom-right --%3E%3Cg transform='translate(244,242)' opacity='0.22'%3E%3Crect x='0' y='8' width='40' height='46' rx='3' fill='%236D28D9' fill-opacity='0.18' stroke='%236D28D9' stroke-width='1.7'/%3E%3Crect x='10' y='0' width='20' height='12' rx='3' fill='%237C3AED' fill-opacity='0.2' stroke='%236D28D9' stroke-width='1.6'/%3E%3Cpath d='M8,28 L16,36 L32,20' fill='none' stroke='%2316A34A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}.app-main--sysadmin{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- Server rack @ top-left --%3E%3Cg transform='translate(14,14)' opacity='0.20'%3E%3Crect x='0' y='0' width='44' height='60' rx='3' fill='%230D9488' fill-opacity='0.15' stroke='%230D9488' stroke-width='1.9'/%3E%3Crect x='4' y='6' width='36' height='10' rx='2' fill='%230D9488' fill-opacity='0.25' stroke='%230D9488' stroke-width='1.4'/%3E%3Crect x='4' y='20' width='36' height='10' rx='2' fill='%230D9488' fill-opacity='0.2' stroke='%230D9488' stroke-width='1.4'/%3E%3Crect x='4' y='34' width='36' height='10' rx='2' fill='%230D9488' fill-opacity='0.2' stroke='%230D9488' stroke-width='1.4'/%3E%3Crect x='4' y='48' width='36' height='10' rx='2' fill='%230D9488' fill-opacity='0.2' stroke='%230D9488' stroke-width='1.4'/%3E%3Ccircle cx='36' cy='11' r='2.5' fill='%2310B981' fill-opacity='0.6'/%3E%3Ccircle cx='36' cy='25' r='2.5' fill='%2310B981' fill-opacity='0.6'/%3E%3Ccircle cx='36' cy='39' r='2.5' fill='%23F59E0B' fill-opacity='0.6'/%3E%3Ccircle cx='36' cy='53' r='2.5' fill='%2310B981' fill-opacity='0.6'/%3E%3C/g%3E%3C!-- Terminal @ top-right --%3E%3Cg transform='translate(224,12)' opacity='0.20'%3E%3Crect x='0' y='0' width='64' height='50' rx='4' fill='%230D9488' fill-opacity='0.15' stroke='%230D9488' stroke-width='1.9'/%3E%3Crect x='0' y='0' width='64' height='12' rx='4' fill='%230D9488' fill-opacity='0.28' stroke='none'/%3E%3Ccircle cx='10' cy='6' r='3' fill='%23EF4444' fill-opacity='0.5'/%3E%3Ccircle cx='20' cy='6' r='3' fill='%23F59E0B' fill-opacity='0.5'/%3E%3Ccircle cx='30' cy='6' r='3' fill='%2322C55E' fill-opacity='0.5'/%3E%3Ctext x='8' y='28' font-family='monospace' font-size='8' fill='%230D9488' fill-opacity='0.7'%3E%24 run__%3C/text%3E%3Ctext x='8' y='40' font-family='monospace' font-size='8' fill='%2334D399' fill-opacity='0.6'%3E%3E OK%3C/text%3E%3C/g%3E%3C!-- Database cylinders @ center-left --%3E%3Cg transform='translate(14,140)' opacity='0.20'%3E%3Cellipse cx='22' cy='8' rx='18' ry='6' fill='%230D9488' fill-opacity='0.2' stroke='%230D9488' stroke-width='1.7'/%3E%3Crect x='4' y='8' width='36' height='28' fill='%230D9488' fill-opacity='0.1' stroke='%230D9488' stroke-width='1.7'/%3E%3Cellipse cx='22' cy='36' rx='18' ry='6' fill='%230D9488' fill-opacity='0.2' stroke='%230D9488' stroke-width='1.7'/%3E%3Cline x1='4' y1='18' x2='40' y2='18' stroke='%230D9488' stroke-width='1.4'/%3E%3Cline x1='4' y1='27' x2='40' y2='27' stroke='%230D9488' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Network graph @ center --%3E%3Cg transform='translate(118,112)' opacity='0.18'%3E%3Ccircle cx='30' cy='30' r='6' fill='%230D9488' fill-opacity='0.4' stroke='%230D9488' stroke-width='1.7'/%3E%3Ccircle cx='6' cy='12' r='4' fill='%2314B8A6' fill-opacity='0.35' stroke='%230D9488' stroke-width='1.5'/%3E%3Ccircle cx='54' cy='8' r='4' fill='%2314B8A6' fill-opacity='0.35' stroke='%230D9488' stroke-width='1.5'/%3E%3Ccircle cx='58' cy='48' r='4' fill='%2314B8A6' fill-opacity='0.35' stroke='%230D9488' stroke-width='1.5'/%3E%3Ccircle cx='10' cy='52' r='4' fill='%2314B8A6' fill-opacity='0.35' stroke='%230D9488' stroke-width='1.5'/%3E%3Cline x1='30' y1='30' x2='6' y2='12' stroke='%230D9488' stroke-width='1.6'/%3E%3Cline x1='30' y1='30' x2='54' y2='8' stroke='%230D9488' stroke-width='1.6'/%3E%3Cline x1='30' y1='30' x2='58' y2='48' stroke='%230D9488' stroke-width='1.6'/%3E%3Cline x1='30' y1='30' x2='10' y2='52' stroke='%230D9488' stroke-width='1.6'/%3E%3Cline x1='6' y1='12' x2='54' y2='8' stroke='%230D9488' stroke-width='1.2'/%3E%3Cline x1='54' y1='8' x2='58' y2='48' stroke='%230D9488' stroke-width='1.2'/%3E%3C/g%3E%3C!-- Gear @ center-right --%3E%3Cg transform='translate(238,124)' opacity='0.20'%3E%3Ccircle cx='26' cy='26' r='10' fill='none' stroke='%230D9488' stroke-width='2.0'/%3E%3Ccircle cx='26' cy='26' r='5' fill='%230D9488' fill-opacity='0.25' stroke='%230D9488' stroke-width='1.5'/%3E%3Crect x='23' y='4' width='6' height='10' rx='2' fill='%230D9488' fill-opacity='0.3' stroke='%230D9488' stroke-width='1.4' transform='rotate(0,26,26)'/%3E%3Crect x='23' y='38' width='6' height='10' rx='2' fill='%230D9488' fill-opacity='0.3' stroke='%230D9488' stroke-width='1.4'/%3E%3Crect x='4' y='23' width='10' height='6' rx='2' fill='%230D9488' fill-opacity='0.3' stroke='%230D9488' stroke-width='1.4'/%3E%3Crect x='38' y='23' width='10' height='6' rx='2' fill='%230D9488' fill-opacity='0.3' stroke='%230D9488' stroke-width='1.4'/%3E%3Crect x='9' y='9' width='8' height='8' rx='2' fill='%230D9488' fill-opacity='0.25' stroke='%230D9488' stroke-width='1.2' transform='rotate(45,13,13)'/%3E%3Crect x='35' y='9' width='8' height='8' rx='2' fill='%230D9488' fill-opacity='0.25' stroke='%230D9488' stroke-width='1.2' transform='rotate(45,39,13)'/%3E%3Crect x='9' y='35' width='8' height='8' rx='2' fill='%230D9488' fill-opacity='0.25' stroke='%230D9488' stroke-width='1.2' transform='rotate(45,13,39)'/%3E%3Crect x='35' y='35' width='8' height='8' rx='2' fill='%230D9488' fill-opacity='0.25' stroke='%230D9488' stroke-width='1.2' transform='rotate(45,39,39)'/%3E%3C/g%3E%3C!-- Chart line @ bottom-left --%3E%3Cg transform='translate(14,250)' opacity='0.20'%3E%3Cpolyline points='0,36 12,28 24,32 36,14 48,20 60,8' fill='none' stroke='%230D9488' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='0' y1='40' x2='60' y2='40' stroke='%230D9488' stroke-width='1.4'/%3E%3Ccircle cx='12' cy='28' r='2.5' fill='%230D9488' fill-opacity='0.5'/%3E%3Ccircle cx='36' cy='14' r='2.5' fill='%230D9488' fill-opacity='0.5'/%3E%3Ccircle cx='60' cy='8' r='2.5' fill='%2310B981' fill-opacity='0.6'/%3E%3C/g%3E%3C!-- Cloud @ bottom-right --%3E%3Cg transform='translate(236,244)' opacity='0.20'%3E%3Cellipse cx='28' cy='28' rx='28' ry='16' fill='%230D9488' fill-opacity='0.15' stroke='%230D9488' stroke-width='1.9'/%3E%3Ccircle cx='14' cy='24' r='10' fill='%230D9488' fill-opacity='0.15' stroke='%230D9488' stroke-width='1.6'/%3E%3Ccircle cx='36' cy='22' r='12' fill='%230D9488' fill-opacity='0.15' stroke='%230D9488' stroke-width='1.6'/%3E%3Cline x1='20' y1='38' x2='20' y2='52' stroke='%230D9488' stroke-width='1.5' stroke-dasharray='3,2'/%3E%3Cline x1='28' y1='40' x2='28' y2='54' stroke='%230D9488' stroke-width='1.5' stroke-dasharray='3,2'/%3E%3Cline x1='36' y1='38' x2='36' y2='52' stroke='%230D9488' stroke-width='1.5' stroke-dasharray='3,2'/%3E%3C/g%3E%3C!-- Badge @ bottom-center --%3E%3Cg transform='translate(128,248)' opacity='0.20'%3E%3Ccircle cx='22' cy='22' r='20' fill='%230D9488' fill-opacity='0.1' stroke='%230D9488' stroke-width='1.7'/%3E%3Cpath d='M12,22 L18,28 L32,14' fill='none' stroke='%2310B981' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}[data-theme=light] .app-main--sysadmin{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3C!-- Server rack @ top-left --%3E%3Cg transform='translate(14,14)' opacity='0.22'%3E%3Crect x='0' y='0' width='44' height='60' rx='3' fill='%230F766E' fill-opacity='0.1' stroke='%230F766E' stroke-width='1.9'/%3E%3Crect x='4' y='6' width='36' height='10' rx='2' fill='%230F766E' fill-opacity='0.2' stroke='%230F766E' stroke-width='1.4'/%3E%3Crect x='4' y='20' width='36' height='10' rx='2' fill='%230F766E' fill-opacity='0.15' stroke='%230F766E' stroke-width='1.4'/%3E%3Crect x='4' y='34' width='36' height='10' rx='2' fill='%230F766E' fill-opacity='0.15' stroke='%230F766E' stroke-width='1.4'/%3E%3Crect x='4' y='48' width='36' height='10' rx='2' fill='%230F766E' fill-opacity='0.15' stroke='%230F766E' stroke-width='1.4'/%3E%3Ccircle cx='36' cy='11' r='2.5' fill='%2316A34A' fill-opacity='0.55'/%3E%3Ccircle cx='36' cy='25' r='2.5' fill='%2316A34A' fill-opacity='0.55'/%3E%3Ccircle cx='36' cy='39' r='2.5' fill='%23D97706' fill-opacity='0.55'/%3E%3Ccircle cx='36' cy='53' r='2.5' fill='%2316A34A' fill-opacity='0.55'/%3E%3C/g%3E%3C!-- Terminal @ top-right --%3E%3Cg transform='translate(224,12)' opacity='0.22'%3E%3Crect x='0' y='0' width='64' height='50' rx='4' fill='%230F766E' fill-opacity='0.1' stroke='%230F766E' stroke-width='1.9'/%3E%3Crect x='0' y='0' width='64' height='12' rx='4' fill='%230F766E' fill-opacity='0.2' stroke='none'/%3E%3Ccircle cx='10' cy='6' r='3' fill='%23EF4444' fill-opacity='0.45'/%3E%3Ccircle cx='20' cy='6' r='3' fill='%23D97706' fill-opacity='0.45'/%3E%3Ccircle cx='30' cy='6' r='3' fill='%2316A34A' fill-opacity='0.45'/%3E%3Ctext x='8' y='28' font-family='monospace' font-size='8' fill='%230F766E' fill-opacity='0.6'%3E%24 run__%3C/text%3E%3Ctext x='8' y='40' font-family='monospace' font-size='8' fill='%230F766E' fill-opacity='0.5'%3E%3E OK%3C/text%3E%3C/g%3E%3C!-- Database cylinders @ center-left --%3E%3Cg transform='translate(14,140)' opacity='0.22'%3E%3Cellipse cx='22' cy='8' rx='18' ry='6' fill='%230F766E' fill-opacity='0.15' stroke='%230F766E' stroke-width='1.7'/%3E%3Crect x='4' y='8' width='36' height='28' fill='%230F766E' fill-opacity='0.07' stroke='%230F766E' stroke-width='1.7'/%3E%3Cellipse cx='22' cy='36' rx='18' ry='6' fill='%230F766E' fill-opacity='0.15' stroke='%230F766E' stroke-width='1.7'/%3E%3Cline x1='4' y1='18' x2='40' y2='18' stroke='%230F766E' stroke-width='1.4'/%3E%3Cline x1='4' y1='27' x2='40' y2='27' stroke='%230F766E' stroke-width='1.4'/%3E%3C/g%3E%3C!-- Network graph @ center --%3E%3Cg transform='translate(118,112)' opacity='0.20'%3E%3Ccircle cx='30' cy='30' r='6' fill='%230F766E' fill-opacity='0.35' stroke='%230F766E' stroke-width='1.7'/%3E%3Ccircle cx='6' cy='12' r='4' fill='%230D9488' fill-opacity='0.3' stroke='%230F766E' stroke-width='1.5'/%3E%3Ccircle cx='54' cy='8' r='4' fill='%230D9488' fill-opacity='0.3' stroke='%230F766E' stroke-width='1.5'/%3E%3Ccircle cx='58' cy='48' r='4' fill='%230D9488' fill-opacity='0.3' stroke='%230F766E' stroke-width='1.5'/%3E%3Ccircle cx='10' cy='52' r='4' fill='%230D9488' fill-opacity='0.3' stroke='%230F766E' stroke-width='1.5'/%3E%3Cline x1='30' y1='30' x2='6' y2='12' stroke='%230F766E' stroke-width='1.6'/%3E%3Cline x1='30' y1='30' x2='54' y2='8' stroke='%230F766E' stroke-width='1.6'/%3E%3Cline x1='30' y1='30' x2='58' y2='48' stroke='%230F766E' stroke-width='1.6'/%3E%3Cline x1='30' y1='30' x2='10' y2='52' stroke='%230F766E' stroke-width='1.6'/%3E%3Cline x1='6' y1='12' x2='54' y2='8' stroke='%230F766E' stroke-width='1.2'/%3E%3Cline x1='54' y1='8' x2='58' y2='48' stroke='%230F766E' stroke-width='1.2'/%3E%3C/g%3E%3C!-- Gear @ center-right --%3E%3Cg transform='translate(238,124)' opacity='0.22'%3E%3Ccircle cx='26' cy='26' r='10' fill='none' stroke='%230F766E' stroke-width='2.0'/%3E%3Ccircle cx='26' cy='26' r='5' fill='%230F766E' fill-opacity='0.2' stroke='%230F766E' stroke-width='1.5'/%3E%3Crect x='23' y='4' width='6' height='10' rx='2' fill='%230F766E' fill-opacity='0.22' stroke='%230F766E' stroke-width='1.4'/%3E%3Crect x='23' y='38' width='6' height='10' rx='2' fill='%230F766E' fill-opacity='0.22' stroke='%230F766E' stroke-width='1.4'/%3E%3Crect x='4' y='23' width='10' height='6' rx='2' fill='%230F766E' fill-opacity='0.22' stroke='%230F766E' stroke-width='1.4'/%3E%3Crect x='38' y='23' width='10' height='6' rx='2' fill='%230F766E' fill-opacity='0.22' stroke='%230F766E' stroke-width='1.4'/%3E%3Crect x='9' y='9' width='8' height='8' rx='2' fill='%230F766E' fill-opacity='0.18' stroke='%230F766E' stroke-width='1.2' transform='rotate(45,13,13)'/%3E%3Crect x='35' y='9' width='8' height='8' rx='2' fill='%230F766E' fill-opacity='0.18' stroke='%230F766E' stroke-width='1.2' transform='rotate(45,39,13)'/%3E%3Crect x='9' y='35' width='8' height='8' rx='2' fill='%230F766E' fill-opacity='0.18' stroke='%230F766E' stroke-width='1.2' transform='rotate(45,13,39)'/%3E%3Crect x='35' y='35' width='8' height='8' rx='2' fill='%230F766E' fill-opacity='0.18' stroke='%230F766E' stroke-width='1.2' transform='rotate(45,39,39)'/%3E%3C/g%3E%3C!-- Chart line @ bottom-left --%3E%3Cg transform='translate(14,250)' opacity='0.22'%3E%3Cpolyline points='0,36 12,28 24,32 36,14 48,20 60,8' fill='none' stroke='%230F766E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cline x1='0' y1='40' x2='60' y2='40' stroke='%230F766E' stroke-width='1.4'/%3E%3Ccircle cx='12' cy='28' r='2.5' fill='%230F766E' fill-opacity='0.45'/%3E%3Ccircle cx='36' cy='14' r='2.5' fill='%230F766E' fill-opacity='0.45'/%3E%3Ccircle cx='60' cy='8' r='2.5' fill='%2316A34A' fill-opacity='0.55'/%3E%3C/g%3E%3C!-- Cloud @ bottom-right --%3E%3Cg transform='translate(236,244)' opacity='0.22'%3E%3Cellipse cx='28' cy='28' rx='28' ry='16' fill='%230F766E' fill-opacity='0.1' stroke='%230F766E' stroke-width='1.9'/%3E%3Ccircle cx='14' cy='24' r='10' fill='%230F766E' fill-opacity='0.1' stroke='%230F766E' stroke-width='1.6'/%3E%3Ccircle cx='36' cy='22' r='12' fill='%230F766E' fill-opacity='0.1' stroke='%230F766E' stroke-width='1.6'/%3E%3Cline x1='20' y1='38' x2='20' y2='52' stroke='%230F766E' stroke-width='1.5' stroke-dasharray='3,2'/%3E%3Cline x1='28' y1='40' x2='28' y2='54' stroke='%230F766E' stroke-width='1.5' stroke-dasharray='3,2'/%3E%3Cline x1='36' y1='38' x2='36' y2='52' stroke='%230F766E' stroke-width='1.5' stroke-dasharray='3,2'/%3E%3C/g%3E%3C!-- Badge @ bottom-center --%3E%3Cg transform='translate(128,248)' opacity='0.22'%3E%3Ccircle cx='22' cy='22' r='20' fill='%230F766E' fill-opacity='0.18' stroke='%230F766E' stroke-width='1.7'/%3E%3Cpath d='M12,22 L18,28 L32,14' fill='none' stroke='%2316A34A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");background-size:300px 300px}.login-form-panel{background-color:var(--bg-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3C!-- Pencil @ top-left --%3E%3Cg transform='translate(14,12) rotate(15,6,20)' opacity='0.07'%3E%3Crect x='3' y='0' width='7' height='28' rx='1' fill='%236366F1' fill-opacity='0.25' stroke='%236366F1' stroke-width='1'/%3E%3Crect x='3' y='24' width='7' height='4' fill='%23F9A8D4' fill-opacity='0.45'/%3E%3Cpolygon points='3,28 10,28 6.5,36' fill='%234F46E5' fill-opacity='0.4'/%3E%3C/g%3E%3C!-- Small atom @ top-right --%3E%3Cg transform='translate(162,12)' opacity='0.07'%3E%3Ccircle cx='18' cy='18' r='4' fill='%236366F1' fill-opacity='0.4' stroke='%236366F1' stroke-width='0.9'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%236366F1' stroke-width='0.9'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%238B5CF6' stroke-width='0.9' transform='rotate(60,18,18)'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%23A78BFA' stroke-width='0.9' transform='rotate(120,18,18)'/%3E%3C/g%3E%3C!-- Book @ center --%3E%3Cg transform='translate(74,78)' opacity='0.07'%3E%3Crect x='0' y='4' width='52' height='34' rx='2' fill='none' stroke='%236366F1' stroke-width='1.2'/%3E%3Cline x1='26' y1='4' x2='26' y2='38' stroke='%236366F1' stroke-width='0.9'/%3E%3Cline x1='4' y1='14' x2='22' y2='14' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='4' y1='20' x2='22' y2='20' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='4' y1='26' x2='22' y2='26' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='30' y1='14' x2='48' y2='14' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='30' y1='20' x2='48' y2='20' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='30' y1='26' x2='48' y2='26' stroke='%236366F1' stroke-width='0.7'/%3E%3C/g%3E%3C!-- Ruler @ bottom-left --%3E%3Cg transform='translate(10,162) rotate(-5,40,8)' opacity='0.07'%3E%3Crect x='0' y='0' width='64' height='13' rx='2' fill='%236366F1' fill-opacity='0.15' stroke='%236366F1' stroke-width='1'/%3E%3Cline x1='8' y1='0' x2='8' y2='7' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='16' y1='0' x2='16' y2='10' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='24' y1='0' x2='24' y2='7' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='32' y1='0' x2='32' y2='10' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='40' y1='0' x2='40' y2='7' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='48' y1='0' x2='48' y2='10' stroke='%236366F1' stroke-width='0.7'/%3E%3Cline x1='56' y1='0' x2='56' y2='7' stroke='%236366F1' stroke-width='0.7'/%3E%3C/g%3E%3C!-- Star @ bottom-right --%3E%3Cg transform='translate(162,162)' opacity='0.07'%3E%3Cpolygon points='18,0 21,11 32,11 23,18 26,29 18,23 10,29 13,18 4,11 15,11' fill='%23F59E0B' fill-opacity='0.35' stroke='%23F59E0B' stroke-width='0.9'/%3E%3C/g%3E%3C/svg%3E");background-size:200px 200px}[data-theme=light] .login-form-panel{background-color:var(--bg-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3C!-- Pencil @ top-left --%3E%3Cg transform='translate(14,12) rotate(15,6,20)' opacity='0.09'%3E%3Crect x='3' y='0' width='7' height='28' rx='1' fill='%234F46E5' fill-opacity='0.2' stroke='%234F46E5' stroke-width='1'/%3E%3Crect x='3' y='24' width='7' height='4' fill='%23EC4899' fill-opacity='0.4'/%3E%3Cpolygon points='3,28 10,28 6.5,36' fill='%234338CA' fill-opacity='0.35'/%3E%3C/g%3E%3C!-- Small atom @ top-right --%3E%3Cg transform='translate(162,12)' opacity='0.09'%3E%3Ccircle cx='18' cy='18' r='4' fill='%234F46E5' fill-opacity='0.35' stroke='%234F46E5' stroke-width='0.9'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%234F46E5' stroke-width='0.9'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%236366F1' stroke-width='0.9' transform='rotate(60,18,18)'/%3E%3Cellipse cx='18' cy='18' rx='16' ry='6' fill='none' stroke='%237C3AED' stroke-width='0.9' transform='rotate(120,18,18)'/%3E%3C/g%3E%3C!-- Book @ center --%3E%3Cg transform='translate(74,78)' opacity='0.09'%3E%3Crect x='0' y='4' width='52' height='34' rx='2' fill='none' stroke='%234F46E5' stroke-width='1.2'/%3E%3Cline x1='26' y1='4' x2='26' y2='38' stroke='%234F46E5' stroke-width='0.9'/%3E%3Cline x1='4' y1='14' x2='22' y2='14' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='4' y1='20' x2='22' y2='20' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='4' y1='26' x2='22' y2='26' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='30' y1='14' x2='48' y2='14' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='30' y1='20' x2='48' y2='20' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='30' y1='26' x2='48' y2='26' stroke='%234F46E5' stroke-width='0.7'/%3E%3C/g%3E%3C!-- Ruler @ bottom-left --%3E%3Cg transform='translate(10,162) rotate(-5,40,8)' opacity='0.09'%3E%3Crect x='0' y='0' width='64' height='13' rx='2' fill='%234F46E5' fill-opacity='0.12' stroke='%234F46E5' stroke-width='1'/%3E%3Cline x1='8' y1='0' x2='8' y2='7' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='16' y1='0' x2='16' y2='10' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='24' y1='0' x2='24' y2='7' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='32' y1='0' x2='32' y2='10' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='40' y1='0' x2='40' y2='7' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='48' y1='0' x2='48' y2='10' stroke='%234F46E5' stroke-width='0.7'/%3E%3Cline x1='56' y1='0' x2='56' y2='7' stroke='%234F46E5' stroke-width='0.7'/%3E%3C/g%3E%3C!-- Star @ bottom-right --%3E%3Cg transform='translate(162,162)' opacity='0.09'%3E%3Cpolygon points='18,0 21,11 32,11 23,18 26,29 18,23 10,29 13,18 4,11 15,11' fill='%23D97706' fill-opacity='0.3' stroke='%23D97706' stroke-width='0.9'/%3E%3C/g%3E%3C/svg%3E");background-size:200px 200px}.dash-hero-card--student{background:linear-gradient(135deg,#0c4a6e 0%,#0369a1 35%,#0284c7 70%,#38bdf8 100%)}[data-theme=light] .dash-hero-card--student{background:linear-gradient(135deg,#0369a1 0%,#0284c7 50%,#38bdf8 100%)}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.slide-print-container{break-inside:avoid;page-break-inside:avoid}}
