body{color:#1f2937;font-family:Arial,Helvetica,sans-serif}.page{max-width:1000px;padding:24px}.page-header{align-items:center;gap:12px}.subtitle{margin:0}.card{border-radius:14px;box-shadow:0 4px 18px #0000000f;padding:20px}.button,.button-link,.button-secondary{border:none;border-radius:10px;cursor:pointer;display:inline-block;font-weight:600;padding:10px 16px;transition:.2s ease}.button{background:#2563eb}.button:hover{background:#1d4ed8}.button-secondary{background:#e5e7eb}.button-secondary:hover{background:#d1d5db}.button-link{background:#0000;color:#2563eb;padding:0}.grid{grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.student-list{list-style:none;margin:0;padding:0}.student-list li{border-bottom:1px solid #e5e7eb;padding:14px 0}.student-list li:last-child{border-bottom:none}.info-row{margin:8px 0}.actions{margin-top:16px}.form-group label{margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:10px;font-size:14px;padding:10px 12px;width:100%}.form-group textarea{resize:vertical}.error{border-radius:10px;padding:12px}.lesson-item,.skill-item{border-bottom:1px solid #e5e7eb;padding:10px 0}.lesson-item:last-child,.skill-item:last-child{border-bottom:none}.badge{background:#dbeafe;display:inline-block;padding:5px 10px}.skill-grid{grid-gap:10px 20px;gap:10px 20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.top-nav a{font-weight:600}body{background:#f6f6f2;color:#111;font-family:Arial,sans-serif;margin:0}.landing-page{background:radial-gradient(circle at top left,#5a6b4f14,#0000 30%),#f6f6f2;min-height:100vh;padding:24px}.landing-navbar{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto 30px;max-width:1180px}.landing-logo-wrap{align-items:center;display:flex;gap:14px}.landing-logo-mark{align-items:center;background:#2f3e2f;border-radius:14px;color:#fff;display:flex;font-weight:700;height:44px;justify-content:center;width:44px}.landing-logo-text{font-size:22px;margin:0}.landing-logo-sub{color:#666;font-size:13px;margin:2px 0 0}.landing-nav-links{align-items:center;display:flex;gap:12px}.landing-nav-link{color:#111;font-weight:600}.landing-hero{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:1.1fr .9fr;margin:0 auto;max-width:1180px;padding:60px 0 40px}.landing-badge{background:#2f3e2f14;border-radius:999px;color:#2f3e2f;display:inline-block;font-size:14px;font-weight:600;margin-bottom:18px;padding:8px 14px}.landing-title{font-size:54px;line-height:1.06;margin:0 0 18px;max-width:700px}.landing-subtitle{color:#555;font-size:18px;line-height:1.7;margin-bottom:28px;max-width:640px}.landing-actions{display:flex;flex-wrap:wrap;gap:12px}.landing-btn{align-items:center;border-radius:12px;display:inline-flex;font-weight:700;justify-content:center;padding:14px 22px;transition:.2s ease}.landing-btn-primary{background:#2f3e2f;color:#fff}.landing-btn-primary:hover{opacity:.92}.landing-btn-secondary{background:#fff;border:1px solid #ddd;color:#111}.landing-hero-card{display:flex;justify-content:center}.landing-demo-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #0000000f;border-radius:24px;box-shadow:0 18px 45px #00000014;max-width:460px;overflow:hidden;width:100%}.landing-demo-top{border-bottom:1px solid #0000000d;display:flex;gap:8px;padding:16px 18px}.dot{background:#d0d0d0;border-radius:999px;height:10px;width:10px}.landing-demo-body{padding:20px}.landing-demo-block h3{margin:6px 0 0}.landing-demo-label{color:#666;font-size:13px;margin:0}.landing-demo-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-top:20px}.landing-stat-card{background:#fafaf8;border:1px solid #ecece8;border-radius:18px;padding:16px}.landing-stat-card p{color:#666;font-size:13px;margin:0 0 8px}.landing-stat-card h4{font-size:18px;margin:0}.landing-section{margin:0 auto;max-width:1180px;padding:34px 0}.landing-section-heading{margin-bottom:24px;max-width:760px}.landing-section-label{color:#2f3e2f;font-weight:700;margin-bottom:8px}.landing-section-heading h3{font-size:32px;margin:0 0 12px}.landing-section-heading p{color:#555;line-height:1.7;margin:0}.landing-feature-grid,.landing-step-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.landing-feature-card,.landing-step-card{background:#ffffffd1;border:1px solid #0000000d;border-radius:22px;box-shadow:0 12px 30px #0000000d;padding:24px}.landing-feature-card h3,.landing-step-card h4{margin-top:0}.landing-feature-card p,.landing-step-card p{color:#555;line-height:1.7;margin-bottom:0}.landing-step-card span{color:#2f3e2f;display:inline-block;font-weight:700;margin-bottom:12px}.landing-cta{background:#2f3e2f;border-radius:28px;color:#fff;margin:20px auto 0;max-width:1180px;padding:42px 30px;text-align:center}.landing-cta h3{font-size:32px;margin-top:0}.landing-cta p{color:#ffffffd1;margin-bottom:22px}.auth-page{align-items:center;background:radial-gradient(circle at top left,#5a6b4f14,#0000 30%),#f6f6f2;display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-shell{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border:1px solid #0000000f;border-radius:28px;box-shadow:0 18px 45px #00000014;display:grid;grid-template-columns:1fr 1fr;max-width:1100px;overflow:hidden;width:100%}.auth-brand-panel{background:#2f3e2f;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:60px 50px}.auth-brand-badge{background:#ffffff1f;border-radius:999px;display:inline-block;font-size:13px;font-weight:700;margin-bottom:16px;padding:8px 14px;width:fit-content}.auth-brand-panel h1{font-size:40px;line-height:1.12;margin:0 0 16px}.auth-brand-panel p{color:#ffffffd1;font-size:16px;line-height:1.7;max-width:420px}.auth-card{background:#fcfcfa;padding:50px 40px}.auth-card h2{font-size:30px;margin-bottom:8px;margin-top:0}.auth-subtitle{color:#666;line-height:1.6;margin-bottom:24px}.form-group{margin-bottom:16px}.form-group label{font-weight:700}.form-group input{background:#fff;border:1px solid #d9d9d4;border-radius:12px;font-size:15px;padding:14px;width:100%}.form-group input:focus{border-color:#2f3e2f;outline:none}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-hint{color:#777;display:block;font-size:13px;line-height:1.5;margin-top:6px}.checkbox-group{align-items:flex-start;display:flex;gap:10px;margin:18px 0 22px}.checkbox-group input{margin-top:3px}.checkbox-group label{color:#444;line-height:1.6}.auth-submit-btn{background:#2f3e2f;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:14px 18px;width:100%}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.7}.auth-switch-text{color:#555;margin-top:18px;text-align:center}.auth-switch-text a{color:#2f3e2f;font-weight:700}.error{background:#ffe8e8;color:#9f1d1d}.error,.success{margin-bottom:16px}.success{background:#e9f7ec;border-radius:12px;color:#1e6b35;padding:12px 14px}@media (max-width:900px){.auth-shell,.landing-feature-grid,.landing-hero,.landing-step-grid{grid-template-columns:1fr}.landing-title{font-size:40px}.landing-navbar{align-items:flex-start;flex-direction:column}.auth-brand-panel,.auth-card{padding:36px 24px}.form-row{grid-template-columns:1fr}}.auth-secondary-btn{background:#fff;border:1px solid #d9d9d4;border-radius:12px;color:#111;cursor:pointer;font-size:15px;font-weight:700;margin-top:12px;padding:14px 18px;width:100%}.auth-secondary-btn:disabled{cursor:not-allowed;opacity:.7}.auth-links-row{margin-top:18px}.auth-helper-text{color:#666;font-size:14px;line-height:1.6;margin-top:10px;text-align:center}.auth-helper-text a{color:#2f3e2f;font-weight:700}.landing-header{align-items:center;display:flex;justify-content:space-between;padding:20px 40px}.logo{font-size:20px;font-weight:800}.nav-actions{align-items:center;display:flex}.nav-login-link{color:#666;font-size:14px;margin-right:16px;text-decoration:none}.nav-btn.primary{background:#2f3e2f;border-radius:8px;color:#fff;font-weight:600;padding:10px 16px;text-decoration:none}.hero{padding:120px 20px 80px;text-align:center}.hero h1{font-size:42px;font-weight:800}.hero p{color:#666;font-size:18px;margin-left:auto;margin-right:auto;margin-top:20px;max-width:600px}.hero-hint{color:#999;font-size:14px;margin-top:40px}.features{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;padding:60px 20px}.feature{max-width:250px;text-align:center}.landing-footer{color:#666;padding:40px 20px;text-align:center}*{box-sizing:border-box}#root,body,html{margin:0;min-height:100%;padding:0}body{background:#f5f7fb;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;line-height:1.5}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.page{margin:0 auto;max-width:1120px;padding:32px 20px 48px}.top-nav{font-size:14px;font-weight:500;margin-bottom:18px}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.title{color:#0f172a;font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0}.subtitle{color:#6b7280;font-size:15px;margin:6px 0 0}.card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 10px 30px #0f172a0d;margin-bottom:20px;padding:22px}.card h2{color:#111827;font-size:20px;font-weight:650;margin-bottom:14px;margin-top:0}.grid{grid-gap:20px;display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.info-row{color:#374151;margin:10px 0}.empty-text{color:#6b7280;margin:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.button,.button-danger,.button-secondary{align-items:center;appearance:none;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;min-height:42px;padding:10px 16px;transition:all .2s ease}.button{background:#111827;color:#fff}.button:hover{background:#1f2937;text-decoration:none}.button-secondary{background:#eef2f7;border:1px solid #dbe1ea;color:#111827}.button-secondary:hover{background:#e5e7eb;text-decoration:none}.button-danger{background:#0000;border:1px solid #fca5a5;color:#dc2626}.button-danger:hover{background:#dc2626;color:#fff}.form-group{margin-bottom:20px}.form-group label{color:#111827;display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,select,textarea{background:#fff;border:1px solid #d1d5db;border-radius:12px;color:#111827;font-size:14px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}input:hover,select:hover,textarea:hover{border-color:#9ca3af}input:focus,select:focus,textarea:focus{border-color:#111827;box-shadow:0 0 0 3px #11182714;outline:none}textarea{min-height:96px;resize:vertical}.badge{align-items:center;background:#e0ecff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;padding:6px 12px;text-transform:capitalize}.student-list-item{align-items:center;border-bottom:1px solid #edf0f4;display:flex;gap:14px;justify-content:space-between;padding:14px 0}.student-list-item:last-child{border-bottom:none}.student-name{color:#111827;font-size:15px;font-weight:600}.lesson-item{border-bottom:1px solid #edf0f4;padding:14px 0}.lesson-item:last-child{border-bottom:none}.lesson-item strong{color:#111827;display:block;margin-bottom:6px}.skill-grid{grid-gap:14px 20px;display:grid;gap:14px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.skill-item{border-bottom:1px solid #edf0f4;padding:10px 0}.skill-item strong{color:#111827;display:block;margin-bottom:4px}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;font-size:14px;margin-bottom:18px;padding:12px 14px}.stat-number{color:#111827;font-size:36px;font-weight:750;letter-spacing:-.03em;margin:8px 0 0}.chart-wrapper{height:320px;width:100%}@media (max-width:900px){.grid-2,.skill-grid{grid-template-columns:1fr}}@media (max-width:640px){.page{padding:22px 14px 36px}.title{font-size:26px}.page-header{align-items:stretch;flex-direction:column}.actions,.button,.button-danger,.button-secondary{width:100%}.student-list-item{align-items:flex-start;flex-direction:column}}.badge.needs_work{background:#fee2e2;color:#b91c1c}.badge.improving{background:#fef3c7;color:#92400e}.badge.competent{background:#dcfce7;color:#166534}.badge.test_ready{background:#dbeafe;color:#1d4ed8}.lesson-header{margin-bottom:10px}.lesson-date{color:#111827;font-size:16px;font-weight:700}.lesson-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.label{color:#6b7280;display:block;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.value{color:#111827;font-size:14px;font-weight:500}.lesson-section{margin-top:10px}
/*# sourceMappingURL=main.2d085c97.css.map*/