*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--surface:#181818;--border:#2a2a2a;--text:#e8e8e8;--muted:#666;--accent:#e8e8e8}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:14px}.login-wrapper{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form{flex-direction:column;gap:12px;width:280px;display:flex}.login-form h1{letter-spacing:.08em;color:var(--text);min-height:1.4em;margin-bottom:8px;font-size:18px;font-weight:500}.typewriter{display:block}.cursor{color:var(--muted);letter-spacing:-.05em;font-weight:300;animation:1s step-start infinite blink;display:inline}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.field input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.field input::placeholder{color:var(--muted)}.field input:focus{border-color:#444}.login-form button{border:1px solid var(--border);color:var(--text);cursor:pointer;letter-spacing:.04em;background:0 0;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,color .15s}.login-form button:hover:not(:disabled){color:#fff;border-color:#555}.login-form button:disabled{opacity:.4;cursor:not-allowed}.error{color:#e05555;font-size:12px}.field--password{position:relative}.field--password input{padding-right:36px}.eye-btn{cursor:pointer;opacity:.35;background:0 0;border:none;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.eye-btn:hover{opacity:.7}.eye-btn:focus{outline:none}.eye-icon{filter:invert();width:15px;height:15px;display:block}.btn-primary{color:var(--text);cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #444;padding:7px 14px;font-family:inherit;font-size:12px;transition:border-color .15s,color .15s}.btn-primary:hover{color:#fff;border-color:#888}.btn-outline{color:var(--muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #2e2e2e;padding:7px 14px;font-family:inherit;font-size:12px;transition:border-color .15s,color .15s}.btn-outline:hover{color:var(--text);border-color:#555}.btn-ghost{color:var(--muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;font-family:inherit;font-size:12px;transition:color .15s}.btn-ghost:hover{color:var(--text)}.btn-danger{color:#844;cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #3a1a1a;padding:4px 10px;font-family:inherit;font-size:11px;transition:border-color .15s,color .15s}.btn-danger:hover{color:#e05555;border-color:#833}.gerenciar-wrapper{flex-direction:column;min-height:100vh;display:flex}.gerenciar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.gerenciar-header>span{letter-spacing:.08em;color:var(--text);font-size:14px}.header-actions{align-items:center;gap:16px;display:flex}.gerenciar-main{flex:1;padding:40px 48px}.empty{color:var(--muted);text-align:center;margin-top:80px;font-size:13px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:20px;padding:24px;transition:border-color .15s;display:flex}.card:hover{border-color:#333}.card-top{justify-content:space-between;align-items:center;display:flex}.card-identity{align-items:center;gap:10px;display:flex}.card-name{letter-spacing:.03em;color:var(--text);font-size:15px;font-weight:500}.card-name--link{cursor:pointer;text-decoration:none;transition:color .15s}.card-name--link:hover{color:#9dbfe8;text-decoration:underline}.card-status-label{letter-spacing:.08em;text-transform:uppercase;font-size:10px}.card-status-label--checking{color:#555}.card-status-label--up{color:#3d9e5f}.card-status-label--starting{color:#a07830}.card-status-label--down{color:#7a3030}.card-mid{grid-template-columns:1fr 1fr;gap:16px 24px;display:grid}.card-field{flex-direction:column;gap:4px;display:flex}.card-field--full{grid-column:1/-1}.card-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.card-value{color:#c8c8c8;font-size:13px}.card-branch{color:#7a9ecc;font-size:12px}.card-link{color:#7a9ecc;word-break:break-all;font-size:12px;text-decoration:none}.card-link:hover{color:#9dbfe8;text-decoration:underline}.card-obs-field{margin-top:2px}.card-obs{color:#888;resize:none;box-sizing:border-box;background:0 0;border:1px solid #1e1e1e;outline:none;width:100%;padding:6px 8px;font-family:inherit;font-size:12px;line-height:1.5;transition:border-color .15s,color .15s}.card-obs:focus{color:#bbb;border-color:#333}.card-obs::placeholder{color:#333}.card-confirm{align-items:center;gap:6px;display:flex}.card-confirm__text{color:#888;font-size:12px}.btn-upgrade{color:#6a9e6a;cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #2a3a2a;padding:4px 10px;font-family:inherit;font-size:11px;transition:border-color .15s,color .15s}.btn-upgrade:hover{color:#8ec88e;border-color:#4a7a4a}.upgrade-panel{background:#090d09;border:1px solid #1e2e1e;flex-direction:column;gap:0;margin:0 -20px;display:flex}.upgrade-panel__header{color:#6a9e6a;letter-spacing:.04em;border-bottom:1px solid #1e2e1e;justify-content:space-between;align-items:center;padding:8px 14px;font-size:11px;display:flex}.upgrade-panel__log{border:none;border-radius:0;max-height:160px;font-size:11px}.upgrade-panel__close{align-self:flex-end;padding:6px 14px;font-size:11px}.card-bottom{border-top:1px solid #1e1e1e;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.btn-log{color:#555;cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #252525;padding:4px 10px;font-family:inherit;font-size:11px;transition:border-color .15s,color .15s}.btn-log:hover{color:#aaa;border-color:#444}.log-overlay{z-index:300;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.log-panel{background:#0a0a0a;border-top:1px solid #2a2a2a;flex-direction:column;width:100%;height:55vh;min-height:280px;display:flex}.log-header{border-bottom:1px solid #1a1a1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.log-title{color:#666;letter-spacing:.02em;align-items:center;gap:8px;font-size:12px;display:flex}.log-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.log-dot--on{background:#3d9e5f;box-shadow:0 0 4px #3d9e5f88}.log-dot--off{background:#444}.log-actions{align-items:center;gap:6px;display:flex}.log-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #1e1e1e;padding:3px 9px;font-family:inherit;font-size:11px;transition:color .12s,border-color .12s}.log-btn:hover{color:#aaa;border-color:#333}.log-btn--close{border-color:#0000;font-size:12px}.log-body{scrollbar-width:thin;scrollbar-color:#222 transparent;flex:1;padding:10px 16px;font-size:12px;line-height:1.7;overflow-y:auto}.log-line{color:#9ecb7a;white-space:pre-wrap;word-break:break-all}.log-line--sys{color:#555;font-style:italic}.log-empty{color:#333;font-style:italic}.log-paused-bar{color:#a07830;letter-spacing:.04em;background:#1a1400;border-top:1px solid #3a3000;flex-shrink:0;padding:6px 16px;font-size:11px}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot--checking{background:#555}.status-dot--up{background:#3d9e5f;box-shadow:0 0 5px #3d9e5f88}.status-dot--starting{background:#a07830;animation:1.2s ease-in-out infinite pulse-starting}.status-dot--down{background:#8b3030}@keyframes pulse-starting{0%,to{box-shadow:0 0 #a0783088}50%{box-shadow:0 0 0 4px #a0783022}}.modal-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);flex-direction:column;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);display:flex;overflow:hidden}.modal-header{letter-spacing:.06em;color:var(--text);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 0;font-size:13px;display:flex}.modal-steps{flex-shrink:0;padding:12px 24px 0}.modal-scroll{scrollbar-width:thin;scrollbar-color:#2a2a2a transparent;flex:1;padding:0 24px 24px;overflow-y:auto}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text)}.modal-form{flex-direction:column;gap:12px;padding-top:16px;display:flex}.modal-form label{color:var(--muted);letter-spacing:.04em;flex-direction:column;gap:5px;font-size:11px;display:flex}.modal-form input,.modal-form select{background:var(--bg);border:1px solid var(--border);color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.modal-form input:focus,.modal-form select:focus{border-color:#444}.modal-form select option{background:var(--bg)}.modal-meta{color:var(--muted);padding-top:2px;font-size:11px}.modal-meta strong{color:#aaa}.dump-log{scrollbar-width:thin;scrollbar-color:#222 transparent;background:#0a0a0a;border:1px solid #1e1e1e;max-height:180px;padding:10px 12px;font-size:11px;line-height:1.7;overflow-y:auto}.dump-log__line{color:#9ecb7a;white-space:pre-wrap;word-break:break-all}.dump-log__empty{color:#444;font-style:italic}.step-url-actions{align-items:center;gap:8px;display:flex}.step-url-actions .btn-outline{white-space:nowrap;text-overflow:ellipsis;flex:1;padding:7px 10px;font-size:11px;overflow:hidden}.step-url-actions .btn-primary{flex-shrink:0}.select-loading{color:var(--muted);border:1px solid var(--border);background:var(--bg);padding:8px 10px;font-size:13px}.modal-textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);resize:vertical;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.modal-textarea:focus{border-color:#444}.form-field-label{color:var(--muted);letter-spacing:.04em;font-size:11px}.orcamento-label-row{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.orcamento-add-btn{opacity:.6;padding:0;font-size:11px}.orcamento-add-btn:hover{opacity:1}.orcamento-novo-row{align-items:center;gap:6px;display:flex}.orcamento-novo-input{background:var(--bg);border:1px solid var(--border);color:var(--text);outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.orcamento-novo-input:focus{border-color:#444}.select-empty{color:#6a4040;border-color:#3a1a1a}.modal-hint{color:var(--muted);font-size:12px;line-height:1.5}.modal-hint--warn{color:#a07830}.modal-host{color:#7a9ecc;letter-spacing:.02em;font-size:12px}.modal-row{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.modal-ok{color:#3d9e5f;padding:8px 0 12px;font-size:13px}.modal-ok strong{color:#5dc882}.step-indicator{align-items:center;gap:6px;display:flex}.step-dot{background:var(--border);width:20px;height:20px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:flex}.step-dot--active{color:var(--text);background:#2a2a2a;border:1px solid #444}.radio-group{flex-direction:column;gap:10px;display:flex}.radio-label{color:#aaa;cursor:pointer;align-items:baseline;gap:10px;font-size:13px;display:flex}.radio-label input[type=radio]{accent-color:#888;cursor:pointer;flex-shrink:0}.radio-label strong{color:var(--text)}.btn-danger-solid{color:#e05555;cursor:pointer;letter-spacing:.04em;background:#3a1212;border:1px solid #6b2020;padding:7px 14px;font-family:inherit;font-size:12px;transition:background .15s,border-color .15s}.btn-danger-solid:hover{background:#4a1818;border-color:#833}.btn-danger-solid:disabled{opacity:.4;cursor:not-allowed}.ssh-help{border:1px solid var(--border);background:#111}.ssh-help__toggle{width:100%;color:var(--muted);letter-spacing:.04em;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:11px;transition:color .15s;display:flex}.ssh-help__toggle:hover{color:var(--text)}.ssh-help__arrow{flex-shrink:0;font-size:10px}.ssh-help__body{border-top:1px solid var(--border);flex-direction:column;gap:18px;padding:0 14px 16px;display:flex}.ssh-help__intro{color:#666;padding-top:14px;font-size:11px;line-height:1.6}.ssh-inputs{background:#0d0d0d;border:1px solid #222;flex-direction:column;gap:10px;padding:12px;display:flex}.ssh-input-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;flex-direction:column;gap:4px;font-size:10px;display:flex}.ssh-input{background:var(--bg);color:var(--text);resize:none;border:1px solid #2a2a2a;outline:none;padding:6px 8px;font-family:inherit;font-size:11px;transition:border-color .15s}.ssh-input:focus{border-color:#444}.ssh-input--textarea{word-break:break-all;line-height:1.5}.ssh-step{flex-direction:column;gap:5px;display:flex}.ssh-step__title{color:#aaa;letter-spacing:.02em;font-size:11px;font-weight:500}.ssh-step__desc{color:#666;font-size:11px}.ssh-step__cmd-wrap{align-items:flex-start;gap:8px;display:flex}.ssh-step__cmd{color:#9ecb7a;white-space:pre-wrap;word-break:break-all;background:#0a0a0a;border:1px solid #222;flex:1;margin:0;padding:8px 10px;font-family:inherit;font-size:11px;line-height:1.6}.ssh-step__note{color:#555;font-size:11px;line-height:1.5}.copy-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #2a2a2a;flex-shrink:0;align-self:flex-start;margin-top:1px;padding:4px 8px;font-family:inherit;font-size:10px;transition:color .15s,border-color .15s}.copy-btn:hover{color:var(--text);border-color:#444}.custom-select__trigger{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s;display:flex}.custom-select__trigger:hover,.custom-select__trigger--open{border-color:#444}.custom-select__arrow{color:var(--muted);flex-shrink:0;font-size:11px;line-height:1;transition:transform .15s}.custom-select__arrow--open{transform:rotate(180deg)}.custom-select__list{scrollbar-width:thin;scrollbar-color:#333 transparent;background:#141414;border:1px solid #333;max-height:220px;list-style:none;overflow-y:auto;box-shadow:0 8px 24px #00000080}.custom-select__item{color:#aaa;cursor:pointer;padding:8px 10px;font-size:13px;transition:background .1s,color .1s}.custom-select__item:hover{color:var(--text);background:#1e1e1e}.custom-select__item--active{color:var(--text);background:#1a1a1a}.branch-input__list{background:#141414;border:1px solid #333;border-radius:4px;max-height:220px;padding:4px 0;list-style:none;overflow-y:auto;box-shadow:0 6px 18px #00000080}.branch-input__item{color:#aaa;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:7px 10px;font-family:inherit;font-size:12px;transition:background .1s,color .1s;overflow:hidden}.branch-input__item:hover,.branch-input__item--active{color:var(--text);background:#1e1e1e}.branch-input__hint{color:var(--muted);padding:7px 10px;font-family:inherit;font-size:12px}.bancos-list{flex-direction:column;gap:2px;padding:4px 0;display:flex}.banco-item{border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.banco-item:hover{background:#111}.banco-item__info{flex-direction:column;gap:2px;min-width:0;display:flex}.banco-item__nome{color:var(--text);font-size:14px;font-weight:500}.banco-item__meta{color:#555;font-size:11px}.banco-item__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.banco-item__confirm-text{color:#888;font-size:12px}.btn-sm{padding:4px 10px;font-size:12px}.modal--menu{width:360px}.banco-menu-options{flex-direction:column;gap:8px;padding:16px 24px 24px;display:flex}.banco-menu-option{border:1px solid var(--border);cursor:pointer;text-align:left;background:#111;border-radius:6px;flex-direction:column;align-items:flex-start;gap:3px;padding:16px 18px;transition:border-color .15s,background .15s;display:flex}.banco-menu-option:hover{background:#161616;border-color:#3a3a3a}.banco-menu-option__icon{color:var(--muted);margin-bottom:4px;font-size:18px;line-height:1}.banco-menu-option__label{color:var(--text);letter-spacing:.03em;font-size:13px}.banco-menu-option__desc{color:#555;letter-spacing:.02em;font-size:11px}
