:root,[data-theme=dark]{--gradient-start: #0f0c29;--gradient-mid: #302b63;--gradient-end: #24243e;--primary: #7c6ff7;--primary-hover: #6b5ce0;--primary-light: rgba(124, 111, 247, .2);--primary-glow: rgba(124, 111, 247, .4);--secondary: rgba(255, 255, 255, .6);--success: #10b981;--success-light: rgba(16, 185, 129, .15);--danger: #ef4444;--danger-hover: #dc2626;--danger-light: rgba(239, 68, 68, .15);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .15);--glass-bg: rgba(255, 255, 255, .06);--glass-bg-hover: rgba(255, 255, 255, .1);--glass-bg-active: rgba(124, 111, 247, .3);--glass-border: rgba(255, 255, 255, .1);--glass-border-hover: rgba(255, 255, 255, .2);--glass-border-active: rgba(124, 111, 247, .4);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--text-disabled: rgba(255, 255, 255, .3);--text: #ffffff;--background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);--background-solid: #1a1635;--card-bg: rgba(255, 255, 255, .06);--modal-bg: linear-gradient(135deg, rgba(48, 43, 99, .98) 0%, rgba(36, 36, 62, .98) 100%);--sidebar-bg: rgba(255, 255, 255, .06);--sidebar-border: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .1);--table-bg: rgba(255, 255, 255, .03);--table-header-bg: rgba(15, 12, 41, .95);--table-row-bg: #2d2854;--table-row-hover: rgba(255, 255, 255, .05);--table-accent-bg: #7c6ff7;--table-accent-text: #ffffff;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(124, 111, 247, .3);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--radius-xl: 24px;--blur: blur(12px);--blur-lg: blur(20px)}[data-theme=light]{--gradient-start: #e8eef5;--gradient-mid: #dce4ed;--gradient-end: #f0f4f8;--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: rgba(99, 102, 241, .15);--primary-glow: rgba(99, 102, 241, .25);--secondary: #475569;--success: #059669;--success-light: rgba(5, 150, 105, .1);--danger: #dc2626;--danger-hover: #b91c1c;--danger-light: rgba(220, 38, 38, .1);--warning: #d97706;--warning-light: rgba(217, 119, 6, .1);--glass-bg: rgba(255, 255, 255, .7);--glass-bg-hover: rgba(255, 255, 255, .85);--glass-bg-active: rgba(99, 102, 241, .15);--glass-border: rgba(0, 0, 0, .08);--glass-border-hover: rgba(0, 0, 0, .12);--glass-border-active: rgba(99, 102, 241, .4);--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--text-disabled: #94a3b8;--text: #1e293b;--background: linear-gradient(135deg, #e8eef5 0%, #dce4ed 50%, #f0f4f8 100%);--background-solid: #e4eaf1;--card-bg: rgba(255, 255, 255, .7);--modal-bg: linear-gradient(135deg, rgba(255, 255, 255, .95) 0%, rgba(248, 250, 252, .95) 100%);--sidebar-bg: rgba(255, 255, 255, .7);--sidebar-border: rgba(0, 0, 0, .08);--border: rgba(0, 0, 0, .08);--table-bg: rgba(255, 255, 255, .8);--table-header-bg: rgba(248, 250, 252, .95);--table-row-bg: #e8ecf2;--table-row-hover: rgba(99, 102, 241, .05);--table-accent-bg: #4f46e5;--table-accent-text: #ffffff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(99, 102, 241, .2)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);background-attachment:fixed;color:var(--text-primary);line-height:1.6;min-height:100vh}.glass-card{background:var(--glass-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.glass-card-hover:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg)}.app-container{max-width:100%;margin:0 auto;padding:24px 16px}.app-header{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border)}.app-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.app-subtitle{color:var(--text-secondary);font-size:14px}.nav-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--glass-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);padding:8px;border-radius:var(--radius);border:1px solid var(--glass-border)}.tab-button{flex:1;padding:12px 24px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.tab-button:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.tab-button.active{background:var(--primary-glow);color:var(--text-primary);font-weight:600}.card{background:var(--glass-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:20px}.card-title{font-size:20px;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.form-input,.form-textarea,.form-select{width:100%;padding:12px 16px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;transition:all .2s ease;background:var(--glass-bg);color:var(--text-primary)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:var(--glass-bg-hover)}.number-input-wrapper{position:relative;display:inline-flex;align-items:center}.number-input-wrapper .form-input{-moz-appearance:textfield;padding-right:32px;text-align:center}.number-input-wrapper .form-input::-webkit-inner-spin-button,.number-input-wrapper .form-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input-controls{position:absolute;right:1px;top:1px;bottom:1px;display:flex;flex-direction:column;width:26px;border-left:1px solid var(--glass-border);border-radius:0 calc(var(--radius-sm) - 1px) calc(var(--radius-sm) - 1px) 0;overflow:hidden}.number-input-controls button{flex:1;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:10px;line-height:1;transition:all .15s ease}.number-input-controls button:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.number-input-controls button:active{background:var(--primary-light)}.number-input-controls button+button{border-top:1px solid var(--glass-border)}.form-textarea{resize:vertical;min-height:100px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}[data-theme=light] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(0,0,0,0.4)' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}select option,.form-select option{background:var(--background-solid);color:var(--text-primary)}[data-theme=light] select option,[data-theme=light] .form-select option{background:#f8fafc;color:var(--text-primary)}.btn{padding:12px 24px;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.btn-secondary:active:not(:disabled){transform:translateY(1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--danger-hover);box-shadow:0 0 20px #dc26264d}.btn-danger:active:not(:disabled){transform:translateY(1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--success);color:#fff;box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background:#0d9668;box-shadow:0 0 20px #10b9814d}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover:not(:disabled){background:var(--glass-bg);color:var(--text-primary)}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 32px;font-size:16px}.result-box{background:#0000004d;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:16px;margin-top:20px;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;overflow-x:auto}[data-theme=light] .result-box{background:#0000000d}.result-box pre{margin:0;color:var(--text-primary)}.form-grid{display:grid;gap:16px}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.badge-success,.success-badge{background:var(--success-light);color:var(--success);border:1px solid rgba(16,185,129,.3)}.badge-danger{background:var(--danger-light);color:var(--danger);border:1px solid rgba(220,38,38,.3)}.badge-warning{background:var(--warning-light);color:var(--warning);border:1px solid rgba(245,158,11,.3)}.badge-primary{background:var(--primary-light);color:var(--primary);border:1px solid rgba(124,111,247,.3)}.help-text{font-size:13px;color:var(--text-muted);margin-top:6px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}[data-theme=light] ::-webkit-scrollbar-track{background:#0000000d}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000040}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--modal-bg);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.table th{font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.table td{color:var(--text-primary)}.table tr:hover td{background:var(--glass-bg)}.loading-spinner{width:24px;height:24px;border:2px solid var(--glass-border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.loading-text{color:var(--text-secondary);font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state-text{font-size:14px;color:var(--text-muted)}@media(max-width:768px){.app-container{padding:16px 12px}.nav-tabs{flex-direction:column}.tab-button{width:100%}.modal-content{width:95%;padding:16px}}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--background-solid);z-index:50;cursor:wait}.loading-overlay-spinner{width:44px;height:44px;border:3px solid var(--glass-border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.loading-overlay-message{font-size:14px;color:var(--text-secondary);margin:0;font-weight:500}@keyframes progress{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-accent{color:var(--primary)}.bg-glass{background:var(--glass-bg)}.bg-glass-hover{background:var(--glass-bg-hover)}.border-glass{border:1px solid var(--glass-border)}.rounded{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}
