html{min-height:100%}body,#root{min-height:100vh}.toast-container{z-index:9999;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{color:#fff;border-radius:8px;padding:12px 20px;font-weight:500;animation:.3s slideIn;box-shadow:0 4px 12px #00000026}.toast-success{background-color:#22c55e}.toast-error{background-color:#ef4444}.toast-info{background-color:#3b82f6}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.sidebar{z-index:300;width:var(--sidebar-width);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 100% 0,#e4aa722e,#0000 28%),radial-gradient(circle at 0 100%,#7bb7a31f,#0000 30%),linear-gradient(#1c2126fa 0%,#272c31fa 100%);border:1px solid #ffffff14;border-radius:28px;flex-direction:column;height:calc(100vh - 24px);display:flex;position:fixed;top:12px;left:12px;overflow:hidden auto;box-shadow:0 24px 60px #1213154d}.sidebar:before{content:"";pointer-events:none;background:linear-gradient(#ffffff0f,#0000 18%),linear-gradient(90deg,#0000 0 calc(100% - 1px),#ffffff0d calc(100% - 1px));position:absolute;inset:0}.sidebar-top-row{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 16px;display:flex}.sidebar-logo{align-items:center;gap:12px;display:flex}.sidebar-logo-icon{background:#fff8ef24;border-radius:14px;flex-shrink:0;width:40px;height:40px;padding:6px;box-shadow:inset 0 1px #ffffff1a}.sidebar-logo-text{color:#fff8f0;font-family:var(--font-display);letter-spacing:-.03em;font-size:21px;font-weight:700;line-height:1}.sidebar-logo-text span{color:#efb37a}.sidebar-close,.sidebar-hamburger{color:#fff8efd1;box-shadow:none;background:#ffffff0f;border:1px solid #ffffff1a}.sidebar-close{border-radius:12px;justify-content:center;width:38px;height:38px;padding:0;display:none}.sidebar-close:hover,.sidebar-hamburger:hover{color:#fff8f0;background:#ffffff1f;transform:translateY(0)}.sidebar-close svg,.sidebar-hamburger svg{display:block}.sidebar-user{background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:12px;margin:16px 16px 0;padding:16px;display:flex}.user-avatar{color:#fff8f0;letter-spacing:.08em;background:linear-gradient(135deg,#c46a2d 0%,#efb37a 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:14px;font-weight:800;display:flex;box-shadow:0 12px 20px #c46a2d3d}.user-info{flex-direction:column;min-width:0;display:flex}.user-role{color:#efb37a;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.user-email{color:#fff4e88f;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sidebar-search-wrap{flex-shrink:0;margin:14px 16px 0;position:relative}.sidebar-search-wrap>svg{color:#fff4e857;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.sidebar-search{color:#fff5eb;box-shadow:none;background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;margin:0;padding:12px 14px 12px 38px}.sidebar-search::placeholder{color:#fff4e857}.sidebar-search:focus{background:#ffffff14;border-color:#efb37a66;box-shadow:0 0 0 4px #c46a2d24}.sidebar-search-results{z-index:400;background:#22272cf5;border:1px solid #ffffff14;border-radius:18px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 22px 44px #0b0d0e5c}.sidebar-search-result{color:#fff5eb;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:13px;display:flex}.sidebar-search-result:hover{color:#fffdf8;background:#ffffff0f}.sidebar-search-result small{color:#fff4e86b;font-size:11px}.sidebar nav{flex-direction:column;flex:1;gap:4px;padding:14px 12px 0;display:flex}.sidebar-nav-link{color:#fff4e8a8;transition:transform var(--transition), background var(--transition), color var(--transition);border-radius:16px;align-items:center;gap:12px;padding:11px 12px;font-size:13.5px;font-weight:600;display:flex}.sidebar-nav-link .nav-icon{opacity:.76;flex-shrink:0;width:18px;height:18px}.sidebar-nav-link:hover{color:#fffaf4;background:#ffffff14;transform:translate(2px)}.sidebar-nav-link.active{color:#fff8f0;background:linear-gradient(135deg,#c46a2df0 0%,#8f491df0 100%);box-shadow:0 14px 26px #c46a2d38}.sidebar-nav-link.active .nav-icon,.sidebar-nav-link:hover .nav-icon{opacity:1}.sidebar-invite-btn{color:#e9f3ee;box-shadow:none;background:linear-gradient(135deg,#2f6b5f33 0%,#c46a2d1f 100%);border:1px solid #7bb7a347;border-radius:20px;justify-content:flex-start;margin:14px 16px 0;padding:14px 16px}.sidebar-invite-btn:hover{background:linear-gradient(135deg,#2f6b5f47 0%,#c46a2d2e 100%);transform:translateY(-1px)}.sidebar-bottom{border-top:1px solid #ffffff14;flex-direction:column;flex-shrink:0;gap:8px;margin:16px 12px 12px;padding-top:14px;display:flex}.sidebar-theme-btn,.logout-btn{width:100%;box-shadow:none;border-radius:16px;justify-content:flex-start;padding:12px 14px}.sidebar-theme-btn{color:#fff4e8d1;background:#ffffff0d;border:1px solid #ffffff14}.logout-btn{color:#ffc8c0;background:#c24b431f;border:1px solid #f28a7d38}.sidebar-theme-btn:hover,.logout-btn:hover{transform:translateY(0)}.sidebar-hamburger{z-index:301;border-radius:16px;justify-content:center;width:46px;height:46px;padding:0;display:none;position:fixed;top:16px;left:16px}.sidebar-overlay{z-index:299;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10111275;position:fixed;inset:0}.qr-modal-overlay{z-index:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f10127a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qr-modal{background:radial-gradient(circle at 100% 0,#c46a2d1f,#0000 24%),linear-gradient(#ffffffeb 0%,#fff8f0fa 100%);border:1px solid #dbc8b1b3;border-radius:28px;width:100%;max-width:380px;padding:28px;animation:.22s both fadeInUp;box-shadow:0 30px 64px #18120c38}.qr-modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.qr-modal-header h2{margin:0;font-size:30px}.qr-close{border:1px solid var(--border);width:40px;height:40px;color:var(--text-muted);box-shadow:none;background:#ffffffc7;border-radius:14px;justify-content:center;padding:0}.qr-close:hover{color:var(--text);background:#fffffffa;transform:translateY(0)}.qr-subtitle,.qr-url,.qr-hint{color:var(--text-muted)}.qr-subtitle{margin:0 0 18px;font-size:14px;line-height:1.6}.qr-code-wrap{background:#ffffffb8;border:1px solid #dbc8b1ad;border-radius:22px;justify-content:center;margin-bottom:14px;padding:16px;display:flex}.qr-code-img{border-radius:14px;display:block}.qr-url{text-align:center;word-break:break-all;margin:0 0 16px;font-size:12px}.qr-actions{gap:10px;margin-bottom:14px;display:flex}.qr-copy-btn,.qr-whatsapp-btn{text-align:center;border-radius:16px;flex:1;justify-content:center;padding:12px;font-size:13px;font-weight:800}.qr-copy-btn{box-shadow:none}.qr-whatsapp-btn{color:#fff;background:linear-gradient(135deg,#28b163 0%,#1b9250 100%);align-items:center;display:inline-flex}.qr-whatsapp-btn:hover{color:#fff}.qr-hint{text-align:center;margin:0;font-size:12px;line-height:1.6}.qr-hint strong{color:var(--text)}body.dark .sidebar{background:radial-gradient(circle at 100% 0,#e59b5a2e,#0000 28%),radial-gradient(circle at 0 100%,#7bb7a31a,#0000 30%),linear-gradient(#141619fa 0%,#181b1ffa 100%)}body.dark .qr-modal{background:radial-gradient(circle at 100% 0,#e59b5a1a,#0000 24%),linear-gradient(#212529fa 0%,#1b1e22fa 100%);border-color:#3a4249e6}body.dark .qr-close{border-color:var(--border);color:var(--text-muted);background:#ffffff0a}body.dark .qr-code-wrap{background:#ffffff08;border-color:#3a4249d9}@media (width<=768px){.sidebar{border-radius:0 28px 28px 0;height:100vh;transition:transform .22s;top:0;left:0;transform:translate(-100%)}.sidebar.sidebar-mobile-open{transform:translate(0)}.sidebar-hamburger,.sidebar-close{display:inline-flex}}@media (width<=420px){.qr-modal{padding:22px}.qr-actions{flex-direction:column}}:root{--font-body:"Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--primary:#c46a2d;--primary-dark:#8f491d;--primary-hover:#ae5d28;--primary-pale:#f8e6d4;--primary-ring:#c46a2d33;--accent:#2f6b5f;--accent-pale:#dfede8;--bg:#f6efe5;--bg-strong:#ecdfcd;--surface:#fffaf4eb;--surface-2:#f2e6d7;--surface-3:#e8d6c0;--border:#dbc8b1;--border-2:#bda182;--text:#1f2a31;--text-2:#47565f;--text-muted:#6e7b83;--text-dim:#98a0a5;--success:#236f56;--success-pale:#e2efe9;--warning:#b96d1e;--warning-pale:#fff1df;--danger:#c24b43;--danger-pale:#fde8e3;--radius:14px;--radius-lg:24px;--shadow-sm:0 8px 18px #47341f0f;--shadow:0 18px 40px #47341f1a;--shadow-lg:0 28px 64px #2b211424;--transition:.18s ease;--sidebar-width:268px;--sidebar-offset:292px}body.dark{--primary:#e59b5a;--primary-dark:#c17734;--primary-hover:#f0ad6d;--primary-pale:#e59b5a24;--primary-ring:#e59b5a2e;--accent:#7bb7a3;--accent-pale:#7bb7a31f;--bg:#15181b;--bg-strong:#0f1113;--surface:#1f2327eb;--surface-2:#23282d;--surface-3:#2b3137;--border:#3a4249;--border-2:#56616b;--text:#f6efe6;--text-2:#d8cec1;--text-muted:#b09f8e;--text-dim:#81786f;--success:#7fc7ac;--success-pale:#7fc7ac1f;--warning:#f0b36d;--warning-pale:#f0b36d1f;--danger:#f08a7d;--danger-pale:#f08a7d24;--shadow-sm:0 12px 24px #0000002e;--shadow:0 22px 46px #00000038;--shadow-lg:0 28px 64px #0000004d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{box-shadow:0 0 #c24b4357}70%{box-shadow:0 0 0 10px #c24b4300}to{box-shadow:0 0 #c24b4300}}@keyframes progressFill{0%{width:0%}}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top left, #c46a2d29, transparent 30%), radial-gradient(circle at 82% 12%, #2f6b5f1f, transparent 24%), linear-gradient(180deg, #fbf6ef 0%, var(--bg) 48%, var(--bg-strong) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern", "liga", "ss01";background-attachment:fixed;margin:0;line-height:1.55}body.dark{background:radial-gradient(circle at top left, #e59b5a1f, transparent 26%), radial-gradient(circle at 85% 8%, #7bb7a31a, transparent 22%), linear-gradient(180deg, #1a1d20 0%, var(--bg) 42%, var(--bg-strong) 100%)}a{color:var(--primary-dark);transition:color var(--transition), opacity var(--transition);text-decoration:none}a:hover{color:var(--primary)}button{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fffdf9;letter-spacing:.02em;cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), filter var(--transition);border:none;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 14px 24px #c46a2d33}button:hover:not(:disabled){filter:saturate(1.03);transform:translateY(-1px);box-shadow:0 18px 28px #c46a2d3d}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.56;cursor:not-allowed;box-shadow:none}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#ffffff9e;margin-bottom:12px;padding:12px 14px;font-family:inherit;font-size:14px}body.dark input,body.dark select,body.dark textarea{background:#23282dd6}input::placeholder,textarea::placeholder{color:var(--text-dim)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring);outline:none}h1,h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 16px;line-height:1.05}h1{color:var(--text);font-size:clamp(2rem,1.5rem + 1.35vw,3.1rem)}h2{color:var(--text);font-size:clamp(1.35rem,1.1rem + .4vw,1.8rem)}h3{color:var(--text);letter-spacing:-.01em;margin:0 0 8px;font-size:15px;font-weight:700}label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.main-content{min-height:100vh;padding:clamp(18px,2vw,30px);position:relative}.main-content>*{animation:.38s both fadeInUp}.card{border-radius:var(--radius-lg);background:linear-gradient(180deg, #ffffff94 0%, var(--surface) 100%);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);border:1px solid #dbc8b1d6;padding:22px}.card:hover{border-color:var(--border-2);box-shadow:var(--shadow);transform:translateY(-2px)}.notif-icon{cursor:pointer;font-size:20px;position:relative}.badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:2px 6px;font-size:11px;font-weight:800;animation:2s infinite pulse-ring;position:absolute;top:-5px;right:-10px}.loading-container{min-height:220px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.text-muted{color:var(--text-muted)}.text-small{font-size:13px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.legal-page{max-width:820px;color:var(--text);margin:0 auto;padding:38px 22px 72px;line-height:1.78}.legal-page h1{margin-bottom:10px}.legal-page h2{border-bottom:1px solid var(--border);margin-top:28px;padding-bottom:10px}.legal-page p,.legal-page li{color:var(--text-2);font-size:14px}.legal-page ul{margin:8px 0;padding-left:20px}.legal-page strong{color:var(--text)}.legal-meta{color:var(--text-muted);margin-bottom:28px;font-size:13px}.legal-summary-box{background:linear-gradient(135deg,#dfede8e6 0%,#fffaf4e6 100%);border:1px solid #2f6b5f33;border-radius:18px;margin-bottom:30px;padding:18px 20px}.legal-summary-box p{color:var(--success);margin-bottom:8px;font-weight:800}.legal-summary-box ul{margin:0}.legal-summary-box li{color:var(--success)}.legal-accordion-row{border-bottom:1px solid var(--border)}.legal-accordion-btn{width:100%;box-shadow:none;text-align:left;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:15px;font-weight:800;display:flex}.legal-accordion-btn:hover{color:var(--primary);box-shadow:none;transform:none}.legal-accordion-icon{color:var(--text-muted);font-size:18px}.legal-accordion-body{color:var(--text-2);padding-bottom:20px;font-size:14px}.legal-footer-box{border:1px solid var(--border);color:var(--text-muted);background:#ffffff75;border-radius:18px;margin-top:38px;padding:20px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#90755673;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#907556ad}@media (width<=768px){.main-content{margin-left:0!important;padding:76px 16px 16px!important}}body.dark .stat-box,body.dark .section-card,body.dark .quick-actions,body.dark .recent-card,body.dark .lesson-item,body.dark .student-card,body.dark .lesson-panel,body.dark .lesson-header-card,body.dark .lesson-info-card,body.dark .report-page,body.dark .report-stat-box,body.dark .earnings-chart-card,body.dark .earnings-unpaid-card,body.dark .earnings-history-card,body.dark .earnings-stat,body.dark .wl-card,body.dark .wl-form,body.dark .calendar-grid-wrapper,body.dark .student-stat-card,body.dark .student-dashboard-panel,body.dark .tip-card,body.dark .resource-card,body.dark .notes-card,body.dark .important-note,body.dark .notif-card,body.dark .notification-card,body.dark .lesson-card-new,body.dark .profile-section,body.dark .car-section{background:var(--surface);border-color:var(--border)}body.dark .student-card-progress-track,body.dark .report-progress-bar-track,body.dark .report-skill-track,body.dark .earnings-bar-track,body.dark .student-progress-bar-track,body.dark .student-skill-track{background:var(--border)}body.dark .lesson-note-box,body.dark .student-message-preview,body.dark .student-empty-state,body.dark .student-empty-shell,body.dark .wl-card-left,body.dark .wl-card-notes,body.dark .earnings-lesson-row,body.dark .earnings-filter-tabs button,body.dark .tip-card,body.dark .resource-card,body.dark .notes-card,body.dark .important-note,body.dark .notif-card,body.dark .notification-card,body.dark .lesson-card-new{background:var(--surface-2);border-color:var(--border)}body.dark p{color:var(--text-2)}body.dark small{color:var(--text-muted)}body.dark button{box-shadow:none}.back-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;transition:border-color var(--transition), color var(--transition);border-radius:12px;align-items:center;gap:6px;margin-bottom:20px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.back-btn:hover{color:var(--primary-dark,#c46a2d);border-color:#c46a2d4d}
