@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);:root{--color-primary-900:#0a3ca2;--color-primary-700:#253e66;--color-primary-500:#4698d3;--color-primary-100:#e6f5ff;--color-primary-50:#ecf5fb;--color-primary-25:#f2f7ff;--color-text-primary:#23324e;--color-text-default:#333;--color-text-secondary:#555b6c;--color-text-muted:#67738c;--color-text-cell:#2b2b2b;--color-text-disabled:#adadad;--color-text-inverse:#fff;--color-text-subtle:#525252;--color-success:#1ba31b;--color-success-badge:#32b556;--color-danger:#d9534f;--color-danger-badge:#e76661;--color-warning:#ffa213;--color-neutral-status:#333;--bg-page:#fafafa;--bg-surface:#fff;--bg-card-tint:#f5f9fd;--bg-highlight:#e6f5ff;--bg-subtle:#f2f7ff;--bg-accent:#ecf5fb;--border-default:#e5e7eb;--border-medium:#d4deed;--border-separator:#e6ecf1;--border-strong:#d9d9d9;--border-faint:#efefef;--font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"SF Mono","Fira Code","Fira Mono",Menlo,monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-normal:1.43;--leading-relaxed:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:2px;--radius-base:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-card:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 6px #00000012,0 2px 4px #0000000a;--shadow-lg:0 10px 15px #0000000f,0 4px 6px #0000000a;--sidebar-width:216px;--header-height:56px;--content-max-width:1440px;--transition-fast:150ms ease;--transition-default:200ms ease;--transition-slow:300ms ease}.sidebar{background:#fff;border-right:1px solid #efefef;padding:0 0 44px;width:216px}.sidebar-logo{padding:16px 16px 8px}.sidebar-nav-item{color:#23324e;font-size:12px;font-weight:400;gap:12px;padding:8px 12px;transition:background .15s ease,border-color .15s ease}.sidebar-nav-item:hover{background:#ecf5fb}.sidebar-nav-item--active{background:#ecf5fb;background:var(--bg-accent);border-left-color:#0a3ca2;border-left-color:var(--color-primary-900);color:#0a3ca2;color:var(--color-primary-900);font-weight:500;font-weight:var(--weight-medium)}.sidebar-nav-item__icon{color:#67738c;color:var(--color-text-muted);height:20px;width:20px}.sidebar-cta-button{background:#4698d3;background:var(--color-primary-500);border:none;border-radius:4px;border-radius:var(--radius-base);color:#fff;color:var(--color-text-inverse);cursor:pointer;display:block;font-size:12px;font-size:var(--text-sm);font-weight:500;font-weight:var(--weight-medium);height:32px;margin:16px 12px;margin:var(--space-4) var(--space-3);padding:4px 12px;padding:var(--space-1) var(--space-3);text-align:center}.header{background:#fff;border-bottom:1px solid #e5e7eb;height:56px;padding:0 24px}.header-org-selector{color:#555b6c;color:var(--color-text-secondary);font-size:14px;font-size:var(--text-base);font-weight:400;font-weight:var(--weight-regular)}.header-org-name{color:#333;color:var(--color-text-default);font-size:12px;font-size:var(--text-sm);font-weight:700;font-weight:var(--weight-bold);text-transform:uppercase}.header-action-button{background:#e6f5ff;background:var(--bg-highlight);border:none;border-radius:4px;border-radius:var(--radius-base);color:#fff;color:var(--color-text-inverse);font-size:16px;font-size:var(--text-md);padding:8px;padding:var(--space-2)}.header-action-button,.header-user-badge{font-weight:600;font-weight:var(--weight-semibold)}.header-user-badge{color:#333;color:var(--color-text-default);font-size:12px;font-size:var(--text-sm)}.header-logout-button{border:1px solid #d9d9d9;border:1px solid var(--border-strong);border-radius:4px;border-radius:var(--radius-base);color:#23324e;color:var(--color-text-primary);cursor:pointer;font-size:14px;font-size:var(--text-base);font-weight:600;font-weight:var(--weight-semibold);padding:8px 16px;padding:var(--space-2) var(--space-4)}.card,.header-logout-button{background:#fff;background:var(--bg-surface)}.card{border:1px solid #e5e7eb;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow-card);padding:16px 20px;padding:var(--space-4) var(--space-5)}.cost-overview-card{background:#f5f9fd;background:var(--bg-card-tint);border:1px solid #e6ecf1;border:1px solid var(--border-separator);border-radius:6px;border-radius:var(--radius-md);padding:12px 16px;padding:var(--space-3) var(--space-4)}.cost-label{font-size:12px;font-size:var(--text-sm);font-weight:400;font-weight:var(--weight-regular)}.cost-label,.cost-value{color:#333;color:var(--color-text-default)}.cost-value{font-size:24px;font-size:var(--text-2xl);font-weight:700;font-weight:var(--weight-bold);line-height:1.2;line-height:var(--leading-tight)}.cost-sublabel{color:#67738c;color:var(--color-text-muted);font-size:12px;font-size:var(--text-sm);font-weight:400;font-weight:var(--weight-regular)}.cost-delta--increase{color:#e76661;color:var(--color-danger-badge);font-size:10px;font-size:var(--text-2xs)}.cost-delta--decrease{color:#32b556;color:var(--color-success-badge);font-size:10px;font-size:var(--text-2xs)}.section-label{color:#4698d3;color:var(--color-primary-500);font-size:12px;font-size:var(--text-sm);font-weight:500;font-weight:var(--weight-medium);letter-spacing:normal;text-transform:none}.section-title{color:#333;color:var(--color-text-default);font-size:18px;font-size:var(--text-lg);font-weight:700;font-weight:var(--weight-bold);margin-bottom:16px;margin-bottom:var(--space-4)}.data-table{font-size:11px}.data-table th{background:#0a3ca2;border-bottom:1px solid #e6ecf1;color:#fff;font-size:12px;font-weight:500;padding:8px;padding:var(--space-2)}.data-table th:first-child{border-radius:4px 0 0 0}.data-table th:last-child{border-radius:0 4px 0 0}.data-table td{background:#fff;border-bottom:1px solid #efefef;color:#2b2b2b;font-size:11px;line-height:1.43;padding:6.5px 8px;padding:6.5px var(--space-2);text-align:right}.data-table td:first-child{font-weight:400;font-weight:var(--weight-regular);text-align:left}.table-cell--decreased{color:#1ba31b;color:var(--color-success)}.table-cell--increased-mild{color:#ffa213;color:var(--color-warning)}.table-cell--increased{color:#d9534f;color:var(--color-danger)}.table-cell--no-change{color:#2b2b2b;color:var(--color-text-cell)}.table-cell--total{color:#0a3ca2;color:var(--color-primary-900);font-weight:600;font-weight:var(--weight-semibold)}.legend{color:#333;color:var(--color-text-default);display:flex;font-size:12px;font-size:var(--text-sm);gap:20px;gap:var(--space-5);justify-content:flex-end;margin-bottom:8px;margin-bottom:var(--space-2)}.legend-dot{border-radius:9999px;border-radius:var(--radius-full);display:inline-block;height:10px;margin-right:4px;margin-right:var(--space-1);vertical-align:middle;width:10px}.legend-dot--decreased{background:#1ba31b;background:var(--color-success)}.legend-dot--mild{background:#ffa213;background:var(--color-warning)}.legend-dot--increased{background:#d9534f;background:var(--color-danger)}.legend-dot--no-change{background:#333;background:var(--color-neutral-status)}.tab-group{border:1px solid #d9d9d9;border:1px solid var(--border-strong);border-radius:4px;border-radius:var(--radius-base);display:inline-flex;overflow:hidden}.tab-button{background:#fff;background:var(--bg-surface);border:none;border-right:1px solid #d9d9d9;border-right:1px solid var(--border-strong);color:#333;color:var(--color-text-default);cursor:pointer;font-size:12px;font-size:var(--text-sm);font-weight:500;font-weight:var(--weight-medium);padding:4px 16px;padding:var(--space-1) var(--space-4);transition:background .15s ease,color .15s ease;transition:background var(--transition-fast),color var(--transition-fast)}.tab-button:last-child{border-right:none}.tab-button--active{background:#fff;background:var(--bg-surface);color:#333;color:var(--color-text-default);font-weight:700;font-weight:var(--weight-bold)}.tab-button:hover{background:#ecf5fb;background:var(--bg-accent)}.icon-button{align-items:center;background:#1ba31b;background:var(--color-success);border:none;border-radius:4px;border-radius:var(--radius-base);color:#fff;color:var(--color-text-inverse);cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.view-toggle{display:inline-flex;gap:4px;gap:var(--space-1)}.view-toggle-button{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #d9d9d9;border:1px solid var(--border-strong);border-radius:4px;border-radius:var(--radius-base);color:#67738c;color:var(--color-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.view-toggle-button--active{border-color:#0a3ca2;border-color:var(--color-primary-900);color:#0a3ca2;color:var(--color-primary-900)}.recommendations-panel{background:#fff;background:var(--bg-surface);border:1px solid #e5e7eb;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow-card);padding:16px 20px;padding:var(--space-4) var(--space-5)}.recommendation-item{align-items:center;border-bottom:1px solid #efefef;border-bottom:1px solid var(--border-faint);display:flex;justify-content:space-between;padding:12px 16px;padding:var(--space-3) var(--space-4)}.recommendation-item:last-child{border-bottom:none}.recommendation-label{color:#333;color:var(--color-text-default);font-size:12px;font-size:var(--text-sm);font-weight:400;font-weight:var(--weight-regular)}.recommendation-value{color:#333;color:var(--color-text-default);font-size:14px;font-size:var(--text-base);font-weight:600;font-weight:var(--weight-semibold);white-space:nowrap}.recommendation-link{color:#0a3ca2;color:var(--color-primary-900);margin-left:8px;margin-left:var(--space-2)}.footer{color:#67738c;color:var(--color-text-muted);padding:12px 20px;padding:var(--space-3) var(--space-5);text-align:center}.footer,.footer-contact-button{font-size:12px;font-size:var(--text-sm)}.footer-contact-button{background:#fff;background:var(--bg-surface);border:1px solid #4698d3;border:1px solid var(--color-primary-500);border-radius:4px;border-radius:var(--radius-base);color:#4698d3;color:var(--color-primary-500);cursor:pointer;padding:8px 16px;padding:var(--space-2) var(--space-4)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-page);color:var(--color-text-default);font-family:var(--font-family);font-size:var(--text-base);height:100%;line-height:var(--leading-normal)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}table{border-collapse:collapse}input,select{font-family:inherit}.auth-container{display:flex;min-height:100vh}.auth-left{align-items:center;background:linear-gradient(135deg,#1e3a5f,#0f2744);color:#fff;display:flex;flex:1 1;justify-content:center;padding:var(--space-8)}.auth-left-content{max-width:480px}.auth-brand{color:#60a5fa;font-size:2rem;font-weight:var(--font-bold);margin:0 0 var(--space-2)}.auth-tagline{color:#fffc;font-size:var(--text-lg);margin:0 0 var(--space-8)}.auth-features{display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-8)}.auth-feature{display:flex;gap:var(--space-4)}.auth-feature-icon{align-items:center;background:#60a5fa33;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.auth-feature-icon svg{color:#60a5fa;height:20px;width:20px}.auth-feature-text h3{color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-1)}.auth-feature-text p{color:#ffffffb3;font-size:var(--text-sm);line-height:1.5;margin:0}.auth-stats{border-top:1px solid #ffffff1a;display:flex;gap:var(--space-6);padding-top:var(--space-6)}.auth-stat{display:flex;flex-direction:column;gap:var(--space-1)}.auth-stat-value{color:#60a5fa;font-size:var(--text-xl);font-weight:var(--font-bold)}.auth-stat-label{color:#fff9;font-size:var(--text-xs)}.auth-right{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:var(--space-8)}.auth-card{max-width:380px;width:100%}.auth-logo{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.auth-logo svg{height:40px;width:40px}.auth-logo span{font-weight:var(--font-bold)}.auth-logo span,.auth-title{color:#1e3a5f;font-size:var(--text-xl)}.auth-title{font-weight:var(--font-semibold);margin:0 0 var(--space-6)}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3)}.auth-form{gap:var(--space-4)}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:var(--space-1)}.auth-field label{color:#374151;font-size:var(--text-sm);font-weight:var(--font-medium)}.auth-field input{background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-md);color:#111827;font-size:var(--text-base);padding:var(--space-3);transition:border-color .15s,box-shadow .15s}.auth-field input::placeholder{color:#9ca3af}.auth-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.auth-hint{color:#6b7280;font-size:var(--text-xs)}.auth-submit{background:#3b82f6;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:.5px;margin-top:var(--space-2);padding:var(--space-3);text-transform:uppercase;transition:background .15s}.auth-submit:hover:not(:disabled){background:#2563eb}.auth-submit:disabled{cursor:not-allowed;opacity:.6}.auth-footer{color:#6b7280;font-size:var(--text-sm);margin-top:var(--space-6);text-align:center}.auth-footer a{color:#3b82f6;font-weight:var(--font-medium);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;min-height:100vh}.auth-loading-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}.auth-toggle{border:1px solid #d1d5db;border-radius:var(--radius-md);display:flex;overflow:hidden}.auth-toggle-btn{background:#fff;border:none;color:#6b7280;cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);transition:background .15s,color .15s}.auth-toggle-btn+.auth-toggle-btn{border-left:1px solid #d1d5db}.auth-toggle-btn.active{background:#3b82f6;color:#fff}.auth-toggle-btn:hover:not(.active){background:#f3f4f6}@media (max-width:900px){.auth-container{flex-direction:column}.auth-left{padding:var(--space-6)}.auth-left-content{max-width:100%}.auth-stats{flex-wrap:wrap}.auth-right{padding:var(--space-6)}}.register-cluster-container{display:flex;min-height:100vh}.register-cluster-left{align-items:center;background:linear-gradient(135deg,#1e3a5f,#0f2744);color:#fff;display:flex;flex:1 1;justify-content:center;padding:var(--space-8)}.register-cluster-left-content{max-width:480px}.register-cluster-brand{color:#60a5fa;font-size:2rem;font-weight:var(--font-bold);margin:0 0 var(--space-2)}.register-cluster-tagline{color:#fffc;font-size:var(--text-lg);margin:0 0 var(--space-8)}.register-cluster-features{display:flex;flex-direction:column;gap:var(--space-6)}.register-cluster-feature{display:flex;gap:var(--space-4)}.register-cluster-feature-icon{align-items:center;background:#60a5fa33;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.register-cluster-feature-icon svg{color:#60a5fa;height:20px;width:20px}.register-cluster-feature-text h3{color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-1)}.register-cluster-feature-text p{color:#ffffffb3;font-size:var(--text-sm);line-height:1.5;margin:0}.register-cluster-right{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:var(--space-8)}.register-cluster-card{max-width:480px;width:100%}.register-cluster-logo{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.register-cluster-logo svg{height:40px;width:40px}.register-cluster-logo span{color:#1e3a5f;font-size:var(--text-xl);font-weight:var(--font-bold)}.register-cluster-title{color:#1e3a5f;font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2)}.register-cluster-subtitle{color:#6b7280;font-size:var(--text-sm);margin:0 0 var(--space-6)}.register-cluster-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3)}.register-cluster-form{display:flex;flex-direction:column;gap:var(--space-4)}.register-cluster-field{display:flex;flex-direction:column;gap:var(--space-1)}.register-cluster-field label{color:#374151;font-size:var(--text-sm);font-weight:var(--font-medium)}.register-cluster-field input{background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-md);color:#111827;font-size:var(--text-base);padding:var(--space-3);transition:border-color .15s,box-shadow .15s}.register-cluster-field input::placeholder{color:#9ca3af}.register-cluster-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.register-cluster-submit{background:#3b82f6;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);margin-top:var(--space-2);padding:var(--space-3);transition:background .15s}.register-cluster-submit:hover:not(:disabled){background:#2563eb}.register-cluster-submit:disabled{cursor:not-allowed;opacity:.6}.register-cluster-command-box{background:#1e293b;border-radius:var(--radius-md);margin-bottom:var(--space-4);overflow:hidden}.register-cluster-command-header{align-items:center;background:#334155;color:#94a3b8;display:flex;font-size:var(--text-xs);justify-content:space-between;padding:var(--space-2) var(--space-3)}.register-cluster-copy-btn{background:#3b82f6;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);transition:background .15s}.register-cluster-copy-btn:hover{background:#2563eb}.register-cluster-command{color:#e2e8f0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--text-sm);line-height:1.6;margin:0;padding:var(--space-4);white-space:pre-wrap;word-break:break-all}.register-cluster-status{align-items:center;background:#f3f4f6;border-radius:var(--radius-md);color:#6b7280;display:flex;font-size:var(--text-sm);gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3)}.register-cluster-spinner{animation:spin .8s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.register-cluster-timeout{color:#dc2626}.register-cluster-retry-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);margin-left:auto;padding:0}.register-cluster-retry-btn:hover{text-decoration:underline}.register-cluster-skip-btn{background:none;border:1px solid #d1d5db;border-radius:var(--radius-md);color:#6b7280;cursor:pointer;font-size:var(--text-base);padding:var(--space-3);transition:background .15s,border-color .15s;width:100%}.register-cluster-skip-btn:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:900px){.register-cluster-container{flex-direction:column}.register-cluster-left{padding:var(--space-6)}.register-cluster-left-content{max-width:100%}.register-cluster-right{padding:var(--space-6)}.register-cluster-card{max-width:100%}}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border-faint);display:flex;flex-direction:column;height:100vh;min-width:var(--sidebar-width);overflow-y:auto;width:var(--sidebar-width)}.sidebar-logo{padding:var(--space-4) var(--space-4) var(--space-2)}.sidebar-logo img{height:auto;width:140px}.sidebar-nav{display:flex;flex-direction:column;padding:var(--space-2) 0}.sidebar-nav-item{align-items:center;border-left:3px solid #0000;color:var(--color-text-primary);display:flex;font-size:var(--text-sm);font-weight:var(--weight-regular);gap:var(--space-3);padding:var(--space-2) var(--space-3);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.sidebar-nav-item.active,.sidebar-nav-item:hover{background:var(--bg-accent)}.sidebar-nav-item.active{border-left-color:var(--color-primary-900);font-weight:var(--weight-medium)}.sidebar-nav-item.active,.sidebar-nav-item.active .sidebar-nav-icon{color:var(--color-primary-900)}.sidebar-nav-icon{color:var(--color-text-muted);flex-shrink:0;height:20px;width:20px}.user-menu{position:relative}.user-menu-trigger{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-2);padding:var(--space-1) var(--space-2);transition:background .15s,border-color .15s}.user-menu-trigger:hover{background:#0000000d;background:var(--color-surface-hover,#0000000d);border-color:#9ca3af;border-color:var(--color-border-hover,#9ca3af)}.user-avatar{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;display:flex;font-size:var(--text-xs);font-weight:var(--font-semibold);height:28px;justify-content:center;width:28px}.user-name{color:var(--color-text);font-size:var(--text-sm);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-xs);padding:2px 6px;text-transform:capitalize}.user-menu-dropdown,.user-role{background:var(--color-surface)}.user-menu-dropdown{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--space-1));z-index:100}.user-menu-header{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3)}.user-menu-email{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium)}.user-menu-role-badge{color:var(--color-text-muted);font-size:var(--text-xs);text-transform:capitalize}.user-menu-divider{background:var(--color-border);height:1px}.user-menu-item{background:#0000;border:none;color:var(--color-text);cursor:pointer;display:block;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);text-align:left;transition:background .15s;width:100%}.user-menu-item:hover{background:#0000000d;background:var(--color-surface-hover,#0000000d)}.user-menu-item--danger{color:#dc2626;color:var(--color-danger,#dc2626)}.user-menu-item--danger:hover{background:#fef2f2;background:var(--color-danger-bg,#fef2f2)}.header{align-items:center;background:var(--bg-surface);border-bottom:1px solid var(--border-default);display:flex;height:var(--header-height);justify-content:space-between;min-height:var(--header-height);padding:0 var(--space-6)}.header-left{display:flex;flex-direction:column;gap:var(--space-1)}.header-right{align-items:center;display:flex}.header-cluster-name,.header-cluster-select{color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold)}.header-cluster-select{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;cursor:pointer;padding:4px 8px}.header-cluster-select:focus{border-color:#3b82f6;outline:none}.header-timestamp{color:var(--color-text-muted);font-size:var(--text-sm)}.summary-card{background:var(--bg-card-tint);border:1px solid var(--border-separator);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4)}.summary-card__label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular)}.summary-card__value{color:var(--color-text-default);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.dashboard-page{display:flex;flex-direction:column;gap:var(--space-6)}.cluster-stats-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr}.data-table-wrapper{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.data-table{border-collapse:collapse;font-size:var(--text-xs);width:100%}.data-table th{background:var(--color-primary-900);border-bottom:1px solid var(--border-separator);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3);text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th:first-child{border-radius:var(--radius-base) 0 0 0}.data-table th:last-child{border-radius:0 var(--radius-base) 0 0}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{background:var(--color-primary-700)}.data-table th .sort-arrow{font-size:var(--text-2xs);margin-left:var(--space-1);opacity:.7}.data-table td{background:var(--bg-surface);border-bottom:1px solid var(--border-faint);color:var(--color-text-cell);font-size:var(--text-xs);line-height:var(--leading-normal);padding:6px var(--space-3)}.data-table tr.clickable{cursor:pointer;transition:background var(--transition-fast)}.data-table tr.clickable:hover td{background:var(--bg-subtle)}.data-table--empty{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-8);text-align:center}.status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-2xs);font-weight:var(--weight-medium);gap:var(--space-1);line-height:var(--leading-normal);padding:2px var(--space-2);white-space:nowrap}.status-badge__dot{border-radius:var(--radius-full);height:6px;width:6px}.status-badge--running{background:#e6f9e6;color:var(--color-success)}.status-badge--running .status-badge__dot{background:var(--color-success)}.status-badge--succeeded{background:#e6f9e6;color:var(--color-success-badge)}.status-badge--succeeded .status-badge__dot{background:var(--color-success-badge)}.status-badge--pending{background:#fff5e6;color:var(--color-warning)}.status-badge--pending .status-badge__dot{background:var(--color-warning)}.status-badge--failed{background:#fde8e8;color:var(--color-danger)}.status-badge--failed .status-badge__dot{background:var(--color-danger)}.status-badge--unknown{background:#f0f0f0;color:var(--color-text-muted)}.status-badge--unknown .status-badge__dot{background:var(--color-text-muted)}.status-badge--healthy{background:#e6f9e6;color:var(--color-success)}.status-badge--healthy .status-badge__dot{background:var(--color-success)}.status-badge--degraded{background:#fff5e6;color:var(--color-warning)}.status-badge--degraded .status-badge__dot{background:var(--color-warning)}.status-badge--critical{background:#fde8e8;color:var(--color-danger)}.status-badge--critical .status-badge__dot{background:var(--color-danger)}.status-badge--inactive{background:#f0f0f0;color:var(--color-text-muted)}.status-badge--inactive .status-badge__dot{background:var(--color-text-muted)}.workloads-page{display:flex;flex-direction:column;gap:var(--space-4)}.workloads-filters{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.workloads-filters input,.workloads-filters select{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-base);color:var(--color-text-default);font-size:var(--text-sm);height:32px;padding:var(--space-1) var(--space-3)}.workloads-filters input{min-width:200px}.workloads-filters input:focus,.workloads-filters select:focus{border-color:var(--color-primary-500);outline:none}.resource-bar{display:flex;flex-direction:column;gap:2px}.resource-bar__label{color:var(--color-text-muted);display:flex;font-size:var(--text-2xs);justify-content:space-between}.resource-bar__track{background:var(--border-faint);border-radius:var(--radius-full);height:8px;overflow:hidden;position:relative}.resource-bar__fill--request{opacity:.3}.resource-bar__fill--request,.resource-bar__fill--usage{background:var(--color-primary-500);border-radius:var(--radius-full);height:100%;left:0;position:absolute;top:0}.resource-bar__fill--limit{background:var(--color-danger);height:100%;position:absolute;top:0;width:2px}.container-detail{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-5)}.container-detail__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.container-detail__name{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--weight-semibold)}.container-detail__image{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--text-2xs)}.container-detail__bars{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.metrics-panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-5)}.metrics-panel__title{color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.metrics-panel__grid{grid-gap:var(--space-1) var(--space-3);display:grid;font-size:var(--text-xs);gap:var(--space-1) var(--space-3);grid-template-columns:auto repeat(5,1fr)}.metrics-panel__label{color:var(--color-text-muted);font-weight:var(--weight-medium);padding:var(--space-1) 0}.metrics-panel__header{color:var(--color-primary-900);font-size:var(--text-2xs);font-weight:var(--weight-semibold);padding:var(--space-1) 0;text-align:right;text-transform:uppercase}.metrics-panel__value{color:var(--color-text-cell);font-family:var(--font-family-mono);font-size:var(--text-xs);padding:var(--space-1) 0;text-align:right}.vpa-panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-5)}.vpa-panel__title{color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.vpa-panel__mode{color:var(--color-text-muted);font-size:var(--text-2xs);margin-bottom:var(--space-3)}.vpa-panel__grid{grid-gap:var(--space-1) var(--space-3);display:grid;font-size:var(--text-xs);gap:var(--space-1) var(--space-3);grid-template-columns:auto repeat(4,1fr)}.vpa-panel__header{color:var(--color-primary-900);font-size:var(--text-2xs);font-weight:var(--weight-semibold);padding:var(--space-1) 0;text-align:right;text-transform:uppercase}.vpa-panel__label{color:var(--color-text-muted);font-weight:var(--weight-medium);padding:var(--space-1) 0}.vpa-panel__value{color:var(--color-text-cell);font-family:var(--font-family-mono);font-size:var(--text-xs);padding:var(--space-1) 0;text-align:right}.vpa-panel__delta--savings{color:var(--color-success);font-weight:var(--weight-semibold)}.vpa-panel__delta--increase{color:var(--color-danger);font-weight:var(--weight-semibold)}.workload-detail-page{display:flex;flex-direction:column;gap:var(--space-5)}.workload-detail-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.workload-detail-header__name{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--weight-bold)}.workload-detail-header__meta{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);gap:var(--space-3)}.workload-detail-header__tag{background:var(--bg-subtle);border-radius:var(--radius-base);color:var(--color-primary-900);font-size:var(--text-2xs);font-weight:var(--weight-medium);padding:2px var(--space-2)}.workload-detail-back{align-items:center;background:none;border:none;color:var(--color-primary-500);cursor:pointer;display:inline-flex;font-size:var(--text-sm);gap:var(--space-1);padding:0}.workload-detail-back:hover{text-decoration:underline}.workload-detail-containers{display:flex;flex-direction:column;gap:var(--space-3)}.workload-detail-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr}.recommendations-page{display:flex;flex-direction:column;gap:var(--space-4)}.rec-savings{font-size:var(--text-xs);font-weight:var(--weight-semibold)}.rec-savings--over{color:var(--color-success)}.rec-savings--under{color:var(--color-danger)}.rec-arrow{color:var(--color-text-muted)}.rec-actions{display:inline-flex;gap:var(--space-1)}.rec-btn{background:#fff;background:var(--color-surface,#fff);border:1px solid var(--color-border);border-radius:4px;border-radius:var(--radius-sm,4px);cursor:pointer;font-size:var(--text-xs);padding:2px 8px;transition:background .15s,border-color .15s}.rec-btn:hover{background:#f5f5f5;background:var(--color-surface-hover,#f5f5f5)}.rec-btn--approve{border-color:var(--color-success);color:var(--color-success)}.rec-btn--reject{border-color:var(--color-danger);color:var(--color-danger)}.rec-btn--apply{border-color:#3b82f6;border-color:var(--color-primary,#3b82f6);color:#3b82f6;color:var(--color-primary,#3b82f6)}.rec-action-status{color:var(--color-text-muted);font-size:var(--text-xs)}.grade-badge{align-items:center;border-radius:var(--radius-base);color:var(--color-text-inverse);display:inline-flex;font-size:var(--text-sm);font-weight:var(--weight-bold);height:28px;justify-content:center;line-height:1;min-width:32px;padding:0 var(--space-2)}.grade-badge--a{background:var(--color-success)}.grade-badge--b{background:var(--color-primary-500)}.grade-badge--c{background:var(--color-warning)}.grade-badge--d{background:#e67e22}.grade-badge--f{background:var(--color-danger)}.grade-badge--na{background:var(--border-strong);color:var(--color-text-muted)}.severity-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);padding:2px var(--space-2);text-transform:capitalize}.severity-badge--critical{background:#fdecea;color:var(--color-danger)}.severity-badge--high{background:#fff3e0;color:#e67e22}.severity-badge--medium{background:#fff8e1;color:var(--color-warning)}.severity-badge--low{background:#e8f5e9;color:var(--color-success)}.security-reports-page{display:flex;flex-direction:column;gap:var(--space-4)}.security-reports-loading{color:var(--color-text-muted);font-size:var(--text-sm)}.security-reports-error{color:var(--color-danger);font-size:var(--text-sm)}.security-count-zero{color:var(--color-text-muted);font-size:var(--text-xs)}.security-status{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-2xs);font-weight:var(--weight-medium);padding:2px var(--space-2);text-transform:capitalize}.security-status--processed{background:#e8f5e9;color:var(--color-success)}.security-status--pending{background:var(--bg-accent);color:var(--color-primary-500)}.security-status--processing{background:#fff8e1;color:var(--color-warning)}.security-status--failed{background:#fdecea;color:var(--color-danger)}.security-detail-page{display:flex;flex-direction:column;gap:var(--space-5)}.security-detail-back{align-items:center;background:none;border:none;color:var(--color-primary-500);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--weight-medium);gap:var(--space-2);padding:0}.security-detail-back:hover{color:var(--color-primary-900)}.security-detail-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-4)}.security-detail-header .section-title{margin-bottom:0}.security-detail-cluster,.security-detail-loading{color:var(--color-text-muted);font-size:var(--text-sm)}.security-detail-error{color:var(--color-danger);font-size:var(--text-sm)}.security-section{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.security-section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-3) var(--space-5);-webkit-user-select:none;user-select:none}.security-section-header:hover{background:var(--bg-accent)}.security-section-title{color:var(--color-text-default);font-size:var(--text-md);font-weight:var(--weight-semibold)}.security-section-toggle{color:var(--color-text-muted);font-size:var(--text-sm);transition:transform var(--transition-fast)}.security-section-toggle.open{transform:rotate(180deg)}.security-section-body{padding:0 var(--space-5) var(--space-4)}.security-section-empty{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-3) 0}.security-summary-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.security-summary-card{background:var(--bg-card-tint);border:1px solid var(--border-separator);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);text-align:center}.security-summary-card__label{color:var(--color-text-muted);font-size:var(--text-xs);margin-bottom:var(--space-1)}.security-summary-card__value{color:var(--color-text-default);font-size:var(--text-xl);font-weight:var(--weight-bold)}.security-resource-bar{align-items:center;display:flex;gap:var(--space-2)}.security-resource-bar__track{background:var(--border-faint);border-radius:var(--radius-full);flex:1 1;height:8px;overflow:hidden}.security-resource-bar__fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-default)}.security-resource-bar__label{color:var(--color-text-muted);font-size:var(--text-2xs);min-width:36px;text-align:right}.users-page{padding:var(--space-4)}.users-error{background:#fef2f2;background:var(--color-danger-bg,#fef2f2);border:1px solid #fecaca;border:1px solid var(--color-danger-border,#fecaca);border-radius:var(--radius-md);color:#dc2626;color:var(--color-danger,#dc2626);margin-bottom:var(--space-4);padding:var(--space-3)}.users-role-cell{align-items:center;display:flex;gap:var(--space-2)}.users-role-select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);padding:var(--space-1) var(--space-2)}.users-role-select:disabled{cursor:not-allowed;opacity:.6}.users-status{color:var(--color-text-muted);font-size:var(--text-xs)}.users-status--success{color:#16a34a;color:var(--color-success,#16a34a)}.users-delete-btn,.users-status--error{color:#dc2626;color:var(--color-danger,#dc2626)}.users-delete-btn{background:#0000;border:1px solid #dc2626;border:1px solid var(--color-danger,#dc2626);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);padding:var(--space-1) var(--space-2);transition:background .15s,color .15s}.users-delete-btn:hover:not(:disabled){background:#dc2626;background:var(--color-danger,#dc2626);color:#fff}.users-delete-btn:disabled{cursor:not-allowed;opacity:.4}.users-invite-box{background:#f9fafb;background:var(--bg-surface,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-default,#e5e7eb);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-4)}.users-invite-row{align-items:center;display:flex;gap:var(--space-2)}.users-invite-label{color:var(--color-text-muted);font-size:var(--text-sm)}.users-invite-code{background:#e5e7eb;border-radius:var(--radius-sm);font-family:monospace;font-size:var(--text-sm);padding:2px 8px;-webkit-user-select:all;user-select:all}.users-invite-copy-btn{background:#0000;border:1px solid #3b82f6;border-radius:var(--radius-sm);color:#3b82f6;cursor:pointer;font-size:var(--text-xs);padding:2px 10px;transition:background .15s,color .15s}.users-invite-copy-btn:hover{background:#3b82f6;color:#fff}.app-layout{height:100vh}.app-layout,.app-main{display:flex;overflow:hidden}.app-main{flex:1 1;flex-direction:column}.app-content{flex:1 1;max-width:var(--content-max-width);overflow-y:auto;padding:var(--space-6)}
/*# sourceMappingURL=main.e8503c75.css.map*/