:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{margin:0}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:none;min-height:100svh;margin:0;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:0;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:0;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}.teacher-dashboard-page{gap:18px;display:grid}.teacher-hero-panel{background:linear-gradient(135deg,#eff6ff 0%,#fff7ed 100%);border:1px solid #dbeafe;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.teacher-hero-panel h1{color:#0f172a;margin:8px 0;font-size:clamp(26px,4vw,40px);line-height:1.1}.teacher-hero-panel p,.teacher-section-heading p,.teacher-assignment-card p,.teacher-stat-card small,.teacher-stat-card span,.teacher-empty-state span,.teacher-assignment-card dt{color:#64748b}.teacher-eyebrow{color:#2563eb;letter-spacing:0;text-transform:uppercase;font-size:13px;font-weight:800}.teacher-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.teacher-stat-grid.compact{grid-template-columns:repeat(4,minmax(120px,1fr))}.teacher-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:12px;min-width:0;padding:16px;display:flex}.teacher-stat-icon{color:#2563eb;background:#eff6ff;border-radius:8px;flex:0 0 38px;place-items:center;height:38px;display:grid}.teacher-stat-card strong{color:#0f172a;margin-top:4px;font-size:28px;display:block}.teacher-section-heading,.teacher-analysis-topline{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.teacher-section-heading h2,.teacher-chart-panel h2,.teacher-insight-list h2{color:#0f172a;margin:0 0 6px;font-size:20px}.teacher-filter-bar{grid-template-columns:1.4fr repeat(3,minmax(150px,1fr));gap:12px;margin:18px 0;display:grid}.teacher-filter-bar label{color:#475569;gap:6px;font-size:13px;font-weight:700;display:grid}.teacher-filter-bar input,.teacher-filter-bar select,.teacher-section-heading select{color:#0f172a;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:12px}.teacher-assignment-grid,.teacher-chart-grid,.teacher-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.teacher-assignment-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;gap:14px;padding:16px;display:grid}.teacher-assignment-card h3{color:#0f172a;margin:4px 0;font-size:24px}.teacher-assignment-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.teacher-assignment-card dd{color:#0f172a;margin:4px 0 0;font-weight:800}.teacher-empty-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;gap:6px;padding:22px;display:grid}.teacher-chart-panel{min-width:0}.teacher-chart-panel.wide{grid-column:1/-1}.teacher-insight-list{gap:10px;display:grid}.teacher-insight-list button{color:#0f172a;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.teacher-student-table{gap:8px;display:grid;overflow-x:auto}.teacher-student-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(190px,1.5fr) minmax(90px,.7fr) repeat(5,minmax(82px,.7fr)) minmax(90px,.7fr);align-items:center;gap:10px;min-width:900px;padding:12px;display:grid}.teacher-student-row.head{color:#64748b;background:0 0;border:0;font-size:13px;font-weight:800}.teacher-student-row button,.teacher-student-detail button{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:9px 12px;font-weight:800}.teacher-student-detail{gap:16px;display:grid}.teacher-skeleton{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9) 0 0/200% 100%;border-radius:8px;min-height:120px;animation:1.2s linear infinite teacherSkeleton}.teacher-skeleton.hero{min-height:190px}.teacher-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@keyframes teacherSkeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=1100px){.teacher-stat-grid,.teacher-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.teacher-hero-panel,.teacher-section-heading,.teacher-analysis-topline{display:grid}.teacher-stat-grid,.teacher-stat-grid.compact,.teacher-filter-bar,.teacher-assignment-grid,.teacher-chart-grid,.teacher-insight-grid,.teacher-skeleton-grid{grid-template-columns:1fr}.teacher-hero-panel{padding:18px}}body{color:#1f2937;background:#f5f7fb;font-family:Arial,sans-serif}textarea{font:inherit;resize:vertical;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px}button{font:inherit}.app-icon{flex:none;display:inline-block}h1,h2,h3{color:#111827}.layout{align-items:flex-start;min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;flex-direction:column;flex:0 0 250px;width:250px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.logo{margin-bottom:32px;font-size:24px;font-weight:700}.session-card{background:#172033;border:1px solid #374151;border-radius:8px;gap:8px;margin-top:auto;padding:14px;display:grid}.session-card span{color:#a5b4fc;font-size:13px;font-weight:700}.session-card .session-role,.session-card button,.menu-item-label,.site-nav>button,.login-menu-button,.eyebrow,.contact-item{align-items:center;gap:8px;display:inline-flex}.session-card strong{color:#fff;overflow-wrap:anywhere}.session-card button{color:#111827;background:#fff;border-color:#fff;justify-content:center;width:100%;font-size:14px;font-weight:700}.auth-page{background:radial-gradient(circle at 12% 18%,#2563eb33,#0000 28%),radial-gradient(circle at 84% 82%,#ea580c24,#0000 30%),linear-gradient(135deg,#0f172a0a,#16a34a1a),#f8fafc;grid-template-columns:minmax(0,1.1fr) minmax(360px,480px);align-items:stretch;gap:28px;min-height:100vh;padding:32px;display:grid}.auth-hero{background:linear-gradient(135deg,#fffffff0,#eff6ffe0),linear-gradient(90deg,#2563eb14 1px,#0000 1px) 0 0/42px 42px,linear-gradient(#2563eb14 1px,#0000 1px) 0 0/42px 42px;border:1px solid #dbeafe;border-radius:8px;align-content:center;gap:22px;min-height:calc(100vh - 64px);padding:36px;display:grid;position:relative;overflow:hidden}.auth-hero:before,.auth-hero:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.auth-hero:before{background:#2563eb24;width:300px;height:300px;top:-80px;right:-90px}.auth-hero:after{background:#16a34a29;width:220px;height:220px;bottom:-110px;left:44%}.auth-background-grid{z-index:0;pointer-events:none;position:absolute;inset:0}.auth-background-grid span{background:#ffffff6b;border:1px solid #2563eb2e;border-radius:8px;display:block;position:absolute;box-shadow:0 14px 32px #0f172a14}.auth-background-grid span:first-child{width:118px;height:76px;top:78px;right:92px;transform:rotate(8deg)}.auth-background-grid span:nth-child(2){border-color:#ea580c38;border-radius:50%;width:74px;height:74px;top:218px;right:42px}.auth-background-grid span:nth-child(3){width:150px;height:92px;bottom:132px;left:52px;transform:rotate(-6deg)}.auth-background-grid span:nth-child(4){border-color:#16a34a33;width:92px;height:92px;top:44%;left:54%;transform:rotate(18deg)}.auth-background-grid span:nth-child(5){width:180px;height:2px;box-shadow:none;background:#0f172a1f;border:0;bottom:112px;right:118px;transform:rotate(-12deg)}.auth-background-grid span:nth-child(6){width:126px;height:2px;box-shadow:none;background:#16a34a2e;border:0;top:128px;left:260px;transform:rotate(18deg)}.auth-copy{z-index:1;max-width:760px;position:relative}.auth-kicker{color:#2563eb;text-transform:uppercase;margin-bottom:12px;font-size:14px;font-weight:800;display:inline-block}.auth-copy h1{color:#0f172a;margin:0 0 14px;font-size:52px;line-height:1.02}.auth-copy p{color:#475569;max-width:640px;font-size:18px}.auth-highlight-list{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.auth-highlight-card{background:#ffffffd1;border:1px solid #cbd5e1e6;border-radius:8px;gap:12px;min-width:0;min-height:138px;padding:16px;display:flex;box-shadow:0 12px 30px #0f172a14}.auth-highlight-card>span{background:linear-gradient(#2563eb,#16a34a);border-radius:999px;flex:0 0 12px;height:48px}.auth-highlight-card strong{color:#0f172a;margin-bottom:6px;display:block}.auth-highlight-card p{color:#64748b;font-size:14px;line-height:1.45}.auth-stat-strip{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.auth-stat-strip div{color:#fff;background:#0f172a;border-radius:8px;min-height:92px;padding:16px}.auth-stat-strip strong{margin-bottom:8px;font-size:30px;line-height:1;display:block}.auth-stat-strip span{color:#cbd5e1;font-size:14px}.role-card-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid;position:relative}.role-card{text-align:left;color:#172033;background:#fff;border:2px solid #e2e8f0;border-radius:8px;align-content:start;gap:10px;min-height:190px;padding:18px;display:grid}.role-card:hover,.role-card.selected{border-color:var(--role-accent);box-shadow:0 14px 28px #0f172a1a}.role-icon{color:#1d4ed8;background:#eef6ff;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:900;display:inline-grid}.role-icon .app-icon{stroke-width:2.2px}.role-card strong{font-size:20px}.role-card span:last-child{color:#64748b;line-height:1.45}.auth-panel{background:linear-gradient(#fffffffa,#f8fafcfa),#fff;border:1px solid #e5e7eb;border-radius:8px;align-self:center;gap:18px;padding:28px;display:grid;box-shadow:0 18px 45px #0f172a1f}.auth-panel-header{align-items:center;gap:14px;display:flex}.auth-panel-header h2{margin:0 0 4px}.auth-panel-header p{color:#64748b}.auth-mode-switch{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.auth-mode-switch button{color:#111827;background:#f8fafc;border-color:#dbe3ec;font-weight:700}.auth-mode-switch button.active{color:#fff;background:#111827;border-color:#111827}.auth-form,.contact-form{gap:12px;display:grid}.site-page{color:#172033;scroll-behavior:smooth;background:#f8fafc;min-height:100vh}.site-navbar{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:14px 32px;display:flex;position:sticky;top:0}.brand-mark{color:#0f172a;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark span{color:#fff;background:#111827;border-radius:8px;place-items:center;width:40px;height:40px;font-size:13px;font-weight:900;display:inline-grid}.brand-mark strong{font-size:19px}.site-nav{align-items:center;gap:6px;display:flex}.nav-copy{text-align:left;gap:2px;min-width:0;display:inline-grid}.nav-label{white-space:nowrap}.nav-description{color:#64748b;white-space:normal;font-size:12px;font-weight:600;line-height:1.35;display:none}.site-nav>a,.site-nav>button,.login-menu-button{color:#334155;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;min-height:42px;padding:10px 11px;font-size:14px;font-weight:700;text-decoration:none}.site-nav>a:hover,.site-nav>button:hover,.site-nav>button.active,.login-menu-button:hover{color:#0f172a;background:#f1f5f9}.site-nav .demo-nav-link{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.login-menu{position:relative}.login-menu-button{color:#fff;background:#111827;border-color:#111827}.login-menu-button:hover{color:#fff;background:#0f172a}.login-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:260px;padding:8px;display:none;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 45px #0f172a29}.login-dropdown.open{gap:4px;display:grid}.login-dropdown button{color:#172033;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px;font-weight:700;display:flex}.login-dropdown button:hover{background:#f8fafc}.login-dropdown span{color:#1d4ed8;background:#eef2ff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:900;display:inline-grid}.mobile-menu-button{background:#fff;border:1px solid #dbe3ec;border-radius:8px;place-items:center;width:44px;height:44px;padding:10px;display:none}.site-hero{background:linear-gradient(90deg,#2563eb12 1px,#0000 1px) 0 0/48px 48px,linear-gradient(#2563eb0f 1px,#0000 1px) 0 0/48px 48px,#f8fafc;grid-template-columns:minmax(0,1.15fr) minmax(360px,460px);align-items:center;gap:28px;min-height:calc(100vh - 76px);padding:48px 32px 38px;display:grid}.hero-content{gap:22px;max-width:820px;display:grid}.eyebrow{color:#2563eb;letter-spacing:0;text-transform:uppercase;align-items:center;gap:7px;width:fit-content;font-size:13px;font-weight:900;display:inline-flex}.hero-content h1,.section-heading h2,.demo-section h2,.about-section h2,.contact-section h2{color:#0f172a;line-height:1.08}.hero-content h1{max-width:800px;font-size:52px}.hero-content p,.section-heading p,.demo-section p,.about-section p,.contact-section p{color:#475569;line-height:1.65}.hero-content>p{max-width:700px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.primary-link,.secondary-link,.pricing-card a{border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:11px 16px;font-weight:800;text-decoration:none;display:inline-flex}.primary-link{color:#fff;background:#2563eb}.secondary-link{color:#0f172a;background:#fff;border:1px solid #cbd5e1}.hero-metrics,.feature-grid,.pricing-grid,.institution-model{gap:14px;display:grid}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}.hero-metrics div,.feature-card,.pricing-card,.institution-model div,.faq-list details{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.hero-metrics div,.institution-model div,.pricing-card{align-content:start;gap:8px;display:grid}.hero-metrics .app-icon,.institution-model .app-icon{color:#2563eb}.hero-metrics strong,.hero-metrics span{display:block}.hero-metrics strong{color:#0f172a;margin-bottom:5px}.hero-metrics span{color:#64748b;font-size:14px}.site-auth-panel{align-self:center;min-width:0}.role-chip-row{flex-wrap:wrap;gap:8px;display:flex}.role-chip{color:#334155;background:#fff;border:1px solid #dbe3ec;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:800;display:inline-flex}.role-chip.active{border-color:var(--role-accent);color:var(--role-accent);background:#f8fafc}.site-section{padding:72px 32px;scroll-margin-top:86px}.section-heading{gap:12px;max-width:820px;margin-bottom:24px;display:grid}.section-heading h2,.demo-section h2,.about-section h2,.contact-section h2{font-size:34px}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-card{gap:10px;min-height:176px;display:grid}.feature-icon{color:#1d4ed8;background:#eff6ff;border-radius:8px;place-items:center;width:42px;height:42px;display:inline-grid}.feature-card h3,.pricing-card h3{color:#0f172a;font-size:18px}.feature-card p,.pricing-card p,.institution-model span,.faq-list p{color:#64748b;line-height:1.55}.institution-band{background:#eef6ff}.institution-model{grid-template-columns:repeat(4,minmax(0,1fr))}.institution-model strong{color:#0f172a;margin-bottom:8px;display:block}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-card{align-content:start;gap:14px;display:grid}.pricing-card.featured{border-color:#2563eb;box-shadow:0 18px 38px #2563eb24}.pricing-card>strong{color:#0f172a;font-size:30px}.pricing-card a,.pricing-card button{color:#fff;background:#111827;border:0}.single-section-view{align-items:start}.feature-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.site-subsection{gap:14px;margin-top:8px;display:grid}.site-subsection h2{color:#0f172a;font-size:24px;line-height:1.2}.site-subsection>p{max-width:740px}.compact-card{min-height:auto}.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.workflow-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:9px;min-width:0;padding:16px;display:grid}.workflow-card>span{color:#fff;background:#111827;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:900;display:inline-grid}.workflow-card h3,.user-card h3{color:#0f172a;font-size:17px}.workflow-card p,.user-card p{color:#64748b;line-height:1.55}.user-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.user-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:10px;min-width:0;padding:16px;display:grid}.user-card small{color:#2563eb;font-weight:900}.user-card ul{color:#475569;gap:6px;padding-left:18px;display:grid}.contact-form-static button:disabled{opacity:.72}.institution-model.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-site-form{max-width:520px}.activation-summary{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:4px;padding:12px;display:grid}.activation-summary strong,.activation-summary span{display:block}.activation-summary span{font-size:13px}.demo-section,.about-section,.contact-section{grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:start;gap:28px;display:grid}.demo-section{background:#0f172a}.demo-section h2,.demo-section p{color:#fff}.demo-section .eyebrow{color:#93c5fd}.demo-section .contact-form,.contact-section .contact-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:18px}.faq-list{gap:10px;display:grid}.faq-list summary{cursor:pointer;color:#0f172a;font-weight:800}.faq-list p{margin-top:10px}.about-section{background:#fff}.contact-section{background:#f8fafc}.menu{flex-direction:column;gap:10px;display:flex}.menu-item{color:#d1d5db;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;padding:12px 14px;text-decoration:none;display:flex}.menu-item-label{min-width:0}.menu-item-label span{overflow-wrap:anywhere}.menu-item:hover,.menu-item.active{color:#fff;background:#1f2937}.menu-item-content{justify-content:space-between;align-items:center;gap:10px;display:flex}.menu-badge{color:#fff;background:#dc2626;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:800;display:inline-grid}.main-content{flex:1;min-width:0;padding:28px 32px}input,select,button{border:1px solid #d1d5db;border-radius:10px;padding:10px 12px}.input-with-icon{display:block;position:relative}.input-with-icon .app-icon{color:#64748b;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon input{width:100%;padding-left:40px}.contact-list{flex-wrap:wrap;gap:10px;display:flex}.contact-item{color:#172033;background:#fff;border:1px solid #dbe3ec;border-radius:8px;width:fit-content;min-height:40px;padding:9px 12px;font-weight:700;text-decoration:none}.contact-item:hover,.contact-item:focus-visible{color:#1d4ed8;border-color:#93c5fd;outline:none}.site-footer{color:#e5e7eb;background:#0f172a;border-top:1px solid #e2e8f0;padding:34px 32px 20px}.site-footer-grid{grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr) minmax(220px,.9fr);gap:24px;max-width:1180px;margin:0 auto;display:grid}.site-footer-brand,.site-footer-links,.site-footer-contact{align-content:start;gap:10px;display:grid}.site-footer-brand>div{align-items:center;gap:10px;display:flex}.footer-logo{color:#fff;background:#2563eb;border-radius:8px;place-items:center;width:38px;height:38px;font-weight:900;display:inline-grid}.site-footer strong{color:#fff}.site-footer p{color:#cbd5e1;max-width:560px;line-height:1.55}.site-footer-links button{color:#cbd5e1;text-align:left;background:0 0;border:0;width:fit-content;padding:3px 0;font-weight:700}.site-footer-links button:hover,.site-footer-links button:focus-visible{color:#fff;outline:none}.site-footer-contact .contact-item{color:#e5e7eb;background:#111827;border-color:#334155}.site-footer-contact .contact-item:hover,.site-footer-contact .contact-item:focus-visible{color:#fff;border-color:#60a5fa}.site-footer-bottom{color:#94a3b8;border-top:1px solid #334155;max-width:1180px;margin:22px auto 0;padding-top:16px;font-size:14px}:root{--site-blue:#2563eb;--site-cyan:#06b6d4;--site-purple:#7c3aed;--site-green:#16a34a;--site-orange:#f97316;--site-navy:#0f172a}.site-page{background:linear-gradient(90deg,#2563eb0b 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#06b6d40a 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#f8fbff 0%,#fff 46%,#f6f8ff 100%)}.site-navbar{background:#ffffffe6;box-shadow:0 10px 30px #0f172a0f}.brand-mark span,.footer-logo{background:linear-gradient(135deg, var(--site-blue), var(--site-purple))}.site-nav>button,.login-menu-button{transition:background .22s,color .22s,transform .22s;position:relative}.site-nav>button:after,.login-menu-button:after{content:"";background:linear-gradient(90deg, var(--site-blue), var(--site-purple));opacity:0;border-radius:999px;height:2px;transition:opacity .22s,transform .22s;position:absolute;bottom:5px;left:12px;right:12px;transform:scaleX(.35)}.site-nav>button:hover,.site-nav>button.active,.login-menu-button:hover{transform:translateY(-1px)}.site-nav>button:hover .app-icon,.site-nav>button.active .app-icon,.login-menu-button:hover .app-icon{color:var(--site-blue);transform:scale(1.08)}.site-nav>button.active:after,.site-nav>button:hover:after{opacity:1;transform:scaleX(1)}.login-menu-button{background:linear-gradient(135deg,#111827,#1d4ed8)}.site-hero{background:linear-gradient(120deg,#2563eb21,#0000 28%) 0 0/100% 100%,linear-gradient(315deg,#7c3aed1c,#0000 32%) 0 0/100% 100%,linear-gradient(90deg,#2563eb12 1px,#0000 1px) 0 0/48px 48px,linear-gradient(#06b6d40f 1px,#0000 1px) 0 0/48px 48px,0 0;position:relative;overflow:hidden}.site-hero.public-hero-only{grid-template-columns:minmax(0,1fr)}.site-hero.public-hero-only .hero-content{max-width:1120px}.site-hero.public-hero-only .hero-actions{justify-content:flex-start}.site-hero:before,.site-hero:after{content:"";pointer-events:none;opacity:.5;position:absolute}.site-hero:before{background-color:#0000;background-image:linear-gradient(90deg,#2563eb14 1px,#0000 1px),linear-gradient(#7c3aed14 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #2563eb24;width:330px;height:330px;top:12%;right:6%;transform:rotate(8deg)}.site-hero:after{background:linear-gradient(135deg,#06b6d424,#16a34a0d);border:1px solid #06b6d42e;width:420px;height:160px;bottom:8%;left:-90px;transform:skew(-12deg)}.hero-content,.site-auth-panel{z-index:1;position:relative}.hero-content{animation:.52s both siteSlideUp}.hero-content h1{animation:.48s both siteSlideUp}.hero-content>p{animation:.55s 80ms both siteFadeIn}.primary-link,.secondary-link{gap:8px;transition:transform .24s,box-shadow .24s,border-color .24s,background .24s}.primary-link{background:linear-gradient(135deg, var(--site-blue), var(--site-purple));border:0;box-shadow:0 14px 30px #2563eb3d}.secondary-link{background:#ffffffe6}.primary-link:hover,.secondary-link:hover{transform:translateY(-3px);box-shadow:0 18px 34px #0f172a24}.primary-link:hover .app-icon:last-child,.secondary-link:hover .app-icon:last-child{transform:translate(3px)}.hero-metrics div,.feature-card,.pricing-card,.institution-model div,.faq-list details,.workflow-card,.user-card,.preview-card,.stat-strip div{background:#ffffffeb;transition:transform .28s,box-shadow .28s,border-color .28s,background .28s;box-shadow:0 10px 26px #0f172a0f}.hero-metrics div:hover,.feature-card:hover,.pricing-card:hover,.institution-model div:hover,.workflow-card:hover,.user-card:hover,.preview-card:hover,.stat-strip div:hover{border-color:#2563eb42;transform:translateY(-6px);box-shadow:0 20px 44px #0f172a21}.feature-card,.workflow-card,.user-card,.site-subsection,.stat-strip div{animation:.46s both siteCardIn}.feature-icon{width:48px;height:48px;transition:transform .28s;box-shadow:inset 0 0 0 1px #ffffffa6}.feature-card:hover .feature-icon,.user-card:hover .feature-icon{transform:scale(1.08)rotate(-2deg)}.tone-blue{--tone:var(--site-blue);--tone-soft:#dbeafe;--tone-bg:linear-gradient(135deg, #2563eb1f, #fffffff0)}.tone-purple{--tone:var(--site-purple);--tone-soft:#ede9fe;--tone-bg:linear-gradient(135deg, #7c3aed1f, #fffffff0)}.tone-cyan{--tone:var(--site-cyan);--tone-soft:#cffafe;--tone-bg:linear-gradient(135deg, #06b6d421, #fffffff0)}.tone-green{--tone:var(--site-green);--tone-soft:#dcfce7;--tone-bg:linear-gradient(135deg, #16a34a1f, #fffffff0)}.tone-orange{--tone:var(--site-orange);--tone-soft:#ffedd5;--tone-bg:linear-gradient(135deg, #f9731621, #fffffff0)}.tone-navy{--tone:var(--site-navy);--tone-soft:#e2e8f0;--tone-bg:linear-gradient(135deg, #0f172a1c, #fffffff0)}.feature-card[class*=tone-],.workflow-card[class*=tone-],.user-card[class*=tone-]{background:var(--tone-bg)}.feature-card[class*=tone-] .feature-icon,.user-card[class*=tone-] .feature-icon{background:var(--tone-soft);color:var(--tone)}.workflow-grid{position:relative}.workflow-grid:before{content:"";background:linear-gradient(90deg, var(--site-blue), var(--site-purple), var(--site-cyan), var(--site-green), var(--site-orange));opacity:.32;height:2px;position:absolute;top:40px;left:8%;right:8%}.workflow-card{position:relative}.workflow-card>span{background:linear-gradient(135deg, var(--tone,var(--site-navy)), #111827)}.workflow-card>.app-icon{color:var(--tone,var(--site-blue))}.user-card{position:relative;overflow:hidden}.user-card:before{content:"";background:var(--tone,var(--site-blue));transform-origin:0;height:4px;transition:transform .28s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.user-card:hover:before{transform:scaleX(1)}.user-card small{color:var(--tone,var(--site-blue))}.user-card ul{padding-left:0;list-style:none}.user-card li{align-items:flex-start;gap:8px;animation:.38s both siteFadeIn;display:flex}.user-card li:before{content:"✓";background:var(--tone-soft,#dcfce7);width:19px;height:19px;color:var(--tone,var(--site-green));border-radius:999px;flex:0 0 19px;place-items:center;font-size:12px;font-weight:900;display:inline-grid}.user-card li:nth-child(2){animation-delay:80ms}.user-card li:nth-child(3){animation-delay:.16s}.user-card li:nth-child(4){animation-delay:.24s}.user-card li:nth-child(5){animation-delay:.32s}.analytics-preview,.stat-strip{gap:12px;display:grid}.analytics-preview{grid-template-columns:1.2fr .8fr .8fr}.preview-card,.stat-strip div{border:1px solid #cbd5e1e0;border-radius:8px;min-width:0}.preview-card{gap:10px;padding:14px;display:grid}.preview-card span,.stat-strip small{color:#64748b;font-size:13px}.line-visual{background-color:#f8fafc;background-image:linear-gradient(90deg,#2563eb14 1px,#0000 1px),linear-gradient(#2563eb14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;height:72px;position:relative;overflow:hidden}.line-visual span{border-bottom:4px solid var(--site-blue);border-right:4px solid var(--site-purple);transform-origin:0 100%;height:42px;animation:.7s both chartDraw;position:absolute;bottom:14px;left:10px;right:10px;transform:skewY(-10deg)}.preview-bars div{align-items:end;gap:8px;height:84px;display:flex}.preview-bars i{width:100%;height:var(--bar);background:linear-gradient(180deg, var(--site-cyan), var(--site-blue));border-radius:7px 7px 0 0;animation:.62s both barRise;display:block}.preview-donut div{background:conic-gradient(var(--site-green) 0 58%, var(--site-orange) 58% 78%, #e5e7eb 78% 100%);border-radius:50%;width:84px;height:84px;animation:.52s both siteScaleIn;box-shadow:inset 0 0 0 18px #fff}.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-strip div{gap:5px;padding:14px;display:grid}.stat-strip .app-icon{color:var(--site-blue)}.stat-strip strong{color:#0f172a;font-size:24px}.stat-strip span{color:#334155;font-weight:800}.site-footer{background:linear-gradient(135deg,#0f172a 0%,#172554 55%,#4c1d95 100%)}@keyframes siteSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes siteFadeIn{0%{opacity:0}to{opacity:1}}@keyframes siteCardIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes siteScaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes chartDraw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes barRise{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}input,select{color:#111827;background:#fff}input::placeholder,textarea::placeholder{color:#111827;opacity:1}button{color:#fff;cursor:pointer;background:#111827}button:disabled{cursor:not-allowed;opacity:.65}.danger-button{background:#b91c1c;border-color:#b91c1c}.danger-button:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.light-button{color:#111827;background:#fff;border-color:#cbd5e1}.light-button:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.secondary-link-button{color:#111827;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;padding:10px 12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.secondary-link-button:hover{background:#f8fafc;border-color:#94a3b8}.topbar{margin-bottom:24px}.topbar h1{margin-bottom:6px;font-size:30px}.topbar p{color:#6b7280}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card,.panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 6px 20px #0000000f}.stat-title{color:#6b7280;font-size:14px}.stat-value{overflow-wrap:anywhere;margin:12px 0 8px;font-size:32px}.stat-subtitle{color:#9ca3af;overflow-wrap:anywhere;font-size:13px}.charts-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.panel h3{margin-bottom:6px;font-size:20px}.panel p{color:#6b7280;margin-bottom:16px}.chart-box{width:100%;height:320px}.dashboard-student-panel{max-width:none}.dashboard-student-toolbar{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:16px;margin-bottom:16px;display:grid}.dashboard-student-picker{gap:10px;display:grid}.dashboard-student-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:18px}.dashboard-student-card-header{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;margin-bottom:16px;display:flex}.dashboard-student-card-header h3{overflow-wrap:anywhere;margin:0}.dashboard-student-card-header strong{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:6px 10px}.student-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.dashboard-mini-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.dashboard-mini-grid div{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:84px;padding:12px}.dashboard-mini-grid strong{color:#0f172a;overflow-wrap:anywhere;font-size:20px;display:block}.dashboard-exam-panel{border-top:1px solid #e5e7eb;gap:16px;margin-top:16px;padding-top:16px;display:grid}.dashboard-exam-toolbar{grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:start;gap:16px;display:grid}.dashboard-exam-detail{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:16px;padding:16px;display:grid}.dashboard-lesson-list{max-height:340px}.table-wrap{overflow-x:auto}.flat-list{gap:10px;max-height:520px;padding-right:4px;display:grid;overflow:auto}.flat-list-item{min-width:0}.flat-list-empty{text-align:center;color:#64748b;padding:20px}.flat-grid-row{color:#1f2937;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 14px;display:grid}.flat-grid-row strong,.flat-grid-row span{overflow-wrap:anywhere;min-width:0}.flat-meta{color:#64748b;font-size:13px}.flat-pill{color:#3730a3;background:#eef2ff;border-radius:999px;justify-self:start;padding:4px 8px;font-size:13px;font-weight:700}.exam-list-row{grid-template-columns:minmax(52px,auto) 72px minmax(220px,1fr) minmax(110px,auto) auto}.exam-list-row .danger-button{justify-self:end}.student-flat-row{cursor:pointer;grid-template-columns:minmax(120px,1fr) minmax(64px,auto) minmax(54px,auto)}.student-flat-row:hover,.class-option:hover,.flat-grid-row:hover{background:#f9fafb}.student-flat-row.selected{background:#eff6ff;border-color:#bfdbfe;font-weight:600}.lesson-list-row{grid-template-columns:minmax(150px,1fr) repeat(3,minmax(80px,auto))}.exam-history-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:12px;padding:14px;display:grid}.exam-history-row strong{margin-bottom:4px;display:block}.exam-history-row span{color:#475569}.exam-history-metrics{flex-wrap:wrap;gap:8px;display:flex}.exam-history-metrics span{background:#f1f5f9;border-radius:999px;padding:5px 8px;font-size:13px}.class-student-row{grid-template-columns:minmax(180px,1fr) minmax(80px,auto) minmax(70px,auto) minmax(180px,auto)}.student-row-actions{justify-content:flex-end;gap:8px;display:flex}.student-row-actions button{white-space:nowrap;padding:8px 10px;font-size:13px;font-weight:700}.classes-page{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.class-option{color:#1f2937;text-align:left;background:#fff;border:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.class-option.selected{background:#eff6ff;border-color:#bfdbfe}.class-option-title{font-weight:700}.class-option-count{color:#64748b;white-space:nowrap;font-size:13px}.class-options{max-height:540px}.class-create-panel{margin-bottom:20px}.class-management-filters{grid-template-columns:minmax(280px,420px) minmax(0,1fr);align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.class-filter-panel,.student-search-panel{align-content:start;gap:16px;display:grid}.class-filter-controls,.student-search-controls{gap:10px;display:grid}.student-search-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center}.student-search-controls strong{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:8px 10px;font-size:13px}.student-management-panel{min-width:0}.student-management-title{justify-content:space-between;gap:12px;margin-bottom:16px;display:flex}.student-management-list{gap:8px;display:grid}.student-management-header,.student-management-row{grid-template-columns:minmax(115px,.6fr) minmax(170px,1.4fr) minmax(90px,.7fr) minmax(90px,.7fr) minmax(180px,1.2fr) minmax(82px,.6fr) 48px;align-items:center;gap:12px;display:grid}.student-management-header{color:#64748b;padding:0 12px 6px;font-size:13px;font-weight:800}.student-management-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;position:relative}.student-management-row:has(input:checked){background:#eff6ff;border-color:#93c5fd}.student-management-row strong,.student-management-row span{overflow-wrap:anywhere;min-width:0}.student-management-row span{color:#475569;font-size:14px}.select-checkbox{color:#475569;align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.select-checkbox.compact{width:fit-content}.select-checkbox input{accent-color:#2563eb;width:16px;height:16px}.bulk-actions-bar{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:10px;min-height:40px;padding:8px 10px;display:inline-flex;position:relative}.bulk-actions-bar strong{white-space:nowrap;font-size:14px}.student-row-actions{justify-content:flex-end;display:flex;position:relative}.icon-menu-button{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:20px;line-height:1;display:inline-flex}.icon-menu-button:hover,.icon-menu-button[aria-expanded=true]{background:#f8fafc;border-color:#94a3b8}.action-menu{z-index:30;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:230px;max-width:min(280px,100vw - 32px);display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 18px 45px #0f172a29}.action-menu-item{color:#111827;text-align:left;background:#fff;border:0;border-radius:0;justify-content:flex-start;align-items:center;width:100%;min-height:38px;padding:9px 12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.action-menu-item:hover:not(:disabled),.action-menu-item:focus-visible{background:#f8fafc;outline:none}.action-menu-item.danger{color:#b91c1c;border-top:1px solid #fee2e2}.action-menu-item.danger:hover:not(:disabled),.action-menu-item.danger:focus-visible{background:#fef2f2}.status-pill.passive{color:#991b1b;background:#fee2e2}.modal-backdrop{z-index:80;background:#0f172a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:8px;width:min(100%,420px);padding:20px;box-shadow:0 24px 70px #0f172a3d}.confirm-dialog h3{color:#111827;margin:0 0 8px}.confirm-dialog p{color:#475569;margin:0;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.student-detail-list{gap:10px;margin:14px 0 0;display:grid}.student-detail-list div{border-bottom:1px solid #e5e7eb;grid-template-columns:120px minmax(0,1fr);gap:12px;padding-bottom:8px;display:grid}.student-detail-list dt{color:#64748b;font-size:13px;font-weight:800}.student-detail-list dd{color:#111827;overflow-wrap:anywhere;margin:0}.inline-student-form{grid-template-columns:repeat(3,minmax(160px,1fr)) repeat(2,auto);align-items:start;gap:12px;margin-top:14px;display:grid}.exam-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.exams-page{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.upload-panel,.exams-list-panel{min-width:0}.exam-flat-list{max-height:620px}.stack-form{gap:12px;margin-top:16px;display:grid}.teacher-management-page{grid-template-columns:minmax(300px,460px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.teacher-add-panel,.teacher-list-panel{min-width:0}.teacher-add-form{gap:12px;margin-top:16px;display:grid}.teacher-list-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.teacher-list-header .light-button{flex:none}.teacher-list{gap:10px;max-height:620px;display:grid;overflow:auto}.teacher-list-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.teacher-list-row div{min-width:0}.teacher-list-row strong,.teacher-list-row span{overflow-wrap:anywhere;min-width:0;display:block}.teacher-list-row span{color:#64748b;font-size:13px}.institutions-page{gap:18px;display:grid}.institution-create-panel,.institution-create-form,.institution-edit-form{gap:10px;display:grid}.institution-create-form{grid-template-columns:minmax(220px,1fr) 160px auto;align-items:center}.institution-overview,.institution-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.institution-list{gap:14px;display:grid}.institution-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:14px;padding:16px;display:grid}.institution-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.institution-card-header h3{margin:8px 0 4px}.institution-card-header p,.institution-credentials span,.institution-usage span,.institution-stats span{color:#64748b;font-size:13px}.institution-credentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.institution-credentials div,.institution-stats div{border:1px solid #e5e7eb;border-radius:8px;min-width:0;padding:10px}.institution-credentials strong{overflow-wrap:anywhere;margin-top:4px;display:block}.status-pill{color:#991b1b;background:#fee2e2;border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.active{color:#166534;background:#dcfce7}.institution-usage{gap:8px;display:grid}.institution-usage>div:first-child{justify-content:space-between;gap:12px;display:flex}.usage-bar{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.usage-bar span{border-radius:inherit;background:#2563eb;height:100%;display:block}.inline-check{color:#475569;align-items:center;gap:8px;font-size:14px;display:inline-flex}.inline-check input{width:auto}.students-page{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.students-list-panel,.student-detail-panel{min-height:100%}.students-list-header{gap:14px;margin-bottom:16px;display:grid}.student-detail-header{text-align:center;justify-content:center;align-items:center;gap:16px;margin-bottom:16px;display:flex}.students-search{width:100%;min-width:0}.students-count{color:#6b7280;margin-bottom:16px}.student-row{cursor:pointer}.student-row.selected{background:#eff6ff}.student-row.selected td{color:#0f172a;font-weight:600}.student-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.student-info-card{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.student-info-label{color:#64748b;margin-bottom:6px;font-size:13px;display:block}.student-sections{gap:16px;display:grid}.student-subpanel{border:1px solid #e5e7eb;border-radius:8px;padding:18px}.student-detail-panel .stats-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.student-detail-panel .stat-card{text-align:center;align-content:center;min-height:170px;display:grid}.student-detail-panel .stat-title,.student-detail-panel .stat-subtitle{overflow-wrap:anywhere}.empty-table-message{text-align:center;color:#64748b;padding:20px}.error-message{color:#b91c1c}.success-message{color:#166534;margin-top:14px}.contact-panel{max-width:760px}.teacher-assignment-panel,.class-test-create-panel,.class-test-detail-panel{min-width:0}.teacher-assignment-form,.class-test-form{gap:12px;display:grid}.teacher-assignment-list,.class-test-list{gap:10px;margin-top:16px;display:grid}.teacher-assignment-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.teacher-assignment-row span{color:#64748b;margin-top:4px;display:block}.class-tests-page{gap:18px;display:grid}.class-tests-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.class-test-form{grid-template-columns:repeat(3,minmax(0,1fr))}.class-test-form textarea,.class-test-check,.class-test-result-entry,.class-test-form button{grid-column:1/-1}.class-test-result-entry{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.class-test-result-header,.class-test-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.class-test-result-header span,.class-test-detail-header p,.class-test-list small,.class-test-list span{color:#64748b}.class-test-result-table{gap:8px;display:grid}.class-test-result-row{grid-template-columns:minmax(180px,1fr) minmax(70px,90px) repeat(3,minmax(80px,110px)) minmax(110px,140px);align-items:center;gap:8px;display:grid}.class-test-result-row.head{color:#64748b;font-size:13px;font-weight:700}.class-test-result-row small{color:#64748b;margin-top:3px;display:block}.class-test-row-ok,.class-test-row-error{gap:3px;font-size:13px;font-weight:700;display:grid}.class-test-row-ok{color:#166534}.class-test-row-error{color:#b91c1c}.class-test-list button{color:#111827;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:5px;width:100%;padding:12px;display:grid}.class-test-list button:hover,.class-test-list button.selected{background:#eff6ff;border-color:#93c5fd}.class-test-metrics,.class-test-chart-grid,.class-test-insight-grid{gap:12px;margin-bottom:16px;display:grid}.class-test-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.class-test-chart-grid,.class-test-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-test-metric,.class-test-chart-card,.class-test-insight-grid>div{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:0;padding:12px}.class-test-metric span{color:#64748b;margin-bottom:6px;font-size:13px;display:block}.class-test-metric strong{color:#0f172a;font-size:22px}.class-test-chart-card h4,.class-test-insight-grid h4{margin-bottom:10px}.class-test-insight-grid span{color:#334155;margin-top:6px;display:block}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:#6b7280;border-bottom:1px solid #e5e7eb;padding:14px 10px;font-size:14px}tbody td{border-bottom:1px solid #f1f5f9;padding:14px 10px}tbody tr:hover{background:#f9fafb}.report-page{background:#eef3f8;border-radius:8px;width:100%;max-width:1560px;margin:0 auto;padding:14px}.report-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.report-export-controls{align-items:center;gap:10px;display:flex}.report-sheet{background:#fff;border:1px solid #dbe3ec;border-radius:8px;padding:24px 28px;box-shadow:0 12px 36px #0f172a14}.report-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;display:flex}.report-header h2{margin-bottom:6px;font-size:28px;line-height:1.12}.report-header p,.report-section p{color:#64748b}.report-date{color:#475569;white-space:nowrap;font-weight:700}.report-section{gap:14px;margin-top:18px;display:grid}.report-tab-panel.screen-hidden{display:none}.report-tabs{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:10px;margin-bottom:22px;padding-bottom:14px;display:flex}.report-tabs button{color:#1f2937;background:#fff;border-color:#cbd5e1;font-size:14px;font-weight:700}.report-tabs button.active{color:#fff;background:#111827;border-color:#111827}.report-section h3{font-size:19px}.report-section-header{grid-template-columns:minmax(0,1fr) minmax(260px,480px);align-items:start;gap:24px;display:grid}.report-metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.report-metric-grid div{background:#f8fafc;border:1px solid #dbe3ec;border-radius:8px;min-height:82px;padding:12px}.report-metric-grid span{color:#64748b;margin-bottom:8px;font-size:13px;display:block}.report-metric-grid strong{color:#0f172a;overflow-wrap:anywhere;font-size:21px;display:block}.report-insight-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.report-insight-card{background:#fff;border:1px solid #dbe3ec;border-radius:8px;min-height:104px;padding:12px}.report-insight-card span{color:#64748b;margin-bottom:8px;font-size:13px;display:block}.report-insight-card strong{color:#0f172a;overflow-wrap:anywhere;margin-bottom:8px;font-size:19px;display:block}.report-insight-card p{color:#475569;margin:0;font-size:14px}.report-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.report-chart-panel{background:#fff;border:1px solid #dbe3ec;border-radius:8px;min-width:0;min-height:300px;padding:14px}.report-chart-panel h3{margin-bottom:12px}.lesson-analysis-controls{grid-template-columns:minmax(150px,.85fr) minmax(160px,1fr) minmax(220px,1.35fr);gap:12px;min-width:0;display:grid}.lesson-analysis-controls label{gap:6px;min-width:0;display:grid}.lesson-analysis-controls select{width:100%;min-width:0}.lesson-analysis-controls span{color:#64748b;font-size:13px;font-weight:700}.lesson-analysis-list{background:#fff;border:1px solid #dbe3ec;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:10px;padding:12px;display:grid}.course-analysis-box-header{border-bottom:1px solid #e5e7eb;grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.course-analysis-box-header h3{margin:0 0 4px;font-size:17px}.course-analysis-box-header p{color:#64748b;margin:0;font-size:12px}.course-analysis-box-header strong{color:#fff;background:#111827;border-radius:999px;padding:5px 9px;font-size:12px}.lesson-analysis-card{break-inside:avoid;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;gap:10px;padding:10px;display:grid}.lesson-analysis-card-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:8px;display:flex}.lesson-analysis-card-header h3{margin:0;font-size:16px}.lesson-analysis-card-header strong{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:4px 8px;font-size:12px}.lesson-analysis-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lesson-analysis-chart-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:8px;min-width:0;padding:8px;display:grid}.lesson-analysis-chart-panel h4{color:#111827;margin:0;font-size:13px}.lesson-analysis-chart-panel p{color:#475569;margin:0;font-size:12px}.course-analysis-mini-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:7px;min-width:0;padding:8px;display:grid}.course-analysis-mini-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.course-analysis-mini-header h4{color:#111827;margin:0;font-size:13px}.course-analysis-mini-header strong{color:#0f172a;white-space:nowrap;font-size:12px}.course-analysis-mini-body{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px;display:grid}.course-pie-wrap{justify-items:center;gap:4px;display:grid}.course-pie-chart{width:70px;height:70px;display:block}.course-pie-legend{gap:2px;width:100%;display:grid}.course-pie-legend span{color:#64748b;align-items:center;gap:4px;font-size:10px;line-height:1.15;display:flex}.course-pie-legend i{border-radius:999px;flex:none;width:7px;height:7px;display:inline-block}.course-analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.course-analysis-metrics div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;min-width:0;padding:6px}.course-analysis-metrics span{color:#64748b;margin-bottom:2px;font-size:10px;display:block}.course-analysis-metrics strong{color:#0f172a;overflow-wrap:anywhere;font-size:13px;display:block}.print-safe-chart{width:100%;height:auto;min-height:220px;display:block}.print-safe-chart text{fill:#64748b;font-size:14px}.report-table-wrap{overflow-x:auto}.report-table th,.report-table td{padding:10px 8px}.report-table tbody tr:hover{background:0 0}.site-hero{width:100%;max-width:1400px;min-height:auto;margin:0 auto;padding:clamp(34px,5vw,68px) clamp(24px,5vw,80px)}.site-hero.public-hero-only{grid-template-columns:minmax(0,1fr);align-items:start}.site-hero.public-hero-only .hero-content{width:100%;max-width:none}.public-section-grid,.contact-page-grid{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);align-items:center;gap:clamp(32px,5vw,76px);width:100%;display:grid}.section-copy{gap:18px;min-width:0;display:grid}.section-copy p{max-width:720px}.section-below{gap:24px;margin-top:clamp(30px,5vw,54px);display:grid}.visual-card{z-index:1;background:linear-gradient(145deg,#fffffff5,#eff6ffe0),#fff;border:1px solid #cbd5e1e0;border-radius:8px;min-width:0;padding:clamp(18px,2.4vw,26px);position:relative;box-shadow:0 24px 55px #0f172a1f}.dashboard-mock{gap:14px;display:grid}.mock-window-bar{color:#0f172a;align-items:center;gap:7px;display:flex}.mock-window-bar span{background:#cbd5e1;border-radius:999px;width:9px;height:9px}.mock-window-bar span:first-child{background:#f97316}.mock-window-bar span:nth-child(2){background:#facc15}.mock-window-bar span:nth-child(3){background:#22c55e}.mock-window-bar strong{margin-left:6px;font-size:14px}.dashboard-score-row,.dashboard-chart-grid,.dashboard-insight-row{gap:12px;display:grid}.dashboard-score-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-score-row div,.mock-chart,.dashboard-insight-row div,.role-node,.flow-core,.flow-report-card,.feature-mini-visual,.request-flow div{background:#ffffffdb;border:1px solid #e2e8f0;border-radius:8px;padding:13px}.dashboard-score-row span,.dashboard-score-row small,.mock-chart span,.dashboard-insight-row span,.role-node span,.map-center span,.flow-core small,.flow-report-card span{color:#64748b;font-size:13px}.dashboard-score-row strong{color:#0f172a;margin:5px 0;font-size:30px;line-height:1.1;display:block}.dashboard-chart-grid{grid-template-columns:1.15fr .85fr}.mock-chart.wide{grid-row:span 2}.mini-bars{align-items:end;gap:8px;height:122px;margin-top:12px;display:flex}.mini-bars i,.flow-report-card i,.feature-mini-visual i{height:var(--bar);background:linear-gradient(180deg, var(--site-cyan), var(--site-blue));border-radius:7px 7px 0 0;display:block}.mini-bars i{flex:1}.dashboard-insight-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-insight-row div{gap:5px;display:grid}.dashboard-insight-row .app-icon{color:var(--site-blue)}.role-access-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.map-center{color:#fff;text-align:center;background:linear-gradient(135deg,#111827,#1d4ed8);border-radius:8px;grid-column:1/-1;justify-items:center;gap:7px;padding:22px;display:grid}.map-center strong,.map-center span{color:#fff}.role-node{gap:7px;display:grid}.role-node .app-icon{color:var(--site-blue)}.about-flow-visual,.workflow-flow-visual{align-items:center;gap:14px;display:grid}.about-flow-visual{grid-template-columns:.9fr auto 1fr auto 1.1fr}.flow-file-stack{gap:8px;display:grid}.flow-file-stack span{color:#1d4ed8;background:#fff;border:1px solid #dbeafe;border-radius:8px;padding:12px;font-weight:800;display:block;box-shadow:0 10px 20px #0f172a0f}.flow-arrow{color:#2563eb}.flow-core{text-align:center;justify-items:center;gap:7px;display:grid}.flow-core>span{color:#fff;background:#111827;border-radius:8px;place-items:center;width:48px;height:48px;font-weight:900;display:inline-grid}.flow-report-card{gap:8px;display:grid}.flow-report-card i{width:var(--bar);border-radius:999px;height:9px}.why-list,.request-flow{gap:10px;display:grid}.why-list{grid-template-columns:repeat(3,minmax(0,1fr))}.why-list div{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:9px;padding:13px;font-weight:700;display:flex}.why-list .app-icon{color:#16a34a}.feature-section-list{gap:18px}.feature-section-row{background:#ffffffe0;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(300px,.76fr);align-items:center;gap:22px;padding:clamp(18px,3vw,28px);display:grid}.feature-section-row.reverse{grid-template-columns:minmax(300px,.76fr) minmax(0,1fr)}.feature-section-row.reverse>div:first-child{order:2}.feature-section-row h2{margin-top:10px;font-size:25px}.feature-section-row p{color:#475569;margin:10px 0 12px;line-height:1.6}.feature-section-row ul{gap:7px;list-style:none;display:grid}.feature-section-row li{color:#334155;font-weight:700}.feature-section-row li:before{content:"✓";color:#16a34a;margin-right:8px}.feature-mini-visual{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;min-height:210px;display:grid}.feature-mini-visual span{color:#0f172a;grid-column:1/-1;align-self:start;font-weight:900}.workflow-flow-visual{grid-template-columns:1fr}.flow-step-node{background:#fff;border:1px solid #dbeafe;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.flow-step-node span,.request-flow span{color:#fff;background:#111827;border-radius:8px;place-items:center;width:32px;height:32px;font-weight:900;display:inline-grid}.flow-step-node .app-icon{color:#2563eb}.security-layer-visual{gap:13px;display:grid}.security-layer-visual div{background:#fff;border:1px solid #dbeafe;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.security-layer-visual div:nth-child(2){margin-left:28px}.security-layer-visual div:nth-child(3){margin-left:56px}.security-layer-visual div:nth-child(4){margin-left:84px}.security-layer-visual .app-icon{color:#2563eb}.security-layer-visual strong{color:#fff;text-align:center;background:#0f172a;border-radius:8px;padding:15px}.request-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.request-flow div{gap:8px;display:grid}.contact-page-grid{align-items:start}.contact-list.stacked{max-width:520px;display:grid}.contact-list.stacked .contact-item{width:100%}.contact-page-grid .contact-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-width:none;padding:18px;box-shadow:0 18px 40px #0f172a14}.site-hero.public-hero-only:before,.site-hero.public-hero-only:after{opacity:.18}@media (width<=1100px){.site-navbar{align-items:flex-start;padding:14px 20px}.mobile-menu-button{display:grid}.site-nav{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:stretch;padding:10px;display:none;position:absolute;top:66px;left:20px;right:20px;box-shadow:0 20px 45px #0f172a24}.site-nav.open{gap:4px;display:grid}.nav-description{display:block}.site-nav>a,.site-nav>button,.login-menu-button{text-align:left;width:100%}.login-dropdown{width:100%;box-shadow:none;margin-top:8px;position:static}.site-hero,.demo-section,.about-section,.contact-section,.public-section-grid,.contact-page-grid,.feature-section-row,.feature-section-row.reverse{grid-template-columns:1fr}.feature-section-row.reverse>div:first-child{order:0}.feature-grid,.institution-model,.workflow-grid,.user-card-grid,.analytics-preview,.stat-strip,.why-list,.request-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer-grid,.auth-page{grid-template-columns:1fr}.auth-hero{min-height:auto}.auth-highlight-list,.exam-layout,.students-page,.classes-page,.class-management-filters,.exams-page,.class-tests-layout,.class-test-form,.teacher-management-page,.institution-create-form,.charts-grid{grid-template-columns:1fr}.student-info-grid,.institution-overview,.institution-stats,.student-detail-panel .stats-grid,.dashboard-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.site-navbar{min-height:68px}.brand-mark strong{font-size:17px}.site-hero{min-height:auto;padding:30px 16px}.hero-content h1{font-size:36px}.hero-content>p{font-size:16px}.hero-metrics,.feature-grid,.feature-grid.compact,.institution-model,.institution-model.compact,.workflow-grid,.user-card-grid,.analytics-preview,.stat-strip,.pricing-grid,.dashboard-score-row,.dashboard-chart-grid,.dashboard-insight-row,.role-access-map,.why-list,.request-flow,.about-flow-visual{grid-template-columns:1fr}.flow-arrow{display:none}.feature-mini-visual{min-height:170px}.security-layer-visual div:nth-child(2),.security-layer-visual div:nth-child(3),.security-layer-visual div:nth-child(4){margin-left:0}.workflow-grid:before,.site-hero:before,.site-hero:after{display:none}.feature-icon{width:42px;height:42px}.site-section{padding:46px 16px}.section-heading h2,.demo-section h2,.about-section h2,.contact-section h2{font-size:28px}.site-auth-panel{padding:20px}.role-chip-row{flex-direction:column}.role-chip{width:100%}.contact-list{flex-direction:column}.contact-item{width:100%}.site-footer{padding:28px 16px 18px}.auth-page{padding:14px}.auth-hero,.auth-panel{padding:20px}.auth-copy h1{font-size:36px}.role-card-grid,.auth-stat-strip{grid-template-columns:1fr}.auth-highlight-card{min-height:auto}.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static;overflow:visible}.stats-grid,.charts-grid,.classes-page{grid-template-columns:1fr}.students-list-header,.student-detail-header{flex-direction:column}.students-search{min-width:100%}.student-info-grid,.student-detail-panel .stats-grid,.dashboard-student-toolbar,.dashboard-exam-toolbar,.dashboard-mini-grid,.report-chart-grid,.lesson-analysis-controls,.lesson-analysis-chart-grid,.lesson-analysis-list{grid-template-columns:1fr}.course-analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.course-analysis-mini-body{grid-template-columns:86px minmax(0,1fr)}.inline-student-form{grid-template-columns:1fr}.report-page{padding:12px}.report-sheet{padding:22px 18px}.report-actions,.report-export-controls,.report-header{flex-direction:column;align-items:stretch}.report-section-header,.exam-list-row,.student-flat-row,.lesson-list-row,.class-student-row,.student-management-header,.student-management-row,.student-search-controls,.class-test-result-row,.class-test-metrics,.class-test-chart-grid,.class-test-insight-grid{grid-template-columns:1fr}.student-management-header{display:none}.teacher-list-header,.teacher-list-row,.institution-card-header{flex-direction:column;align-items:stretch}.institution-credentials,.institution-overview,.institution-stats{grid-template-columns:1fr}.student-row-actions{flex-wrap:wrap;justify-content:flex-start}.exam-list-row button{justify-self:start}.class-option{flex-direction:column;align-items:flex-start}}@media print{@page{margin:12mm}body{background:#fff}.sidebar,.no-print{display:none!important}.layout{min-height:auto;display:block}.main-content{padding:0}.report-page{background:#fff;max-width:none;margin:0;padding:0}.report-sheet{box-shadow:none;border-radius:0;padding:0}.report-metric-grid div,.report-chart-panel,.report-insight-card,.lesson-analysis-card,.course-analysis-mini-panel,.report-table th,.report-table td{break-inside:avoid}.report-section{gap:10px;margin-top:14px}.report-header{margin-bottom:12px;padding-bottom:10px}.report-header h2{font-size:22px}.report-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.report-metric-grid div{min-height:64px;padding:8px}.report-metric-grid strong{font-size:16px}.report-chart-panel{min-height:240px}.print-safe-chart{min-height:180px}.lesson-analysis-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.lesson-analysis-card{gap:7px;padding:8px}.lesson-analysis-card-header h3{font-size:13px}.course-analysis-mini-body{grid-template-columns:74px minmax(0,1fr);gap:6px}.course-pie-chart{width:58px;height:58px}.course-pie-legend span{font-size:8.5px}.course-analysis-metrics div{padding:4px}.course-analysis-metrics strong{font-size:11px}.report-tab-panel.screen-hidden{display:grid}.report-print-summary .detailed-print-section{display:none!important}}
