:root{--nx-bg-base: #0a0a0f;--nx-bg-card: #111118;--nx-bg-input: #1a1a24;--nx-bg-hover: #1e1e2a;--nx-bg-sidebar: rgba(14, 14, 22, .85);--nx-border: rgba(255, 255, 255, .08);--nx-border-active: rgba(16, 185, 129, .5);--nx-border-hover: rgba(255, 255, 255, .15);--nx-text-primary: #f0f0f5;--nx-text-secondary: #8888a0;--nx-text-muted: #555568;--nx-accent: #10b981;--nx-accent-hover: #34d399;--nx-danger: #ef4444;--nx-danger-hover: #f87171;--nx-warning: #f59e0b;--nx-success: #10b981;--nx-info: #3b82f6;--nx-badge-success-bg: rgba(16, 185, 129, .15);--nx-badge-success-text: #34d399;--nx-badge-warning-bg: rgba(245, 158, 11, .15);--nx-badge-warning-text: #fbbf24;--nx-badge-danger-bg: rgba(239, 68, 68, .15);--nx-badge-danger-text: #f87171;--nx-badge-info-bg: rgba(59, 130, 246, .15);--nx-badge-info-text: #60a5fa;--nx-badge-gray-bg: rgba(255, 255, 255, .08);--nx-badge-gray-text: #8888a0;--nx-font-ui: "Inter", system-ui, -apple-system, sans-serif;--nx-font-mono: "JetBrains Mono", "Fira Code", monospace;--nx-sidebar-width: 256px;--nx-sidebar-collapsed: 64px;--nx-topbar-height: 56px;--nx-radius-sm: 6px;--nx-radius-md: 8px;--nx-radius-lg: 12px;--nx-radius-xl: 16px;--nx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--nx-shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--nx-shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--nx-shadow-glow: 0 0 0 1px var(--nx-border-active), 0 0 12px rgba(16, 185, 129, .15);--nx-transition-fast: .1s ease;--nx-transition: .15s ease;--nx-transition-slow: .3s ease}.nx-admin{font-family:var(--nx-font-ui);color:var(--nx-text-primary);background:var(--nx-bg-base);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nx-admin *,.nx-admin *:before,.nx-admin *:after{box-sizing:border-box}.nx-layout{display:flex;min-height:100vh}.nx-sidebar{width:var(--nx-sidebar-width);background:var(--nx-bg-sidebar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--nx-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:40;transition:width var(--nx-transition-slow);overflow:hidden}.nx-sidebar.collapsed{width:var(--nx-sidebar-collapsed)}.nx-sidebar-brand{height:var(--nx-topbar-height);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--nx-border);gap:12px;flex-shrink:0}.nx-sidebar-brand img{width:28px;height:28px;border-radius:var(--nx-radius-sm)}.nx-sidebar-brand span{font-weight:600;font-size:15px;white-space:nowrap;letter-spacing:-.01em}.collapsed .nx-sidebar-brand span{display:none}.nx-sidebar-nav{flex:1;overflow-y:auto;padding:12px 8px}.nx-sidebar-nav::-webkit-scrollbar{width:4px}.nx-sidebar-nav::-webkit-scrollbar-thumb{background:var(--nx-border);border-radius:4px}.nx-nav-group{margin-bottom:8px}.nx-nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nx-text-muted);padding:8px 12px 4px;white-space:nowrap}.collapsed .nx-nav-group-label{display:none}.nx-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--nx-radius-sm);color:var(--nx-text-secondary);text-decoration:none;font-size:13.5px;font-weight:450;transition:all var(--nx-transition);cursor:pointer;white-space:nowrap}.nx-nav-item:hover{background:var(--nx-bg-hover);color:var(--nx-text-primary)}.nx-nav-item.active{background:#10b9811a;color:var(--nx-accent)}.nx-nav-item.active .nx-nav-icon{color:var(--nx-accent)}.nx-nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.7}.nx-nav-item:hover .nx-nav-icon{opacity:1}.collapsed .nx-nav-item span{display:none}.nx-sidebar-footer{padding:12px 8px;border-top:1px solid var(--nx-border);flex-shrink:0}.nx-main{flex:1;margin-left:var(--nx-sidebar-width);transition:margin-left var(--nx-transition-slow);display:flex;flex-direction:column;min-height:100vh}.sidebar-collapsed .nx-main{margin-left:var(--nx-sidebar-collapsed)}.nx-topbar{height:var(--nx-topbar-height);border-bottom:1px solid var(--nx-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--nx-bg-base);position:sticky;top:0;z-index:30}.nx-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--nx-text-secondary)}.nx-breadcrumb a{color:var(--nx-text-secondary);text-decoration:none;transition:color var(--nx-transition)}.nx-breadcrumb a:hover{color:var(--nx-text-primary)}.nx-breadcrumb .separator{color:var(--nx-text-muted)}.nx-breadcrumb .current{color:var(--nx-text-primary);font-weight:500}.nx-topbar-actions{display:flex;align-items:center;gap:12px}.nx-search-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--nx-bg-input);border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);color:var(--nx-text-muted);font-size:13px;cursor:pointer;transition:all var(--nx-transition)}.nx-search-trigger:hover{border-color:var(--nx-border-hover);color:var(--nx-text-secondary)}.nx-search-trigger kbd{font-family:var(--nx-font-ui);font-size:11px;padding:1px 5px;background:var(--nx-bg-base);border:1px solid var(--nx-border);border-radius:4px;color:var(--nx-text-muted)}.nx-user-menu{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:var(--nx-radius-sm);transition:background var(--nx-transition)}.nx-user-menu:hover{background:var(--nx-bg-hover)}.nx-user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--nx-accent),var(--nx-info));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}.nx-notif-dropdown{position:absolute;top:100%;right:0;width:340px;background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);box-shadow:0 12px 40px #0006;z-index:1000;margin-top:8px;overflow:hidden;animation:nxDropIn .2s ease}@keyframes nxDropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nx-notif-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--nx-border);transition:background var(--nx-transition);color:var(--nx-text-secondary)}.nx-notif-item.unread{background:#3b82f60f}.nx-content{flex:1;padding:24px}.nx-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.nx-page-title{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--nx-text-primary)}.nx-page-subtitle{font-size:13px;color:var(--nx-text-secondary);margin-top:2px}.nx-card{background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-lg);padding:20px;transition:border-color var(--nx-transition)}.nx-card:hover{border-color:var(--nx-border-hover)}.nx-section{background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-lg);margin-bottom:20px;overflow:hidden}.nx-section-header{padding:16px 20px;border-bottom:1px solid var(--nx-border)}.nx-section-title{font-size:15px;font-weight:600;color:var(--nx-text-primary)}.nx-section-desc{font-size:13px;color:var(--nx-text-secondary);margin-top:2px}.nx-section-body{padding:20px}.nx-bento-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:24px}.nx-stat-card{background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-lg);padding:20px;transition:all var(--nx-transition);position:relative;overflow:hidden}.nx-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity var(--nx-transition)}.nx-stat-card:hover{border-color:var(--nx-border-hover);transform:translateY(-1px)}.nx-stat-card:hover:before{opacity:1}.nx-stat-card.accent-success:before{background:var(--nx-success)}.nx-stat-card.accent-warning:before{background:var(--nx-warning)}.nx-stat-card.accent-danger:before{background:var(--nx-danger)}.nx-stat-card.accent-info:before{background:var(--nx-info)}.nx-stat-card .stat-label{font-size:12px;font-weight:500;color:var(--nx-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.nx-stat-card .stat-value{font-size:28px;font-weight:700;font-family:var(--nx-font-mono);letter-spacing:-.02em;color:var(--nx-text-primary);line-height:1;margin-bottom:8px}.nx-stat-card .stat-desc{font-size:12px;color:var(--nx-text-secondary);display:flex;align-items:center;gap:4px}.nx-stat-card .stat-trend-up{color:var(--nx-success)}.nx-stat-card .stat-trend-down{color:var(--nx-danger)}.nx-stat-card.span-2{grid-column:span 2}.nx-table-container{background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-lg);overflow:hidden}.nx-table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--nx-border);gap:12px}.nx-table-search{display:flex;align-items:center;gap:8px;flex:1;max-width:320px}.nx-table-search input{width:100%;background:var(--nx-bg-input);border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);padding:7px 12px;color:var(--nx-text-primary);font-size:13px;font-family:var(--nx-font-ui);outline:none;transition:border-color var(--nx-transition)}.nx-table-search input:focus{border-color:var(--nx-accent);box-shadow:var(--nx-shadow-glow)}.nx-table-search input::placeholder{color:var(--nx-text-muted)}.nx-table-filters{display:flex;gap:8px}.nx-table{width:100%;border-collapse:collapse}.nx-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nx-text-muted);border-bottom:1px solid var(--nx-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--nx-transition);white-space:nowrap}.nx-table th:hover{color:var(--nx-text-secondary)}.nx-table th.sorted{color:var(--nx-accent)}.nx-table th .sort-icon{margin-left:4px;opacity:.5}.nx-table td{padding:12px 16px;font-size:13.5px;border-bottom:1px solid var(--nx-border);color:var(--nx-text-primary);transition:background var(--nx-transition)}.nx-table tr:hover td{background:var(--nx-bg-hover)}.nx-table tr:last-child td{border-bottom:none}.nx-table-empty{text-align:center;padding:48px 16px;color:var(--nx-text-muted)}.nx-table-empty svg{width:48px;height:48px;margin:0 auto 12px;opacity:.3}.nx-table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--nx-border);font-size:13px;color:var(--nx-text-secondary)}.nx-pagination{display:flex;gap:4px}.nx-pagination button{padding:4px 10px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);background:transparent;color:var(--nx-text-secondary);font-size:13px;cursor:pointer;transition:all var(--nx-transition)}.nx-pagination button:hover{background:var(--nx-bg-hover);border-color:var(--nx-border-hover)}.nx-pagination button.active{background:var(--nx-accent);border-color:var(--nx-accent);color:#fff}.nx-pagination button:disabled{opacity:.3;cursor:not-allowed}.nx-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:500;white-space:nowrap}.nx-badge-success{background:var(--nx-badge-success-bg);color:var(--nx-badge-success-text)}.nx-badge-warning{background:var(--nx-badge-warning-bg);color:var(--nx-badge-warning-text)}.nx-badge-danger{background:var(--nx-badge-danger-bg);color:var(--nx-badge-danger-text)}.nx-badge-info{background:var(--nx-badge-info-bg);color:var(--nx-badge-info-text)}.nx-badge-gray{background:var(--nx-badge-gray-bg);color:var(--nx-badge-gray-text)}.nx-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.nx-form-grid .col-span-full{grid-column:span 2}.nx-form-group{display:flex;flex-direction:column;gap:6px}.nx-label{font-size:13px;font-weight:500;color:var(--nx-text-secondary)}.nx-label .required{color:var(--nx-danger);margin-left:2px}.nx-input,.nx-select,.nx-textarea{width:100%;background:var(--nx-bg-input);border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);padding:8px 12px;color:var(--nx-text-primary);font-size:13.5px;font-family:var(--nx-font-ui);outline:none;transition:all var(--nx-transition)}.nx-input:focus,.nx-select:focus,.nx-textarea:focus{border-color:var(--nx-accent);box-shadow:var(--nx-shadow-glow)}.nx-input::placeholder,.nx-textarea::placeholder{color:var(--nx-text-muted)}.nx-input.has-error,.nx-select.has-error,.nx-textarea.has-error{border-color:var(--nx-danger);box-shadow:0 0 0 1px var(--nx-danger)}.nx-error-text{font-size:12px;color:var(--nx-danger);margin-top:2px}.nx-textarea{min-height:80px;resize:vertical}.nx-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238888a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:36px}.nx-input-prefix{display:flex;align-items:center}.nx-input-prefix .prefix{background:var(--nx-bg-base);border:1px solid var(--nx-border);border-right:none;border-radius:var(--nx-radius-sm) 0 0 var(--nx-radius-sm);padding:8px 10px;color:var(--nx-text-muted);font-size:13px;font-family:var(--nx-font-mono)}.nx-input-prefix .nx-input{border-radius:0 var(--nx-radius-sm) var(--nx-radius-sm) 0}.nx-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.nx-toggle-track{width:36px;height:20px;background:var(--nx-bg-input);border:1px solid var(--nx-border);border-radius:9999px;position:relative;transition:all var(--nx-transition)}.nx-toggle-track.active{background:var(--nx-accent);border-color:var(--nx-accent)}.nx-toggle-thumb{width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:1px;left:1px;transition:transform var(--nx-transition)}.nx-toggle-track.active .nx-toggle-thumb{transform:translate(16px)}.nx-file-upload{border:2px dashed var(--nx-border);border-radius:var(--nx-radius-md);padding:24px;text-align:center;cursor:pointer;transition:all var(--nx-transition);color:var(--nx-text-muted);font-size:13px}.nx-file-upload:hover{border-color:var(--nx-accent);background:#10b98108}.nx-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid transparent;border-radius:var(--nx-radius-sm);font-size:13px;font-weight:500;font-family:var(--nx-font-ui);cursor:pointer;transition:all var(--nx-transition);white-space:nowrap}.nx-btn-primary{background:var(--nx-accent);color:#fff}.nx-btn-primary:hover{background:var(--nx-accent-hover);box-shadow:0 0 16px #10b9814d}.nx-btn-secondary{background:transparent;border-color:var(--nx-border);color:var(--nx-text-secondary)}.nx-btn-secondary:hover{background:var(--nx-bg-hover);border-color:var(--nx-border-hover);color:var(--nx-text-primary)}.nx-btn-danger{background:transparent;border-color:var(--nx-danger);color:var(--nx-danger)}.nx-btn-danger:hover{background:var(--nx-danger);color:#fff}.nx-btn-icon{padding:6px;border-radius:var(--nx-radius-sm);background:transparent;border:1px solid var(--nx-border);color:var(--nx-text-secondary);cursor:pointer;transition:all var(--nx-transition)}.nx-slide-over-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:nx-fade-in var(--nx-transition-slow)}.nx-slide-over{position:fixed;top:0;right:0;bottom:0;width:min(600px,90vw);background:var(--nx-bg-base);border-left:1px solid var(--nx-border);z-index:51;display:flex;flex-direction:column;animation:nx-slide-left var(--nx-transition-slow)}.nx-slide-over-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--nx-border);flex-shrink:0}.nx-slide-over-title{font-size:16px;font-weight:600}.nx-slide-over-body{flex:1;overflow-y:auto;padding:24px}.nx-slide-over-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--nx-border);flex-shrink:0}.nx-command-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:60;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;animation:nx-fade-in var(--nx-transition)}.nx-command-palette{width:min(560px,90vw);background:var(--nx-bg-card);border:1px solid var(--nx-border-hover);border-radius:var(--nx-radius-xl);box-shadow:var(--nx-shadow-lg);overflow:hidden;animation:nx-scale-in var(--nx-transition)}.nx-command-input{width:100%;padding:16px 20px;background:transparent;border:none;border-bottom:1px solid var(--nx-border);color:var(--nx-text-primary);font-size:15px;font-family:var(--nx-font-ui);outline:none}.nx-command-input::placeholder{color:var(--nx-text-muted)}.nx-command-results{max-height:320px;overflow-y:auto;padding:8px}.nx-command-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--nx-radius-sm);color:var(--nx-text-secondary);cursor:pointer;font-size:13.5px;transition:all var(--nx-transition-fast)}.nx-command-item:hover,.nx-command-item.highlighted{background:var(--nx-bg-hover);color:var(--nx-text-primary)}.nx-command-item .icon{width:18px;height:18px;opacity:.5}.nx-command-empty{padding:24px;text-align:center;color:var(--nx-text-muted);font-size:13px}.nx-checkbox{width:16px;height:16px;appearance:none;background:var(--nx-bg-input);border:1px solid var(--nx-border);border-radius:4px;cursor:pointer;transition:all var(--nx-transition);position:relative}.nx-checkbox:checked{background:var(--nx-accent);border-color:var(--nx-accent)}.nx-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:10px;font-weight:700}@keyframes nx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nx-slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes nx-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes nx-glow-pulse{0%,to{box-shadow:0 0 #10b98100}50%{box-shadow:0 0 0 4px #10b98126}}.nx-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--nx-bg-base);position:relative;overflow:hidden}.nx-login-page:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(16,185,129,.08) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.nx-login-card{width:min(400px,90vw);background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-xl);padding:40px;position:relative;z-index:1}.nx-login-logo{text-align:center;margin-bottom:32px}.nx-login-logo img{width:48px;height:48px;border-radius:var(--nx-radius-md);margin-bottom:12px}.nx-login-logo h1{font-size:20px;font-weight:600;letter-spacing:-.02em}.nx-login-logo p{font-size:13px;color:var(--nx-text-secondary);margin-top:4px}@media(max-width:1024px){.nx-sidebar{width:var(--nx-sidebar-collapsed)}.nx-sidebar .nx-nav-group-label,.nx-sidebar .nx-nav-item span,.nx-sidebar .nx-sidebar-brand span{display:none}.nx-main{margin-left:var(--nx-sidebar-collapsed)}.nx-bento-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.nx-stat-card.span-2{grid-column:span 1}}@media(max-width:640px){.nx-sidebar{display:none}.nx-main{margin-left:0}.nx-form-grid{grid-template-columns:1fr}.nx-form-grid .col-span-full{grid-column:span 1}}.kanban-column{background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);min-height:500px;display:flex;flex-direction:column}.kanban-card{background:var(--nx-bg-secondary);border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);padding:12px;cursor:grab;transition:all var(--nx-transition)}.kanban-card:hover{transform:translateY(-2px);box-shadow:var(--nx-shadow-md);border-color:var(--nx-border-hover)}.kanban-card:active{cursor:grabbing}.kanban-dragging{opacity:.5;transform:rotate(2deg)}.kanban-drag-over{background:#10b9810d!important;border-color:var(--nx-accent)!important}.nx-btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--nx-radius-sm);color:var(--nx-text-secondary);cursor:pointer;transition:all var(--nx-transition)}.nx-btn-icon:hover{background:var(--nx-bg-hover);color:var(--nx-text-primary)}.nx-notif-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:320px;background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);box-shadow:var(--nx-shadow-lg);z-index:100;overflow:hidden}.nx-notif-item{padding:12px 16px;border-bottom:1px solid var(--nx-border);display:flex;gap:12px;transition:background var(--nx-transition)}.nx-notif-item:hover{background:var(--nx-bg-hover)}.nx-notif-item.unread{background:#10b98108}
