:root{--primary-green:#1c602b;--secondary-green:#4caf50;--accent-blue:#2196f3;--light-green:#e8f5e9;--white:#fff;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#e0e0e0;--gray-400:#bdbdbd;--gray-500:#9e9e9e;--gray-600:#757575;--gray-700:#616161;--gray-800:#424242;--gray-900:#212121;--text-primary:#1a1a1a;--text-secondary:#666;--success:#4caf50;--warning:#ff9800;--error:#f44336;--shadow-sm:0 1px 3px #0000001f;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--transition:all .2s cubic-bezier(.4,0,.2,1)}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--white);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.3s ease-out fadeIn}.slide-up{animation:.4s ease-out slideUp}.slide-in-right{animation:.3s ease-out slideInRight}:root{--primary-green:#1c602b;--secondary-green:#2e8b57;--light-green:#4caf50;--dark-green:#164c24;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--text-primary:#1f2937;--text-secondary:#4b5563;--text-tertiary:#6b7280;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--transition:all .2s ease-in-out;--transition-slow:all .3s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);background-color:var(--white);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}
.nx{--bg:#f4f7f4;--bg-mid:#edf3ed;--bg-card:#fff;--surface:#fff;--orange:#1c602b;--orange-l:#2e7d32;--green-l:#388e3c;--blue:#1976d2;--red:#d32f2f;--teal:#00796b;--teal-l:#00897b;--purple:#6a4cb3;--yellow:#c77800;--cyan:#00838f;--white:#1a1a1a;--text-sub:#5c6b5e;--text-hint:#93a295;--glass:#1c602b0b;--glass-bdr:#1c602b24;--glass-bdr2:#1c602b38;--sidebar-w:240px;--nx-radius:14px;--nx-radius-sm:9px;--nx-radius-lg:20px;color:var(--white);background:var(--bg);--radius:14px;--radius-sm:9px;--radius-lg:20px;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:15px}.nx .spinner{border:2px solid #1c602b26;border-top-color:var(--orange);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.nx .spinner-sm{width:14px;height:14px}.nx .spinner-lg{border-width:3px;width:34px;height:34px}.nx .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.nx .dot-green{background:var(--green-l);box-shadow:0 0 6px #388e3c80}.nx .dot-red{background:var(--red);box-shadow:0 0 6px #d32f2f80}.nx .dot-orange{background:var(--orange-l);box-shadow:0 0 6px #2e7d3280}.nx .dot-teal{background:var(--teal-l);box-shadow:0 0 6px #00897b80}.nx .dot-blue{background:var(--blue);box-shadow:0 0 6px #1976d280}.nx .dot-yellow{background:var(--yellow);box-shadow:0 0 6px #c7780080}.nx .dot-pulse{animation:1.8s ease-in-out infinite pulse}.nx .badge{letter-spacing:.7px;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:800;display:inline-flex}.nx .badge-orange{color:var(--orange);background:#1c602b1a;border-color:#1c602b59}.nx .badge-green{color:var(--green-l);background:#388e3c1a;border-color:#388e3c59}.nx .badge-red{color:var(--red);background:#d32f2f14;border-color:#d32f2f4d}.nx .badge-teal{color:var(--teal-l);background:#00897b14;border-color:#00897b4d}.nx .badge-blue{color:var(--blue);background:#1976d214;border-color:#1976d24d}.nx .badge-purple{color:var(--purple);background:#6a4cb314;border-color:#6a4cb34d}.nx .badge-yellow{color:var(--yellow);background:#c7780014;border-color:#c778004d}.nx .badge-cyan{color:var(--cyan);background:#00838f14;border-color:#00838f4d}.nx .btn{border-radius:var(--nx-radius-sm);letter-spacing:.8px;cursor:pointer;white-space:nowrap;text-transform:uppercase;border:1.5px solid #0000;justify-content:center;align-items:center;gap:7px;padding:10px 20px;font-size:11px;font-weight:800;transition:all .2s;display:inline-flex}.nx .btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.nx .btn-primary{color:#fff;background:linear-gradient(135deg,#2e7d32,#1c602b);box-shadow:0 4px 14px #1c602b47}.nx .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #1c602b66}.nx .btn-ghost{border-color:var(--glass-bdr2);color:var(--text-sub);background:#fff}.nx .btn-ghost:hover:not(:disabled){background:var(--glass);color:var(--white)}.nx .btn-danger{color:var(--red);background:#d32f2f14;border-color:#d32f2f4d}.nx .btn-danger:hover:not(:disabled){background:#d32f2f29}.nx .btn-teal{color:var(--teal-l);background:#00897b14;border-color:#00897b4d}.nx .btn-teal:hover:not(:disabled){background:#00897b29}.nx .btn-green{color:var(--green-l);background:#388e3c1a;border-color:#388e3c52}.nx .btn-green:hover:not(:disabled){background:#388e3c2e}.nx .btn-sm{padding:6px 12px;font-size:10px}.nx .btn-lg{padding:14px 28px;font-size:13px}.nx .btn-icon-sm{border:1px solid var(--glass-bdr);width:32px;height:32px;color:var(--text-sub);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.nx .btn-icon-sm:hover{background:var(--glass);color:var(--orange);border-color:var(--glass-bdr2)}.nx .input-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-sub);margin-bottom:6px;font-size:10px;font-weight:800;display:block}.nx .input-field{border:1.5px solid var(--glass-bdr2);border-radius:var(--nx-radius-sm);width:100%;color:var(--white);background:#fff;outline:none;padding:11px 14px;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s}.nx .input-field::placeholder{color:var(--text-hint)}.nx .input-field:focus{border-color:var(--orange-l);box-shadow:0 0 0 3px #2e7d321f}.nx select.input-field option{color:var(--white);background:#fff}.nx .data-table{border-collapse:collapse;width:100%}.nx .data-table th{text-align:left;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-hint);border-bottom:1px solid var(--glass-bdr);white-space:nowrap;background:#1c602b08;padding:10px 16px;font-size:10px;font-weight:800}.nx .data-table td{color:var(--text-sub);vertical-align:middle;border-bottom:1px solid #1c602b12;padding:13px 16px;font-size:13px}.nx .data-table tr:last-child td{border-bottom:none}.nx .data-table tbody tr:hover td{background:#1c602b08}.nx .page-title{color:var(--white);letter-spacing:.2px;font-size:22px;font-weight:800}.nx .page-subtitle{color:var(--text-sub);margin-top:3px;font-size:13px;font-weight:500}.nx .section-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-hint);align-items:center;gap:10px;margin-bottom:14px;font-size:10px;font-weight:800;display:flex}.nx .section-label .bar{background:currentColor;border-radius:2px;width:3px;height:14px;display:block}.nx .empty-state{color:var(--text-hint);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.nx .empty-icon{background:var(--glass);border:1px solid var(--glass-bdr);width:64px;height:64px;color:var(--text-hint);border-radius:18px;justify-content:center;align-items:center;display:flex}.nx .empty-title{color:var(--text-sub);font-size:15px;font-weight:700}.nx .empty-sub{color:var(--text-hint);font-size:12px}.nx .overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14281973;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.nx .search-bar{border:1.5px solid var(--glass-bdr2);border-radius:var(--nx-radius-sm);background:#fff;align-items:center;gap:8px;height:40px;padding:0 14px;transition:border-color .2s;display:flex}.nx .search-bar:focus-within{border-color:var(--orange-l)}.nx .search-bar input{color:var(--white);background:0 0;border:none;outline:none;flex:1;font-size:13px;font-weight:500}.nx .search-bar input::placeholder{color:var(--text-hint)}.nx .search-icon{color:var(--text-hint);flex-shrink:0}.nx .tab-bar{border:1px solid var(--glass-bdr);border-radius:var(--nx-radius);background:#fff;gap:4px;margin-bottom:22px;padding:4px;display:flex}.nx .tab-item{cursor:pointer;letter-spacing:.4px;color:var(--text-hint);border:1.5px solid #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:11px;font-weight:700;transition:all .2s;display:flex}.nx .tab-item.active{color:var(--orange);background:#1c602b14;border-color:#1c602b4d}.nx .tab-item:hover:not(.active){color:var(--text-sub);background:#1c602b0a}.nx .chip{cursor:pointer;letter-spacing:.5px;border:1.5px solid var(--glass-bdr);color:var(--text-sub);white-space:nowrap;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:10px;font-weight:700;transition:all .18s;display:inline-flex}.nx .chip.active{color:var(--orange);background:#1c602b1a;border-color:#1c602b73}.nx .chip:hover:not(.active){background:var(--glass);color:var(--white)}.nx .glass-card{border:1px solid var(--glass-bdr);border-radius:var(--nx-radius);background:#fff;box-shadow:0 1px 3px #0000000f}
