@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-app: #080c14;--bg-sidebar: #0e1322;--bg-card: #121a2c;--bg-input: #080c14;--border-color: #1e293b;--border-color-hover: #334155;--border-color-active: #4f46e5;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--primary: #3b82f6;--primary-hover: #2563eb;--primary-focus: rgba(59, 130, 246, .15);--accent-purple: #8b5cf6;--accent-purple-hover: #7c3aed;--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--success-border: rgba(16, 185, 129, .2);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .15);--warning-border: rgba(245, 158, 11, .3);--error: #ef4444;--error-bg: rgba(239, 68, 68, .1);--error-border: rgba(239, 68, 68, .2);--info: #06b6d4;--info-bg: rgba(6, 182, 212, .1);--info-border: rgba(6, 182, 212, .2);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--font-sans: "Plus Jakarta Sans", "Outfit", system-ui, -apple-system, sans-serif;--transition-fast: .15s ease;--transition-normal: .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);padding:1.75rem 1.25rem;display:flex;flex-direction:column;gap:2rem}.brand{font-size:1.2rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;padding-left:.5rem;letter-spacing:-.025em}.brand-icon{color:var(--accent-purple);width:24px;height:24px}.menu{display:flex;flex-direction:column;gap:.4rem}.menu-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;border:1px solid transparent;transition:all var(--transition-fast)}.menu-link svg{width:18px;height:18px;opacity:.7;transition:opacity var(--transition-fast)}.menu-link:hover{background-color:#ffffff08;color:var(--text-primary);border-color:#ffffff0d}.menu-link:hover svg{opacity:1}.menu-link.active{background-color:#4f46e51a;color:#a5b4fc;border-color:#4f46e533;font-weight:600}.menu-link.active svg{color:var(--accent-purple);opacity:1}.content{padding:2.25rem 2.5rem;max-width:1200px;width:100%;margin:0 auto}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.card h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.card h3{font-size:1.15rem;font-weight:600;margin:2rem 0 1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.card h3:first-of-type{margin-top:1.5rem}.muted{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.alert{border-radius:var(--radius-md);padding:1rem 1.25rem;margin:1rem 0;border:1px solid var(--border-color);display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;line-height:1.4}.alert svg{flex-shrink:0;width:18px;height:18px;margin-top:2px}.alert-error{border-color:var(--error-border);background-color:var(--error-bg);color:#fca5a5}.alert-error svg{color:var(--error)}.alert-info{border-color:var(--info-border);background-color:var(--info-bg);color:#67e8f9}.alert-info svg{color:var(--info)}.stack{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background-color:#ffffff04;border:1px solid var(--border-color);padding:1.25rem;border-radius:var(--radius-md);margin-bottom:.5rem}.form-field{display:flex;flex-direction:column;gap:.4rem;flex-grow:1;min-width:180px}.form-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.form-field input,.form-field select,.form-field textarea{padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-input);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;transition:all var(--transition-fast);outline:none}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-muted)}.form-field textarea{min-height:5rem;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-color);background-color:#ffffff08;color:var(--text-primary)}.btn:hover:not(:disabled){background-color:#ffffff14;border-color:var(--border-color-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background-color:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:focus{box-shadow:0 0 0 3px var(--primary-focus)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi{background-color:#ffffff04;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.kpi-details{display:flex;flex-direction:column;gap:.25rem}.kpi-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.1;letter-spacing:-.03em}.kpi-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.kpi-icon-wrap{width:42px;height:42px;border-radius:var(--radius-md);background-color:#ffffff08;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);color:var(--primary);flex-shrink:0}.kpi-icon-wrap.purple{color:var(--accent-purple)}.kpi-icon-wrap.success{color:var(--success)}.kpi-icon-wrap.warning{color:var(--warning)}.kpi-icon-wrap svg{width:20px;height:20px}.table-wrap{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background-color:#ffffff01;margin-top:.5rem}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.data-table th{background-color:#ffffff05;color:var(--text-secondary);font-weight:600;padding:.9rem 1.25rem;border-bottom:1px solid var(--border-color);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.data-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);transition:background-color var(--transition-fast)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:#ffffff04}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid transparent}.badge svg{width:12px;height:12px}.badge-stable,.badge-prod{color:var(--success);background-color:var(--success-bg);border-color:var(--success-border)}.badge-test{color:var(--warning);background-color:var(--warning-bg);border-color:var(--warning-border)}.badge-info{color:var(--info);background-color:var(--info-bg);border-color:var(--info-border)}.badge-error{color:var(--error);background-color:var(--error-bg);border-color:var(--error-border)}.badge-active{color:var(--primary);background-color:var(--primary-focus);border-color:#3b82f64d}.badge-in-progress{color:var(--accent-purple);background-color:#8b5cf61a;border-color:#8b5cf640;animation:pulse-border 2s infinite ease-in-out}@keyframes pulse-border{0%{border-color:#8b5cf633}50%{border-color:#8b5cf699}to{border-color:#8b5cf633}}.dict-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-top:.5rem}.dict-card{border:1px solid var(--border-color);background-color:#ffffff03;padding:.85rem 1rem;border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center}.dict-card-label{font-size:.85rem;color:var(--text-secondary)}.dict-card-val{font-size:1.1rem;font-weight:600}
