.login-wrapper[data-v-c4a0d020]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1rem}.login-card[data-v-c4a0d020]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.25rem}.login-header[data-v-c4a0d020]{text-align:center;margin-bottom:.5rem}.login-logo[data-v-c4a0d020]{height:24px;width:auto;object-fit:contain;mix-blend-mode:normal;margin-bottom:1rem}.login-header h1[data-v-c4a0d020]{font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.login-sub[data-v-c4a0d020]{color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.field[data-v-c4a0d020]{display:flex;flex-direction:column;gap:.4rem}.field label[data-v-c4a0d020]{font-size:.8rem;font-weight:500;color:var(--text-muted)}.field input[data-v-c4a0d020]{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem;color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s}.field input[data-v-c4a0d020]:focus{border-color:var(--accent)}.field input[data-v-c4a0d020]::placeholder{color:#6b7280}.login-error[data-v-c4a0d020]{background:#f8717126;color:#f87171;border:1px solid rgba(248,113,113,.3);border-radius:8px;padding:.6rem .85rem;font-size:.85rem}.login-btn[data-v-c4a0d020]{width:100%;padding:.7rem;font-size:.95rem;margin-top:.25rem}.toaster[data-v-cc6c63ab]{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:min(420px,calc(100vw - 2rem))}.toaster__list[data-v-cc6c63ab]{display:flex;flex-direction:column;gap:.5rem}.toast[data-v-cc6c63ab]{position:relative;overflow:hidden;min-height:48px;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 40px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast__content[data-v-cc6c63ab]{display:flex;align-items:center;gap:.75rem;position:relative;z-index:1}.toast__icon[data-v-cc6c63ab]{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem;font-weight:700}.toast__icon--success[data-v-cc6c63ab]{background:#34d39933;color:#34d399}.toast__icon--error[data-v-cc6c63ab]{background:#f8717133;color:#f87171}.toast__icon--warning[data-v-cc6c63ab]{background:#fbbf2433;color:#fbbf24}.toast__icon--info[data-v-cc6c63ab]{background:#3b82f633;color:var(--accent)}.toast__message[data-v-cc6c63ab]{flex:1;font-size:.9rem;font-weight:500;color:var(--text);line-height:1.4}.toast__close[data-v-cc6c63ab]{flex-shrink:0;padding:.25rem;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:6px;opacity:.7;transition:opacity .15s,background .15s}.toast__close[data-v-cc6c63ab]:hover{opacity:1;background:#ffffff14}.toast__close svg[data-v-cc6c63ab]{width:16px;height:16px}.toast__progress[data-v-cc6c63ab]{position:absolute;bottom:0;left:0;height:3px;background:#ffffff4d;border-radius:0 0 12px 12px;transform-origin:left;animation:toast-progress-cc6c63ab linear forwards}.toast--success .toast__progress[data-v-cc6c63ab]{background:#34d39999}.toast--error .toast__progress[data-v-cc6c63ab]{background:#f8717199}.toast--warning .toast__progress[data-v-cc6c63ab]{background:#fbbf2499}.toast--info .toast__progress[data-v-cc6c63ab]{background:#3b82f699}@keyframes toast-progress-cc6c63ab{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-active[data-v-cc6c63ab],.toast-leave-active[data-v-cc6c63ab]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-enter-from[data-v-cc6c63ab],.toast-leave-to[data-v-cc6c63ab]{opacity:0;transform:translate(100%)}.toast-move[data-v-cc6c63ab]{transition:transform .3s cubic-bezier(.4,0,.2,1)}.trophy-badge-wrapper[data-v-e7d84bd5]{display:inline-flex;position:relative;cursor:help}.trophy-tooltip[data-v-e7d84bd5]{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:.35rem .6rem;font-size:.75rem;white-space:nowrap;background:#1a2d1a;color:#5a9a5a;border:1px solid rgba(90,154,90,.35);border-radius:6px;box-shadow:0 4px 12px #0006;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:100}.trophy-tooltip-right[data-v-e7d84bd5]{left:auto;right:0;transform:translateY(-4px)}.trophy-tooltip-bottom[data-v-e7d84bd5]{top:100%;bottom:auto;transform:translate(-50%) translateY(4px)}.trophy-tooltip-bottom.trophy-tooltip-right[data-v-e7d84bd5]{transform:translateY(4px)}.trophy-badge-wrapper:hover .trophy-tooltip[data-v-e7d84bd5]{opacity:1}.trophy-badge[data-v-e7d84bd5]{display:inline-flex;align-items:center;justify-content:center;position:relative;width:2.25rem;height:2.25rem;flex-shrink:0}.trophy-icon[data-v-e7d84bd5]{width:2rem;height:2rem;position:absolute}.trophy-rank[data-v-e7d84bd5]{font-size:.8rem;font-weight:700;position:relative;z-index:1;color:#111827;text-shadow:0 0 1px #fff,0 1px 1px rgba(255,255,255,.8)}.trophy-badge-1 .trophy-icon[data-v-e7d84bd5]{color:gold}.trophy-badge-2 .trophy-icon[data-v-e7d84bd5]{color:silver}.trophy-badge-3 .trophy-icon[data-v-e7d84bd5]{color:#cd7f32}.trophy-badge-4 .trophy-icon[data-v-e7d84bd5]{color:#9ca3af}.trophy-badge-5 .trophy-icon[data-v-e7d84bd5]{color:#6b7280}.trophy-badge-6 .trophy-icon[data-v-e7d84bd5],.trophy-badge-7 .trophy-icon[data-v-e7d84bd5],.trophy-badge-8 .trophy-icon[data-v-e7d84bd5],.trophy-badge-9 .trophy-icon[data-v-e7d84bd5],.trophy-badge-10 .trophy-icon[data-v-e7d84bd5],.trophy-badge-default .trophy-icon[data-v-e7d84bd5]{color:#4b5563}.negative-rank-badge-wrapper[data-v-b609bb88]{display:inline-flex;position:relative;cursor:help}.negative-tooltip[data-v-b609bb88]{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:.35rem .6rem;font-size:.75rem;white-space:nowrap;background:#2d1a1a;color:#e07a7a;border:1px solid rgba(224,122,122,.35);border-radius:6px;box-shadow:0 4px 12px #0006;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:100}.negative-tooltip-right[data-v-b609bb88]{left:auto;right:0;transform:translateY(-4px)}.negative-tooltip-bottom[data-v-b609bb88]{top:100%;bottom:auto;transform:translate(-50%) translateY(4px)}.negative-tooltip-bottom.negative-tooltip-right[data-v-b609bb88]{transform:translateY(4px)}.negative-rank-badge-wrapper:hover .negative-tooltip[data-v-b609bb88]{opacity:1}.negative-rank-badge[data-v-b609bb88]{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;font-size:.8rem;font-weight:700;color:#fff;background:#dc2626;border-radius:50%;line-height:1;flex-shrink:0}@font-face{font-family:SF Pro Text;src:url(https://cdn.jsdelivr.net/npm/sf-pro@1.0.4/font/woff2/sf-pro-text_regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Text;src:url(https://cdn.jsdelivr.net/npm/sf-pro@1.0.4/font/woff2/sf-pro-text_semibold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(https://cdn.jsdelivr.net/npm/sf-pro@1.0.4/font/woff2/sf-pro-display_regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(https://cdn.jsdelivr.net/npm/sf-pro@1.0.4/font/woff2/sf-pro-display_medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(https://cdn.jsdelivr.net/npm/sf-pro@1.0.4/font/woff2/sf-pro-display_semibold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(https://cdn.jsdelivr.net/npm/sf-pro@1.0.4/font/woff2/sf-pro-display_bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg: #111827;--bg-card: #1f2937;--bg-input: #111827;--border: #374151;--text: #f3f4f6;--text-muted: #9ca3af;--accent: #3b82f6;--accent-hover: #2563eb}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:SF Pro Text,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;flex-direction:column;background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;overflow:visible}.topbar-main{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.25rem;overflow:visible}.topbar-left{display:flex;align-items:center;gap:.75rem}.logo-img{height:40px;width:auto;object-fit:contain;mix-blend-mode:normal}.logo-text{display:flex;align-items:baseline;gap:1rem}.logo{font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:.5rem}.nav-link{font-size:.85rem;color:var(--text-muted);text-decoration:none;padding:.25rem .5rem;border-radius:6px;transition:color .2s,background .2s}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--accent);background:#3b82f61a}.topbar-right{display:flex;align-items:center;gap:.5rem}.topbar-user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.topbar-user-avatar-placeholder{background:var(--border)}.user-info{font-size:.8rem;color:var(--text-muted);margin-left:.5rem}.topbar-user-medals{display:inline-flex;align-items:center;gap:.12rem}.topbar-user-medals :deep(.trophy-badge-wrapper){transform:scale(.72);transform-origin:center}.topbar-user-medals :deep(.negative-rank-badge-wrapper){transform:scale(.72);transform-origin:center}.content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:1rem 1.5rem}.app--relatorios-embed .content{padding:.75rem 1rem}.content-inner{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.content-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(280px,auto) minmax(320px,1fr);gap:1rem;align-items:stretch;max-width:1200px;margin:0 auto;width:100%}.grid-item{display:flex;flex-direction:column;min-height:0}.grid-item>*{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.grid-item.pipeline>*{overflow:visible}.grid-item.pipeline,.grid-item.environments{min-width:0;grid-column:1 / -1}.grid-item.logs,.grid-item.e2e,.grid-item.commands,.grid-item.crons{min-width:0}@media(max-width:900px){.content-grid{grid-template-columns:1fr;grid-template-rows:minmax(280px,auto) minmax(320px,auto)}.grid-item.pipeline,.grid-item.environments{grid-column:auto}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.card h2{font-size:1.05rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:background .2s,opacity .2s;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:#4b5563;color:#fff}.btn-secondary:hover:not(:disabled){background:#6b7280}.btn-outline{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--text);color:var(--text)}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.metrics-refresh-btn{display:flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;background:#3741514d;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text);transition:border-color .2s,background .2s,transform .15s}.metrics-refresh-btn:hover:not(:disabled){border-color:var(--accent);background:#3b82f626}.metrics-refresh-btn:active:not(:disabled){transform:scale(.96)}.metrics-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.metrics-refresh-icon{width:1.1rem;height:1.1rem}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.toast.error{background:#f8717126;color:#f87171;border:1px solid rgba(248,113,113,.3)}.footer{flex-shrink:0;display:flex;justify-content:center;padding:.4rem .75rem;border-top:1px solid var(--border)}.footer-logo{height:16px;width:auto;object-fit:contain;opacity:.5;transition:opacity .2s}.footer-logo:hover{opacity:.8}.skeleton{background:var(--border);border-radius:6px;animation:skeleton-pulse 1.2s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton-line{height:.9rem;border-radius:4px}.skeleton-block{border-radius:8px}
