﻿:root{--green:#006B3F;--green-light:#008E52;--green-dark:#004D2E;--gold:#FCD116;--gold-dark:#E6BC00;--red:#CE1126;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--font:"Nunito",sans-serif;--radius:12px;--radius-sm:8px;--shadow:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.15);--transition:all .2s ease}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--gray-800);background:var(--gray-50);line-height:1.6}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-dark)}
img{max-width:100%}
input,select,textarea,button{font-family:inherit}
[data-level=kg]{font-size:18px}
[data-level=kg] .btn{padding:14px 24px;font-size:18px;border-radius:50px}
.level-kg .welcome-banner{background:linear-gradient(135deg,#FF6B6B,#4ECDC4)}
.level-primary .welcome-banner{background:linear-gradient(135deg,var(--green),var(--green-light))}
.level-jhs .welcome-banner{background:linear-gradient(135deg,#1e40af,#3b82f6)}
.level-shs .welcome-banner{background:linear-gradient(135deg,#166534,#15803d)}
.level-tertiary .welcome-banner{background:linear-gradient(135deg,#1e293b,#334155)}

.navbar{background:var(--white);border-bottom:2px solid var(--gray-200);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}
.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;gap:1rem;height:64px}
.nav-brand{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:900;color:var(--green);flex-shrink:0}
.logo-ghana{color:var(--gold-dark)}
.nav-menu{display:flex;gap:.25rem;flex:1}
.nav-link{padding:.5rem .75rem;border-radius:var(--radius-sm);color:var(--gray-700);font-weight:600;font-size:.9rem;transition:var(--transition)}
.nav-link:hover,.nav-link.active{background:var(--gray-100);color:var(--green)}
.nav-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}
.points-badge,.streak-badge{background:var(--gold);color:var(--gray-900);padding:.2rem .6rem;border-radius:50px;font-size:.8rem;font-weight:700}
.streak-badge{background:#ff6b35;color:white}
.user-btn{background:var(--green);color:white;border:none;padding:.4rem .75rem;border-radius:50px;cursor:pointer;font-weight:700;display:flex;align-items:center;gap:.4rem;font-size:.9rem}
.user-avatar{width:28px;height:28px;background:var(--gold);color:var(--gray-900);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.75rem}
.user-menu{position:relative}
.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:150px;padding:.5rem;display:none}
.user-dropdown.open{display:block}
.dropdown-item{display:block;padding:.6rem 1rem;border-radius:var(--radius-sm);color:var(--gray-700);font-weight:600}
.dropdown-item:hover{background:var(--gray-100)}
.dropdown-item.logout{color:var(--red)}
.nav-toggle{background:none;border:none;font-size:1.4rem;cursor:pointer;padding:.4rem;display:none}
@media(max-width:768px){.nav-menu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--white);flex-direction:column;padding:1rem;border-bottom:2px solid var(--gray-200);box-shadow:var(--shadow-lg)}.nav-menu.open{display:flex}.nav-toggle{display:block}.d-md-inline{display:none}}
.alert{padding:.875rem 1.25rem;font-weight:600;display:flex;align-items:flex-start;gap:.5rem}
.alert-success{background:#dcfce7;color:#166534;border-left:4px solid #22c55e}
.alert-error{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}
.alert-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.2rem;opacity:.7}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius);font-weight:700;font-size:.9rem;cursor:pointer;transition:var(--transition);border:2px solid transparent;text-decoration:none;line-height:1.4}
.btn-primary{background:var(--green);color:white;border-color:var(--green)}
.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark);color:white}
.btn-outline{background:transparent;color:var(--green);border-color:var(--green)}
.btn-outline:hover{background:var(--green);color:white}
.btn-outline-white{background:transparent;color:white;border-color:rgba(255,255,255,.7)}
.btn-outline-white:hover{background:rgba(255,255,255,.15);color:white}
.btn-white{background:white;color:var(--green);border-color:white}
.btn-sm{padding:.375rem .875rem;font-size:.8rem}
.btn-xs{padding:.2rem .6rem;font-size:.75rem;border-radius:6px}
.btn-lg{padding:.875rem 1.75rem;font-size:1rem}
.btn-xl{padding:1rem 2rem;font-size:1.1rem}
.btn-full{width:100%}
.btn:disabled{opacity:.6;cursor:not-allowed}
.form-group{margin-bottom:1rem}
.form-label{display:block;font-weight:700;margin-bottom:.375rem;color:var(--gray-700);font-size:.9rem}
.form-control{width:100%;padding:.625rem .875rem;border:2px solid var(--gray-300);border-radius:var(--radius-sm);font-size:1rem;color:var(--gray-800);background:var(--white);transition:var(--transition)}
.form-control:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(0,107,63,.15)}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:600px){.form-row-2{grid-template-columns:1fr}}
.form-row{display:flex;justify-content:space-between;align-items:center}
.form-link{color:var(--green);font-weight:600;font-size:.875rem}
.form-check{display:flex;align-items:center;gap:.4rem;font-size:.875rem}
.form-hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--gray-500)}
.input-group{display:flex}
.input-group .form-control{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.input-icon{background:var(--gray-100);border:2px solid var(--gray-300);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.625rem;cursor:pointer}
.form-section{border:1px solid var(--gray-200);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}
.form-section legend{font-weight:700;color:var(--green);padding:0 .5rem;font-size:1rem}
.checkbox-group{display:flex;flex-wrap:wrap;gap:.75rem}
.form-check-inline{display:flex;align-items:center;gap:.3rem}

.auth-body{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}
.auth-container{width:100%;max-width:480px}
.auth-brand{text-align:center;margin-bottom:1.5rem}
.auth-logo{color:white;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.25rem}
.logo-icon-lg{font-size:3rem}
.auth-logo h1{font-size:2rem;font-weight:900;color:white}
.text-gold{color:var(--gold)}
.auth-logo p{color:rgba(255,255,255,.8);font-size:.9rem}
.auth-card{background:var(--white);border-radius:20px;padding:2rem;box-shadow:0 25px 50px rgba(0,0,0,.25)}
.auth-title{font-size:1.5rem;font-weight:900;color:var(--gray-900);margin-bottom:.25rem}
.auth-subtitle{color:var(--gray-500);margin-bottom:1.5rem;font-size:.9rem}
.auth-form{display:flex;flex-direction:column}
.auth-divider{text-align:center;margin:1rem 0;color:var(--gray-400)}
.auth-links{text-align:center;margin-top:1rem;font-size:.875rem;color:var(--gray-600)}
.link-primary{color:var(--green);font-weight:700}
.auth-footer{color:rgba(255,255,255,.7);text-align:center;margin-top:1.25rem;font-size:.875rem}
.demo-accounts{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200)}
.demo-btn{background:var(--gray-100);border:1px solid var(--gray-300);border-radius:50px;padding:.25rem .75rem;font-size:.8rem;cursor:pointer;margin-right:.4rem;margin-bottom:.4rem;transition:var(--transition)}
.demo-btn:hover{background:var(--green);color:white;border-color:var(--green)}
.main-content{min-height:calc(100vh - 64px - 200px)}
.page-container{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}
.max-w-600{max-width:600px}
.page-header{margin-bottom:1.5rem}
.page-header h1{font-size:1.75rem;font-weight:900;color:var(--gray-900)}
.page-header p{color:var(--gray-600);margin-top:.25rem}
.welcome-banner{border-radius:20px;padding:2rem;color:white;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.welcome-banner h1{font-size:1.75rem;font-weight:900;margin-bottom:.25rem}
.welcome-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.stat-chip{background:rgba(255,255,255,.2);padding:.25rem .75rem;border-radius:50px;font-size:.8rem;font-weight:700}
.stat-chip.success{background:rgba(34,197,94,.3)}
.stat-chip.warning{background:rgba(251,191,36,.3)}
.welcome-cta{display:flex;gap:.75rem;flex-wrap:wrap}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.dashboard-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.card-title{font-size:1rem;font-weight:800;color:var(--gray-800);margin-bottom:1rem}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .75rem;border-radius:var(--radius);text-decoration:none;font-weight:700;font-size:.9rem;transition:var(--transition)}
.action-btn.primary{background:#dcfce7;color:var(--green-dark)}.action-btn.primary:hover{background:var(--green);color:white}
.action-btn.secondary{background:#dbeafe;color:#1e40af}.action-btn.secondary:hover{background:#2563eb;color:white}
.action-btn.accent{background:#fef9c3;color:#854d0e}.action-btn.accent:hover{background:var(--gold);color:var(--gray-900)}
.action-btn.info{background:#f3e8ff;color:#7e22ce}.action-btn.info:hover{background:#9333ea;color:white}
.action-icon{font-size:1.75rem}
.subject-row{margin-bottom:.875rem}
.subject-info{display:flex;justify-content:space-between;margin-bottom:.3rem;font-size:.875rem;font-weight:700}
.progress-bar-wrap{background:var(--gray-200);border-radius:50px;height:8px;overflow:hidden}
.progress-bar{background:linear-gradient(90deg,var(--green),var(--green-light));height:100%;border-radius:50px;transition:width .5s}
.quiz-list{display:flex;flex-direction:column;gap:.625rem}
.quiz-row,.history-row{display:flex;justify-content:space-between;align-items:center;padding:.625rem;background:var(--gray-50);border-radius:var(--radius-sm)}
.quiz-subject,.history-subject{font-weight:700;font-size:.9rem}
.quiz-score,.history-score{font-weight:800;padding:.2rem .625rem;border-radius:50px;font-size:.875rem}
.quiz-score.good,.history-score.good{background:#dcfce7;color:#166534}
.quiz-score.low,.history-score.low{background:#fee2e2;color:#991b1b}
.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.75rem}
.badge-item{text-align:center;padding:.75rem .5rem;background:var(--gray-50);border-radius:var(--radius-sm)}
.badge-icon{font-size:1.5rem;display:block}
.badge-name{font-size:.7rem;font-weight:700;color:var(--gray-700);display:block;margin-top:.25rem}
.empty-state{text-align:center;padding:2rem 1rem;color:var(--gray-500)}
.empty-state.large{padding:4rem 1rem}
.empty-icon{font-size:3rem;margin-bottom:1rem}

.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}
.stat-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);text-align:center}
.stat-card .stat-icon{font-size:1.75rem;margin-bottom:.4rem}
.stat-card .stat-value{font-size:1.75rem;font-weight:900;color:var(--green)}
.stat-card .stat-label{font-size:.8rem;color:var(--gray-500);font-weight:600;margin-top:.1rem}
.chat-page{display:flex;height:calc(100vh - 64px);overflow:hidden}
.chat-sidebar{width:260px;flex-shrink:0;background:var(--white);border-right:2px solid var(--gray-200);padding:1.25rem;overflow-y:auto}
.chat-sidebar-header h3{font-size:1.1rem;font-weight:800;color:var(--gray-900)}
.ai-name{color:var(--green);font-size:.875rem;font-weight:600}
.quick-prompts{display:flex;flex-direction:column;gap:.4rem}
.quick-prompt-btn{background:var(--gray-50);border:1px solid var(--gray-200);padding:.5rem .875rem;border-radius:50px;text-align:left;cursor:pointer;font-size:.8rem;font-family:inherit;transition:var(--transition)}
.quick-prompt-btn:hover{background:var(--green);color:white;border-color:var(--green)}
.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}
.chat-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}
.message{display:flex;gap:.75rem;max-width:85%}
.message-user{margin-left:auto;flex-direction:row-reverse}
.message-assistant{margin-right:auto}
.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.assistant-avatar{background:var(--gray-100)}
.user-avatar{background:var(--green);color:white;font-weight:800;font-size:.9rem}
.message-content{display:flex;flex-direction:column}
.message-bubble{padding:.875rem 1.125rem;border-radius:18px;font-size:.9rem;line-height:1.6}
.message-user .message-bubble{background:var(--green);color:white;border-radius:18px 18px 4px 18px}
.message-assistant .message-bubble{background:var(--white);border:1px solid var(--gray-200);border-radius:18px 18px 18px 4px;box-shadow:var(--shadow)}
.message-time{font-size:.7rem;color:var(--gray-400);margin-top:.2rem}
.message-user .message-time{text-align:right}
.typing-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;color:var(--gray-500);font-size:.875rem}
.typing-dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:typing .8s infinite alternate}
.typing-dot:nth-child(2){animation-delay:.2s}
.typing-dot:nth-child(3){animation-delay:.4s}
@keyframes typing{0%{opacity:.3;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}
.chat-input-area{border-top:2px solid var(--gray-200);padding:1rem;background:var(--white)}
.chat-form{display:flex;flex-direction:column;gap:.5rem}
.chat-input-wrap{display:flex;gap:.75rem;align-items:flex-end}
.chat-textarea{flex:1;border:2px solid var(--gray-300);border-radius:12px;padding:.75rem;resize:none;font-size:.9rem;font-family:inherit;line-height:1.5;max-height:120px;overflow-y:auto}
.chat-textarea:focus{outline:none;border-color:var(--green)}
.send-btn{width:44px;height:44px;background:var(--green);color:white;border:none;border-radius:12px;cursor:pointer;font-size:1.1rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.send-btn:hover{background:var(--green-dark)}
.chat-input-footer{display:flex;justify-content:space-between;font-size:.75rem;color:var(--gray-400)}
@media(max-width:640px){.chat-sidebar{display:none}}
.quiz-layout{display:grid;grid-template-columns:1fr 340px;gap:1.25rem}
@media(max-width:900px){.quiz-layout{grid-template-columns:1fr}}
.quiz-setup-card,.quiz-game,.quiz-history-card{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.count-buttons{display:flex;gap:.5rem;margin-top:.5rem}
.count-btn{padding:.5rem 1.25rem;border:2px solid var(--gray-300);background:var(--gray-50);border-radius:50px;cursor:pointer;font-weight:700;transition:var(--transition);font-family:inherit}
.count-btn.active{border-color:var(--green);background:var(--green);color:white}
.quiz-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.quiz-progress-info{font-weight:800;color:var(--green);font-size:1.1rem;white-space:nowrap}
.quiz-progress-bar{flex:1;background:var(--gray-200);border-radius:50px;height:10px;overflow:hidden}
.quiz-progress-fill{background:var(--green);height:100%;border-radius:50px;transition:width .4s}
.question-text{font-size:1.05rem;font-weight:700;color:var(--gray-900);margin-bottom:1.25rem;line-height:1.6}
.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.option-btn{text-align:left;padding:.875rem 1rem;border:2px solid var(--gray-300);background:var(--gray-50);border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:600;transition:var(--transition);display:flex;gap:.5rem;align-items:flex-start;font-family:inherit}
.option-btn:hover:not(:disabled){border-color:var(--green);background:#dcfce7}
.option-btn.correct{border-color:#22c55e;background:#dcfce7;color:#166534}
.option-btn.wrong{border-color:#ef4444;background:#fee2e2;color:#991b1b}
.option-letter{font-weight:900;width:24px;flex-shrink:0}
.quiz-result-card{text-align:center;padding:2rem}
.result-icon{font-size:4rem;margin-bottom:1rem}
.result-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}

.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-top:1rem}
.subject-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.subject-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.mastery-badge{padding:.25rem .625rem;border-radius:50px;font-weight:800;font-size:.875rem}
.mastery-badge.gold{background:#fef9c3;color:#854d0e}
.mastery-badge.silver{background:var(--gray-100);color:var(--gray-700)}
.mastery-badge.bronze{background:#fed7aa;color:#9a3412}
.progress-bar-lg{background:var(--gray-200);border-radius:50px;height:12px;overflow:hidden;margin-bottom:.75rem}
.progress-fill{background:linear-gradient(90deg,var(--green),var(--green-light));height:100%;border-radius:50px;transition:width .5s}
.topic-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.topic-chip{background:var(--gray-100);padding:.2rem .625rem;border-radius:50px;font-size:.75rem;font-weight:600}
.pq-filters{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.25rem}
.filter-row{display:flex;gap:1rem;flex-wrap:wrap;width:100%}
.question-card-full{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1rem;border-left:4px solid var(--green)}
.question-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.q-number{background:var(--green);color:white;padding:.2rem .625rem;border-radius:50px;font-size:.8rem;font-weight:800}
.q-topic-badge{background:#dbeafe;color:#1e40af;padding:.2rem .625rem;border-radius:50px;font-size:.78rem;font-weight:600}
.question-text-full{font-size:1.05rem;font-weight:700;margin-bottom:1rem;line-height:1.6}
.options-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}
.option-row{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .875rem;border-radius:var(--radius-sm);background:var(--gray-50);font-size:.9rem}
.option-row.is-correct{background:#dcfce7;color:#166534;font-weight:700}
.correct-tick{margin-left:auto}
.explanation-box{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-sm);padding:.875rem;font-size:.875rem;color:#78350f}
.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.achievement-card{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);text-align:center;transition:var(--transition)}
.achievement-card.earned{border:2px solid var(--gold)}
.achievement-card.locked{opacity:.5;filter:grayscale(1)}
.achievement-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.achievement-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}
.achievement-name{font-weight:800;font-size:.9rem;color:var(--gray-900);display:block}
.achievement-desc{font-size:.78rem;color:var(--gray-600);margin-top:.25rem}
.profile-card{text-align:center;background:var(--white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);margin-bottom:1.5rem}
.profile-avatar-large{width:80px;height:80px;background:var(--green);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:900;margin:0 auto 1rem}
.profile-form{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}

.hero{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 60%,#002d1a 100%);color:white;padding:4rem 2rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3rem;min-height:85vh}
.hero-content{max-width:600px}
.hero-badge{display:inline-block;background:rgba(255,255,255,.15);padding:.375rem 1rem;border-radius:50px;font-size:.875rem;font-weight:700;margin-bottom:1.25rem}
.hero-title{font-size:clamp(2rem,5vw,3.25rem);font-weight:900;line-height:1.15;margin-bottom:1.25rem}
.hero-subtitle{font-size:1.1rem;opacity:.9;margin-bottom:2rem;line-height:1.7}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.hero-access-options{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem;opacity:.8}
.hero-access-options span{background:rgba(255,255,255,.1);padding:.25rem .75rem;border-radius:50px}
.hero-visual{max-width:380px;width:100%}
.chat-demo{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;border:1px solid rgba(255,255,255,.2)}
.demo-msg{padding:.875rem 1rem;border-radius:14px;font-size:.875rem;line-height:1.5}
.demo-msg.student{background:rgba(255,255,255,.2);text-align:right;border-radius:14px 14px 4px 14px}
.demo-msg.ai{background:rgba(255,255,255,.95);color:var(--gray-900);border-radius:14px 14px 14px 4px}
.ai-name{font-weight:800;color:var(--green);display:block;margin-bottom:.25rem;font-size:.8rem}
.features-section{padding:5rem 2rem;background:var(--white)}
.levels-section{padding:4rem 2rem;background:var(--gray-50)}
.pricing-preview{padding:4rem 2rem;background:var(--white)}
.cta-banner{padding:4rem 2rem;background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;text-align:center}
.cta-banner h2{font-size:2rem;font-weight:900;margin-bottom:1rem}
.cta-banner p{opacity:.9;margin-bottom:2rem;font-size:1.1rem}
.section-container{max-width:1100px;margin:0 auto}
.section-title{text-align:center;font-size:1.875rem;font-weight:900;color:var(--gray-900);margin-bottom:2.5rem}
.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.feature-card{background:var(--gray-50);border-radius:var(--radius);padding:1.75rem;border:1px solid var(--gray-200)}
.feature-icon{font-size:2.25rem;margin-bottom:1rem}
.feature-card h3{font-size:1.1rem;font-weight:800;margin-bottom:.5rem;color:var(--gray-900)}
.feature-card p{font-size:.9rem;color:var(--gray-600);line-height:1.6}
.levels-row{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem}
.level-card{background:var(--white);border-radius:var(--radius);padding:1.5rem;min-width:180px;flex:1;border:2px solid var(--gray-200);text-align:center}
.level-card.kg{border-color:#FF6B6B}
.level-card.jhs{border-color:#3b82f6}
.level-card.shs{border-color:var(--green)}
.level-card.tertiary{border-color:var(--gray-700)}
.level-icon{font-size:2rem;margin-bottom:.75rem}
.level-card h3{font-weight:800;font-size:.95rem;margin-bottom:.5rem}
.level-card p{font-size:.8rem;color:var(--gray-600)}
.pricing-cards{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
.pricing-card{background:var(--gray-50);border-radius:var(--radius);padding:2rem;min-width:240px;flex:1;max-width:300px;border:2px solid var(--gray-200);text-align:center}
.pricing-card.featured{border-color:var(--green);background:var(--white);box-shadow:var(--shadow-lg);transform:scale(1.03)}
.pricing-badge{background:var(--green);color:white;padding:.2rem .875rem;border-radius:50px;font-size:.78rem;font-weight:700;display:inline-block;margin-bottom:.75rem}
.pricing-card h3{font-weight:900;font-size:1.25rem;margin-bottom:.75rem}
.price{font-size:2rem;font-weight:900;color:var(--green)}
.price span{font-size:.9rem;font-weight:600;color:var(--gray-500)}
.pricing-card ul{list-style:none;margin:1rem 0;text-align:left;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}
.plan-cards{display:flex;gap:1rem;flex-wrap:wrap}
.plan-card{flex:1;min-width:200px;border:2px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;overflow:hidden}
.plan-card.selected{border-color:var(--green);background:#f0fdf4}
.plan-card input{display:none}
.plan-card-body{padding:1.25rem}
.plan-name{font-weight:800;margin-bottom:.375rem}
.plan-price{margin-bottom:.875rem}
.plan-features{list-style:none;font-size:.8rem;color:var(--gray-600);display:flex;flex-direction:column;gap:.3rem}
.admin-wrapper{display:flex;min-height:100vh}
.sidebar{width:240px;flex-shrink:0;background:var(--gray-900);display:flex;flex-direction:column}
.sidebar-brand{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-logo{color:white;font-size:1.1rem;text-decoration:none;display:flex;align-items:center;gap:.5rem}
.sidebar-nav{padding:.75rem;flex:1;display:flex;flex-direction:column;gap:.2rem}
.sidebar-link{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border-radius:var(--radius-sm);color:rgba(255,255,255,.8);font-weight:600;font-size:.875rem;text-decoration:none;transition:var(--transition)}
.sidebar-link:hover,.sidebar-link.active{background:rgba(255,255,255,.12);color:white}
.sidebar-link.sidebar-logout{color:#fca5a5}
.sidebar-divider{height:1px;background:rgba(255,255,255,.1);margin:.5rem 0}
.admin-main{flex:1;display:flex;flex-direction:column;overflow:hidden}
.admin-header{background:var(--white);border-bottom:2px solid var(--gray-200);padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow)}
.admin-header-title{font-weight:800;font-size:1.1rem;flex:1}
.admin-content{flex:1;overflow-y:auto;padding:1.5rem}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}
.stats-grid-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}
.stat-card-admin{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:.25rem;border-top:4px solid}
.stat-card-admin.primary{border-color:var(--green)}.stat-card-admin.success{border-color:#22c55e}.stat-card-admin.warning{border-color:var(--gold)}.stat-card-admin.danger{border-color:#ef4444}.stat-card-admin.info{border-color:#3b82f6}.stat-card-admin.gold{border-color:var(--gold-dark)}
.stat-card-admin .stat-number{font-size:1.75rem;font-weight:900;color:var(--gray-900)}
.stat-card-admin .stat-label{font-size:.78rem;color:var(--gray-500);font-weight:600}
.admin-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}
.panel{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200)}
.panel-header h2{font-size:1rem;font-weight:800}
.info-table{width:100%;border-collapse:collapse;font-size:.875rem}
.info-table th{text-align:left;font-weight:700;color:var(--gray-600);padding:.5rem .25rem;width:40%}
.info-table td{padding:.5rem .25rem;color:var(--gray-900)}
.quick-action-list{display:flex;flex-direction:column;gap:.375rem;padding:1rem}
.quick-action{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border-radius:var(--radius-sm);color:var(--gray-700);font-weight:600;font-size:.875rem;text-decoration:none;transition:var(--transition)}
.quick-action:hover{background:var(--gray-100);color:var(--green)}
.badge-red{background:#ef4444;color:white;border-radius:50px;padding:.1rem .5rem;font-size:.75rem;margin-left:auto}
.data-table{width:100%;border-collapse:collapse;font-size:.875rem}
.data-table th{background:var(--gray-50);padding:.75rem 1rem;text-align:left;font-weight:700;color:var(--gray-600);border-bottom:2px solid var(--gray-200)}
.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100)}
.data-table tr:hover td{background:var(--gray-50)}
.sub-badge{display:inline-block;padding:.3rem .875rem;border-radius:50px;font-weight:700;font-size:.875rem}
.sub-badge.premium{background:#dcfce7;color:#166534}
.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.child-card{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);text-align:center}
.child-avatar{width:64px;height:64px;background:var(--green);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;margin:0 auto 1rem}
.child-stats{display:flex;justify-content:center;gap:1rem;margin:.75rem 0;font-size:.875rem;font-weight:600}
.footer{background:var(--gray-900);color:rgba(255,255,255,.8);padding:3rem 2rem 1rem}
.footer-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}
.footer-brand strong{font-size:1.1rem;font-weight:900;color:white;display:block;margin-bottom:.375rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;text-align:center;font-size:.8rem;color:rgba(255,255,255,.5)}
.install-banner{position:fixed;bottom:0;left:0;right:0;background:var(--green);color:white;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;z-index:999}
.text-center{text-align:center}.text-muted{color:var(--gray-500)}.text-sm{font-size:.875rem}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}
.d-none{display:none}
@media(min-width:768px){.d-md-inline{display:inline}}
.pq-instructions{max-width:600px;margin:0 auto}
.instruction-card{background:var(--white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.contact-info p{display:flex;align-items:center;gap:.5rem;margin-bottom:.625rem;font-size:.95rem}
.about-content{background:var(--white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.about-content h2{margin-top:1.5rem;margin-bottom:.75rem;color:var(--green)}
.success-page{padding:3rem 1rem}
.payment-summary{background:var(--gray-50);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1.5rem}
.payment-amount{font-size:1.75rem;font-weight:900;color:var(--green)}
.admin-page{max-width:1200px}
.sub-free{padding:1rem}
.sub-active{padding:1rem}
@media(max-width:768px){.sidebar{width:200px;position:fixed;z-index:200;transform:translateX(-100%);transition:var(--transition)}.sidebar.open{transform:none}.admin-main{margin-left:0}}

