@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";
:root{--bg-primary:#f8fafc;--bg-surface:#fff;--bg-surface-elevated:#f1f5f9;--bg-surface-hover:#e2e8f0;--bg-glass:#ffffffe6;--border-color:#e2e8f0;--border-color-hover:#cbd5e1;--border-color-focus:#4f46e5;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--accent-cyan:#0284c7;--accent-purple:#7e22ce;--accent-emerald:#059669;--accent-amber:#d97706;--accent-rose:#e11d48;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 1px 3px 0 #0000000a, 0 1px 2px -1px #0000000a;--shadow-md:0 4px 20px -2px #0000000d, 0 2px 6px -1px #00000008;--shadow-lg:0 12px 32px -4px #00000014, 0 4px 12px -2px #0000000a;--shadow-glow:0 8px 25px -4px #4f46e52e, 0 4px 8px -2px #4f46e514;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", system-ui, -apple-system, sans-serif}[data-theme=dark]{--bg-primary:#0b0f19;--bg-surface:#131b2e;--bg-surface-elevated:#1a243d;--bg-surface-hover:#232f4e;--bg-glass:#131b2ed9;--border-color:#ffffff14;--border-color-hover:#6366f14d;--border-color-focus:#6366f1;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#6366f126;--accent-cyan:#06b6d4;--accent-purple:#a855f7;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 15px 35px #0009;--shadow-glow:0 0 25px #6366f140}[data-theme=light]{--bg-primary:#f8fafc;--bg-surface:#fff;--bg-surface-elevated:#f1f5f9;--bg-surface-hover:#e2e8f0;--bg-glass:#ffffffe6;--border-color:#e2e8f0;--border-color-hover:#cbd5e1;--border-color-focus:#4f46e5;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--accent-cyan:#0284c7;--accent-purple:#7e22ce;--accent-emerald:#059669;--accent-amber:#d97706;--accent-rose:#e11d48;--shadow-md:0 4px 20px -2px #0000000d, 0 2px 6px -1px #00000008;--shadow-glow:0 8px 25px -4px #4f46e52e}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#4f46e508 0,#0000 50%),radial-gradient(at 100% 100%,#0284c708 0,#0000 50%);min-height:100vh;line-height:1.5;overflow-x:hidden}.glass-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .2s,border-color .2s,box-shadow .2s}.glass-card:hover{border-color:var(--border-color-hover)}.glass-card-interactive:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary)}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex}.badge-vjnt{color:#7e22ce;background:#f3e8ff;border:1px solid #e9d5ff}.badge-sbc{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-obc{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-sc{color:#be123c;background:#ffe4e6;border:1px solid #fecdd3}.badge-st{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-nt{color:#4338ca;background:#e0e7ff;border:1px solid #c7d2fe}.badge-general{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}[data-theme=dark] .badge-vjnt{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}[data-theme=dark] .badge-sbc{color:#22d3ee;background:#06b6d426;border:1px solid #06b6d44d}[data-theme=dark] .badge-obc{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}[data-theme=dark] .badge-sc{color:#fb7185;background:#f43f5e26;border:1px solid #f43f5e4d}[data-theme=dark] .badge-st{color:#34d399;background:#10b98126;border:1px solid #10b9814d}[data-theme=dark] .badge-nt{color:#818cf8;background:#6366f126;border:1px solid #6366f14d}[data-theme=dark] .badge-general{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b84d}.erp-table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-surface);-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.erp-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.erp-table th{background:var(--bg-surface-elevated);color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;padding:.85rem 1rem;font-size:.78rem;font-weight:700}.erp-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:.85rem 1rem}.erp-table tbody tr{transition:background .15s}.erp-table tbody tr:hover{background:var(--primary-light)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.25s cubic-bezier(.16,1,.3,1) modalIn;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #4f46e540}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #4f46e559}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-color-hover);color:var(--primary)}.form-input,.form-select,.form-textarea{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);outline:none;padding:.65rem .9rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.erp-main-wrapper{flex-direction:column;flex:1;min-width:0;margin-left:280px;transition:margin-left .3s cubic-bezier(.16,1,.3,1);display:flex}.erp-header{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);height:70px;box-shadow:var(--shadow-sm);z-index:90;justify-content:space-between;align-items:center;gap:1rem;padding:0 2rem;display:flex;position:sticky;top:0}.erp-main-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:2rem}.mobile-menu-btn,.mobile-close-btn{display:none!important}.sidebar-container{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--border-color);z-index:1000;flex-direction:column;width:280px;min-height:100vh;padding:1.2rem 1rem;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;background:#0f172a80;transition:opacity .3s;position:fixed;inset:0}.dashboard-banner{background:linear-gradient(135deg,#eef2ff 0%,#e0f2fe 100%);border:1px solid #c7d2fe;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;box-shadow:0 4px 16px #4f46e514}.stat-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;display:grid}.dashboard-main-grid{grid-template-columns:1.3fr 1fr;gap:1.5rem;display:grid}.demographics-category-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (max-width:1024px){.erp-main-wrapper{margin-left:0!important}.sidebar-container{box-shadow:var(--shadow-lg);transform:translate(-100%)}.sidebar-container.open{transform:translate(0)!important}.sidebar-backdrop.open{opacity:1!important;pointer-events:auto!important}.mobile-menu-btn,.mobile-close-btn{display:inline-flex!important}.header-center-badges{display:none!important}.dashboard-main-grid{grid-template-columns:1fr!important}.demographics-category-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}}@media (max-width:768px){.erp-header{height:64px!important;padding:0 1rem!important}.erp-main-content{padding:1rem!important}.dashboard-banner{flex-direction:column!important;align-items:flex-start!important;gap:1.2rem!important;padding:1.2rem!important}.dashboard-banner-actions{width:100%!important;display:flex!important}.dashboard-banner-actions button{flex:1!important;justify-content:center!important}.user-profile-info,.role-label{display:none!important}.stat-card-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}.stat-card-value{font-size:1.5rem!important}.modal-content{border-radius:var(--radius-lg)!important;max-width:95vw!important}}@media (max-width:480px){.erp-header-search{display:none!important}.stat-card-grid{grid-template-columns:1fr!important}}@media print{body{color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}.no-print{display:none!important}.print-only{display:block!important}.glass-card{box-shadow:none!important;background:0 0!important;border:none!important}.idcard-print-target{margin-bottom:0!important;transform:scale(1)!important}.idcard-badge-container{gap:1.5rem!important}}
