.header{z-index:100;background:#080d17;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;max-width:1280px;height:64px;margin:0 auto;padding:0 1.5rem;display:flex}.header-brand{color:#fff;align-items:center;gap:.5rem;text-decoration:none;display:flex}.header-logo{color:#818cf8}.header-brand span{font-size:1.25rem;font-weight:700}.header-nav{align-items:center;gap:.5rem;display:flex}.header-link{color:#d1d5db;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.header-link:hover{color:#fff;background:#1e293b}@media (width<=640px){.header-container{padding:0 1rem}.header-brand span,.header-link span{display:none}.header-link{padding:.5rem}}.alert-box{border-radius:var(--r);align-items:center;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.alert-box-icon{flex-shrink:0}.alert-box--error{background:var(--clr-danger-subtle);border:1px solid var(--clr-danger-border);color:#b91c1c}.alert-box--success{background:var(--clr-success-subtle);border:1px solid var(--clr-success-border);color:#065f46}.stat-card{background:var(--clr-surface);border-radius:var(--r-lg);border:1px solid var(--clr-border);box-shadow:var(--sh-sm);padding:18px 20px;transition:box-shadow .15s}.stat-card:hover{box-shadow:var(--sh-md)}.stat-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-card-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stat-card-value{color:var(--clr-text-1);letter-spacing:-.03em;font-size:1.75rem;font-weight:700;line-height:1}.stat-card-label{color:var(--clr-text-2);margin-top:2px;font-size:.78rem;font-weight:500}.loading-state{color:var(--clr-text-2);flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:3rem;font-size:.9rem;display:flex}.loading-spinner{border:3px solid var(--clr-accent-subtle);border-top-color:var(--clr-accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite loading-spin}.loading-message{font-weight:500}@keyframes loading-spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--clr-text-2);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.empty-state--boxed{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg)}.empty-state-icon{color:var(--clr-text-3);line-height:0}.empty-state-message{color:var(--clr-text-1);margin:0;font-size:.95rem;font-weight:500}.empty-state-hint{color:var(--clr-text-2);margin:0;font-size:.875rem}.empty-state-action{margin-top:.5rem}.students-progress{border:1px solid var(--clr-border);border-radius:var(--r-lg);background:var(--clr-surface);box-shadow:var(--sh-sm);overflow-x:auto}.students-progress-table{border-collapse:collapse;width:100%;font-size:.875rem}.students-progress-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--clr-text-3);background:var(--clr-border-soft);border-bottom:1px solid var(--clr-border);padding:.75rem 1rem;font-size:.72rem;font-weight:700}.students-progress-table td{border-bottom:1px solid var(--clr-border-soft);color:var(--clr-text-2);vertical-align:middle;padding:.75rem 1rem}.students-progress-table tr:last-child td{border-bottom:none}.sp-student-name{color:var(--clr-text-1);font-weight:600}.sp-student-email{color:var(--clr-text-3);font-size:.78rem}.sp-progress-col{width:30%}.sp-progress-cell{align-items:center;gap:.5rem;display:flex}.sp-progress-track{background:var(--clr-border-soft);border-radius:999px;flex:1;height:6px;overflow:hidden}.sp-progress-fill{background:var(--clr-accent,#6366f1);border-radius:999px;height:100%;transition:width .3s}.sp-progress-fill.done{background:var(--clr-success)}.sp-progress-pct{color:var(--clr-text-2);text-align:right;flex-shrink:0;min-width:34px;font-size:.78rem;font-weight:700}.students-progress-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.sp-page-btn{color:var(--clr-text-2,#4b5563);background:var(--clr-surface,#fff);border:1px solid var(--clr-border,#e5e7eb);cursor:pointer;border-radius:8px;align-items:center;gap:.25rem;padding:.4rem .8rem;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.sp-page-btn:hover:not(:disabled){border-color:var(--clr-accent,#6366f1);color:var(--clr-accent-dark,#4f46e5)}.sp-page-btn:disabled{opacity:.45;cursor:not-allowed}.sp-page-info{color:var(--clr-text-3,#9ca3af);font-size:.82rem;font-weight:600}.points-field{flex-direction:column;display:flex}.points-field-label{color:var(--clr-text-2,#4b5563);font-size:.8rem;font-weight:600}.points-seg,.points-input-wrap{margin-top:.5rem}.points-seg{background:var(--clr-border-soft,#f3f4f6);border:1px solid var(--clr-border,#e5e7eb);border-radius:10px;gap:3px;width:fit-content;padding:3px;display:inline-flex}.points-seg-btn{color:var(--clr-text-2,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.points-seg-btn:hover{color:var(--clr-text-1,#111827)}.points-seg-btn.is-active{background:var(--clr-surface,#fff);color:var(--clr-accent-dark,#4f46e5);box-shadow:0 1px 2px #00000014}.points-input-wrap{border:1px solid var(--clr-border,#e5e7eb);background:var(--clr-surface,#fff);border-radius:8px;align-items:center;width:fit-content;transition:border-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.points-input-wrap:focus-within{border-color:var(--clr-accent,#6366f1);box-shadow:0 0 0 3px var(--clr-accent-subtle,#eef2ff)}.points-input-wrap input{width:84px;color:var(--clr-text-1,#111827);background:0 0;border:none;outline:none;padding:.5rem .25rem .5rem .75rem;font-size:.95rem;font-weight:600}.points-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.points-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.points-input-wrap input[type=number]{-moz-appearance:textfield}.points-input-suffix{color:var(--clr-text-3,#9ca3af);padding:0 .75rem 0 .25rem;font-size:.8rem;font-weight:600}.points-field-help{color:var(--clr-text-3,#9ca3af);margin:.5rem 0 0;font-size:.74rem;line-height:1.4}:root{--bg:#f4f4f5;--surface:#fff;--border:#e4e4e7;--border-soft:#f0f0f1;--sidebar-bg:#18181b;--sidebar-border:#27272a;--sidebar-text:#a1a1aa;--sidebar-active-bg:#3f3f46;--sidebar-active-text:#fff;--sidebar-hover-bg:#27272a;--text-primary:#18181b;--text-secondary:#71717a;--text-muted:#a1a1aa;--accent:#6366f1;--accent-hover:#4f46e5;--accent-subtle:#eef2ff;--danger:#ef4444;--danger-subtle:#fef2f2;--success:#22c55e;--warning:#f59e0b;--radius:10px;--radius-lg:14px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.admin-shell{background:var(--bg);height:100vh;color:var(--text-primary);display:flex}.admin-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;width:232px;padding:0;display:flex}.admin-sidebar-logo{color:#fff;letter-spacing:-.01em;border-bottom:1px solid var(--sidebar-border);align-items:center;gap:10px;padding:20px 18px 16px;font-size:1rem;font-weight:700;display:flex}.admin-sidebar-logo svg{color:var(--accent);flex-shrink:0}.admin-sidebar-label{letter-spacing:.08em;text-transform:uppercase;color:#52525b;padding:20px 18px 6px;font-size:.65rem;font-weight:600}.admin-nav{flex-direction:column;flex:1;gap:2px;padding:0 8px;display:flex}.admin-nav-item{color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:.85rem;font-weight:500;line-height:1;transition:background .12s,color .12s;display:flex}.admin-nav-item:hover{background:var(--sidebar-hover-bg);color:#e4e4e7}.admin-nav-item.active{background:var(--accent);color:#fff}.admin-sidebar-footer{border-top:1px solid var(--sidebar-border);padding:12px 8px}.admin-logout{color:#52525b}.admin-logout:hover{background:var(--sidebar-hover-bg);color:#ef4444}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.admin-topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:54px;padding:0 24px;display:flex}.admin-topbar-section{color:var(--text-primary);letter-spacing:-.01em;font-size:.9rem;font-weight:600}.admin-topbar-user{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.admin-topbar-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:flex}.admin-content{flex:1;padding:28px;overflow-y:auto}.admin-section-header{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.admin-section-header h1{color:var(--text-primary);letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.admin-section-header p{color:var(--text-muted);margin-top:2px;font-size:.8rem}.admin-stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.admin-toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.admin-search{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:260px;color:var(--text-primary);outline:none;padding:8px 12px;font-size:.83rem;transition:border-color .15s,box-shadow .15s}.admin-search::placeholder{color:var(--text-muted)}.admin-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.admin-table-wrap{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.admin-table{border-collapse:collapse;width:100%;font-size:.855rem}.admin-table thead{border-bottom:1px solid var(--border);background:#fafafa}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:11px 16px;font-size:.72rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-soft);color:var(--text-primary);vertical-align:middle;padding:13px 16px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#fafafa}.admin-row-clickable{cursor:pointer;transition:background .12s}.admin-row-clickable:hover{background:var(--accent-subtle)}.admin-row-chevron{color:var(--text-muted);opacity:0;transition:opacity .12s,transform .12s}.admin-row-clickable:hover .admin-row-chevron{opacity:1;color:var(--accent);transform:translate(2px)}.admin-user-cell{align-items:center;gap:10px;display:flex}.admin-avatar{background:var(--accent-subtle);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.admin-name{color:var(--text-primary);font-weight:500}.admin-muted{color:var(--text-secondary);font-size:.8rem}.admin-role-select{border:1px solid var(--border);color:var(--text-primary);background:var(--surface);cursor:pointer;border-radius:6px;outline:none;padding:4px 8px;font-size:.78rem;font-weight:500;transition:border-color .15s}.admin-role-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.admin-badge{border-radius:20px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.admin-badge-blue{color:#1d4ed8;background:#dbeafe}.admin-badge-green{color:#15803d;background:#dcfce7}.admin-badge-amber{color:#b45309;background:#fef3c7}.admin-badge-purple{color:#7c3aed;background:#ede9fe}.admin-actions{align-items:center;gap:6px;display:flex}.admin-btn-icon{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}.admin-btn-icon:hover{background:var(--danger-subtle);color:var(--danger);border-color:#fca5a5}.admin-btn-icon.edit:hover{background:var(--accent-subtle);color:var(--accent);border-color:#a5b4fc}.admin-btn-secondary{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-secondary);white-space:nowrap;border-radius:7px;padding:6px 12px;font-size:.82rem;transition:background .12s}.admin-btn-secondary:hover{background:var(--border-soft);color:var(--text-primary)}.admin-btn-save{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:7px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:background .12s}.admin-btn-save:hover{background:var(--accent-hover)}.admin-btn-save:disabled{opacity:.55;cursor:not-allowed}.admin-add-btn{border:1px solid var(--accent);color:var(--accent);background:var(--accent-subtle);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;font-weight:500;display:flex}.admin-add-btn:hover{background:#e0e7ff}.admin-lfield{margin-bottom:12px}.admin-lfield label{color:var(--text-secondary);margin-bottom:5px;font-size:.78rem;font-weight:500;display:block}.admin-lfield input,.admin-lfield textarea,.admin-lfield select{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);background:var(--surface);resize:vertical;outline:none;padding:8px 10px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.admin-lfield input:focus,.admin-lfield textarea:focus,.admin-lfield select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.admin-modal-backdrop{z-index:200;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:440px;max-width:90vw;padding:24px;box-shadow:0 20px 40px #0000001f}.admin-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-modal-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.admin-modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px;transition:color .12s;display:flex}.admin-modal-close:hover{color:var(--text-primary)}.admin-modal-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.editor-back{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;gap:5px;margin-bottom:16px;padding:0;font-size:.78rem;font-weight:500;transition:color .12s;display:inline-flex}.editor-back:hover{color:var(--accent)}.editor-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);margin-bottom:24px;padding:28px 28px 24px;position:relative;overflow:hidden}.editor-hero:before{content:"";background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.editor-hero-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:relative}.editor-hero-title{color:#fff;letter-spacing:-.025em;margin-bottom:6px;font-size:1.5rem;font-weight:700;line-height:1.2}.editor-hero-desc{color:#ffffffb3;margin-bottom:16px;font-size:.85rem;line-height:1.5}.editor-hero-pills{flex-wrap:wrap;gap:8px;display:flex;position:relative}.editor-hero-pill{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:99px;align-items:center;gap:5px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.editor-hero-actions{flex-shrink:0;align-items:center;gap:10px;display:flex;position:relative}.editor-btn-save-hero{color:#4f46e5;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:opacity .12s,transform .1s}.editor-btn-save-hero:hover{opacity:.92}.editor-btn-save-hero:active{transform:scale(.98)}.editor-btn-save-hero:disabled{opacity:.5;cursor:not-allowed}.editor-saved-msg{color:#ffffffd9;align-items:center;gap:4px;font-size:.78rem;font-weight:500;display:flex}.editor-form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;padding:20px 24px;box-shadow:0 1px 3px #0000000a}.editor-form-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:.78rem;font-weight:600}.editor-section{margin-bottom:16px}.editor-section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 3px #0000000a}.editor-section-header{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:14px 20px;display:flex}.editor-section-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.editor-section-icon.lessons{color:#4338ca;background:#eef2ff}.editor-section-icon.tests{color:#92400e;background:#fef9c3}.editor-section-label{color:var(--text-primary);flex:1;font-size:.875rem;font-weight:600}.editor-section-count{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:99px;padding:1px 8px;font-size:.78rem;font-weight:500}.editor-section-body{padding:8px 20px 12px}.editor-list{margin:0;padding:0;list-style:none}.editor-item{border-bottom:1px solid var(--border-soft);border-radius:6px;align-items:center;gap:12px;margin:0 -6px;padding:10px 4px 10px 6px;transition:background .1s;display:flex}.editor-item:last-child{border-bottom:none}.editor-item:hover{background:var(--bg)}.editor-item-num{min-width:22px;color:var(--text-muted);text-align:center;flex-shrink:0;font-size:.72rem;font-weight:700}.editor-item-dot{background:var(--accent);opacity:.4;border-radius:50%;flex-shrink:0;width:6px;height:6px}.editor-item-body{flex:1;min-width:0}.editor-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.editor-item-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.775rem;overflow:hidden}.editor-empty{color:var(--text-muted);text-align:center;padding:14px 0 6px;font-size:.85rem}.editor-inline-form{border-radius:var(--radius-md);background:#f5f7ff;border:1px solid #c7d2fe;margin:8px 0;padding:14px 16px}.admin-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-form-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.admin-inline-row{align-items:flex-end;gap:8px;display:flex}.admin-inline-row .admin-lfield{flex:1;margin-bottom:0}.admin-expand-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;transition:color .12s,background .12s;display:flex}.admin-expand-btn:hover{color:var(--accent);background:var(--accent-subtle)}.editor-questions-panel{border:1px solid var(--border-soft);border-radius:var(--radius);background:#fafafa;margin:4px 0 8px 34px;padding:12px 16px}.editor-questions-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.editor-questions-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.editor-question-item{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:7px 0;font-size:.83rem;display:flex}.editor-question-item:last-child{border-bottom:none}.editor-question-text{color:var(--text-primary);flex:1}.editor-question-answer{color:var(--text-muted);white-space:nowrap;background:var(--border-soft);border-radius:99px;padding:2px 8px;font-size:.75rem}.editor-question-points{color:var(--accent,#6366f1);white-space:nowrap;background:var(--accent-subtle,#eef2ff);border-radius:99px;padding:2px 8px;font-size:.72rem;font-weight:700}.admin-empty{text-align:center;color:var(--text-muted);padding:48px 16px;font-size:.85rem}.admin-login{background:#09090b;justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card{background:#18181b;border:1px solid #27272a;border-radius:18px;width:100%;max-width:360px;padding:36px 32px;box-shadow:0 24px 48px #0000004d}.admin-login-logo{color:#fff;letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:24px;font-size:1rem;font-weight:700;display:flex}.admin-login-logo svg{color:var(--accent)}.admin-login-card h2{color:#f4f4f5;letter-spacing:-.02em;margin-bottom:4px;font-size:1.15rem;font-weight:700}.admin-login-card>p{color:#52525b;margin-bottom:24px;font-size:.83rem}.admin-field{margin-bottom:14px}.admin-field label{color:#a1a1aa;margin-bottom:6px;font-size:.78rem;font-weight:500;display:block}.admin-field input{border-radius:var(--radius);color:#f4f4f5;background:#09090b;border:1px solid #27272a;outline:none;width:100%;padding:10px 12px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.admin-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}.admin-field input::placeholder{color:#3f3f46}.admin-btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;letter-spacing:-.01em;border:none;width:100%;margin-top:8px;padding:11px;font-size:.875rem;font-weight:600;transition:background .15s,transform .1s}.admin-btn-primary:hover{background:var(--accent-hover)}.admin-btn-primary:active{transform:scale(.99)}.admin-btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-login .admin-alert{color:#f87171;background:#ef44441f;border-color:#ef44444d}.admin-dashboard-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px;display:grid}.admin-quick-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.admin-quick-card h3{color:var(--text-primary);margin-bottom:12px;font-size:.875rem;font-weight:600}.admin-quick-list{flex-direction:column;gap:8px;display:flex}.admin-quick-row{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.admin-quick-row span:first-child{color:var(--text-primary);font-weight:500}.admin-quick-row span:last-child{color:var(--text-muted)}.admin-course-thumb{object-fit:cover;background:#f0f0f1;border-radius:8px;flex-shrink:0;width:36px;height:36px}.admin-course-thumb-placeholder{background:var(--accent-subtle);width:36px;height:36px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.editor-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:16px;display:grid}.editor-span-12{grid-column:span 12}.editor-span-6{grid-column:span 6}.editor-section-icon.data{color:#475569;background:#f1f5f9}.editor-section-icon.students{color:#be185d;background:#fce7f3}.editor-section-body--pad{padding:16px 20px 20px}.editor-form-2col{grid-template-columns:1fr 1.6fr;align-items:start;gap:16px;display:grid}@media (width<=1024px){.editor-span-6{grid-column:span 12}}@media (width<=640px){.editor-form-2col{grid-template-columns:1fr}}.editor-cards-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.editor-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;align-items:center;gap:18px;width:100%;min-height:132px;padding:30px 28px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 3px #0000000a}.editor-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.editor-card .editor-section-icon{border-radius:13px;width:52px;height:52px}.editor-card-info{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.editor-card-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.editor-card-sub{color:var(--text-muted);font-size:.875rem}.editor-card-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .15s,color .15s}.editor-card:hover .editor-card-arrow{color:var(--accent);transform:translate(3px)}.admin-modal--lg{width:min(1120px,95vw)}.editor-modal{width:min(560px,95vw)}.editor-modal.admin-modal--lg{width:min(1120px,95vw)}.editor-modal-header-actions{align-items:center;gap:10px;display:flex}.editor-modal-body{overflow:visible}@media (width<=768px){.editor-cards-grid{grid-template-columns:1fr}}.editor-item--clickable{cursor:pointer}.editor-item--clickable:hover{background:var(--accent-subtle)}.course-detail{background:var(--clr-bg);min-height:calc(100vh - 64px)}.course-hero{background:var(--clr-surface);border-bottom:1px solid var(--clr-border)}.course-hero-content{justify-content:space-between;align-items:flex-start;gap:2.5rem;max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.course-info{flex:1;min-width:0}.course-info h1{color:var(--clr-text-1);margin:0 0 .75rem;font-size:1.75rem;font-weight:700;line-height:1.25}.course-description{color:#4b5563;max-width:680px;margin:0 0 1.25rem;font-size:1rem;line-height:1.65}.course-meta{flex-wrap:wrap;gap:1.25rem;margin-bottom:0;display:flex}.course-meta-item{color:var(--clr-text-2);align-items:center;gap:.375rem;font-size:.875rem;display:flex}.course-meta-item svg{color:var(--clr-text-3)}.course-hero-content--dark .course-info h1{color:#fff}.course-hero-content--dark .course-description{color:#ffffffd1}.course-hero-content--dark .course-meta-item{color:#ffffffb3}.course-hero-content--dark .course-meta-item svg{color:#ffffff80}.course-hero-content--dark .course-progress-label{color:#ffffffb3}.course-hero-content--dark .course-progress-pct{color:#ffffffe6}.course-hero-content--dark .course-progress-track{background:#ffffff40}.course-progress{border-top:1px solid var(--clr-border-soft);margin-top:1.5rem;padding-top:1.5rem}.course-progress-meta{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.course-progress-label{color:var(--clr-text-2);font-size:.8rem;font-weight:500}.course-progress-pct{color:var(--clr-text-2);font-size:.8rem;font-weight:600}.course-progress-pct.done{color:var(--clr-success)}.course-progress-track{background:var(--clr-border);border-radius:9999px;height:5px;overflow:hidden}.course-progress-fill{background:#6366f1;border-radius:9999px;height:100%;transition:width .6s}.course-progress-fill.done{background:var(--clr-success)}.course-enroll{flex-shrink:0;padding-top:.25rem}.course-enroll-btn{color:#fff;border-radius:var(--r);cursor:pointer;white-space:nowrap;background:#6366f1;border:none;padding:.75rem 1.75rem;font-size:.9rem;font-weight:600;transition:background .15s}.course-enroll-btn:hover:not(:disabled){background:#4f46e5}.course-enroll-btn:disabled{opacity:.65;cursor:not-allowed}.course-enrolled{background:var(--clr-success-subtle);border:1px solid var(--clr-success-border);border-radius:var(--r);color:var(--clr-success);white-space:nowrap;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;display:flex}.course-content{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}.course-content h2{color:#374151;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .875rem;font-size:1rem;font-weight:600}.course-content h2:not(:first-child){margin-top:2.5rem}.course-locked{text-align:center;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);color:var(--clr-text-3);padding:4rem 2rem}.course-locked svg{opacity:.4;margin-bottom:1rem}.course-locked h3{color:var(--clr-text-2);margin:0 0 .4rem;font-size:1rem;font-weight:600}.course-locked p{margin:0;font-size:.875rem}.course-lessons{flex-direction:column;gap:.375rem;display:flex}.course-lesson{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r);box-shadow:var(--sh-sm);transition:border-color .15s;overflow:hidden}.course-lesson--open{border-color:#a5b4fc}.course-lesson-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.875rem;width:100%;padding:.875rem 1rem;display:flex}.course-lesson-header:hover .course-lesson-title{color:#6366f1}.course-lesson-number{background:var(--clr-border-soft);width:28px;height:28px;color:var(--clr-text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.course-lesson-title{color:var(--clr-text-1);flex:1;font-size:.9rem;font-weight:600;transition:color .15s}.course-lesson-chevron{color:var(--clr-text-3);flex-shrink:0;transition:transform .2s}.course-lesson--open .course-lesson-chevron{transform:rotate(180deg)}.course-lesson-body{border-top:1px solid var(--clr-border-soft);padding:0 1rem 1rem 3.75rem}.course-lesson-body p{color:#4b5563;white-space:pre-wrap;margin:.875rem 0 0;font-size:.875rem;line-height:1.7}.course-lesson--done .course-lesson-number{background:var(--clr-success);color:#fff}.course-lesson-done-icon{color:var(--clr-success);flex-shrink:0}.lesson-complete-btn{color:var(--clr-text-2);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r);cursor:pointer;align-items:center;gap:.4rem;margin-top:1rem;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.lesson-complete-btn:hover{border-color:var(--clr-success);color:var(--clr-success)}.lesson-complete-btn--done{background:var(--clr-success);border-color:var(--clr-success);color:#fff}.lesson-complete-btn--done:hover{color:#fff;opacity:.9}.lesson-media-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.lesson-media-image{border-radius:var(--r);border:1px solid var(--clr-border);width:100%;max-width:640px;display:block}.lesson-media-video{border-radius:var(--r);background:#000;width:80%;margin:0 auto;display:block}.lesson-media-embed{border-radius:var(--r);width:80%;margin:0 auto;padding-top:45%;position:relative;overflow:hidden}.lesson-media-embed iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.lesson-media-file{background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--r);color:#374151;align-items:center;gap:.375rem;width:fit-content;padding:.5rem .875rem;font-size:.825rem;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.lesson-media-file:hover{color:#4f46e5;border-color:#a5b4fc}.course-tests{flex-direction:column;gap:.375rem;display:flex}.course-test{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r);box-shadow:var(--sh-sm);align-items:center;gap:.875rem;padding:.875rem 1rem;text-decoration:none;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.course-test:hover{box-shadow:var(--sh);background:#fafbff;border-color:#a5b4fc}.course-test--done{background:var(--clr-success-subtle);border-color:var(--clr-success-border)}.course-test--done:hover{background:#ecfdf5;border-color:#86efac}.course-test-state-icon{flex-shrink:0;align-items:center;display:flex}.icon-done{color:var(--clr-success)}.icon-pending{color:var(--clr-border)}.course-test-info{flex:1;min-width:0}.course-test-info h3{color:var(--clr-text-1);margin:0 0 .15rem;font-size:.9rem;font-weight:600}.course-test-info p{color:var(--clr-text-2);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.825rem;overflow:hidden}.course-test-right{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.course-test-score{color:var(--clr-success);white-space:nowrap;background:#dcfce7;border-radius:9999px;padding:.2rem .625rem;font-size:.775rem;font-weight:600}.course-test-pending{color:var(--clr-text-3);background:var(--clr-border-soft);white-space:nowrap;border-radius:9999px;padding:.2rem .625rem;font-size:.775rem;font-weight:500}.course-test-chevron{color:var(--clr-border)}.course-test:hover .course-test-chevron{color:var(--clr-text-2)}@media (width<=768px){.course-hero-content{flex-direction:column;gap:1.5rem}.course-enroll{width:100%}.course-enroll-btn{text-align:center;width:100%}.course-enrolled{justify-content:center}}@media (width<=640px){.course-hero-content{padding:1.5rem 1rem}.course-info h1{font-size:1.375rem}.course-content{padding:1.5rem 1rem}.course-test-pending{display:none}}.course-teacher{background:var(--clr-bg);min-height:calc(100vh - 64px);padding:2rem 1.5rem}.course-teacher-container{max-width:1280px;margin:0 auto}.course-teacher-header{margin-bottom:1rem}.course-teacher-back{color:var(--clr-text-2);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.course-teacher-back:hover{color:var(--clr-text-1)}.course-teacher-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.course-teacher-title h1{color:var(--clr-text-1);margin:0;font-size:1.75rem;font-weight:700}.course-teacher-edit{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r);color:#374151;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.course-teacher-edit:hover{background:var(--clr-bg);border-color:#d1d5db}.course-teacher-stats{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.course-teacher-actions{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.course-teacher-students{margin-top:2rem}.course-teacher-section-title{color:var(--clr-text-1);margin:0 0 1rem;font-size:1.05rem;font-weight:700}.course-teacher-action{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);align-items:center;gap:1.25rem;padding:1.5rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.course-teacher-action:hover{border-color:var(--clr-accent-border);box-shadow:var(--sh-md)}.course-teacher-action svg{color:#6366f1;flex-shrink:0}.course-teacher-action h3{color:var(--clr-text-1);margin:0 0 .25rem;font-size:1rem;font-weight:600}.course-teacher-action p{color:var(--clr-text-2);margin:0;font-size:.8rem}@media (width<=1024px){.course-teacher-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.course-teacher-actions{grid-template-columns:1fr}}@media (width<=640px){.course-teacher{padding:1.5rem 1rem}.course-teacher-title{flex-direction:column;align-items:flex-start}.course-teacher-stats{grid-template-columns:1fr}.course-teacher-action{padding:1rem}}.course-form-page{background:var(--clr-bg);min-height:calc(100vh - 64px);padding:2rem 1.5rem}.course-form-container{max-width:640px;margin:0 auto}.course-form-header{margin-bottom:1.5rem}.course-form-back{color:var(--clr-text-2);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.course-form-back:hover{color:var(--clr-text-1)}.course-form-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-xl);box-shadow:var(--sh);padding:2rem}.course-form-title{margin-bottom:2rem}.course-form-title h1{color:var(--clr-text-1);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.course-form-title p{color:var(--clr-text-2);margin:0;font-size:.95rem}.course-form-group{margin-bottom:1.5rem}.course-form-group label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.course-form-group input,.course-form-group textarea{border:1px solid var(--clr-border);border-radius:var(--r);width:100%;color:var(--clr-text-1);background:var(--clr-surface);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.course-form-group input::placeholder,.course-form-group textarea::placeholder{color:var(--clr-text-3)}.course-form-group input:focus,.course-form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.course-form-group input:disabled,.course-form-group textarea:disabled{background:var(--clr-bg);cursor:not-allowed}.course-form-group textarea{resize:vertical;min-height:120px}.course-cover-picker{border-radius:var(--r-md);background:var(--clr-bg);width:100%;color:var(--clr-text-3);cursor:pointer;border:1.5px dashed #d1d5db;flex-direction:column;align-items:center;gap:.375rem;padding:2rem 1rem;font-family:inherit;transition:border-color .15s,background .15s,color .15s;display:flex}.course-cover-picker:hover:not(:disabled){color:#6366f1;background:#eef2ff;border-color:#6366f1}.course-cover-picker span{font-size:.875rem;font-weight:600}.course-cover-picker small{font-size:.775rem;font-weight:400}.course-cover-preview{border-radius:var(--r-md);border:1px solid var(--clr-border);position:relative;overflow:hidden}.course-cover-preview img{object-fit:cover;width:100%;height:200px;display:block}.course-cover-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.course-cover-remove:hover{background:#000c}.course-cover-change{color:#fff;cursor:pointer;text-align:center;background:#00000073;border:none;padding:.5rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s;position:absolute;bottom:0;left:0;right:0}.course-cover-change:hover{background:#000000a6}.course-form-actions{justify-content:flex-end;gap:.75rem;margin-top:2rem;display:flex}.course-form-btn{border-radius:var(--r);cursor:pointer;border:none;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .15s}.course-form-btn:disabled{opacity:.6;cursor:not-allowed}.course-form-btn-secondary{background:var(--clr-surface);color:#374151;border:1px solid var(--clr-border)}.course-form-btn-secondary:hover:not(:disabled){background:var(--clr-bg);border-color:#d1d5db}.course-form-btn-primary{color:#fff;background:#6366f1}.course-form-btn-primary:hover:not(:disabled){background:#4f46e5}@media (width<=640px){.course-form-page{padding:1rem}.course-form-card{padding:1.5rem}.course-form-actions{flex-direction:column}.course-form-btn{width:100%}}.curso-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);text-decoration:none;transition:box-shadow .2s,border-color .2s,transform .2s;overflow:hidden}.curso-card:hover{box-shadow:var(--sh-md);border-color:var(--clr-accent-border);transform:translateY(-2px)}.curso-card-image{width:100%;height:136px;overflow:hidden}.curso-card-image img{object-fit:cover;width:100%;height:100%}.curso-card-image--placeholder{background:linear-gradient(135deg,#e0e7ff 0%,#ede9fe 100%);justify-content:center;align-items:center;display:flex}.curso-card-initials{color:#6366f1;opacity:.55;-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:800}.curso-card-content{padding:1rem 1rem 1.125rem}.curso-card-content h3{color:var(--clr-text-1);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .3rem;font-size:.9rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.curso-card-instructor{color:var(--clr-text-2);margin:0 0 .4rem;font-size:.775rem;font-weight:500}.curso-card-description{color:var(--clr-text-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.775rem;line-height:1.5;display:-webkit-box;overflow:hidden}.courses-page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.courses-page-header h1{color:var(--clr-text-1);margin:0;font-size:1.5rem;font-weight:600}.courses-filters{gap:1rem;margin-bottom:1.5rem;display:flex}.courses-search{border:1px solid var(--clr-border);border-radius:var(--r);outline:none;flex:1;padding:.625rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}@media (width<=1024px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.courses-grid{grid-template-columns:1fr}.courses-page-header{flex-direction:column;align-items:flex-start;gap:1rem}.courses-filters{flex-direction:column}}.curso-card-progress{align-items:center;gap:.5rem;margin-top:.875rem;display:flex}.curso-card-progress-track{background:var(--clr-border-soft);border-radius:999px;flex:1;height:6px;overflow:hidden}.curso-card-progress-fill{background:var(--clr-accent,#6366f1);border-radius:999px;height:100%;transition:width .3s}.curso-card-progress-fill.done{background:var(--clr-success)}.curso-card-progress-label{color:var(--clr-text-2);flex-shrink:0;font-size:.72rem;font-weight:700}.courses-page{background:var(--clr-bg);min-height:calc(100vh - 64px)}.courses-page-container{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}.courses-page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.courses-page-toolbar h1{color:var(--clr-text-1);margin:0;font-size:1.5rem;font-weight:600}.courses-toolbar-right{align-items:center;gap:.75rem;display:flex}.courses-search{border:1px solid var(--clr-border);border-radius:var(--r);background:var(--clr-surface);outline:none;min-width:280px;padding:.5rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.courses-search:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.courses-search::placeholder{color:var(--clr-text-3)}.courses-select{border:1px solid var(--clr-border);border-radius:var(--r);background:var(--clr-surface);cursor:pointer;outline:none;padding:.5rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.courses-select:focus{border-color:#6366f1}.courses-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=1024px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.courses-page-container{padding:1.5rem 1rem}.courses-page-toolbar{flex-direction:column;align-items:stretch}.courses-toolbar-right{flex-wrap:wrap}.courses-search{flex:1;min-width:100%}.courses-grid{grid-template-columns:1fr}}.hs-shell{background:var(--clr-bg);min-height:calc(100vh - 64px)}.hs-hero{background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 50% 100%);position:relative;overflow:hidden}.hs-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f124 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-100px}.hs-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf61a 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;bottom:-150px;left:5%}.hs-hero-inner{z-index:1;align-items:center;gap:3rem;max-width:1280px;margin:0 auto;padding:5rem 1.5rem 4rem;display:flex;position:relative}.hs-hero-content{flex:1;min-width:0}.hs-hero-eyebrow{color:#a5b4fc;text-transform:uppercase;letter-spacing:.08em;background:#ffffff14;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.35rem .875rem;font-size:.75rem;font-weight:600;display:inline-flex}.hs-hero-title{color:#fff;letter-spacing:-.5px;margin:0 0 1.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.15}.hs-hero-title-accent{background:linear-gradient(90deg,#818cf8,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hs-hero-subtitle{color:#ffffffa6;max-width:520px;margin:0 0 2rem;font-size:1rem;line-height:1.75}.hs-hero-actions{flex-wrap:wrap;align-items:center;gap:.875rem;display:flex}.hs-hero-btn-primary{color:#fff;background:#6366f1;border-radius:.5rem;align-items:center;padding:.8rem 1.75rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.hs-hero-btn-primary:hover{background:#4f46e5;transform:translateY(-1px)}.hs-hero-btn-ghost{color:#ffffffbf;border:1px solid #ffffff2e;border-radius:.5rem;align-items:center;gap:.35rem;padding:.8rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.hs-hero-btn-ghost:hover{color:#fff;background:#ffffff14}.hs-hero-badges{flex-direction:column;flex-shrink:0;gap:.75rem;display:flex}.hs-hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:.75rem;align-items:center;gap:.875rem;min-width:200px;padding:1rem 1.25rem;display:flex}.hs-hero-badge-icon{color:#818cf8;flex-shrink:0}.hs-hero-badge>div{flex-direction:column;gap:.1rem;display:flex}.hs-hero-badge strong{color:#fff;font-size:1.125rem;font-weight:800;line-height:1}.hs-hero-badge span{color:#ffffff80;font-size:.75rem;font-weight:500}.hs-body{max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.hs-features{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:3rem;display:grid}.hs-feature{background:var(--clr-surface);border:1px solid var(--clr-border);box-shadow:var(--sh-sm);border-radius:.875rem;align-items:flex-start;gap:1rem;padding:1.5rem;transition:box-shadow .15s,border-color .15s;display:flex}.hs-feature:hover{box-shadow:var(--sh-md);border-color:var(--clr-accent-border)}.hs-feature-icon{color:#6366f1;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.hs-feature-title{color:var(--clr-text-1);margin:0 0 .375rem;font-size:.9rem;font-weight:700}.hs-feature-desc{color:var(--clr-text-2);margin:0;font-size:.825rem;line-height:1.6}.hs-section{margin-bottom:2.5rem}.hs-section-header{justify-content:space-between;align-items:flex-end;margin-bottom:1rem;display:flex}.hs-section-title{color:var(--clr-text-1);margin:0 0 .2rem;font-size:1.125rem;font-weight:700}.hs-section-sub{color:var(--clr-text-3);margin:0;font-size:.8rem}.hs-see-all{color:#6366f1;white-space:nowrap;align-items:center;gap:.2rem;padding-bottom:1px;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.hs-see-all:hover{color:#4f46e5}.hs-courses-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=1024px){.hs-hero-badges{display:none}.hs-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hs-hero-inner{padding:3.5rem 1.25rem 3rem}.hs-features{grid-template-columns:1fr}}@media (width<=640px){.hs-hero-inner{padding:2.5rem 1rem}.hs-hero-title{font-size:1.75rem}.hs-hero-subtitle{font-size:.9rem}.hs-body{padding:1.75rem 1rem 3rem}.hs-courses-grid{grid-template-columns:1fr}}.td-shell{background:var(--clr-bg);max-width:1280px;min-height:calc(100vh - 64px);margin:0 auto;padding:2rem 1.5rem 4rem}.td-greeting{margin-bottom:1.75rem}.td-greeting-title{color:var(--clr-text-1);margin:0 0 .2rem;font-size:1.625rem;font-weight:700}.td-greeting-date{color:var(--clr-text-3);text-transform:capitalize;margin:0;font-size:.825rem}.td-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.75rem;display:grid}.td-stat{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);align-items:center;gap:.875rem;padding:1.125rem 1.25rem;transition:box-shadow .15s;display:flex}.td-stat:hover{box-shadow:var(--sh-md)}.td-stat-icon{color:#6366f1;flex-shrink:0;justify-content:center;align-items:center;display:flex}.td-stat>div:last-child{flex-direction:column;display:flex}.td-stat-value{color:var(--clr-text-1);font-size:1.5rem;font-weight:800;line-height:1}.td-stat-label{color:var(--clr-text-3);margin-top:.2rem;font-size:.775rem;font-weight:500}.td-courses{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}.td-courses-header{border-bottom:1px solid var(--clr-border-soft);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.td-courses-header h2{color:var(--clr-text-1);margin:0;font-size:.875rem;font-weight:700}.td-see-all{color:#6366f1;align-items:center;gap:.2rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.td-see-all:hover{color:#4f46e5}.td-courses-list{flex-direction:column;display:flex}.td-course-item{border-bottom:1px solid var(--clr-border-soft);align-items:center;gap:.875rem;padding:.875rem 1.25rem;text-decoration:none;transition:background .12s;display:flex}.td-course-item:last-child{border-bottom:none}.td-course-item:hover{background:var(--clr-bg)}.td-course-thumb{border-radius:var(--r);flex-shrink:0;width:44px;height:44px;overflow:hidden}.td-course-thumb img{object-fit:cover;width:100%;height:100%}.td-course-thumb--placeholder{color:#6366f1;opacity:.8;background:linear-gradient(135deg,#e0e7ff,#ede9fe);justify-content:center;align-items:center;font-size:1.125rem;font-weight:800;display:flex}.td-course-info{flex:1;min-width:0}.td-course-title{color:var(--clr-text-1);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .15rem;font-size:.875rem;font-weight:600;overflow:hidden}.td-course-desc{color:var(--clr-text-3);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.775rem;overflow:hidden}.td-course-chevron{color:var(--clr-border);flex-shrink:0}.td-course-item:hover .td-course-chevron{color:var(--clr-text-3)}.td-create-link{color:#fff;border-radius:var(--r);background:#4f46e5;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.td-create-link:hover{background:#4338ca}.teacher-fab{z-index:50;color:#fff;background:#4f46e5;border-radius:9999px;justify-content:center;align-items:center;gap:0;height:52px;padding:0 .9rem;text-decoration:none;transition:gap .28s,box-shadow .2s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 16px #6366f173}.teacher-fab:hover{gap:.625rem;box-shadow:0 6px 24px #6366f18c}.teacher-fab-text{white-space:nowrap;opacity:0;max-width:0;font-size:.875rem;font-weight:600;transition:max-width .28s,opacity .18s 50ms;overflow:hidden}.teacher-fab:hover .teacher-fab-text{opacity:1;max-width:180px}.teacher-fab-icon{flex-shrink:0;align-items:center;display:flex}@media (width<=640px){.td-shell{padding:1.25rem 1rem 3rem}.td-greeting-title{font-size:1.375rem}.td-stats{grid-template-columns:1fr}.teacher-fab{bottom:1.25rem;right:1.25rem}}.lessons-page{background:var(--clr-bg);min-height:calc(100vh - 64px);padding:2rem 1.5rem}.lessons-container{max-width:820px;margin:0 auto}.lessons-topbar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.lessons-back{color:var(--clr-text-2);align-items:center;gap:.375rem;font-size:.825rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.lessons-back:hover{color:var(--clr-text-1)}.lessons-heading{color:var(--clr-text-1);margin:0 0 1.5rem;font-size:1.375rem;font-weight:700}.lessons-add-btn{color:#fff;border-radius:var(--r);cursor:pointer;background:#4f46e5;border:none;align-items:center;gap:.375rem;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.lessons-add-btn:hover{background:#4338ca}.lessons-list{flex-direction:column;gap:.5rem;display:flex}.lesson-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-md);box-shadow:var(--sh-sm);transition:border-color .15s;overflow:hidden}.lesson-card--editing{border-color:#a5b4fc}.lesson-card--form{border-color:#c7d2fe;margin-bottom:.5rem}.lesson-card-form-title{text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-2);margin:0;padding:.875rem 1.25rem 0;font-size:.775rem;font-weight:600}.lesson-row{align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.lesson-num{background:var(--clr-border-soft);width:28px;height:28px;color:var(--clr-text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.775rem;font-weight:700;display:flex}.lesson-meta{flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.lesson-title{color:var(--clr-text-1);font-size:.9rem;font-weight:600}.lesson-chips{flex-wrap:wrap;gap:.375rem;display:flex}.lesson-actions{flex-shrink:0;gap:.25rem;display:flex}.lesson-icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--clr-text-3);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.lesson-icon-btn:hover{background:var(--clr-border-soft);color:#374151}.lesson-icon-btn--danger:hover{background:var(--clr-danger-subtle);color:var(--clr-danger)}.attachment-chip{background:var(--clr-border-soft);border:1px solid var(--clr-border);color:var(--clr-text-2);border-radius:9999px;align-items:center;gap:.3rem;max-width:180px;padding:.2rem .55rem;font-size:.75rem;display:inline-flex}.attachment-chip--pending{background:var(--clr-accent-subtle);border-color:var(--clr-accent-border);color:#4f46e5}.attachment-chip-label{white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden}.attachment-chip-remove{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;line-height:1;display:flex}.attachment-chip-remove:hover{opacity:1}.lesson-form{padding:.875rem 1.25rem 1.25rem}.lesson-form-error{color:var(--clr-danger);background:var(--clr-danger-subtle);border:1px solid var(--clr-danger-border);border-radius:var(--r-sm);margin-bottom:1rem;padding:.5rem .75rem;font-size:.825rem}.lesson-form-row{flex-direction:column;gap:.375rem;margin-bottom:.875rem;display:flex}.lesson-form-row label{color:#374151;text-transform:uppercase;letter-spacing:.04em;font-size:.775rem;font-weight:600}.lesson-form-row input,.lesson-form-row textarea{border:1px solid var(--clr-border);border-radius:var(--r);color:var(--clr-text-1);background:var(--clr-surface);outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.lesson-form-row input:focus,.lesson-form-row textarea:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #6366f11a}.lesson-form-row textarea{resize:vertical;min-height:90px}.lesson-form-media{border:1px solid var(--clr-border);border-radius:var(--r);background:var(--clr-bg);margin-bottom:1rem;padding:.875rem}.lesson-form-media-label{color:var(--clr-text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem;font-size:.775rem;font-weight:600;display:block}.lesson-form-chips{flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem;display:flex}.lesson-form-media-actions{flex-direction:column;gap:.625rem;display:flex}.lesson-media-btn{background:var(--clr-surface);border-radius:var(--r);color:#4b5563;cursor:pointer;border:1.5px dashed #d1d5db;justify-content:center;align-items:center;gap:.375rem;width:100%;padding:.5rem .875rem;font-size:.825rem;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.lesson-media-btn:hover{color:#4f46e5;border-color:#a5b4fc}.lesson-media-url-row{align-items:center;gap:.5rem;display:flex}.lesson-media-url-icon{color:var(--clr-text-3);flex-shrink:0}.lesson-media-url-input{border:1px solid var(--clr-border);border-radius:var(--r);color:var(--clr-text-1);background:var(--clr-surface);outline:none;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .15s}.lesson-media-url-input:focus{border-color:#a5b4fc}.lesson-media-url-input::placeholder{color:var(--clr-text-3)}.lesson-form-actions{justify-content:flex-end;gap:.625rem;display:flex}.lesson-btn-ghost{border:1px solid var(--clr-border);border-radius:var(--r);color:var(--clr-text-2);cursor:pointer;background:0 0;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:border-color .15s,color .15s}.lesson-btn-ghost:hover{color:#374151;border-color:#9ca3af}.lesson-btn-primary{color:#fff;border-radius:var(--r);cursor:pointer;background:#4f46e5;border:none;align-items:center;gap:.375rem;padding:.55rem 1.25rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.lesson-btn-primary:hover:not(:disabled){background:#4338ca}.lesson-btn-primary:disabled{opacity:.65;cursor:not-allowed}@media (width<=640px){.lessons-page{padding:1.25rem 1rem}.lessons-topbar{flex-wrap:wrap;gap:.75rem}.lesson-form-actions{flex-direction:column-reverse}.lesson-btn-ghost,.lesson-btn-primary{justify-content:center;width:100%}}.login-root{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-panel--left{background:linear-gradient(160deg,#0f172a 0%,#1e3a5f 60%,#1a3a6e 100%);flex-direction:column;padding:2.5rem 3rem;display:flex;position:relative;overflow:hidden}.login-panel--left:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f11a 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-180px;right:-180px}.login-panel--left:after{content:"";pointer-events:none;background:radial-gradient(circle,#6366f114 0%,#0000 70%);border-radius:50%;width:350px;height:350px;position:absolute;bottom:-100px;left:-80px}.login-brand{color:#fff;z-index:1;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:flex;position:relative}.login-brand-icon{color:#818cf8}.login-claim{z-index:1;flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.login-claim h1{color:#fff;letter-spacing:-.5px;margin:0 0 1.5rem;font-size:clamp(1.75rem,2.5vw,2.5rem);font-weight:800;line-height:1.2}.login-claim p{color:#ffffff80;max-width:340px;margin:0;font-size:.9rem;line-height:1.75}.login-panel-footer{color:#ffffff40;z-index:1;margin:0;font-size:.75rem;position:relative}.login-panel--right{background:#fff;justify-content:center;align-items:center;padding:2.5rem 3rem;display:flex}.login-form{width:100%;max-width:360px}.login-form-header{margin-bottom:2.5rem}.login-form-header h2{color:#0f172a;letter-spacing:-.3px;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.login-form-header p{color:#9ca3af;margin:0;font-size:.875rem}.login-options{flex-direction:column;gap:0;display:flex}.login-btn{border-radius:.625rem;align-items:center;gap:.75rem;padding:.875rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .12s;display:flex}.login-btn:active{transform:scale(.99)}.login-btn--primary{color:#fff;background:#0f172a;border:1.5px solid #0f172a}.login-btn--primary:hover{background:#1e293b;border-color:#1e293b}.login-btn--secondary{color:#374151;background:#fff;border:1.5px solid #e5e7eb}.login-btn--secondary:hover{background:#f9fafb;border-color:#d1d5db}.login-divider{align-items:center;gap:.875rem;margin:1rem 0;display:flex}.login-divider:before,.login-divider:after{content:"";background:#f3f4f6;flex:1;height:1px}.login-divider span{color:#d1d5db;font-size:.75rem;font-weight:500}.login-legal{color:#d1d5db;text-align:center;margin:2rem 0 0;font-size:.75rem;line-height:1.6}.login-mobile-brand{display:none}@media (width<=768px){.login-root{grid-template-columns:1fr;min-height:100vh}.login-panel--left{display:none}.login-panel--right{justify-content:stretch;align-items:stretch;padding:0}.login-form{flex-direction:column;justify-content:center;max-width:100%;min-height:100vh;padding:3rem 1.75rem;display:flex}.login-mobile-brand{color:#0f172a;justify-content:center;align-items:center;gap:.5rem;margin-bottom:3rem;font-size:1.125rem;font-weight:700;display:flex}.login-mobile-brand .login-brand-icon{color:#6366f1}.login-form-header{text-align:center}.login-btn{justify-content:center}.login-legal{text-align:left}}.tmanage-shell{background:var(--clr-bg);min-height:calc(100vh - 64px);padding:2rem 1.5rem}.tmanage-container{max-width:760px;margin:0 auto}.tmanage-topbar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.tmanage-back{color:#6b7280;align-items:center;gap:.375rem;font-size:.825rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.tmanage-back:hover{color:#111827}.tmanage-add-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:.5rem;align-items:center;gap:.375rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.tmanage-add-btn:hover{background:#4338ca}.tmanage-header{margin-bottom:1.75rem}.tmanage-header h1{color:#111827;margin:0 0 .375rem;font-size:1.375rem;font-weight:700}.tmanage-desc{color:#6b7280;margin:0 0 .75rem;font-size:.875rem}.tmanage-badge{color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;padding:.2rem .7rem;font-size:.775rem;font-weight:600;display:inline-block}.tmanage-meta{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.tmanage-value{background:var(--clr-accent-subtle,#eef2ff);border:1px solid var(--clr-accent-border,#c7d2fe);color:var(--clr-accent-dark,#4f46e5);cursor:pointer;border-radius:9999px;align-items:center;gap:.35rem;padding:.2rem .7rem;font-size:.775rem;font-weight:700;display:inline-flex}.tmanage-value-edit{align-items:center;gap:.4rem;display:inline-flex}.tmanage-value-edit input{border:1px solid var(--clr-border,#e5e7eb);border-radius:6px;width:90px;padding:.3rem .5rem;font-size:.8rem}.tmanage-value-save,.tmanage-value-cancel{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.3rem .7rem;font-size:.775rem;font-weight:600}.tmanage-value-save{background:var(--clr-accent,#6366f1);color:#fff}.tmanage-value-cancel{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.qcard-points{color:#6b7280;background:#f3f4f6;border-radius:9999px;flex-shrink:0;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.qcard-points--custom{background:var(--clr-accent-subtle,#eef2ff);color:var(--clr-accent-dark,#4f46e5)}.qform-hint{color:#9ca3af;margin-top:.3rem;font-size:.73rem;display:block}.tmanage-list{flex-direction:column;gap:.5rem;display:flex}.tmanage-card{background:#fff;border:1px solid #e5e7eb;border-radius:.625rem;transition:border-color .15s;overflow:hidden}.tmanage-card--editing{border-color:#a5b4fc}.tmanage-card--form{border-color:#c7d2fe;margin-bottom:.5rem}.tmanage-form-label{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin:0;padding:.875rem 1.25rem 0;font-size:.75rem;font-weight:600}.qcard{padding:1rem 1.125rem}.qcard-top{align-items:flex-start;gap:.875rem;margin-bottom:.875rem;display:flex}.qcard-num{color:#6b7280;background:#f3f4f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:.775rem;font-weight:700;display:flex}.qcard-question{color:#111827;flex:1;margin:0;font-size:.9rem;font-weight:600;line-height:1.5}.qcard-actions{flex-shrink:0;gap:.25rem;display:flex}.qcard-icon-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.qcard-icon-btn:hover{color:#374151;background:#f3f4f6}.qcard-icon-btn--danger:hover{color:#ef4444;background:#fef2f2}.qcard-options{flex-wrap:wrap;gap:.5rem;padding-left:3.25rem;display:flex}.qcard-option{color:#4b5563;background:#f9fafb;border:1px solid #e5e7eb;border-radius:9999px;align-items:center;gap:.375rem;padding:.3rem .75rem;font-size:.8rem;display:inline-flex}.qcard-option--correct{color:#15803d;background:#f0fdf4;border-color:#86efac;font-weight:600}.qcard-option-letter{opacity:.6;font-size:.75rem;font-weight:700}.qcard-option--correct .qcard-option-letter{opacity:1}.qcard-check{flex-shrink:0}.qform{padding:.875rem 1.25rem 1.25rem}.qform-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.825rem}.qform-row{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.qform-row label{color:#374151;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.qform-row textarea{color:#111827;resize:vertical;border:1px solid #e5e7eb;border-radius:.5rem;outline:none;min-height:80px;padding:.625rem .875rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.qform-row textarea:focus{border-color:#a5b4fc}.qform-options{grid-template-columns:repeat(3,1fr);gap:.625rem;margin-bottom:1rem;display:grid}.qform-option{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:border-color .15s;display:flex}.qform-option:focus-within{border-color:#a5b4fc}.qform-option-badge{color:#6b7280;background:#f3f4f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.725rem;font-weight:700;display:flex}.qform-option input{color:#111827;background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:.875rem}.qform-option input::placeholder{color:#9ca3af}.correct-toggle{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.correct-toggle-label{color:#374151;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.75rem;font-weight:600}.correct-toggle-btns{gap:.375rem;display:flex}.correct-toggle-btn{color:#6b7280;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:50%;width:36px;height:36px;font-size:.85rem;font-weight:700;transition:border-color .15s,background .15s,color .15s}.correct-toggle-btn:hover{color:#4f46e5;border-color:#a5b4fc}.correct-toggle-btn--on{color:#fff;background:#16a34a;border-color:#16a34a}.qform-actions{justify-content:flex-end;gap:.625rem;display:flex}.qform-btn-ghost{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:.5rem;padding:.55rem 1rem;font-size:.85rem;font-weight:500;transition:border-color .15s,color .15s}.qform-btn-ghost:hover{color:#374151;border-color:#9ca3af}.qform-btn-primary{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:.5rem;align-items:center;gap:.375rem;padding:.55rem 1.25rem;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.qform-btn-primary:hover:not(:disabled){background:#4338ca}.qform-btn-primary:disabled{opacity:.65;cursor:not-allowed}@media (width<=640px){.tmanage-shell{padding:1.25rem 1rem}.qform-options{grid-template-columns:1fr}.correct-toggle{flex-direction:column;align-items:flex-start;gap:.625rem}.qform-actions{flex-direction:column-reverse}.qform-btn-ghost,.qform-btn-primary{justify-content:center;width:100%}}.tests-page{background:var(--clr-bg);min-height:calc(100vh - 64px);padding:2rem 1.5rem}.tests-container{max-width:900px;margin:0 auto}.tests-header{margin-bottom:1rem}.tests-back{color:var(--clr-text-2);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.tests-back:hover{color:var(--clr-text-1)}.tests-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.tests-title h1{color:var(--clr-text-1);margin:0;font-size:1.5rem;font-weight:700}.tests-add-btn{color:#fff;border-radius:var(--r);cursor:pointer;background:#6366f1;border:none;align-items:center;gap:.5rem;padding:.625rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s;display:flex}.tests-add-btn:hover{background:#4f46e5}.tests-add-btn-active{background:var(--clr-text-2)}.tests-add-btn-active:hover{background:#4b5563}.tests-form-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:1.5rem;padding:1.5rem}.tests-form-card h2{color:var(--clr-text-1);margin:0 0 1.25rem;font-size:1rem;font-weight:600}.tests-form-group{margin-bottom:1rem}.tests-form-group label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.tests-form-group input,.tests-form-group textarea{border:1px solid var(--clr-border);border-radius:var(--r);outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.tests-form-group input:focus,.tests-form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.tests-form-group input::placeholder,.tests-form-group textarea::placeholder{color:var(--clr-text-3)}.tests-form-group textarea{resize:vertical;min-height:80px}.tests-form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.tests-btn-secondary{background:var(--clr-surface);color:#374151;border:1px solid var(--clr-border);border-radius:var(--r);cursor:pointer;padding:.625rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s}.tests-btn-secondary:hover{background:var(--clr-bg)}.tests-btn-primary{color:#fff;border-radius:var(--r);cursor:pointer;background:#6366f1;border:none;padding:.625rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s}.tests-btn-primary:hover{background:#4f46e5}.tests-list{flex-direction:column;gap:.75rem;display:flex}.tests-item{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-md);box-shadow:var(--sh-sm);align-items:center;gap:1rem;padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.tests-item:hover{border-color:var(--clr-accent-border);box-shadow:var(--sh)}.tests-num{background:var(--clr-border-soft);width:28px;height:28px;color:var(--clr-text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.775rem;font-weight:700;display:flex}.tests-content{flex:1;min-width:0}.tests-content h3{color:var(--clr-text-1);margin:0 0 .15rem;font-size:.9rem;font-weight:600}.tests-content p{color:var(--clr-text-3);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:.8rem;display:-webkit-box;overflow:hidden}.tests-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.tests-icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--clr-text-3);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.tests-icon-btn:hover{background:var(--clr-border-soft);color:#374151}.tests-icon-btn--danger:hover{background:var(--clr-danger-subtle);color:var(--clr-danger)}.tests-realizar-btn{background:var(--clr-accent,#6366f1);color:#fff;border-radius:var(--r-sm);align-items:center;padding:.45rem .9rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.tests-realizar-btn:hover{background:var(--clr-accent-dark,#4f46e5)}.tests-btn{border-radius:var(--r-sm);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.tests-btn.tests-btn-primary{color:#fff;background:#6366f1}.tests-btn.tests-btn-primary:hover{background:#4f46e5}.tests-btn.tests-btn-secondary{background:var(--clr-surface);color:#374151;border:1px solid var(--clr-border)}.tests-btn.tests-btn-secondary:hover{background:var(--clr-bg);border-color:#d1d5db}.tests-btn-delete{width:32px;height:32px;color:var(--clr-text-3);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background .15s,color .15s;display:flex}.tests-btn-delete:hover{background:var(--clr-danger-subtle);color:var(--clr-danger)}@media (width<=640px){.tests-page{padding:1.5rem 1rem}.tests-title{flex-direction:column;align-items:flex-start}.tests-add-btn{justify-content:center;width:100%}.tests-item{flex-direction:column;align-items:flex-start}.tests-actions{width:100%;margin-top:.75rem}.tests-btn{flex:1;justify-content:center}.tests-btn-delete{flex:0}.tests-form-actions{flex-direction:column}.tests-btn-secondary,.tests-btn-primary{width:100%}}.test-shell{background:var(--clr-bg);min-height:calc(100vh - 64px)}.test-error{min-height:40vh;color:var(--clr-text-2);justify-content:center;align-items:center;font-size:.9rem;display:flex}.test-back-bar{max-width:720px;margin:0 auto;padding:1.25rem 1.5rem 0}.test-back-link{color:var(--clr-text-2);align-items:center;gap:.375rem;font-size:.825rem;text-decoration:none;transition:color .15s;display:inline-flex}.test-back-link:hover{color:var(--clr-text-1)}.test-container{max-width:720px;margin:0 auto;padding:1.5rem 1.5rem 4rem}.test-header{margin-bottom:1.75rem}.test-header h1{color:var(--clr-text-1);margin:0 0 .5rem;font-size:1.5rem;font-weight:700;line-height:1.3}.test-description{color:var(--clr-text-2);margin:0;font-size:.9rem;line-height:1.6}.test-attempts{background:var(--clr-accent-subtle,#eef2ff);color:var(--clr-accent-dark,#4f46e5);border-radius:9999px;margin-top:.75rem;padding:.2rem .7rem;font-size:.78rem;font-weight:600;display:inline-block}.test-attempts--none{color:#dc2626;background:#fef2f2}.result-attempts-spent{color:#dc2626;text-align:center;margin:.75rem 0 0;font-size:.82rem;font-weight:600}.test-progress{margin-bottom:2rem}.test-progress-meta{color:var(--clr-text-3);justify-content:space-between;margin-bottom:.4rem;font-size:.775rem;font-weight:500;display:flex}.test-progress-track{background:var(--clr-border);border-radius:9999px;height:4px;overflow:hidden}.test-progress-fill{background:#6366f1;border-radius:9999px;height:100%;transition:width .35s}.test-questions{flex-direction:column;gap:1.5rem;display:flex}.test-question{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-md);box-shadow:var(--sh-sm);padding:1.25rem 1.25rem 1rem}.test-question-text{color:var(--clr-text-1);margin:0 0 1rem;font-size:.95rem;font-weight:600;line-height:1.5}.test-question-num{color:var(--clr-text-3);margin-right:.4rem;font-weight:500}.test-options{flex-direction:column;gap:.5rem;display:flex}.test-option{background:var(--clr-surface);border:1.5px solid var(--clr-border);border-radius:var(--r);cursor:pointer;text-align:left;align-items:center;gap:.875rem;width:100%;padding:.75rem 1rem;transition:border-color .15s,background .15s;display:flex}.test-option:hover{background:#f5f3ff;border-color:#a5b4fc}.test-option--selected{background:var(--clr-accent-subtle);border-color:#6366f1}.test-option-badge{background:var(--clr-border-soft);width:26px;height:26px;color:var(--clr-text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:background .15s,color .15s;display:flex}.test-option--selected .test-option-badge{color:#fff;background:#6366f1}.test-option-text{color:#374151;font-size:.875rem;line-height:1.4}.test-option--selected .test-option-text{color:#4338ca;font-weight:500}.test-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin-top:2rem;display:flex}.test-unanswered{color:var(--clr-text-3);margin:0;font-size:.8rem}.test-submit-error{color:var(--clr-danger);text-align:right;margin:1rem 0 0;font-size:.825rem}.test-submit-btn{color:#fff;border-radius:var(--r);cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;padding:.75rem 2rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s}.test-submit-btn:hover:not(:disabled){background:#4338ca}.test-submit-btn:disabled{opacity:.65;cursor:not-allowed}.test-result{text-align:center;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-xl);box-shadow:var(--sh);flex-direction:column;align-items:center;padding:3rem 2rem;display:flex}.result-score-wrap{align-items:baseline;gap:.75rem;margin-bottom:1.25rem;display:flex}.result-fraction{color:var(--clr-text-1);font-size:3.5rem;font-weight:800;line-height:1}.result-total{color:var(--clr-text-3);font-size:2rem;font-weight:400}.result-pct{color:var(--clr-text-2);font-size:1.25rem;font-weight:600}.result-bar-track{background:var(--clr-border);border-radius:9999px;width:100%;max-width:320px;height:6px;margin-bottom:1.25rem;overflow:hidden}.result-bar-fill{border-radius:9999px;height:100%;transition:width .8s}.result--great .result-fraction{color:#15803d}.result--great .result-bar-fill{background:#16a34a}.result--good .result-fraction{color:#4f46e5}.result--good .result-bar-fill{background:#6366f1}.result--fair .result-fraction{color:#b45309}.result--fair .result-bar-fill{background:#d97706}.result--low .result-fraction{color:var(--clr-text-2)}.result--low .result-bar-fill{background:var(--clr-text-3)}.result-label{color:#374151;margin:0 0 2rem;font-size:1rem;font-weight:600}.result-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.result-btn-primary{color:#fff;border-radius:var(--r);background:#4f46e5;padding:.75rem 1.75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s}.result-btn-primary:hover{background:#4338ca}.result-btn-secondary{background:var(--clr-surface);color:#374151;border:1.5px solid var(--clr-border);border-radius:var(--r);cursor:pointer;padding:.75rem 1.75rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:border-color .15s,color .15s}.result-btn-secondary:hover{color:var(--clr-text-1);border-color:#9ca3af}.result-btn-ghost{color:var(--clr-text-3);border:1.5px solid var(--clr-border);border-radius:var(--r);cursor:pointer;background:0 0;padding:.75rem 1.75rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:border-color .15s,color .15s}.result-btn-ghost:hover{color:#374151;border-color:#9ca3af}.result-meta{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.75rem;display:flex}.result-meta-item{border-radius:9999px;align-items:center;gap:.35rem;padding:.275rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.result-meta-ok{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.result-meta-wrong{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.test-range-label{color:var(--clr-text-3);margin:0 0 1.25rem;font-size:.775rem;font-weight:500}.test-page-indicator{color:var(--clr-text-3);font-size:.775rem;font-weight:500}.test-footer-gap{flex:1}.test-nav-btn{background:var(--clr-surface);color:#374151;border:1.5px solid var(--clr-border);border-radius:var(--r);cursor:pointer;padding:.65rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:border-color .15s,color .15s}.test-nav-btn:hover{color:var(--clr-text-1);border-color:#9ca3af}.test-next-btn{color:#fff;border-radius:var(--r);cursor:pointer;background:#4f46e5;border:none;padding:.65rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s}.test-next-btn:hover{background:#4338ca}.test-submit-wrap{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.review-section{margin-top:1.5rem}.review-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-3);margin:0 0 1rem;font-size:.875rem;font-weight:600}.review-list{flex-direction:column;gap:.75rem;display:flex}.review-q{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-md);border-left:3px solid #0000;padding:1.125rem 1.25rem}.review-q--ok{border-left-color:#16a34a}.review-q--wrong{border-left-color:#ef4444}.review-q-header{align-items:flex-start;gap:.75rem;margin-bottom:.875rem;display:flex}.review-q-num{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:.725rem;font-weight:700;display:flex}.rnum--ok{color:#16a34a;background:#f0fdf4}.rnum--wrong{color:#ef4444;background:#fef2f2}.review-q-text{color:var(--clr-text-1);flex:1;margin:0;font-size:.9rem;font-weight:600;line-height:1.5}.review-q-points{background:var(--clr-border-soft);color:var(--clr-text-2);border-radius:9999px;flex-shrink:0;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.review-status{flex-shrink:0;margin-top:1px}.review-status.ok{color:#16a34a}.review-status.wrong{color:#ef4444}.review-options{flex-direction:column;gap:.4rem;padding-left:2.25rem;display:flex}.review-option{border:1px solid var(--clr-border);border-radius:var(--r);background:var(--clr-bg);color:#4b5563;align-items:center;gap:.625rem;padding:.5rem .875rem;font-size:.85rem;display:flex}.ropt--selected-ok{color:#15803d;background:#f0fdf4;border-color:#86efac;font-weight:600}.ropt--selected-wrong{color:#dc2626;background:#fef2f2;border-color:#fca5a5;font-weight:600}.ropt--missed-correct{background:var(--clr-surface);color:#15803d;border-style:dashed;border-color:#86efac}.ropt-badge{background:var(--clr-border);width:20px;height:20px;color:var(--clr-text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.ropt--selected-ok .ropt-badge{color:#fff;background:#16a34a}.ropt--selected-wrong .ropt-badge{color:#fff;background:#ef4444}.ropt--missed-correct .ropt-badge{color:#16a34a;background:#dcfce7}.ropt-text{flex:1}.ropt-icon{flex-shrink:0}.ropt-icon--hint{color:#16a34a;opacity:.6}.review-hint{color:#dc2626;margin:.625rem 0 0 2.25rem;font-size:.8rem}.review-hint--skipped{color:var(--clr-text-3);font-style:italic}@media (width<=640px){.test-container{padding:1rem 1rem 3rem}.test-header h1{font-size:1.25rem}.result-fraction{font-size:2.75rem}.test-footer{flex-direction:column;align-items:stretch}.test-footer-gap{display:none}.test-submit-btn,.test-next-btn,.test-nav-btn{text-align:center;width:100%}.test-submit-wrap,.result-actions{flex-direction:column;align-items:stretch}.result-btn-primary,.result-btn-secondary,.result-btn-ghost{text-align:center}.review-options{padding-left:0}}.acc-shell{background:var(--clr-bg);min-height:calc(100vh - 64px);padding:2.5rem 1.5rem 4rem}.acc-container{flex-direction:column;gap:1rem;max-width:560px;margin:0 auto;display:flex}.acc-hero{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden}.acc-hero-body{text-align:center;flex-direction:column;align-items:center;padding:1.75rem;display:flex}.acc-avatar{letter-spacing:-.5px;border:3px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:.875rem;font-size:1.625rem;font-weight:800;display:flex;box-shadow:0 2px 12px #0000001f}.acc-hero-text{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.acc-name{color:#111827;margin:0;font-size:1.375rem;font-weight:700;line-height:1.2}.acc-role-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.2rem .875rem;font-size:.75rem;font-weight:700;display:inline-block}.role--alumno{color:#4f46e5;background:#e0e7ff}.role--profesor{color:#15803d;background:#dcfce7}.role--admin{color:#b45309;background:#fef3c7}.acc-since{color:#9ca3af;align-items:center;gap:.35rem;margin:0;font-size:.78rem;display:flex}.acc-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden}.acc-card-title{text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;border-bottom:1px solid #f3f4f6;margin:0;padding:1rem 1.25rem .75rem;font-size:.7rem;font-weight:700}.acc-info-row{border-bottom:1px solid #f9fafb;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;display:flex}.acc-info-row:last-child{border-bottom:none}.acc-info-label{color:#6b7280;flex-shrink:0;font-size:.825rem;font-weight:500}.acc-info-value{color:#111827;text-align:right;word-break:break-all;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;display:flex}.acc-info-icon{color:#9ca3af;flex-shrink:0}.acc-google-icon{flex-shrink:0}.acc-stat-row{border-bottom:1px solid #f9fafb;align-items:center;gap:.75rem;padding:.875rem 1.25rem;display:flex}.acc-stat-row:last-child{border-bottom:none}.acc-stat-row-icon{color:#9ca3af;flex-shrink:0}.acc-stat-row-label{color:#6b7280;flex:1;font-size:.825rem;font-weight:500}.acc-stat-row-value{color:#111827;font-size:1rem;font-weight:700}.acc-links{padding:0}.acc-link-row{color:#374151;border-bottom:1px solid #f3f4f6;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .12s;display:flex}.acc-link-row:last-child{border-bottom:none}.acc-link-row:hover{color:#111827;background:#f9fafb}.acc-link-icon{color:#6b7280;flex-shrink:0}.acc-link-row:hover .acc-link-icon{color:#374151}.acc-link-chevron{color:#d1d5db;flex-shrink:0;margin-left:auto}.acc-link-row:hover .acc-link-chevron{color:#9ca3af}.acc-session{justify-content:center;padding-top:.25rem;display:flex}.acc-logout-btn{color:#dc2626;cursor:pointer;background:#fff;border:1.5px solid #fecaca;border-radius:.625rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.acc-logout-btn:hover{background:#fef2f2;border-color:#f87171}@media (width<=640px){.acc-shell{padding:1.25rem 1rem 3rem}.acc-stats{padding:1.25rem .75rem}.acc-stat-value{font-size:1.375rem}.acc-stat-label{font-size:.7rem}.acc-info-row{flex-direction:column;align-items:flex-start;gap:.25rem}.acc-info-value{text-align:left;word-break:break-word}}.user-page{background:var(--clr-bg);min-height:calc(100vh - 64px)}.user-page-container{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}.user-page-header{margin-bottom:2rem}.user-page-header h1{color:var(--clr-text-1);margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.user-page-subtitle{color:var(--clr-text-2);margin:0;font-size:.9rem}.user-page-link{color:#fff;border-radius:var(--r);background:#4f46e5;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.user-page-link:hover{background:#4338ca}.user-courses-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=1024px){.user-courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.user-courses-grid{grid-template-columns:1fr}}.progress-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.progress-courses{flex-direction:column;gap:1.5rem;display:flex}.progress-course-block{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}.progress-course-title{color:var(--clr-text-1);border-bottom:1px solid var(--clr-border);background:var(--clr-bg);margin:0;padding:1rem 1.25rem;font-size:1rem;font-weight:600}.progress-results-list{flex-direction:column;display:flex}.progress-result-row{border-bottom:1px solid var(--clr-border-soft);align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.progress-result-row:last-child{border-bottom:none}.progress-test-name{color:#374151;flex:1;font-size:.875rem}.progress-score{color:#4f46e5;background:var(--clr-accent-subtle);border-radius:9999px;padding:.2rem .6rem;font-size:.875rem;font-weight:600}.progress-date{color:var(--clr-text-3);text-align:right;min-width:90px;font-size:.8rem}@media (width<=640px){.progress-stats{grid-template-columns:1fr}}.account-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);max-width:600px;box-shadow:var(--sh-sm);align-items:flex-start;gap:2rem;padding:2rem;display:flex}.account-avatar{color:#fff;background:#4f46e5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:2rem;font-weight:700;display:flex}.account-info{flex-direction:column;flex:1;gap:1.25rem;display:flex}.account-field{align-items:flex-start;gap:.75rem;display:flex}.account-field-icon{color:var(--clr-text-2);flex-shrink:0;margin-top:2px}.account-field>div{flex-direction:column;display:flex}.account-field-label{color:var(--clr-text-3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.1rem;font-size:.75rem}.account-field-value{color:var(--clr-text-1);font-size:.95rem;font-weight:500}.account-role-badge{border-radius:9999px;padding:.2rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.account-role-badge.role-alumno{color:#4f46e5;background:#e0e7ff}.account-role-badge.role-profesor{color:#15803d;background:#dcfce7}.account-role-badge.role-administrador{color:#b45309;background:#fef3c7}@media (width<=640px){.account-card{text-align:center;flex-direction:column;align-items:center}.account-field{justify-content:center}}:root{--clr-accent:#6366f1;--clr-accent-dark:#4f46e5;--clr-accent-darker:#4338ca;--clr-accent-subtle:#eef2ff;--clr-accent-border:#c7d2fe;--clr-accent-light:#818cf8;--clr-bg:#f8fafc;--clr-surface:#fff;--clr-border:#e5e7eb;--clr-border-soft:#f3f4f6;--clr-text-1:#111827;--clr-text-2:#6b7280;--clr-text-3:#9ca3af;--clr-success:#16a34a;--clr-success-subtle:#f0fdf4;--clr-success-border:#bbf7d0;--clr-danger:#dc2626;--clr-danger-subtle:#fef2f2;--clr-danger-border:#fecaca;--r-sm:6px;--r:8px;--r-md:10px;--r-lg:12px;--r-xl:16px;--r-full:9999px;--sh-sm:0 1px 2px #0000000d;--sh:0 1px 3px #00000012, 0 1px 2px #0000000a;--sh-md:0 4px 12px #00000014;--sh-lg:0 8px 24px #0000001a}*,:before,:after{box-sizing:border-box}input,button,textarea,select{font-family:inherit}body{background:var(--clr-bg);color:var(--clr-text-1);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--clr-accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1280px;margin:0 auto;padding:1rem}.button{border-radius:var(--r);background:var(--clr-accent);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;padding:.6rem 1rem;font-family:inherit;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.button:hover{background:var(--clr-accent-dark)}.button.secondary{background:var(--clr-text-2)}.card{background:var(--clr-surface);border-radius:var(--r-lg);box-shadow:var(--sh);border:1px solid var(--clr-border);margin-bottom:1rem;padding:1rem}.form{background:var(--clr-surface);border-radius:var(--r-lg);box-shadow:var(--sh);border:1px solid var(--clr-border);max-width:680px;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.35rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--clr-border);border-radius:var(--r);outline:none;width:100%;padding:.65rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px #6366f11f}.alert{border-radius:var(--r);margin-bottom:1rem;padding:.75rem 1rem}.alert-success{background:var(--clr-success-subtle);border:1px solid var(--clr-success-border);color:#065f46}.alert-error{background:var(--clr-danger-subtle);border:1px solid var(--clr-danger-border);color:#b91c1c}.loading{text-align:center;color:var(--clr-text-2);padding:3rem;font-size:1.1rem}
