:root{--primary-50: #e8edf5;--primary-100: #c5d0e6;--primary-200: #9eb1d4;--primary-300: #7692c2;--primary-400: #587ab5;--primary-500: #3a62a7;--primary-600: #2e5090;--primary-700: #1e3d73;--primary-800: #142b55;--primary-900: #0c2340;--primary: #0c2340;--primary-dark: #081a30;--primary-light: #1e3d73;--accent: #0e8a7a;--accent-light: #12b09b;--accent-dark: #0a6e62;--gold: #c5960c;--gold-light: #f0d060;--success: #10b981;--success-light: #d1fae5;--success-dark: #059669;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #ef4444;--danger-light: #fee2e2;--danger-dark: #dc2626;--info: #06b6d4;--info-light: #cffafe;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--gradient-portal: linear-gradient(135deg, #0c2340 0%, #1e3d73 50%, #0c2340 100%);--gradient-sidebar: linear-gradient(180deg, #0c2340 0%, #142b55 50%, #0c2340 100%);--gradient-accent: linear-gradient(135deg, #0e8a7a 0%, #0a6e62 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-surface: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--border-radius: 8px;--border-radius-lg: 12px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-glow-primary: 0 0 20px rgb(12 35 64 / .3);--shadow-glow-accent: 0 0 20px rgb(14 138 122 / .3);--shadow-glow-success: 0 0 20px rgb(16 185 129 / .3);--transition-fast: .1s ease;--transition-base: .2s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--primary-color: #0c2340;--primary-hover: #081a30;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #06b6d4}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;line-height:1;border-radius:var(--border-radius);border:none;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgba(255,255,255,.3) 0%,transparent 60%);opacity:0;transition:opacity .3s ease}.btn:active:after{opacity:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:after{display:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-dark)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:after{background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgba(0,0,0,.08) 0%,transparent 60%)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-dark)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dark)}.btn-lg{padding:.875rem 1.5rem;font-size:1rem}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.card{background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);padding:1.5rem}.form-control{width:100%;padding:.625rem .875rem;font-size:.875rem;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0e8a7a1a}.form-control:disabled{background:var(--bg-tertiary);cursor:not-allowed}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--text-primary)}.form-input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .15s ease;color:var(--text-primary);background:var(--bg-primary)}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0e8a7a1a}.form-select{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .15s ease;cursor:pointer;color:var(--text-primary);background:var(--bg-primary)}.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0e8a7a1a}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge.success{background:var(--success-light);color:#065f46}.badge.warning{background:var(--warning-light);color:#92400e}.badge.danger{background:var(--danger-light);color:#991b1b}.badge.info{background:var(--info-light);color:#0e7490}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.mode-normal{color:var(--success-color)}.mode-degraded{color:var(--warning-color)}.mode-offline{color:var(--danger-color)}.mode-chaos{color:#8b5cf6}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.table th{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.table tbody tr:hover{background-color:var(--bg-secondary)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}@keyframes statusPulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 4px transparent}}@keyframes successCheck{0%{stroke-dashoffset:48}to{stroke-dashoffset:0}}@keyframes ringSpinner{to{transform:rotate(360deg)}}.slide-in{animation:slideIn .3s ease-out}.fade-in{animation:fadeIn .2s ease-out}.scale-in{animation:scaleIn .3s var(--transition-spring)}.slide-up{animation:slideUp .4s ease-out both}.bounce-in{animation:bounceIn .4s var(--transition-spring)}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
