.gnl-toast[data-v-c4270aa7]{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:99999;display:flex;flex-direction:row;align-items:flex-start;gap:14px;padding:16px 20px;min-width:360px;max-width:500px;background:#fff;border-radius:16px;box-shadow:0 20px 50px #0f172a26,0 8px 24px #0f172a1a,0 0 0 1px #0f172a0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:IBM Plex Sans Arabic,Segoe UI,Tahoma,sans-serif;direction:rtl;text-align:right}.gnl-toast-icon[data-v-c4270aa7]{flex-shrink:0;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center}.gnl-toast-content[data-v-c4270aa7]{flex:1;padding-top:2px}.gnl-toast-title[data-v-c4270aa7]{font-size:15px;font-weight:700;color:#0f172a;line-height:1.5;margin-bottom:4px;letter-spacing:-.01em}.gnl-toast-message[data-v-c4270aa7]{font-size:13px;color:#64748b;line-height:1.6;letter-spacing:-.01em}.gnl-toast-close[data-v-c4270aa7]{flex-shrink:0;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-top:2px}.gnl-toast-close[data-v-c4270aa7]:hover{background:#f1f5f9;color:#64748b}.gnl-toast--warning[data-v-c4270aa7]{border-right:4px solid #f59e0b}.gnl-toast--warning .gnl-toast-icon[data-v-c4270aa7]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.gnl-toast--warning .gnl-toast-title[data-v-c4270aa7]{color:#92400e}.gnl-toast--error[data-v-c4270aa7]{border-right:4px solid #ef4444}.gnl-toast--error .gnl-toast-icon[data-v-c4270aa7]{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.gnl-toast--error .gnl-toast-title[data-v-c4270aa7]{color:#991b1b}.gnl-toast--success[data-v-c4270aa7]{border-right:4px solid #22c55e}.gnl-toast--success .gnl-toast-icon[data-v-c4270aa7]{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a}.gnl-toast--success .gnl-toast-title[data-v-c4270aa7]{color:#166534}.gnl-toast--info[data-v-c4270aa7]{border-right:4px solid #3b82f6}.gnl-toast--info .gnl-toast-icon[data-v-c4270aa7]{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.gnl-toast--info .gnl-toast-title[data-v-c4270aa7]{color:#1e40af}.gnl-toast-enter-active[data-v-c4270aa7]{animation:toastSlideInTop-c4270aa7 .6s cubic-bezier(.68,-.55,.265,1.55)}.gnl-toast-leave-active[data-v-c4270aa7]{animation:toastSlideOutTop-c4270aa7 .4s cubic-bezier(.6,-.28,.735,.045)}@keyframes toastSlideInTop-c4270aa7{0%{opacity:0;transform:translate(-50%) translateY(-120%) scale(.7) rotateX(-30deg);filter:blur(4px)}50%{opacity:.8;transform:translate(-50%) translateY(8px) scale(1.02) rotateX(5deg);filter:blur(0px)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1) rotateX(0);filter:blur(0px)}}@keyframes toastSlideOutTop-c4270aa7{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1) rotateX(0);filter:blur(0px)}30%{opacity:.7;transform:translate(-50%) translateY(-10px) scale(.98) rotateX(5deg);filter:blur(0px)}to{opacity:0;transform:translate(-50%) translateY(-150%) scale(.6) rotateX(-30deg);filter:blur(6px)}}@media(max-width:768px){.gnl-toast[data-v-c4270aa7]{top:16px;left:50%;transform:translate(-50%);min-width:300px;max-width:calc(100% - 32px);padding:14px 16px;gap:12px;border-radius:14px}.gnl-toast-icon[data-v-c4270aa7]{width:36px;height:36px;border-radius:10px}.gnl-toast-icon svg[data-v-c4270aa7]{width:18px;height:18px}.gnl-toast-content[data-v-c4270aa7]{min-width:0;flex:1}.gnl-toast-title[data-v-c4270aa7]{font-size:14px;margin-bottom:2px;word-wrap:break-word;overflow-wrap:break-word}.gnl-toast-message[data-v-c4270aa7]{font-size:12px;word-wrap:break-word;overflow-wrap:break-word}.gnl-toast-close[data-v-c4270aa7]{width:26px;height:26px}.gnl-toast-close svg[data-v-c4270aa7]{width:14px;height:14px}}@media(max-width:480px){.gnl-toast[data-v-c4270aa7]{top:12px;left:12px;right:12px;transform:none;min-width:auto;max-width:none;width:auto;padding:12px 14px;gap:10px;border-radius:12px}.gnl-toast-icon[data-v-c4270aa7]{width:32px;height:32px;border-radius:8px}.gnl-toast-icon svg[data-v-c4270aa7]{width:16px;height:16px}.gnl-toast-content[data-v-c4270aa7]{padding-top:0}.gnl-toast-title[data-v-c4270aa7]{font-size:13px;line-height:1.4;margin-bottom:2px}.gnl-toast-message[data-v-c4270aa7]{font-size:11px;line-height:1.5}.gnl-toast-close[data-v-c4270aa7]{width:24px;height:24px;margin-top:0}.gnl-toast-close svg[data-v-c4270aa7]{width:12px;height:12px}@keyframes toastSlideInTop-c4270aa7{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOutTop-c4270aa7{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}}:root{--gnl-primary-50: #eff6ff;--gnl-primary-100: #dbeafe;--gnl-primary-200: #bfdbfe;--gnl-primary-300: #93c5fd;--gnl-primary-400: #60a5fa;--gnl-primary-500: #3b82f6;--gnl-primary-600: #2563eb;--gnl-primary-700: #1d4ed8;--gnl-primary-800: #1e40af;--gnl-primary-900: #1e3a8a;--gnl-primary-950: #172554;--gnl-primary: #2563eb;--gnl-primary-light: #60a5fa;--gnl-primary-dark: #1d4ed8;--gnl-primary-darker: #1e40af;--gnl-white: #ffffff;--gnl-gray-50: #f9fafb;--gnl-gray-100: #f3f4f6;--gnl-gray-200: #e5e7eb;--gnl-gray-300: #d1d5db;--gnl-gray-400: #9ca3af;--gnl-gray-500: #6b7280;--gnl-gray-600: #4b5563;--gnl-gray-700: #374151;--gnl-gray-800: #1f2937;--gnl-gray-900: #111827;--gnl-black: #000000;--gnl-slate-50: #f8fafc;--gnl-slate-100: #f1f5f9;--gnl-slate-200: #e2e8f0;--gnl-slate-300: #cbd5e1;--gnl-slate-400: #94a3b8;--gnl-slate-500: #64748b;--gnl-slate-600: #475569;--gnl-slate-700: #334155;--gnl-slate-800: #1e293b;--gnl-slate-900: #0f172a;--gnl-slate-950: #020617;--gnl-success: #16a34a;--gnl-success-light: #22c55e;--gnl-success-bg: #dcfce7;--gnl-error: #dc2626;--gnl-error-light: #ef4444;--gnl-error-bg: #fee2e2;--gnl-warning: #d97706;--gnl-warning-light: #f59e0b;--gnl-warning-bg: #fef3c7;--gnl-info: #0284c7;--gnl-info-light: #38bdf8;--gnl-info-bg: #e0f2fe;--gnl-cyan-50: #ecfeff;--gnl-cyan-100: #cffafe;--gnl-cyan-200: #a5f3fc;--gnl-cyan-300: #67e8f9;--gnl-cyan-400: #22d3ee;--gnl-cyan-500: #06b6d4;--gnl-cyan-600: #0891b2;--gnl-cyan-700: #0e7490;--gnl-cyan-800: #155e75;--gnl-cyan-900: #164e63;--gnl-indigo-50: #eef2ff;--gnl-indigo-100: #e0e7ff;--gnl-indigo-200: #c7d2fe;--gnl-indigo-300: #a5b4fc;--gnl-indigo-400: #818cf8;--gnl-indigo-500: #6366f1;--gnl-indigo-600: #4f46e5;--gnl-indigo-700: #4338ca;--gnl-indigo-800: #3730a3;--gnl-indigo-900: #312e81;--gnl-bg-body: #f3f4f6;--gnl-bg-card: #ffffff;--gnl-bg-sidebar: linear-gradient(180deg, #2563eb 0%, #1d4ed8 50%, #1e40af 100%);--gnl-bg-hover: rgba(37, 99, 235, .08);--gnl-bg-active: rgba(37, 99, 235, .12);--gnl-gradient-primary: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--gnl-gradient-primary-light: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--gnl-gradient-cyan: linear-gradient(135deg, #06b6d4, #0284c7);--gnl-gradient-success: linear-gradient(135deg, #22c55e, #16a34a);--gnl-gradient-warning: linear-gradient(135deg, #f59e0b, #d97706);--gnl-gradient-error: linear-gradient(135deg, #ef4444, #dc2626);--gnl-gradient-indigo: linear-gradient(135deg, #6366f1, #4f46e5);--gnl-gradient-dark: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);--gnl-gradient-light: linear-gradient(135deg, #f8fafc, #f1f5f9);--gnl-text-primary: #111827;--gnl-text-secondary: #4b5563;--gnl-text-muted: #6b7280;--gnl-text-light: #9ca3af;--gnl-text-white: #ffffff;--gnl-text-on-primary: #ffffff;--gnl-border: #e5e7eb;--gnl-border-light: #f3f4f6;--gnl-border-dark: #d1d5db;--gnl-border-focus: #0284c7;--gnl-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--gnl-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--gnl-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--gnl-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--gnl-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--gnl-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--gnl-shadow-primary: 0 4px 14px 0 rgba(37, 99, 235, .35);--gnl-shadow-primary-lg: 0 10px 40px rgba(37, 99, 235, .3);--gnl-shadow-cyan: 0 10px 40px rgba(6, 182, 212, .3);--gnl-shadow-success: 0 6px 20px rgba(22, 163, 74, .35);--gnl-shadow-card: 0 4px 20px rgba(15, 23, 42, .06);--gnl-shadow-card-hover: 0 12px 40px rgba(15, 23, 42, .1);--gnl-radius-xs: 4px;--gnl-radius-sm: 6px;--gnl-radius: 8px;--gnl-radius-md: 10px;--gnl-radius-lg: 12px;--gnl-radius-xl: 14px;--gnl-radius-2xl: 16px;--gnl-radius-3xl: 20px;--gnl-radius-4xl: 24px;--gnl-radius-full: 9999px;--gnl-transition-fast: .15s ease;--gnl-transition: .2s ease;--gnl-transition-slow: .3s ease;--gnl-space-xs: 4px;--gnl-space-sm: 8px;--gnl-space-md: 12px;--gnl-space-lg: 16px;--gnl-space-xl: 24px;--gnl-space-2xl: 32px;--gnl-space-3xl: 48px;--gnl-text-xs: .75rem;--gnl-text-sm: .875rem;--gnl-text-base: 1rem;--gnl-text-lg: 1.125rem;--gnl-text-xl: 1.25rem;--gnl-text-2xl: 1.5rem;--gnl-text-3xl: 1.875rem;--gnl-text-4xl: 2.25rem;--gnl-font-normal: 400;--gnl-font-medium: 500;--gnl-font-semibold: 600;--gnl-font-bold: 700}*,*:before,*:after{box-sizing:border-box}@font-face{font-family:VLAX;src:url(/assets/VLAX-01-kM92sQhu.ttf)}html{touch-action:manipulation;-ms-touch-action:manipulation;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0;padding:0;background:var(--gnl-bg-body);font-family:IBM Plex Sans Arabic,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--gnl-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-ms-touch-action:manipulation}@media(max-width:1024px){html,body,*{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}}#app{min-height:100vh}button,input,select,textarea{font-family:inherit}a{color:var(--gnl-primary);text-decoration:none;transition:color var(--gnl-transition-fast)}a:hover{color:var(--gnl-primary-dark)}.gnl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:var(--gnl-text-sm);font-weight:var(--gnl-font-medium);border-radius:var(--gnl-radius-md);border:none;cursor:pointer;transition:all var(--gnl-transition);white-space:nowrap;text-decoration:none}.gnl-btn:disabled{opacity:.6;cursor:not-allowed}.gnl-btn-primary{background:var(--gnl-primary);color:var(--gnl-text-white)}.gnl-btn-primary:hover:not(:disabled){background:var(--gnl-primary-dark);box-shadow:var(--gnl-shadow-primary)}.gnl-btn-primary:active:not(:disabled){background:var(--gnl-primary-darker)}.gnl-btn-secondary{background:var(--gnl-gray-100);color:var(--gnl-text-secondary);border:1px solid var(--gnl-border)}.gnl-btn-secondary:hover:not(:disabled){background:var(--gnl-gray-200);border-color:var(--gnl-border-dark)}.gnl-btn-outline{background:transparent;color:var(--gnl-primary);border:1px solid var(--gnl-primary)}.gnl-btn-outline:hover:not(:disabled){background:var(--gnl-primary);color:var(--gnl-text-white)}.gnl-btn-ghost{background:transparent;color:var(--gnl-text-secondary)}.gnl-btn-ghost:hover:not(:disabled){background:var(--gnl-bg-hover);color:var(--gnl-primary)}.gnl-btn-danger{background:var(--gnl-error);color:var(--gnl-text-white)}.gnl-btn-danger:hover:not(:disabled){background:var(--gnl-error-light)}.gnl-btn-success{background:var(--gnl-success);color:var(--gnl-text-white)}.gnl-btn-success:hover:not(:disabled){background:var(--gnl-success-light)}.gnl-btn-sm{padding:6px 12px;font-size:var(--gnl-text-xs)}.gnl-btn-lg{padding:14px 28px;font-size:var(--gnl-text-base)}.gnl-btn-icon{padding:8px;width:36px;height:36px}.gnl-btn-icon.gnl-btn-sm{width:28px;height:28px;padding:6px}.gnl-btn-icon.gnl-btn-lg{width:44px;height:44px;padding:10px}.gnl-input{width:100%;padding:10px 14px;font-size:var(--gnl-text-sm);color:var(--gnl-text-primary);background:var(--gnl-white);border:1px solid var(--gnl-border);border-radius:var(--gnl-radius-md);transition:all var(--gnl-transition);outline:none}.gnl-input:focus{border-color:var(--gnl-primary);box-shadow:0 0 0 3px #0284c71a}.gnl-input:disabled{background:var(--gnl-gray-100);cursor:not-allowed}.gnl-input::placeholder{color:var(--gnl-text-light)}.gnl-input-error{border-color:var(--gnl-error)}.gnl-input-error:focus{box-shadow:0 0 0 3px #dc26261a}.gnl-input-wrapper{position:relative}.gnl-input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--gnl-text-muted);pointer-events:none}.gnl-input-wrapper .gnl-input{padding-right:40px}.gnl-textarea{min-height:100px;resize:vertical}.gnl-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='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;padding-left:40px}.gnl-card{background:var(--gnl-bg-card);border-radius:var(--gnl-radius-lg);box-shadow:var(--gnl-shadow);overflow:hidden}.gnl-card-header{padding:16px 20px;border-bottom:1px solid var(--gnl-border-light);display:flex;align-items:center;justify-content:space-between;gap:12px}.gnl-card-title{font-size:var(--gnl-text-lg);font-weight:var(--gnl-font-semibold);color:var(--gnl-text-primary);margin:0}.gnl-card-body{padding:20px}.gnl-card-footer{padding:16px 20px;border-top:1px solid var(--gnl-border-light);background:var(--gnl-gray-50)}.gnl-card-bordered{box-shadow:none;border:1px solid var(--gnl-border)}.gnl-card-flat{box-shadow:none;background:var(--gnl-gray-50)}.gnl-table-wrapper{overflow-x:auto;background:var(--gnl-bg-card);border-radius:var(--gnl-radius-lg);box-shadow:var(--gnl-shadow)}.gnl-table{width:100%;border-collapse:collapse;font-size:var(--gnl-text-sm)}.gnl-table th,.gnl-table td{padding:12px 16px;text-align:right}.gnl-table th{background:var(--gnl-gray-50);font-weight:var(--gnl-font-semibold);color:var(--gnl-text-secondary);border-bottom:1px solid var(--gnl-border);white-space:nowrap}.gnl-table td{border-bottom:1px solid var(--gnl-border-light);color:var(--gnl-text-primary)}.gnl-table tbody tr:last-child td{border-bottom:none}.gnl-table tbody tr:hover{background:var(--gnl-gray-50)}.gnl-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--gnl-text-xs);font-weight:var(--gnl-font-medium);border-radius:var(--gnl-radius-full)}.gnl-badge-primary{background:var(--gnl-primary-100);color:var(--gnl-primary-700)}.gnl-badge-success{background:var(--gnl-success-bg);color:var(--gnl-success)}.gnl-badge-error{background:var(--gnl-error-bg);color:var(--gnl-error)}.gnl-badge-warning{background:var(--gnl-warning-bg);color:var(--gnl-warning)}.gnl-badge-gray{background:var(--gnl-gray-100);color:var(--gnl-gray-600)}.gnl-alert{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--gnl-radius-md);font-size:var(--gnl-text-sm)}.gnl-alert-icon{flex-shrink:0;width:20px;height:20px}.gnl-alert-content{flex:1}.gnl-alert-title{font-weight:var(--gnl-font-semibold);margin-bottom:4px}.gnl-alert-info{background:var(--gnl-info-bg);color:var(--gnl-primary-800);border:1px solid var(--gnl-primary-200)}.gnl-alert-success{background:var(--gnl-success-bg);color:#166534;border:1px solid #bbf7d0}.gnl-alert-warning{background:var(--gnl-warning-bg);color:#92400e;border:1px solid #fde68a}.gnl-alert-error{background:var(--gnl-error-bg);color:#991b1b;border:1px solid #fecaca}.gnl-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:gnl-fadeIn var(--gnl-transition)}.gnl-modal{background:var(--gnl-bg-card);border-radius:var(--gnl-radius-xl);box-shadow:var(--gnl-shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow:hidden;animation:gnl-slideUp var(--gnl-transition)}.gnl-modal-header{padding:20px 24px;border-bottom:1px solid var(--gnl-border-light);display:flex;align-items:center;justify-content:space-between}.gnl-modal-title{font-size:var(--gnl-text-lg);font-weight:var(--gnl-font-semibold);color:var(--gnl-text-primary);margin:0}.gnl-modal-close{background:none;border:none;cursor:pointer;color:var(--gnl-text-muted);border-radius:var(--gnl-radius);transition:all var(--gnl-transition-fast)}.gnl-modal-close:hover{background:var(--gnl-gray-100);color:var(--gnl-text-primary)}.gnl-modal-body{padding:24px;overflow-y:auto}.gnl-modal-footer{padding:16px 24px;border-top:1px solid var(--gnl-border-light);display:flex;justify-content:flex-start;gap:12px}.gnl-form-group{margin-bottom:20px}.gnl-label{display:block;font-size:var(--gnl-text-sm);font-weight:var(--gnl-font-medium);color:var(--gnl-text-secondary);margin-bottom:6px}.gnl-label-required:after{content:"*";color:var(--gnl-error);margin-right:4px}.gnl-helper-text{font-size:var(--gnl-text-xs);color:var(--gnl-text-muted);margin-top:6px}.gnl-error-text{font-size:var(--gnl-text-xs);color:var(--gnl-error);margin-top:6px}.gnl-spinner{width:24px;height:24px;border:2px solid var(--gnl-gray-200);border-top-color:var(--gnl-primary);border-radius:50%;animation:gnl-spin .8s linear infinite}.gnl-spinner-sm{width:16px;height:16px;border-width:2px}.gnl-spinner-lg{width:40px;height:40px;border-width:3px}.gnl-loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:10}.gnl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.gnl-empty-icon{width:40px;height:40px;color:var(--gnl-gray-300);margin-bottom:0;text-align:center}.gnl-empty-title{font-size:var(--gnl-text-lg);font-weight:var(--gnl-font-semibold);color:var(--gnl-text-primary);margin-bottom:8px}.gnl-empty-text{font-size:var(--gnl-text-sm);color:var(--gnl-text-muted);max-width:320px}.gnl-divider{height:1px;background:var(--gnl-border);border:none;margin:16px 0}.gnl-divider-vertical{width:1px;height:100%;background:var(--gnl-border)}.gnl-tooltip{position:relative}.gnl-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 12px;background:var(--gnl-slate-800);color:var(--gnl-text-white);font-size:var(--gnl-text-xs);border-radius:var(--gnl-radius);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--gnl-transition-fast);pointer-events:none;margin-bottom:8px}.gnl-tooltip:hover:after{opacity:1;visibility:visible}.gnl-text-primary{color:var(--gnl-primary)!important}.gnl-text-success{color:var(--gnl-success)!important}.gnl-text-error{color:var(--gnl-error)!important}.gnl-text-warning{color:var(--gnl-warning)!important}.gnl-text-muted{color:var(--gnl-text-muted)!important}.gnl-bg-primary{background-color:var(--gnl-primary)!important}.gnl-bg-success{background-color:var(--gnl-success)!important}.gnl-bg-error{background-color:var(--gnl-error)!important}.gnl-bg-warning{background-color:var(--gnl-warning)!important}.gnl-flex{display:flex}.gnl-flex-col{flex-direction:column}.gnl-items-center{align-items:center}.gnl-justify-center{justify-content:center}.gnl-justify-between{justify-content:space-between}.gnl-gap-sm{gap:var(--gnl-space-sm)}.gnl-gap-md{gap:var(--gnl-space-md)}.gnl-gap-lg{gap:var(--gnl-space-lg)}.gnl-mb-0{margin-bottom:0!important}.gnl-mb-sm{margin-bottom:var(--gnl-space-sm)}.gnl-mb-md{margin-bottom:var(--gnl-space-md)}.gnl-mb-lg{margin-bottom:var(--gnl-space-lg)}.gnl-mb-xl{margin-bottom:var(--gnl-space-xl)}.gnl-mt-0{margin-top:0!important}.gnl-mt-sm{margin-top:var(--gnl-space-sm)}.gnl-mt-md{margin-top:var(--gnl-space-md)}.gnl-mt-lg{margin-top:var(--gnl-space-lg)}.gnl-p-0{padding:0!important}.gnl-p-sm{padding:var(--gnl-space-sm)}.gnl-p-md{padding:var(--gnl-space-md)}.gnl-p-lg{padding:var(--gnl-space-lg)}.gnl-text-center{text-align:center}.gnl-text-right{text-align:right}.gnl-text-left{text-align:left}.gnl-font-normal{font-weight:var(--gnl-font-normal)}.gnl-font-medium{font-weight:var(--gnl-font-medium)}.gnl-font-semibold{font-weight:var(--gnl-font-semibold)}.gnl-font-bold{font-weight:var(--gnl-font-bold)}.gnl-cursor-pointer{cursor:pointer}.gnl-cursor-not-allowed{cursor:not-allowed}.gnl-hidden{display:none!important}.gnl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes gnl-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gnl-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gnl-slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes gnl-spin{to{transform:rotate(360deg)}}@keyframes gnl-pulse{0%,to{opacity:1}50%{opacity:.5}}.gnl-animate-fadeIn{animation:gnl-fadeIn var(--gnl-transition)}.gnl-animate-slideUp{animation:gnl-slideUp var(--gnl-transition)}.gnl-animate-pulse{animation:gnl-pulse 2s ease-in-out infinite}.gnl-page{padding:24px;max-width:1400px;margin:0 auto}.gnl-page-header{margin-bottom:24px}.gnl-page-title{font-size:var(--gnl-text-2xl);font-weight:var(--gnl-font-bold);color:var(--gnl-text-primary);margin:0 0 8px}.gnl-page-subtitle{font-size:var(--gnl-text-sm);color:var(--gnl-text-muted);margin:0}.gnl-stat-card{background:var(--gnl-bg-card);border-radius:var(--gnl-radius-lg);padding:20px;box-shadow:var(--gnl-shadow)}.gnl-stat-label{font-size:var(--gnl-text-sm);color:var(--gnl-text-muted);margin-bottom:8px}.gnl-stat-value{font-size:var(--gnl-text-2xl);font-weight:var(--gnl-font-bold);color:var(--gnl-text-primary)}.gnl-stat-icon{width:48px;height:48px;border-radius:var(--gnl-radius-md);display:flex;align-items:center;justify-content:center;background:var(--gnl-primary-100);color:var(--gnl-primary)}.gnl-tabs{display:flex;gap:4px;padding:4px;background:var(--gnl-gray-100);border-radius:var(--gnl-radius-md)}.gnl-tab{padding:8px 16px;font-size:var(--gnl-text-sm);font-weight:var(--gnl-font-medium);color:var(--gnl-text-muted);background:transparent;border:none;border-radius:var(--gnl-radius);cursor:pointer;transition:all var(--gnl-transition-fast)}.gnl-tab:hover{color:var(--gnl-text-secondary)}.gnl-tab-active{background:var(--gnl-white);color:var(--gnl-primary);box-shadow:var(--gnl-shadow-sm)}.gnl-checkbox,.gnl-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--gnl-text-sm);color:var(--gnl-text-secondary)}.gnl-checkbox input,.gnl-radio input{width:18px;height:18px;accent-color:var(--gnl-primary);cursor:pointer}.gnl-progress{height:8px;background:var(--gnl-gray-200);border-radius:var(--gnl-radius-full);overflow:hidden}.gnl-progress-bar{height:100%;background:var(--gnl-primary);border-radius:var(--gnl-radius-full);transition:width var(--gnl-transition-slow)}.gnl-progress-success .gnl-progress-bar{background:var(--gnl-success)}.gnl-progress-warning .gnl-progress-bar{background:var(--gnl-warning)}.gnl-progress-error .gnl-progress-bar{background:var(--gnl-error)}.gnl-avatar{width:40px;height:40px;border-radius:var(--gnl-radius-full);background:var(--gnl-primary-100);color:var(--gnl-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--gnl-font-semibold);font-size:var(--gnl-text-sm);overflow:hidden}.gnl-avatar img{width:100%;height:100%;object-fit:cover}.gnl-avatar-sm{width:32px;height:32px;font-size:var(--gnl-text-xs)}.gnl-avatar-lg{width:56px;height:56px;font-size:var(--gnl-text-lg)}.gnl-breadcrumb{display:flex;align-items:center;gap:8px;font-size:var(--gnl-text-sm);color:var(--gnl-text-muted)}.gnl-breadcrumb-item{color:var(--gnl-text-muted);text-decoration:none}.gnl-breadcrumb-item:hover{color:var(--gnl-primary)}.gnl-breadcrumb-separator{color:var(--gnl-gray-300)}.gnl-breadcrumb-current{color:var(--gnl-text-primary);font-weight:var(--gnl-font-medium)}.gnl-dropdown{position:relative;display:inline-block}.gnl-dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;background:var(--gnl-white);border-radius:var(--gnl-radius-md);box-shadow:var(--gnl-shadow-lg);border:1px solid var(--gnl-border-light);padding:4px;z-index:100;animation:gnl-slideDown var(--gnl-transition-fast)}.gnl-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:var(--gnl-text-sm);color:var(--gnl-text-secondary);border-radius:var(--gnl-radius);cursor:pointer;transition:all var(--gnl-transition-fast)}.gnl-dropdown-item:hover{background:var(--gnl-gray-50);color:var(--gnl-text-primary)}.gnl-dropdown-item-danger{color:var(--gnl-error)}.gnl-dropdown-item-danger:hover{background:var(--gnl-error-bg);color:var(--gnl-error)}.gnl-dropdown-divider{height:1px;background:var(--gnl-border-light);margin:4px 0}.gnl-search{position:relative;width:100%;max-width:400px}.gnl-search-input{width:100%;padding:10px 14px 10px 40px;font-size:var(--gnl-text-sm);background:var(--gnl-white);border:1px solid var(--gnl-border);border-radius:var(--gnl-radius-md);transition:all var(--gnl-transition)}.gnl-search-input:focus{border-color:var(--gnl-primary);box-shadow:0 0 0 3px #0284c71a;outline:none}.gnl-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gnl-text-muted);pointer-events:none}.gnl-toggle{position:relative;width:44px;height:24px;cursor:pointer}.gnl-toggle input{opacity:0;width:0;height:0}.gnl-toggle-track{position:absolute;inset:0;background:var(--gnl-gray-300);border-radius:var(--gnl-radius-full);transition:background var(--gnl-transition)}.gnl-toggle input:checked+.gnl-toggle-track{background:var(--gnl-primary)}.gnl-toggle-thumb{position:absolute;top:2px;right:2px;width:20px;height:20px;background:var(--gnl-white);border-radius:var(--gnl-radius-full);box-shadow:var(--gnl-shadow-sm);transition:transform var(--gnl-transition)}.gnl-toggle input:checked~.gnl-toggle-thumb{transform:translate(-20px)}:root{--color-primary: #2563eb;--color-secondary: #64748b;--color-bg: #f3f4f6;--color-text-main: #111827;--color-error: #dc2626;--color-success: #16a34a}.mb-15{margin-bottom:15px}body.gnl-dragging-row{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}body.gnl-dragging-row *{cursor:grabbing!important}.gnl-sort-drag,.sortable-drag{opacity:.9!important;cursor:grabbing!important;z-index:10000!important;box-shadow:0 10px 40px #0003!important;background:var(--gnl-white, #fff)!important;border-radius:8px!important;transform:scale(1.02)}.gnl-sort-ghost,.sortable-ghost{opacity:.3!important;background:var(--gnl-primary-100, #dbeafe)!important;border:2px dashed var(--gnl-primary-400, #60a5fa)!important;border-radius:8px!important}.gnl-sort-chosen,.sortable-chosen{box-shadow:0 0 0 2px #3b82f680!important;z-index:100!important}body.gnl-dragging-element{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}body.gnl-dragging-element *{cursor:grabbing!important}.gnl-element-ghost,.gnl-element-drag{opacity:.8!important;cursor:grabbing!important;z-index:10000!important;box-shadow:0 5px 20px #00000026!important;background:var(--gnl-white, #fff)!important;border-radius:6px!important}.gnl-element-chosen{box-shadow:0 0 0 2px #3b82f666!important}.sortable-fallback{box-shadow:0 10px 40px #00000040!important;background:var(--gnl-white, #fff)!important;border-radius:8px!important;opacity:.95!important;z-index:99999!important}.logo-horizontal{gap:0;background:#fffffff2;border-radius:5px;padding:0 5px;box-shadow:0 20px 60px #00000012;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.logo-vertical{display:flex;flex-direction:column;align-items:center;gap:12px}.logo-icon-only{width:80px;height:80px}.gnl-text{font-family:IBM Plex Sans,sans-serif;font-size:30px;font-weight:700;letter-spacing:-.8px;line-height:1.2;background:linear-gradient(135deg,#ff9800,#09b3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gnl-text.light,.gnl-text.dark{background:linear-gradient(135deg,#ff9800,#09b3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gnl-icon{width:55px;height:55px;filter:drop-shadow(0 4px 12px rgba(9,179,255,.2))}.gnl-icon.small{width:48px;height:48px}.node-pulse{animation:pulse 3.5s cubic-bezier(.4,0,.6,1) infinite;transform-origin:center}.signal-wave{stroke-dasharray:4;stroke-dashoffset:4;animation:dash 2.4s linear infinite}.network-line{animation:flow 2.5s cubic-bezier(.25,.46,.45,.94) infinite;transform-origin:center}@keyframes pulse{0%,to{r:6;opacity:1;filter:drop-shadow(0 4px 12px rgba(255,152,0,.5))}50%{r:8;opacity:.8;filter:drop-shadow(0 6px 16px rgba(255,152,0,.6))}}@keyframes dash{0%{stroke-dashoffset:4;opacity:.2}50%{opacity:.8}to{stroke-dashoffset:-4;opacity:.2}}@keyframes flow{0%,to{opacity:.5;stroke-width:2.5}50%{opacity:1;stroke-width:3}}
