.dashboard-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.dashboard-summary-6{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dashboard-summary-8{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.stat-card.stat-success{background:linear-gradient(135deg,#10b981,#059669)}.stat-card.stat-warning{background:linear-gradient(135deg,#eab308,#ca8a04)}.stat-card.stat-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-card.loading-placeholder{opacity:.5}.stat-trend{font-size:.7em;font-weight:500}.stat-trend-up{color:#86efac}.stat-trend-down{color:#fca5a5}.dashboard-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}@media (max-width: 900px){.dashboard-charts-grid{grid-template-columns:1fr}}.chart-card{background:#f8fafc;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0}.chart-title{margin:0 0 1rem;font-size:1.1rem;color:#0f172a}.chart-content{min-height:280px}.chart-loading,.chart-error,.chart-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#64748b}.chart-error{color:#dc2626}.loading-spinner{width:24px;height:24px;border:2px solid #e2e8f0;border-top-color:#1a7ff0;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.team-progress-layout{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;align-items:start}@media (max-width: 640px){.team-progress-layout{grid-template-columns:1fr}}.team-progress-donut{display:flex;flex-direction:column;gap:.75rem}.team-progress-legend{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem}.legend-item{display:flex;align-items:center;gap:.4rem;color:#475569}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.team-progress-bars{display:flex;flex-direction:column;gap:.75rem}.team-progress-bars h6{margin:0;font-size:.9rem;color:#475569}.progress-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.progress-list li{display:flex;flex-direction:column;gap:.3rem}.progress-list li.clickable{cursor:pointer}.progress-list li.clickable:hover .member-name{color:#1a7ff0}.member-info{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem}.member-name{font-weight:600;color:#0f172a}.member-stats{color:#64748b}.progress-bar-container{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.reports-table-wrapper{overflow-x:auto;border-radius:16px;border:1px solid #e2e8f0}.reports-table{width:100%;border-collapse:collapse;background:#fff}.reports-table th{padding:.75rem 1rem;background:#f1f5f9;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#475569;text-align:left;border-bottom:1px solid #e2e8f0}.reports-table td{padding:0;border-bottom:1px solid #e2e8f0}.reports-table tr:last-child td{border-bottom:none}.report-row{display:grid;grid-template-columns:1fr 180px 80px 80px 80px 100px;align-items:center;gap:.5rem;padding:.75rem 1rem}@media (max-width: 900px){.report-row{grid-template-columns:1fr;gap:.25rem}}.report-name{font-weight:600;color:#0f172a}.report-name.clickable{cursor:pointer}.report-name.clickable:hover{color:#1a7ff0}.report-email,.report-certs,.report-score{color:#475569;font-size:.9rem}.report-completions-detail{background:#f8fafc;border-top:1px solid #e2e8f0;padding:.75rem 1rem .75rem 2rem}.report-completions-detail ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.report-completions-detail li{display:grid;grid-template-columns:1fr 80px 100px;gap:.5rem;font-size:.9rem;color:#475569;padding:.4rem 0;border-bottom:1px dashed #e2e8f0}.report-completions-detail li:last-child{border-bottom:none}.clickable{cursor:pointer}.lesson-title.clickable:hover{color:#1a7ff0}.detail-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;justify-content:flex-end;z-index:100}.detail-panel{width:min(480px,100%);height:100%;background:#fff;box-shadow:-24px 0 65px #0f172a33;display:flex;flex-direction:column;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.detail-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;border-bottom:1px solid #e2e8f0}.detail-panel-header h3{margin:0;font-size:1.4rem}.detail-panel-header p{margin:.25rem 0 0}.detail-panel-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.detail-stat{background:#f8fafc;border-radius:12px;padding:1rem;text-align:center;border:1px solid #e2e8f0}.detail-stat-value{display:block;font-size:1.4rem;font-weight:700;color:#0f172a}.detail-stat-label{font-size:.8rem;color:#64748b}.detail-section h4{margin:0 0 .75rem;font-size:1rem;color:#0f172a}.detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.detail-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.detail-list-main{display:flex;flex-direction:column;gap:.2rem;flex:1}.detail-list-title{font-weight:600;color:#0f172a}.detail-list-date{font-size:.85rem;color:#64748b}.detail-list-meta{flex-shrink:0}.score-badge{display:inline-flex;padding:.25rem .65rem;border-radius:999px;font-size:.85rem;font-weight:600}.score-badge.high{background:#22c55e26;color:#15803d}.score-badge.medium{background:#eab30826;color:#a16207}.score-badge.low{background:#ef444426;color:#b91c1c}.lab-ai-chat,.lab-code-history{display:flex;flex-direction:column;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;height:100%;min-height:400px;max-height:600px}.lab-ai-chat-header,.lab-code-history-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,#1e40af,#1d4ed8);color:#fff}.lab-ai-chat-header h5,.lab-code-history-header h5{margin:0;font-size:.95rem;font-weight:600}.close-btn{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;opacity:.8;transition:opacity .15s}.close-btn:hover{opacity:1}.lab-ai-chat-messages{flex:1;min-height:250px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.lab-ai-chat-empty{text-align:center;padding:2rem 1rem;color:#64748b}.lab-ai-chat-empty p{margin:0 0 .5rem}.lab-ai-chat-empty .muted{font-size:.85rem;color:#94a3b8}.lab-ai-chat-message{display:flex;flex-direction:column;gap:.35rem;padding:.75rem;border-radius:8px;max-width:90%}.lab-ai-chat-message.user{align-self:flex-end;background:#dbeafe;border:1px solid #bfdbfe}.lab-ai-chat-message.assistant{align-self:flex-start;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.message-role{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.message-content{font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message-loading{display:flex;gap:.3rem;padding:.5rem 0}.loading-dot{width:8px;height:8px;background:#94a3b8;border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.code-block{background:#1e293b;color:#e2e8f0;padding:.75rem;border-radius:6px;overflow-x:auto;font-size:.8rem;line-height:1.4;margin:.5rem 0}.code-block code{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace}.apply-code-btn{align-self:flex-start;margin-top:.5rem;padding:.4rem .8rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .1s}.apply-code-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.lab-ai-chat-error,.lab-code-history-error{padding:.75rem 1rem;background:#fef2f2;color:#b91c1c;font-size:.85rem;border-top:1px solid #fecaca}.lab-ai-chat-input{display:flex;flex:0 0 auto;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;background:#fff;border-top:1px solid #e2e8f0}.lab-ai-chat-input textarea{flex:1 1 auto;height:36px!important;min-height:36px!important;max-height:36px!important;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:8px;resize:none;font-family:inherit;font-size:.9rem;line-height:1.2}.lab-ai-chat-input textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.lab-ai-chat-input button{flex:0 0 auto;height:36px;padding:0 1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:transform .1s;white-space:nowrap}.lab-ai-chat-input button:hover:not(:disabled){transform:translateY(-1px)}.lab-ai-chat-input button:disabled{opacity:.6;cursor:not-allowed}.lab-code-history-content{flex:1;overflow-y:auto;padding:1rem}.lab-code-history-loading,.lab-code-history-empty{text-align:center;padding:2rem 1rem;color:#64748b}.lab-code-history-empty .muted{font-size:.85rem;color:#94a3b8}.lab-code-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.history-entry{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.history-entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.history-entry-meta{display:flex;align-items:center;gap:.5rem}.source-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.source-badge.ai{background:#dbeafe;color:#1d4ed8}.source-badge.manual{background:#f1f5f9;color:#475569}.current-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;background:#dcfce7;color:#166534}.history-time{font-size:.8rem;color:#64748b}.history-entry-actions{display:flex;gap:.5rem}.expand-btn,.restore-btn{padding:.3rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s}.expand-btn{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.expand-btn:hover{background:#e2e8f0}.restore-btn{background:#dbeafe;border:1px solid #bfdbfe;color:#1d4ed8}.restore-btn:hover{background:#bfdbfe}.history-code-preview{background:#1e293b;color:#cbd5e1;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;line-height:1.4;overflow:hidden;max-height:60px;margin:0}.history-code-preview.expanded{max-height:none;overflow-x:auto}.history-code-preview code{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;white-space:pre}:root{font-family:Segoe UI,system-ui,sans-serif;color:#0f172a;background-color:#f1f5f9}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease-out forwards;opacity:0}.hover-lift{transition:transform .18s ease,box-shadow .18s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0f172a26}body{margin:0}.page{min-height:100vh}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 2rem;background:#fff;box-shadow:0 8px 24px #0f172a14;position:sticky;top:0;z-index:10}.brand{display:flex;gap:1.2rem;align-items:center}.brand-link{border:none;background:none;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.brand-link:focus-visible{outline:2px solid #1a7ff0;outline-offset:4px;border-radius:16px}.logo{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#1a7ff0,#0c67d7);color:#fff;border-radius:14px;font-weight:700;font-size:1.1rem}.brand h1{margin:0 0 .35rem;font-size:1.6rem}.brand p{margin:0;color:#475569}.header-actions{display:flex;align-items:center;gap:1rem}.user-badge{display:flex;align-items:center;gap:.75rem;background:#f8fafc;border-radius:999px;padding:.5rem 1rem;box-shadow:inset 0 0 0 1px #e2e8f0}.user-badge .sign-out{border:none;background:#ef4444;color:#fff;padding:.4rem .9rem;border-radius:999px;cursor:pointer}.cta-buttons{display:flex;gap:.75rem}.primary,.secondary,.link-button{display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;border-radius:999px;padding:.65rem 1.35rem;border:none;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.primary{background:linear-gradient(135deg,#1a7ff0,#0c67d7);color:#fff;box-shadow:0 10px 25px #1a7ff040}.secondary{background:#fff;color:#1a7ff0;border:1px solid #bae6fd}.link-button{background:transparent;color:#1a7ff0;padding:.35rem .75rem}.primary:hover{transform:translateY(-1px)}.app-shell{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 4rem;display:flex;flex-direction:column;gap:3rem}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;gap:2.5rem;background:#fff;padding:2.5rem;border-radius:24px;box-shadow:0 20px 55px #0f172a1f}.hero-copy h2{font-size:clamp(2.2rem,3vw,3.1rem);margin-bottom:1rem}.hero-copy p{color:#475569;line-height:1.6;margin-bottom:1.5rem}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem}.hero-stats{display:grid;gap:1rem}.stat-card{background:#0f172a;color:#fff;padding:1.2rem 1.4rem;border-radius:18px;box-shadow:0 18px 45px #0f172a40}.stat-value{display:block;font-size:2rem;font-weight:700}.stat-label{opacity:.75}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;color:#1a7ff0;margin-bottom:.5rem}.lessons-section,.community-section{background:#fff;padding:2.25rem;border-radius:24px;box-shadow:0 20px 55px #0f172a1a;display:grid;gap:1.5rem}.label{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#1a7ff0}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.section-header h3{margin:0;font-size:1.8rem}.section-header p{margin:0;color:#475569;line-height:1.6}.lessons-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.lesson-filters{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end}.filter-group{display:grid;gap:.5rem}.filter-label{font-size:.85rem;font-weight:600;color:#0f172a}.filter-tabs{display:flex;flex-wrap:wrap;gap:.6rem}.filter-pill{border:1px solid #cbd5f5;border-radius:999px;padding:.4rem 1rem;background:#fff;color:#1e3a8a;font:inherit;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease}.filter-pill:hover:not(.active){background:#f0f4ff;border-color:#1e3a8a;transform:translateY(-1px)}.filter-pill.active{background:#1e3a8a;color:#fff;box-shadow:0 8px 20px #1e3a8a40;transform:translateY(-1px)}.lesson-card{padding:1.6rem;border-radius:18px;border:1px solid #e2e8f0;background:#f8fafc;display:grid;gap:1rem;box-shadow:0 12px 30px #0f172a14}.lesson-card h4{margin:0;font-size:1.25rem}.lesson-card p{margin:0;color:#475569;line-height:1.5}.lesson-meta{display:flex;justify-content:space-between;font-size:.85rem;color:#1d4ed8;font-weight:600}.lesson-footer{display:flex;justify-content:space-between;align-items:center;color:#1a202c}.lesson-actions{display:flex;align-items:center;gap:.6rem}.gated-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}.coming-soon-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:1.8rem;display:grid;gap:1rem}.coming-soon-card ul{margin:0;padding-left:1.2rem;color:#475569;line-height:1.6}.community-section .user-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.user-list li{display:flex;justify-content:space-between;background:#f8fafc;padding:1rem 1.2rem;border-radius:14px;border:1px solid #e2e8f0}.user-list span{color:#475569;font-size:.95rem}.user-list.detailed li{flex-direction:column;align-items:flex-start;gap:.75rem}.user-info{display:grid;gap:.3rem}.user-meta{display:flex;flex-wrap:wrap;gap:1.5rem;width:100%}.user-role,.user-certificates{display:grid;gap:.3rem}.role-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;border:1px solid #bae6fd;background:#fff;padding:.35rem .9rem;font:inherit;text-transform:capitalize;cursor:pointer}.role-badge{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .9rem;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.85rem;text-transform:capitalize}.user-certificates span:last-child{color:#1f2937}.sign-in-prompt{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;border-radius:16px;background:#f8fafc;border:1px dashed #1a7ff0}.muted{color:#64748b}.error{color:#dc2626;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:center;padding:1.5rem;z-index:100}.modal-card{background:#fff;width:min(440px,100%);padding:2rem;border-radius:20px;box-shadow:0 24px 65px #0f172a33;display:grid;gap:1.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0}.close-button{border:none;background:transparent;font-size:1.5rem;cursor:pointer;color:#475569}.modal-toggle{display:inline-flex;border:1px solid #e2e8f0;border-radius:999px;overflow:hidden}.modal-toggle button{border:none;background:transparent;padding:.5rem 1.3rem;cursor:pointer}.modal-toggle .active{background:#1a7ff0;color:#fff}.auth-form{display:grid;gap:1rem}.auth-form label{display:grid;gap:.35rem;font-weight:600}.auth-form input{padding:.6rem .8rem;border-radius:10px;border:1px solid #cbd5f5;font-size:1rem}.auth-form .primary{justify-self:flex-start}.lesson-detail{background:#fff;padding:2.5rem;border-radius:24px;box-shadow:0 22px 60px #0f172a1f;display:grid;gap:2.5rem}.lesson-breadcrumb{max-width:1100px;margin:0 auto 1rem}.lesson-breadcrumb a{color:#1a7ff0;font-weight:600;text-decoration:none}.lesson-breadcrumb a:hover{text-decoration:underline}.lesson-detail-header{display:grid;gap:.75rem}.lesson-header-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.lesson-header-actions h3{flex:1 1 auto}.lesson-detail-header h3{margin:0;font-size:2rem}.lesson-detail-header p{margin:0;color:#475569;line-height:1.6}.lesson-body{display:flex;gap:2.25rem;align-items:flex-start}.lesson-main{flex:1 1 0;display:grid;gap:1.8rem}.lesson-video{position:relative;border-radius:22px;padding:2.5rem;background:linear-gradient(135deg,#0f172a,#1a7ff0);color:#fff;display:grid;gap:.75rem;min-height:260px;box-shadow:0 25px 60px #0f172a40}.lesson-video-embedded{padding:0;background:#0f172a;color:#0f172a;overflow:hidden;gap:0}.video-player{position:relative;width:100%;padding-top:56.25%;background:#000}.video-player iframe,.video-player video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-top-left-radius:22px;border-top-right-radius:22px}.video-player video{background:#000}.video-meta{background:#f8fafc;padding:1.8rem;display:grid;gap:.8rem;border-top:1px solid #e2e8f0}.video-meta h4{margin:0;color:#0f172a}.video-meta p{margin:0;color:#475569}.lesson-video h4{margin:0;font-size:1.6rem}.lesson-video p{margin:0;color:#ffffffd9}.video-badge{position:absolute;top:1.1rem;right:1.1rem;background:#0f172a40;border-radius:999px;padding:.35rem .9rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.video-meta .video-badge{position:static;top:auto;right:auto;margin-bottom:.5rem;background:#e0f2fe;color:#0369a1}.lesson-summary{display:grid;gap:1.2rem;background:#f8fafc;padding:1.8rem;border-radius:20px;border:1px solid #e2e8f0}.lesson-summary h4{margin:0;font-size:1.3rem}.lesson-summary ul{margin:0;padding-left:1.1rem;color:#475569;line-height:1.6}.lesson-overview-meta{display:flex;flex-wrap:wrap;gap:1.5rem}.lesson-overview-meta .label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#1a7ff0;margin-bottom:.3rem}.profile-grid{display:grid;gap:2rem;grid-template-columns:minmax(0,280px) minmax(0,1fr)}.profile-summary,.profile-completions{background:#f8fafc;border-radius:20px;border:1px solid #e2e8f0;padding:1.8rem;display:grid;gap:1.2rem}.profile-summary ul{margin:0;padding:0;list-style:none;display:grid;gap:.9rem}.profile-summary li{display:grid;gap:.2rem}.profile-completions ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.profile-completions li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;background:#fff;border-radius:16px;padding:1.1rem 1.3rem;box-shadow:0 10px 24px #0f172a14}.profile-completions li div{display:grid;gap:.35rem;flex:1 1 0}.profile-completions li span{color:#475569;font-size:.95rem}.interactive-lab{background:#f8fafc;border-radius:22px;padding:2rem;border:1px solid #e2e8f0;display:grid;gap:1.5rem}.interactive-lab header h4{margin:0}.interactive-lab header p{margin:.4rem 0 0;color:#475569}.lab-content{display:grid;gap:1.5rem}.lab-tabs{display:flex;flex-wrap:wrap;gap:.75rem}.lab-tab{border:none;background:#fff;border-radius:14px;padding:.65rem 1.2rem;box-shadow:inset 0 0 0 1px #cbd5f5;cursor:pointer;transition:background .12s ease,transform .12s ease}.lab-tab:disabled{cursor:not-allowed;opacity:.5;transform:none}.lab-tab:hover{transform:translateY(-1px)}.lab-tab.active{background:linear-gradient(135deg,#1a7ff0,#0c67d7);color:#fff;box-shadow:0 12px 28px #1a7ff040}.lab-panel{background:transparent;border-radius:0;padding:0;box-shadow:none;display:grid;gap:1.2rem}.lab-panel.lab-panel-locked{position:relative;pointer-events:none;opacity:.55}.lab-panel-body{display:grid;gap:1.8rem}.lab-placeholder{min-height:200px;border-radius:16px;background:repeating-linear-gradient(45deg,#94a3b826,#94a3b826 12px,#94a3b840 12px,#94a3b840 24px)}.lab-placeholder.lab-placeholder-empty{display:grid;place-items:center;background:#94a3b81f;color:#475569;font-weight:600;text-align:center}.lab-panel h5{margin:0;font-size:1.2rem}.lab-objective{margin:0;color:#475569;font-style:italic}.lab-split{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lab-split .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#1a7ff0;display:block;margin-bottom:.4rem}.lab-split ul{margin:0;padding-left:1.1rem;color:#475569;line-height:1.6}.lab-simulator{background:linear-gradient(180deg,#f8fafc,#edf2ff);border-radius:20px;padding:1.5rem;box-shadow:inset 0 0 0 1px #dbeafe;display:grid;gap:1.2rem}.lab-simulator h6{margin:0;font-size:1.05rem}.simulator-header p,.simulator-footnote p{margin:0;color:#475569;line-height:1.6}.simulator-body{display:grid;gap:1.5rem}.simulator-controls{display:grid;gap:1rem}.simulator-controls.vertical{align-content:start}.simulator-controls label{display:grid;gap:.6rem;font-weight:600;color:#0f172a}.control-row{display:grid;gap:.65rem;grid-template-columns:1fr auto auto;align-items:center}.control-row input[type=range]{width:100%}.control-row input[type=number]{width:80px;padding:.35rem .5rem;border-radius:10px;border:1px solid #cbd5f5}.simulator-readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.readout-card{background:#fff;border-radius:16px;padding:1rem 1.2rem;box-shadow:0 12px 28px #0f172a1f;display:grid;gap:.45rem}.readout-card.inline{box-shadow:none;border:1px solid #cbd5f5}.readout-card p{margin:0;color:#475569;font-size:.9rem}.bias-simulator{display:grid;gap:1.5rem}.bias-chart{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 14px 32px #0f172a1f;display:grid;gap:.75rem}.bias-chart canvas{width:100%;max-width:520px;height:auto;border-radius:12px;background:#0f172a}.chart-legend{display:flex;flex-wrap:wrap;gap:1rem}.legend-item{display:inline-flex;align-items:center;gap:.4rem;color:#475569;font-size:.9rem}.swatch{width:14px;height:14px;border-radius:4px}.swatch.raw{background:#94a3b8}.swatch.filtered{background:#1d4ed8}.audio-simulator{display:grid;gap:1.5rem;align-items:start}.audio-simulator .simulator-controls{max-width:240px}.audio-simulator button{width:100%}.audio-canvases{display:grid;gap:1rem}.audio-canvases canvas{width:100%;max-width:520px;height:auto;border-radius:12px;background:#0f172a}.product-highlight{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:24px;padding:2.2rem;display:grid;gap:1.5rem;border:1px solid #bfdbfe}.product-highlight.slim{flex:0 0 260px;max-width:260px;padding:1.8rem;position:sticky;top:110px;align-self:flex-start}.product-highlight h4{margin:0;font-size:1.4rem}.product-highlight p{margin:0;color:#1e3a8a;line-height:1.6}.product-list{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.product-highlight.slim .product-list{grid-template-columns:1fr}.product-list article{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 14px 30px #1e40af26;display:grid;gap:.4rem}.product-list h5{margin:0;color:#1e3a8a;font-size:1.05rem}.product-list a{color:#1d4ed8;font-weight:600;text-decoration:none}.product-list a:hover{text-decoration:underline}.completion-banner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.4rem;border-radius:18px;background:linear-gradient(135deg,#1a7ff01a,#0c67d71a);border:1px solid #bfdbfe}.completion-banner div{display:grid;gap:.3rem}.completion-banner span{color:#475569;font-size:.95rem}.lesson-progress-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.5rem;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.lesson-progress-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.lesson-detail.lesson-editor,.editor-form{display:grid;gap:2rem}.editor-section{background:#f8fafc;border:1px solid #dbeafe;border-radius:20px;padding:1.6rem;display:grid;gap:1rem}.editor-section h4{margin:0}.editor-section label{display:grid;gap:.4rem;font-weight:600;color:#0f172a}.editor-section input,.editor-section textarea,.editor-section select{font:inherit;padding:.55rem .7rem;border-radius:12px;border:1px solid #cdd5f5;background:#fff}.editor-section textarea{resize:vertical}.editor-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checkbox{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem 0;font-weight:600;color:#0f172a}.checkbox input{width:auto}.editor-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.editor-tabs{display:grid;gap:1rem}.editor-tab-list{display:flex;flex-wrap:wrap;gap:.6rem}.editor-tab{border:none;padding:.45rem 1rem;border-radius:999px;background:#e2e8f0;color:#0f172a;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease}.editor-tab.active{background:#1a7ff0;color:#fff}.editor-panel{background:#fff;border-radius:18px;border:1px solid #dbeafe;box-shadow:0 14px 32px #1e40af1f;padding:1.4rem;display:grid;gap:1rem}.editor-list{display:grid;gap:1rem}.editor-card{background:#fff;border-radius:18px;border:1px solid #dbeafe;padding:1.2rem;display:grid;gap:.8rem;box-shadow:0 10px 24px #0f172a14}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.monospace{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem}.success{color:#047857;font-weight:600}.link-button.danger{color:#b91c1c}.link-button.danger:hover{color:#991b1b}.text-small{font-size:.85rem}.owner-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.owner-option{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #dbeafe;border-radius:12px;padding:.6rem .8rem;box-shadow:0 6px 16px #0f172a14}.owner-option input{width:auto}.admin-lessons-actions{margin-bottom:1.5rem}.admin-create-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:#f8fafc;border:1px solid #dbeafe;border-radius:18px;padding:1rem 1.2rem}.admin-create-form label{display:grid;gap:.35rem;font-weight:600;color:#0f172a}.admin-create-form input,.admin-create-form select{font:inherit;padding:.45rem .65rem;border-radius:12px;border:1px solid #cdd5f5;min-width:180px}.admin-lessons-table-wrapper{overflow-x:auto;border-radius:20px;border:1px solid #e2e8f0}.admin-lessons-table{width:100%;border-collapse:collapse;background:#fff}.admin-lessons-table th,.admin-lessons-table td{padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.admin-lessons-table th{background:#f8fafc;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#475569}.admin-actions{display:flex;flex-wrap:wrap;gap:.4rem}.badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#e2e8f0;color:#475569}.badge.success{background:#10b98126;color:#047857}.certification-test{background:#fff;border-radius:22px;padding:2.2rem;box-shadow:0 20px 50px #0f172a1f;display:grid;gap:1.5rem}.certification-test header h4{margin:0}.certification-test header p{margin:.4rem 0 0;color:#475569}.quiz-form{display:grid;gap:1.2rem}.quiz-question{border:1px solid #e2e8f0;border-radius:18px;padding:1.5rem;display:grid;gap:.9rem;background:#f8fafc}.quiz-question legend{font-weight:600;color:#0f172a}.quiz-option{display:flex;gap:.6rem;align-items:flex-start;color:#475569}.quiz-option input{margin-top:.25rem}.quiz-question.correct{border-color:#22c55e;background:#ecfdf5}.quiz-question.incorrect{border-color:#f97316;background:#fff7ed}.quiz-explanation{margin:0;color:#0f172a;font-size:.95rem;line-height:1.5}.quiz-actions{display:flex;align-items:center;gap:1rem}.quiz-score{margin:0;font-weight:600;color:#0f172a}@media (max-width: 900px){.site-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-end}.section-header,.lesson-body{flex-direction:column}.product-highlight.slim{position:static;max-width:none;width:100%}.profile-grid{grid-template-columns:1fr}}@media (max-width: 640px){.hero{padding:2rem}.sign-in-prompt{flex-direction:column;align-items:flex-start}.user-list li{flex-direction:column;gap:.5rem}.audio-simulator{grid-template-columns:1fr}.control-row{grid-template-columns:1fr auto}}.error-boundary{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.error-boundary-content{max-width:480px;background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 25px 50px #b91c1c26;text-align:center;display:grid;gap:1.2rem}.error-boundary-content h2{margin:0;color:#b91c1c;font-size:1.8rem}.error-boundary-content .error-message{color:#475569;margin:0;line-height:1.6}.error-boundary-content .error-actions{display:flex;justify-content:center;gap:1rem;margin-top:.5rem}.error-boundary-content .error-details{text-align:left;background:#f8fafc;border-radius:12px;padding:1rem;margin-top:.5rem}.error-boundary-content .error-details summary{cursor:pointer;color:#475569;font-weight:600}.error-boundary-content .error-details pre{margin:.75rem 0 0;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#b91c1c}.embedded-code-section{display:flex;flex-direction:column;gap:.5rem}.embedded-code-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.embedded-code-header label{margin:0;font-weight:600;color:#0f172a}.embedded-code-actions{display:flex;gap:.5rem}.embedded-code-actions button{padding:.4rem .8rem;font-size:.8rem}.embedded-code-actions button.active{background:linear-gradient(135deg,#1e40af,#1d4ed8);color:#fff}.embedded-code-container{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 1024px){.embedded-code-container:has(.lab-ai-chat),.embedded-code-container:has(.lab-code-history){grid-template-columns:1fr 400px}}.embedded-code-container textarea{min-height:400px}.dashboard-section,.admin-users-section{background:#fff;padding:2.25rem;border-radius:24px;box-shadow:0 20px 55px #0f172a1a;display:grid;gap:1.5rem}.dashboard-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.dashboard-stat{background:linear-gradient(135deg,#1a7ff0,#0c67d7)}.dashboard-panel{background:#f8fafc;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0;display:grid;gap:1rem}.dashboard-panel h4{margin:0;font-size:1.2rem;color:#0f172a}.lessons-stats-table-wrapper{overflow-x:auto;border-radius:16px;border:1px solid #e2e8f0}.lessons-stats-table{width:100%;border-collapse:collapse;background:#fff}.lessons-stats-table th{padding:.75rem 1rem;background:#f1f5f9;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#475569;text-align:left;border-bottom:1px solid #e2e8f0}.lessons-stats-table td{padding:0;border-bottom:1px solid #e2e8f0}.lessons-stats-table tr:last-child td{border-bottom:none}.lesson-stats-row{display:grid;grid-template-columns:1fr 100px 100px 120px 100px;align-items:center;gap:.5rem;padding:.75rem 1rem}.lesson-stats-row .lesson-title{font-weight:600;color:#0f172a}.lesson-stats-row .lesson-completions,.lesson-stats-row .lesson-avg-score,.lesson-stats-row .lesson-last-completed{color:#475569;font-size:.9rem}.lesson-completions-detail{background:#f8fafc;border-top:1px solid #e2e8f0;padding:.75rem 1rem .75rem 2rem}.lesson-completions-detail ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.lesson-completions-detail li{display:grid;grid-template-columns:1fr 80px 100px;gap:.5rem;font-size:.9rem;color:#475569;padding:.4rem 0;border-bottom:1px dashed #e2e8f0}.lesson-completions-detail li:last-child{border-bottom:none}.completions-detail{width:100%;margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #cbd5f5}.completions-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.completions-list li{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:#475569;padding:.3rem 0}.completions-list .completion-lesson{flex:1;font-weight:500;color:#0f172a}.completions-list .completion-score{font-weight:600;color:#059669}.completions-list .completion-date{color:#64748b}.admin-users-table-wrapper{overflow-x:auto;border-radius:20px;border:1px solid #e2e8f0}.admin-users-table{width:100%;border-collapse:collapse;background:#fff}.admin-users-table th,.admin-users-table td{padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}.admin-users-table th{background:#f8fafc;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#475569}.admin-users-table tr.self{background:#1a7ff00d}.admin-users-table tr:last-child td{border-bottom:none}.reports-to-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;border:1px solid #bae6fd;background:#fff;padding:.35rem .9rem;font:inherit;cursor:pointer;min-width:150px}@media (max-width: 900px){.lesson-stats-row{grid-template-columns:1fr;gap:.25rem}.lesson-stats-row .lesson-title{margin-bottom:.25rem}.lesson-completions-detail li{grid-template-columns:1fr}}.features-section{background:#fff;padding:2.25rem;border-radius:24px;box-shadow:0 20px 55px #0f172a1a;display:grid;gap:1.5rem}.features-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:1.8rem;display:grid;gap:.8rem}.feature-card h4{margin:0;font-size:1.2rem;color:#0f172a}.feature-card p{margin:0;color:#475569;line-height:1.6}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,#1a7ff0,#0c67d7);color:#fff;border-radius:16px;box-shadow:0 10px 25px #1a7ff040}.empty-state{text-align:center;padding:2rem;background:#f8fafc;border-radius:16px;border:1px dashed #cbd5f5}.empty-state p{margin:.25rem 0}.hero-animated .primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 35px #1a7ff059}.hero-animated .secondary:hover{transform:translateY(-2px);background:#f0f4ff;border-color:#1a7ff0}
