/* NovaConnection UI — parche de estilos, conserva style.css previo */
:root { --nc-bg:#f5f7fc; --nc-surface:#ffffff; --nc-soft:#eff3fa; --nc-border:#e3eaf4; --nc-text:#15253d; --nc-muted:#687890; --nc-accent:#3469e9; --nc-shadow:0 12px 35px rgba(25,48,89,.055); color-scheme:light; }
html[data-theme="dark"] { --nc-bg:#0d1524; --nc-surface:#172337; --nc-soft:#23324b; --nc-border:#30415c; --nc-text:#f0f5fe; --nc-muted:#a4b3c8; --nc-accent:#85a8ff; --nc-shadow:0 10px 35px rgba(0,0,0,.15); color-scheme:dark; }
body, .auth { background:var(--nc-bg); color:var(--nc-text); }
.sidebar,.card,.panel,.login-card { background:var(--nc-surface);border-color:var(--nc-border);color:var(--nc-text);box-shadow:var(--nc-shadow); }
.sidebar{border-right:1px solid var(--nc-border)}
h1,h2,td b,.metric,.brand{color:var(--nc-text)}
.muted,.account small,.small,.section-label,.eyebrow,th{color:var(--nc-muted)}
input,select,textarea{background:var(--nc-surface);border-color:var(--nc-border);color:var(--nc-text)}
label,td {color:var(--nc-text)}
.secondary,.action,code{background:var(--nc-soft);color:var(--nc-text)}
.nav{color:var(--nc-muted)}.nav:hover,.nav.active{background:var(--nc-soft);color:var(--nc-accent)}
th,td,.account{border-color:var(--nc-border)}
.panel,.card{border-radius:17px}
.table-wrap{width:100%;overflow-x:auto}
.connections-table{min-width:760px}
.connection-group:not(:last-child) tr:last-child td{border-bottom:1px solid var(--nc-border)}
.instance-name{word-break:break-all;font-size:11px}
.icon-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:160px}
.icon-actions .inline{display:inline-flex;margin:0}
.svg-icons{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:19px;height:19px;display:inline-block;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;vertical-align:middle;flex-shrink:0}
.icon-btn{display:inline-flex;justify-content:center;align-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--nc-border);color:var(--nc-text);background:var(--nc-soft);transition:transform .15s,background .15s}
.icon-btn:hover{transform:translateY(-2px);background:var(--nc-border)}.icon-btn:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--nc-accent);outline-offset:2px}
.icon-btn.danger-icon{color:#e35b66}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.qr-row[hidden], [hidden]{display:none!important}
.qr-row td{background:var(--nc-soft);padding:0!important}
.qr-panel{padding:24px;text-align:center;max-width:600px;margin:auto}
.qr-panel p{color:var(--nc-muted);margin:8px 0 14px}
.qr-content{min-height:48px;margin:0 auto 14px;display:flex;justify-content:center;align-items:center}
.qr-image{display:block;width:min(260px,100%);height:auto;border-radius:13px;padding:12px;background:white;box-shadow:0 5px 25px rgba(0,0,0,.08)}
.status-detail{margin-top:8px;color:var(--nc-muted)}.status-detail.is-online{color:#20a777}
.top-tools{display:flex;justify-content:flex-end;margin:-12px 0 14px}
.auth-tools{position:fixed;z-index:5;right:20px;top:14px}
.theme-toggle{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--nc-border);background:var(--nc-surface);color:var(--nc-text);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700}
.loading-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(6,14,30,.57);backdrop-filter:blur(7px);display:grid;place-items:center;padding:16px}
.loading-card{width:min(100%,310px);text-align:center;border:1px solid var(--nc-border);border-radius:22px;padding:32px;background:var(--nc-surface);box-shadow:0 25px 75px #0005}
.loading-card p{margin-bottom:0;color:var(--nc-muted);font-size:13px}
.spinner{width:45px;height:45px;border:4px solid var(--nc-border);border-top-color:var(--nc-accent);border-radius:50%;margin:0 auto 18px;animation:nc-spin .85s linear infinite}
@keyframes nc-spin{to{transform:rotate(360deg)}}
.toast-stack{position:fixed;right:20px;bottom:18px;z-index:3000;display:grid;gap:10px;width:min(370px,calc(100vw - 40px))}
.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--nc-surface);color:var(--nc-text);border:1px solid var(--nc-border);border-left:4px solid var(--nc-accent);box-shadow:0 14px 35px #0002;border-radius:12px;padding:13px 14px;font-size:13px}
.toast-success{border-left-color:#23a875}.toast-error{border-left-color:#ed6572}
.toast button{color:var(--nc-muted);background:none;font-size:24px;line-height:1}
.nova-dialog{border:1px solid var(--nc-border);background:var(--nc-surface);color:var(--nc-text);border-radius:20px;padding:25px;max-width:min(420px,calc(100vw - 30px));box-shadow:0 20px 60px #0004}
.nova-dialog::backdrop{background:rgba(3,12,28,.62);backdrop-filter:blur(4px)}.nova-dialog p{color:var(--nc-muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.mobile-top{display:none}
@media(max-width:950px){.main{padding:22px 16px}.cards{gap:10px}.card,.panel{padding:17px}}
@media(max-width:700px){.mobile-top{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:var(--nc-surface);border-bottom:1px solid var(--nc-border)}.mobile-top .brand{font-size:16px}.sidebar{display:none;width:100%}.sidebar.mobile-open{display:flex}.sidebar.mobile-open .side-bottom{display:block}.sidebar.mobile-open nav{display:flex;flex-direction:column}.main{width:100%}.cards{grid-template-columns:1fr 1fr}.page-heading h1{font-size:24px}.page-heading{margin-bottom:18px}.row-form{display:flex;flex-wrap:wrap}.connection-label{width:100%}.row-form button{width:100%}.toast-stack{bottom:10px;right:10px;width:calc(100vw - 20px)}}
@media(max-width:440px){.cards{grid-template-columns:1fr}.top-tools{margin:0 0 12px}.auth-tools{right:10px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}.icon-btn{transition:none}}
