@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800&family=Space+Grotesk:wght@400;500;600&display=swap";:root{--primary-50:#f0fdf4;--primary-100:#dcfce7;--primary-200:#bbf7d0;--primary-300:#86efac;--primary-400:#4ade80;--primary-500:#22c55e;--primary-600:#16a34a;--primary-700:#15803d;--primary-800:#166534;--primary-900:#14532d;--accent-50:#fff7ed;--accent-100:#ffedd5;--accent-200:#fed7aa;--accent-300:#fdba74;--accent-400:#fb923c;--accent-500:#f97316;--accent-600:#ea580c;--accent-700:#c2410c;--earth-50:#fefce8;--earth-100:#fef9c3;--earth-200:#fef08a;--earth-300:#fde047;--earth-400:#facc15;--earth-500:#eab308;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--bg-primary:#f8faf5;--bg-secondary:#fff;--bg-card:#fff;--bg-glass:#ffffffb8;--bg-overlay:#00000080;--text-primary:#1a2e05;--text-secondary:#4a5f3a;--text-muted:#7a8b6e;--text-inverse:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 30px #0000001a;--shadow-xl:0 16px 50px #0000001f;--shadow-glow:0 0 30px #22c55e26;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--font-primary:"Poppins", sans-serif;--font-secondary:"Space Grotesk", sans-serif;--sidebar-width:280px;--sidebar-collapsed:80px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-secondary);background:var(--bg-primary);color:var(--text-primary);letter-spacing:-.01em;min-height:100vh;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-secondary);border:none;outline:none}input,textarea,select{font-family:var(--font-secondary);outline:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);line-height:1.2}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-400)}.container{width:100%;max-width:1280px;padding:0 var(--space-lg);margin:0 auto}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid #fff3}.gradient-text{background:linear-gradient(135deg, var(--primary-600), var(--primary-400));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);transition:all var(--transition-base);padding:12px 24px;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:background var(--transition-fast);background:#fff0;position:absolute;inset:0}.btn:hover:after{background:#ffffff1a}.btn-primary{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));color:var(--text-inverse);box-shadow:0 4px 15px #16a34a4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #16a34a66}.btn-secondary{background:var(--bg-secondary);color:var(--primary-700);border:2px solid var(--primary-200)}.btn-secondary:hover{border-color:var(--primary-400);background:var(--primary-50)}.btn-accent{background:linear-gradient(135deg, var(--accent-400), var(--accent-500));color:var(--text-inverse);box-shadow:0 4px 15px #f973164d}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 6px 25px #f9731666}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-lg{padding:16px 32px;font-size:1.05rem}.btn-icon{border-radius:var(--radius-md);width:44px;height:44px;padding:0}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--neutral-200);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);border:1px solid #fff3}.input-group{gap:var(--space-xs);flex-direction:column;display:flex}.input-group label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.input-field{border:2px solid var(--neutral-200);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);transition:all var(--transition-fast);padding:12px 16px;font-size:.95rem}.input-field:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #22c55e1f}.input-field::placeholder{color:var(--neutral-400)}textarea.input-field{resize:vertical;min-height:100px}select.input-field{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--primary-100);color:var(--primary-700)}.badge-warning{background:var(--earth-100);color:var(--accent-700)}.badge-error{color:#b91c1c;background:#fee2e2}.badge-info{color:#1d4ed8;background:#dbeafe}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #22c55e4d}50%{box-shadow:0 0 40px #22c55e99}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes particle-float{0%{opacity:0;transform:translateY(100vh)scale(0)}10%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translateY(-10vh)scale(1)}}.animate-fadeInUp{animation:.6s forwards fadeInUp}.animate-fadeIn{animation:.4s forwards fadeIn}.animate-scaleIn{animation:.4s forwards scaleIn}.spinner{border:3px solid var(--neutral-200);border-top-color:var(--primary-500);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.loading-overlay{z-index:9999;background:#f8faf5e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.toast-container{z-index:10000;gap:var(--space-sm);flex-direction:column;display:flex;position:fixed;top:20px;right:20px}.toast{border-radius:var(--radius-md);background:var(--neutral-800);color:var(--text-inverse);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-sm);padding:14px 20px;font-size:.9rem;font-weight:500;animation:.3s slideInRight;display:flex}.toast-success{background:linear-gradient(135deg,#166534,#15803d)}.toast-error{background:linear-gradient(135deg,#991b1b,#b91c1c)}@media (width<=1024px){.app-main{margin-left:0!important}}@media (width<=768px){.container{padding:0 var(--space-md)}}@media (width<=480px){.container{padding:0 var(--space-sm)}}.sidebar{width:var(--sidebar-width);color:#fff;z-index:1000;transition:width var(--transition-base), transform var(--transition-base);background:linear-gradient(#0f2e0a 0%,#14532d 40%,#166534 100%);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:4px 0 24px #0000002e}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-toggle{z-index:1200;border-radius:var(--radius-md);background:var(--primary-600);color:#fff;width:44px;height:44px;box-shadow:var(--shadow-md);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:1.2rem;display:none;position:fixed;top:14px;left:14px}.sidebar-toggle:hover{background:var(--primary-700);transform:scale(1.05)}.sidebar-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;padding:22px 18px}.sidebar-logo{align-items:center;gap:12px;display:flex}.sidebar.collapsed .sidebar-logo{justify-content:center}.logo-icon{flex-shrink:0;font-size:1.9rem;animation:3s ease-in-out infinite float}.logo-text{font-family:var(--font-primary);-webkit-text-fill-color:transparent;color:#0000;white-space:nowrap;background:linear-gradient(135deg,#86efac,#4ade80);-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700}.sidebar-role-badge{border-radius:var(--radius-full);text-align:center;letter-spacing:.02em;flex-shrink:0;margin:10px 12px 4px;padding:7px 14px;font-size:.78rem;font-weight:700}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex-direction:column;flex:1;gap:3px;padding:12px 10px;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.nav-item{border-radius:var(--radius-md);color:#ffffff9e;transition:all var(--transition-fast);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:13px;width:100%;padding:11px 14px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.nav-item:hover{color:#fffffff2;background:#ffffff17}.nav-item.active{color:#4ade80;background:#4ade8029;font-weight:600}.nav-item.active .nav-icon{color:#4ade80}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:12px}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;min-width:22px;font-size:1.15rem;display:flex}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-footer{border-top:1px solid #ffffff1a;flex-shrink:0;padding:14px 10px}.user-info{border-radius:var(--radius-md);background:#ffffff12;align-items:center;gap:11px;margin-bottom:6px;padding:11px 14px;display:flex}.user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-400), var(--primary-500));flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:flex}.user-details{flex-direction:column;min-width:0;display:flex;overflow:hidden}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.user-role{color:#ffffff80;text-transform:capitalize;font-size:.75rem}.logout-btn:hover{color:#fca5a5!important;background:#ef444426!important}.sidebar-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;display:none;position:fixed;inset:0}.sidebar.collapsed .sidebar-header{justify-content:center;padding:22px 0}.sidebar.collapsed .sidebar-footer{padding:14px 8px}@media (width<=1024px){.sidebar{box-shadow:none;transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar:not(.collapsed){transform:translate(0);box-shadow:6px 0 30px #00000040}.sidebar-toggle{display:flex}.sidebar:not(.collapsed)~.sidebar-overlay,.sidebar-overlay.active{display:block}}@media (width<=480px){.sidebar{width:min(var(--sidebar-width), 85vw)!important}}.app-layout{min-height:100vh;display:flex;position:relative}.app-main{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left var(--transition-base);background:var(--bg-primary);width:calc(100% - var(--sidebar-width));flex:1;overflow-x:hidden}.loading-content{flex-direction:column;align-items:center;gap:16px;display:flex}@media (width<=1024px){.app-main{width:100%;margin-left:0;padding-top:70px}}@media (width<=768px){.app-main{padding-top:64px}}
