*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f7fa;color:#1a1a2e;line-height:1.5}.app{max-width:1400px;margin:0 auto;padding:1rem}header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:2px solid #e1e5eb;margin-bottom:1.5rem}header h1{font-size:1.5rem;font-weight:700}.cluster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(600px,1fr));gap:1.5rem}.cluster-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.cluster-grid-has-collapsed{grid-template-columns:1fr}.cluster-panel-collapsed{align-self:start}.cluster-collapse-chevron{font-size:.7rem;color:#adb5bd;transition:transform .2s ease;display:inline-block}.cluster-collapse-chevron-open{transform:rotate(90deg)}.cluster-panel h2{font-size:1.2rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-running{background:#d4edda;color:#155724}.status-error{background:#f8d7da;color:#721c24}.status-unreachable{background:#fff3cd;color:#856404}.status-pending{background:#d1ecf1;color:#0c5460}.status-success{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.status-triggered{background:#cce5ff;color:#004085}.status-in_progress{background:#fff3cd;color:#856404}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;padding:.5rem;border-bottom:2px solid #e1e5eb;color:#6c757d;font-weight:600}td{padding:.5rem;border-bottom:1px solid #f0f0f0}tr:hover{background:#f8f9fa}.btn{display:inline-block;padding:.4rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.btn-primary{background:#06c;color:#fff}.btn-primary:hover{background:#05a}.btn-primary:disabled{background:#a0c4e8;cursor:not-allowed}.btn-danger{background:#dc3545;color:#fff}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:360px}.login-form h2{margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.3rem;font-weight:500;font-size:.875rem}.form-group input{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.95rem}.error-text{color:#dc3545;font-size:.85rem;margin-top:.5rem}.releases-section{margin-top:2rem}.user-info{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.nav-tabs{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:2px solid #e1e5eb}.nav-tab{padding:.5rem 0;border:none;background:none;cursor:pointer;font-size:.95rem;color:#6c757d;border-bottom:2px solid transparent;margin-bottom:-2px}.nav-tab.active{color:#06c;border-bottom-color:#06c;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 16px #0003;width:100%;max-width:400px}.modal h3{margin-bottom:1rem}.spinner{display:inline-block;width:.75em;height:.75em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-left:.4em}@keyframes spin{to{transform:rotate(360deg)}}.donut-container{display:flex;flex-direction:column;align-items:center;gap:.25rem}.donut-label{font-size:.7rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.05em}.donut-detail{font-size:.65rem;color:#6c757d}.cluster-metrics{margin-bottom:1rem}.cluster-metrics-donuts{display:flex;flex-wrap:wrap;gap:1rem}.cluster-metrics-warnings{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e1e5eb;display:flex;flex-direction:column;gap:.25rem}.cluster-metrics-warning{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#856404;background:#fff3cd;padding:.25rem .5rem;border-radius:4px}.cluster-metrics-warning-icon{font-size:.85rem}.dep-card-grid{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.cluster-grid-has-collapsed .dep-card-grid{display:grid;grid-template-columns:repeat(2,1fr);align-items:start}.cluster-grid-has-collapsed .dep-card-grid>:last-child:nth-child(odd){grid-column:1 / -1}.dep-card{background:#fff;border:1px solid #e1e5eb;border-radius:10px;padding:1.25rem;transition:box-shadow .2s ease}.dep-card:hover{box-shadow:0 2px 8px #00000014}.dep-card-collapsed .dep-card-header{margin-bottom:0}.dep-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.dep-card-collapse-chevron{font-size:.6rem;color:#adb5bd;transition:transform .2s ease;display:inline-block;flex-shrink:0}.dep-card-collapse-chevron-open{transform:rotate(90deg)}.dep-card-title{display:flex;align-items:center;gap:.75rem}.dep-card-name{font-size:1rem;font-weight:700;color:#1a1a2e;margin:0}.dep-card-namespace{font-size:.7rem;color:#6c757d;background:#f0f0f0;padding:.1rem .4rem;border-radius:3px}.dep-card-scale{display:inline-flex;align-items:center;gap:.3rem}.scale-btn{width:18px;height:18px;border:none;border-radius:3px;background:transparent;color:#adb5bd;font-size:.8rem;font-weight:600;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:color .15s,background .15s}.scale-btn:hover:not(:disabled){color:#1a1a2e;background:#e9ecef}.scale-btn:disabled{opacity:.25;cursor:not-allowed}.dep-card-uptodate{font-size:.75rem;font-weight:600;color:#28a745}.dep-card-deploying{font-size:.75rem;font-weight:600;color:#856404}.dep-card-pending-status{font-size:.75rem;font-weight:600;color:#856404;background:#fff3cd;padding:.15rem .5rem;border-radius:12px}.dep-card-image{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0}.dep-card-image-label{font-size:.65rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.dep-card-image-value{font-size:.75rem;color:#495057;word-break:break-all;background:#f8f9fa;padding:.2rem .4rem;border-radius:4px}.dep-card-scaled-zero{color:#6c757d;font-size:.8rem;font-style:italic;margin:.5rem 0}.dep-card-pods{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:.75rem}.dep-card-pods>:last-child:nth-child(odd){grid-column:1 / -1}.dep-card-pod{background:#f8f9fa;border-radius:8px;padding:.75rem}.dep-card-pod-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.dep-card-pod-name{font-size:.7rem;font-weight:600;color:#6c757d;word-break:break-all;text-align:right}.dep-card-pod-metrics{display:flex;gap:1rem;justify-content:center}.dep-card-unreleased{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f0f0f0}.dep-card-unreleased-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.dep-card-unreleased-title-row{display:flex;align-items:baseline;gap:.5rem}.dep-card-unreleased-title{font-size:.8rem;font-weight:600;color:#856404}.dep-card-unreleased-branch{font-size:.7rem;color:#6c757d;background:#f0f0f0;padding:.1rem .4rem;border-radius:3px}.dep-card-commit-list{list-style:none;padding:0;margin:0;background:#f8f9fa;border-radius:6px;padding:.5rem .75rem}.dep-card-commit{display:flex;align-items:baseline;gap:.5rem;padding:.3rem 0;border-bottom:1px solid #e9ecef;font-size:.8rem}.dep-card-commit:last-child{border-bottom:none}.dep-card-commit-sha{font-size:.7rem;background:#e9ecef;padding:.1rem .3rem;border-radius:3px;color:#495057;flex-shrink:0}.dep-card-commit-chevron{font-size:.6rem;color:#6c757d;flex-shrink:0;transition:transform .15s ease;width:.6rem;text-align:center}.dep-card-commit-expanded .dep-card-commit-chevron{transform:rotate(90deg)}.dep-card-commit-msg{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1a1a2e}.dep-card-commit-expanded .dep-card-commit-msg{white-space:pre-wrap;overflow:visible;text-overflow:unset}.dep-card-commit-body{display:block;padding:.25rem 0;color:#495057}.dep-card-commit-author{font-size:.7rem;color:#6c757d;flex-shrink:0}.dep-card-release{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f0f0f0}.dep-card-release-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.dep-card-release-title{font-size:.7rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.05em}.dep-card-release-details{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.8rem;color:#495057}.dep-card-release-item{display:flex;align-items:baseline;gap:.3rem}.dep-card-release-label{font-size:.65rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.03em}.dep-card-release-code{font-size:.75rem;background:#f8f9fa;padding:.1rem .3rem;border-radius:3px;color:#495057}
