@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", sans-serif;--bg-main:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--border-color:#00000014;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#4f46e514;--success:#059669;--success-light:#05966914;--warning:#d97706;--warning-light:#d9770614;--danger:#dc2626;--danger-light:#dc262614;--danger-pulse:#dc26264d;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000a, 0 4px 6px -2px #00000005;--shadow-xl:0 20px 25px -5px #0000000d, 0 10px 10px -5px #00000005}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRed{0%{box-shadow:0 0 0 0 var(--danger-pulse)}70%{box-shadow:0 0 0 10px #dc262600}to{box-shadow:0 0 #dc262600}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.fade-in{animation:.4s ease-out forwards fadeIn}.pulse-alarm{animation:2s infinite pulseRed;border:1px solid var(--danger)!important}.float-effect{animation:3s ease-in-out infinite float}.app-container{flex-direction:column;min-height:100vh;display:flex}.glass-card{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:#0000001f}.glass-card-interactive:hover{box-shadow:var(--shadow-xl);background-color:var(--bg-surface-hover);transform:translateY(-2px)}input,select,textarea{width:100%;color:var(--text-primary);font-family:var(--font-sans);background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e526}.teacher-pick-list{flex-direction:column;gap:8px;max-height:50vh;margin-top:8px;display:flex;overflow-y:auto}.teacher-pick{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;word-break:break-word;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:12px 14px;font-weight:600}.teacher-pick:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.teacher-pick.active{border-color:var(--primary);background:#4f46e514;box-shadow:0 0 0 3px #4f46e51f}.btn{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000000a}.btn-secondary:hover{background-color:#00000014}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#b91c1c}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:#047857}.table-container{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background-color:#fff;border-radius:12px;margin-top:15px;margin-bottom:15px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color);background-color:#00000005;padding:14px 16px;font-size:.85rem;font-weight:600}td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:14px 16px;font-size:.95rem}tr:last-child td{border-bottom:none}tr:hover td{background-color:#00000003}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));gap:20px;display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}@media (width<=1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}}.tabs-header{border-bottom:1px solid var(--border-color);gap:8px;margin-bottom:20px;display:flex;overflow-x:auto}.tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.podium-container{justify-content:center;align-items:flex-end;gap:20px;height:220px;margin-top:40px;margin-bottom:20px;display:flex}.podium-step{background-color:var(--bg-surface);border:1px solid var(--border-color);border-bottom:none;border-top-left-radius:12px;border-top-right-radius:12px;flex-direction:column;align-items:center;width:120px;padding:12px;transition:all .3s;display:flex}.podium-step.gold{border-color:#d977064d;height:180px;box-shadow:0 4px 20px #d977061a}.podium-step.silver{border-color:var(--border-color);height:140px}.podium-step.bronze{border-color:#dc262633;height:110px}.podium-avatar{width:48px;height:48px;box-shadow:var(--shadow-md);border:2px solid;border-radius:50%;justify-content:center;align-items:center;margin-top:-36px;margin-bottom:8px;font-size:1.5rem;display:flex}.gold .podium-avatar{background-color:var(--warning-light);border-color:var(--warning);color:var(--warning)}.silver .podium-avatar{background-color:var(--bg-surface-hover);color:#475569;border-color:#94a3b8}.bronze .podium-avatar{background-color:var(--danger-light);border-color:var(--danger);color:var(--danger)}@media print{body{font-family:system-ui,-apple-system,sans-serif;color:#000!important;background:#fff!important;margin:0!important;padding:0!important;font-size:10pt!important}nav,.no-print,button,.btn,.tabs-header,.settings-panel,input,select{display:none!important}@page{size:A4 portrait;margin:8mm}.print-page{page-break-after:always;page-break-inside:avoid;width:100%!important;max-width:100%!important;box-shadow:none!important;color:#000!important;background:0 0!important;border:none!important;margin:0!important;padding:5px!important}.print-page:last-child{page-break-after:avoid}h1,h2,h3,h4,h5,h6{color:#000!important;margin-top:5px!important;margin-bottom:5px!important}table{border-collapse:collapse!important;width:100%!important;margin-top:8px!important;margin-bottom:8px!important}th,td{color:#000!important;background:0 0!important;border:1px solid #333!important;padding:4px 6px!important;font-size:8pt!important;line-height:1.2!important}th{background-color:#f2f2f2!important;font-weight:700!important}.badge{color:#000!important;background:0 0!important;border:1px solid #333!important;padding:1px 4px!important;font-size:7pt!important}.monthly-track-cell{text-align:center;height:18px!important;padding:1px 3px!important;font-size:7pt!important}.table-container{box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important}}
