:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;--amber-400:#fbbf24;--amber-500:#f59e0b;--rose-400:#fb7185;--rose-500:#f43f5e;--rose-600:#e11d48;--bg-app:#080c15;--bg-surface:#1e293bb3;--bg-surface-hover:#33415599;--bg-card:#0f172acc;--border-subtle:#ffffff14;--border-focus:#6366f199;--border-active:#6366f1;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--font-marathi:"Mukta", "Noto Sans Devanagari", -apple-system, sans-serif;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000040, 0 2px 4px -2px #00000040;--shadow-lg:0 10px 15px -3px #00000059, 0 4px 6px -4px #00000059;--shadow-glow:0 0 25px #6366f140;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);min-height:100vh;color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#6366f126 0,#0000 45%),radial-gradient(at 100% 100%,#10b98114 0,#0000 45%),radial-gradient(#0f172acc 0,#0000 100%);background-attachment:fixed;font-size:15px;line-height:1.5}.font-marathi{font-family:var(--font-marathi);letter-spacing:.01em}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:12px}.glass-card:hover{border-color:#ffffff24}.btn{cursor:pointer;transition:all var(--transition-fast);font-size:.9rem;font-weight:500;font-family:var(--font-ui);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;box-shadow:0 4px 12px #4f46e559}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{color:var(--text-primary);border-color:var(--border-subtle);background:#ffffff0d}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.badge{letter-spacing:.025em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-pending{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-primary{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d}.pulse-dot{background-color:var(--emerald-500);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-ring;box-shadow:0 0 #10b981b3}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.marksheet-table{border-collapse:separate;border-spacing:0}.marksheet-row:hover{background:#6366f114!important}.marksheet-row:hover .sticky-col{background:#1a233a!important}.sticky-col{background:#0f172a;position:sticky}.sticky-col-1{z-index:10;left:0}.sticky-col-2{z-index:10;left:56px}.grid-mark-input:focus{box-shadow:0 0 0 2px #6366f166;border:1px solid var(--border-active)!important;background:#6366f140!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--slate-700);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--slate-600)}@media print{@page{size:A4 portrait;margin:8mm}body{color:#000!important;background:#fff!important;font-size:11pt!important}.no-print{display:none!important}.print-container{box-shadow:none!important;background:0 0!important;border:none!important;overflow:visible!important}.marksheet-table{border:1.5pt solid #000!important;width:100%!important}.marksheet-table th,.marksheet-table td{color:#000!important;background:0 0!important;border:.75pt solid #000!important;padding:3px 2px!important;font-size:9pt!important}.marksheet-table th{background:#f1f5f9!important;font-weight:700!important}.sticky-col{position:static!important}.grid-mark-input{color:#000!important;background:0 0!important;border:none!important;font-size:9pt!important}}
