@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Outfit:wght@400;500;600;700;800&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0.qu-9752pffj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.09zddjkbdep5a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--primary:#2f8d46;--primary-hover:#247339;--primary-light:#e8f5ed;--primary-dark:#1a5c2e;--primary-glow:#2f8d4633;--accent:#ff6b2b;--accent-hover:#e55a1f;--success:#2f8d46;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--gradient-primary:linear-gradient(135deg, #2f8d46 0%, #43b563 100%);--gradient-accent:linear-gradient(135deg, #ff6b2b 0%, #ff9a5c 100%);--gradient-dark:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);--background:#f5f7f9;--background-alt:#eef1f5;--surface:#fff;--surface-alt:#f9fafb;--surface-hover:#f0f4f8;--text-main:#1a1a2e;--text-secondary:#4a5568;--text-muted:#8a9bb0;--border:#e2e8f0;--border-hover:#c8d5e8;--shadow-xs:0 1px 3px #0000000f;--shadow-sm:0 2px 8px #00000014;--shadow:0 4px 16px #0000001a;--shadow-md:0 8px 24px #0000001f;--shadow-lg:0 16px 40px #00000026;--shadow-xl:0 24px 60px #0003;--shadow-green:0 4px 20px #2f8d464d;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--sidebar-width:260px;--font-main:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Outfit", sans-serif;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.4s cubic-bezier(.175, .885, .32, 1.275)}[data-theme=dark]{--background:#0d1117;--background-alt:#161b22;--surface:#1c2333;--surface-alt:#21293d;--surface-hover:#253045;--text-main:#e6edf3;--text-secondary:#a0aec0;--text-muted:#6e7f96;--border:#30363d;--border-hover:#444d58;--primary-light:#2f8d462e;--shadow-sm:0 2px 8px #0000004d;--shadow:0 4px 16px #0006;--shadow-md:0 8px 24px #00000080;--shadow-lg:0 16px 40px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-main);background-color:var(--background);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.3px;color:var(--text-main);font-weight:700;line-height:1.2}button{cursor:pointer;font-family:var(--font-main);background:0 0;border:none;outline:none}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}@keyframes slideInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress-fill{0%{width:0%}}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-slide-up{animation:.45s ease-out forwards slideInUp}.animate-scale-in{animation:scaleIn .3s var(--transition-spring) forwards}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);padding:24px}.card:hover{box-shadow:var(--shadow);border-color:var(--border-hover)}.btn-primary{background:var(--gradient-primary);color:#fff;border-radius:var(--radius);font-size:.9375rem;font-weight:600;font-family:var(--font-main);white-space:nowrap;box-shadow:var(--shadow-green);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:12px 24px;display:inline-flex;position:relative;overflow:hidden}.btn-primary:after{content:"";transition:background var(--transition-fast);background:#fff0;position:absolute;inset:0}.btn-primary:hover:after{background:#ffffff14}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2f8d4666}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface);border:1.5px solid var(--border);color:var(--text-main);border-radius:var(--radius);font-size:.9rem;font-weight:600;font-family:var(--font-main);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:11px 22px;display:inline-flex}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-outline-primary{border:1.5px solid var(--primary);color:var(--primary);border-radius:var(--radius);font-size:.9rem;font-weight:600;font-family:var(--font-main);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;gap:8px;padding:11px 22px;display:inline-flex}.btn-outline-primary:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-green)}.btn-primary-outline{border:1.5px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:12px;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.btn-primary-outline:hover{background:var(--primary-light)}.btn-secondary-outline{border:1.5px solid var(--border);color:var(--text-main);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:12px;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.btn-secondary-outline:hover{background:var(--background);border-color:var(--text-muted)}.btn-danger{color:var(--danger);border-radius:var(--radius);font-size:.875rem;font-weight:600;font-family:var(--font-main);transition:all var(--transition-fast);background:#ef44441a;border:1.5px solid #ef44444d;align-items:center;gap:6px;padding:10px 20px;display:inline-flex}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:4px 12px;font-size:.7rem;font-weight:700;display:inline-block}.badge-success{color:#166534;background:#dcfce7}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-info{color:#1e40af;background:#dbeafe}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-high{color:#b91c1c;background:#fee2e2}.badge-medium{color:#92400e;background:#fef3c7}.badge-low{color:#166534;background:#dcfce7}[data-theme=dark] .badge-success{color:#6ee7a0;background:#2f8d4633}[data-theme=dark] .badge-warning{color:#fcd34d;background:#f59e0b33}[data-theme=dark] .badge-danger{color:#fca5a5;background:#ef444433}[data-theme=dark] .badge-info{color:#93c5fd;background:#3b82f633}[data-theme=dark] .badge-high{color:#fca5a5;background:#ef444433}[data-theme=dark] .badge-medium{color:#fcd34d;background:#f59e0b33}[data-theme=dark] .badge-low{color:#6ee7a0;background:#2f8d4633}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:flex}.form-group label span{color:var(--danger)}.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--background);width:100%;color:var(--text-main);font-family:var(--font-main);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);outline:none;padding:12px 16px;font-size:.9375rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow);background:var(--surface)}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-row{gap:20px;display:flex}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{background:var(--background-alt);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;text-align:left;padding:14px 18px;font-size:.7rem;font-weight:700}.data-table th:first-child{border-radius:var(--radius) 0 0 0}.data-table th:last-child{border-radius:0 var(--radius) 0 0}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-main);padding:16px 18px;font-size:.9rem}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.status-pill{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:5px 12px;font-size:.72rem;font-weight:700;display:inline-block}.status-pill.pending{color:#b45309;background:#f59e0b1f}.status-pill.approved{color:#166534;background:#2f8d461f}.status-pill.rejected{color:#991b1b;background:#ef44441f}[data-theme=dark] .status-pill.pending{color:#fcd34d;background:#f59e0b33}[data-theme=dark] .status-pill.approved{color:#6ee7a0;background:#2f8d4633}[data-theme=dark] .status-pill.rejected{color:#fca5a5;background:#ef444433}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.stats-grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.stats-grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.stats-grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.page-title{font-size:1.75rem;font-family:var(--font-display);color:var(--text-main);align-items:center;gap:12px;font-weight:800;display:flex}.page-subtitle{color:var(--text-muted);margin-top:6px;font-size:.9375rem}.loading-screen{background:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100vh;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.loading-text{color:var(--text-muted);font-size:.9rem;font-weight:500}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--surface-hover) 50%, var(--border) 75%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.5s infinite shimmer}.empty-state{text-align:center;color:var(--text-muted);padding:64px 24px}.empty-state-icon{opacity:.5;margin-bottom:16px;font-size:3.5rem}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:1.125rem}.empty-state p{font-size:.9rem;line-height:1.6}.divider{background:var(--border);height:1px;margin:24px 0}@media (max-width:1024px){.stats-grid-4,.stats-grid-3{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.stats-grid-4,.stats-grid-3{grid-template-columns:repeat(2,1fr);gap:12px}.stats-grid-2{grid-template-columns:1fr;gap:12px}.form-row{flex-direction:column;gap:16px}.page-title{font-size:1.375rem}.btn-primary,.btn-secondary{justify-content:center;width:100%}}@media (max-width:480px){.stats-grid-4,.stats-grid-3{grid-template-columns:1fr}}
