*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#050a09;--bg2:#0a1210;--bg3:#0f1916;--bg4:#14221e;--bg5:#1a2e28;
  --border:#1a2e28;--border2:#25443a;
  --text:#f1f5f3;--text2:#b0c4bc;--text3:#6b8a80;--text-muted:#4a6b60;
  --primary:#10b981;--primary2:#34d399;--primary3:#6ee7b7;
  --accent:#22c55e;--accent-glow:rgba(16,185,129,.15);--accent-glow2:rgba(16,185,129,.25);
  --green:#22c55e;--red:#ef4444;--orange:#f59e0b;--blue:#3b82f6;--purple:#a855f7;
  --r:16px;--r2:12px;--r3:8px;
  --ease:cubic-bezier(.16,1,.3,1);
}
body{font-family:'Space Grotesk',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ═══════════════════ LOGIN PAGE ═══════════════════ */
.login-page{display:flex;min-height:100vh;position:relative;overflow:hidden;background:var(--bg)}
.login-ripple{position:absolute;top:0;left:0;width:50%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;
  mask-image:linear-gradient(to bottom,black,transparent 90%);-webkit-mask-image:linear-gradient(to bottom,black,transparent 90%)}
.ripple-circle{position:absolute;border-radius:50%;border:1px solid rgba(16,185,129,.08);animation:rippleExpand 4s ease-out infinite}
@keyframes rippleExpand{0%{transform:translate(-50%,-50%) scale(.8);opacity:.3}100%{transform:translate(-50%,-50%) scale(1.6);opacity:0}}
.orbit-container{position:relative;width:50%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.orbit-center-text{position:relative;z-index:2}
.orbit-logo{width:140px;height:auto;filter:drop-shadow(0 0 40px rgba(16,185,129,.4))}
.orbit-path{position:absolute;border-radius:50%;border:1px solid rgba(16,185,129,.08);top:50%;left:50%;transform:translate(-50%,-50%)}
.orbit-icon{position:absolute;width:36px;height:36px;border-radius:50%;background:rgba(16,185,129,.08);backdrop-filter:blur(4px);border:1px solid rgba(16,185,129,.15);display:flex;align-items:center;justify-content:center;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes orbitCW{from{transform:rotate(0deg) translateX(var(--radius)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--radius)) rotate(-360deg)}}
@keyframes orbitCCW{from{transform:rotate(360deg) translateX(var(--radius)) rotate(-360deg)}to{transform:rotate(0deg) translateX(var(--radius)) rotate(0deg)}}
.login-form-side{width:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:10}
.login-container{max-width:400px;width:90%;padding:0 20px}
.box-reveal{position:relative;overflow:hidden;margin-bottom:20px}
.box-reveal-cover{position:absolute;top:2px;bottom:2px;left:0;right:0;background:var(--primary);border-radius:4px;z-index:20;animation:boxSlide .5s var(--ease) forwards;animation-delay:calc(var(--delay) + .3s)}
.box-reveal>*:first-child{opacity:0;transform:translateY(30px);animation:boxFadeIn .5s var(--ease) forwards;animation-delay:calc(var(--delay) + .35s)}
@keyframes boxSlide{0%{left:0;right:0}100%{left:100%;right:0}}
@keyframes boxFadeIn{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}
.login-title{font-size:30px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#f0fdf4,var(--primary2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.login-subtitle{color:var(--text3);font-size:14px}
.field-label{display:block;font-size:12px;color:var(--text2);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:1px}
.required{color:var(--red)}
.glow-input-wrap{position:relative;border-radius:var(--r3);padding:2px;background:transparent;transition:background .3s}
.glow-input-wrap input{width:100%;padding:12px 16px;background:#071210;border:none;border-radius:6px;color:var(--text);font-family:inherit;font-size:14px;outline:none;box-shadow:0 0 1px 1px rgba(16,185,129,.15);transition:box-shadow .3s}
.glow-input-wrap input:focus{box-shadow:0 0 0 2px rgba(16,185,129,.4)}
.glow-input-wrap input::placeholder{color:var(--text-muted)}
.eye-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text2);cursor:pointer;padding:0;display:flex}
.submit-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:linear-gradient(135deg,#0a1a16,#0f2620);border:none;border-radius:var(--r3);color:var(--text);font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 -1px 0 rgba(255,255,255,.06);transition:all .3s}
.submit-btn:hover{background:linear-gradient(135deg,#0f2620,#153d2e)}
.btn-bottom-gradient{position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:0;transition:opacity .5s}
.btn-bottom-gradient-blur{position:absolute;bottom:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);filter:blur(3px);opacity:0;transition:opacity .5s}
.submit-btn:hover .btn-bottom-gradient,.submit-btn:hover .btn-bottom-gradient-blur{opacity:1}
.error-text{color:var(--red);font-size:13px;text-align:center;margin-top:16px;padding:12px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:6px}

/* ═══════════════════ BUTTONS ═══════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:none;border-radius:var(--r3);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s var(--ease);white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#020617}
.btn-primary:hover{filter:brightness(1.15);transform:translateY(-1px)}
.btn-glow{box-shadow:0 4px 24px var(--accent-glow2)}
.btn-outline{background:var(--bg4);border:1px solid var(--border);color:var(--text2)}
.btn-outline:hover{border-color:var(--border2);color:var(--text);background:var(--bg5)}
.btn-ghost{background:transparent;color:var(--text2);padding:8px;border-radius:6px}
.btn-ghost:hover{background:var(--bg4);color:var(--text)}
.btn-danger{background:rgba(239,68,68,.1);color:var(--red);border:1px solid rgba(239,68,68,.18)}
.btn-danger:hover{background:rgba(239,68,68,.2)}
.btn-sm{padding:8px 16px;font-size:13px}
.btn-xs{padding:5px 12px;font-size:12px;border-radius:6px}
.btn-full{width:100%}
.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}

/* ═══════════════════ TOPBAR ═══════════════════ */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 28px;background:rgba(7,18,16,.9);border-bottom:1px solid var(--border);backdrop-filter:blur(16px);position:sticky;top:0;z-index:100}
.topbar-left{display:flex;align-items:center;gap:14px}
.topbar-logo-img{height:32px;width:auto;filter:drop-shadow(0 0 12px rgba(16,185,129,.3));animation:logoPulse 3s ease-in-out infinite}
@keyframes logoPulse{0%,100%{filter:drop-shadow(0 0 12px rgba(16,185,129,.3))}50%{filter:drop-shadow(0 0 20px rgba(16,185,129,.5))}}
.topbar h1{font-size:16px;font-weight:600;letter-spacing:-.3px}
.topbar-sub{font-size:11px;color:var(--text-muted)}
.topbar-right{display:flex;align-items:center;gap:8px}
.user-pill{display:flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;background:var(--bg4);border:1px solid var(--border);border-radius:24px;font-size:13px;color:var(--text2)}
.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#020617}

/* ═══════════════════ STATS ═══════════════════ */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:24px 28px 12px}
.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);transition:all .3s var(--ease);position:relative;overflow:hidden;
  opacity:0;transform:translateY(20px);animation:staggerIn .5s var(--ease) forwards}
.stat-card:nth-child(1){animation-delay:.1s}
.stat-card:nth-child(2){animation-delay:.2s}
.stat-card:nth-child(3){animation-delay:.3s}
.stat-card:nth-child(4){animation-delay:.4s}
@keyframes staggerIn{to{opacity:1;transform:translateY(0)}}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:0;transition:opacity .3s}
.stat-card:hover{border-color:var(--border2);transform:translateY(-3px);box-shadow:0 8px 32px rgba(16,185,129,.08)}
.stat-card:hover::before{opacity:1}
.stat-icon{width:48px;height:48px;border-radius:var(--r2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stat-icon-purple{background:rgba(16,185,129,.1);color:var(--primary)}
.stat-icon-blue{background:rgba(59,130,246,.1);color:var(--blue)}
.stat-icon-green{background:rgba(34,197,94,.12);color:var(--accent)}
.stat-icon-orange{background:rgba(245,158,11,.1);color:var(--orange)}
.stat-content{display:flex;flex-direction:column}
.stat-value{font-size:28px;font-weight:700;line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}

/* ═══════════════════ SECTIONS ═══════════════════ */
.section{padding:16px 28px 28px}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.section-header h2{font-size:18px;font-weight:600}
.section-desc{font-size:13px;color:var(--text-muted);margin-top:3px}
.empty-state{text-align:center;padding:56px 28px;background:var(--bg2);border:1px dashed var(--border);border-radius:var(--r)}
.empty-icon{color:var(--text-muted);margin-bottom:18px;opacity:.5}
.empty-state h3{font-size:16px;font-weight:600;margin-bottom:8px}
.empty-state p{font-size:13px;color:var(--text-muted);margin-bottom:24px;max-width:360px;margin-inline:auto;line-height:1.5}

/* ═══════════════════ BLOCKS ═══════════════════ */
.blocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.block-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .3s var(--ease);position:relative;
  opacity:0;transform:translateY(15px);animation:staggerIn .5s var(--ease) forwards}
.block-card:nth-child(1){animation-delay:.15s}
.block-card:nth-child(2){animation-delay:.25s}
.block-card:nth-child(3){animation-delay:.35s}
.block-card:nth-child(4){animation-delay:.45s}

/* Traveling border glow */
.block-card::before{content:'';position:absolute;inset:-1px;border-radius:var(--r);background:conic-gradient(from var(--border-angle,0deg),transparent 60%,var(--primary) 80%,transparent 100%);z-index:-1;opacity:0;transition:opacity .5s;animation:borderSpin 4s linear infinite}
.block-card:hover::before{opacity:1}
.block-card::after{content:'';position:absolute;inset:0;border-radius:var(--r);background:var(--bg2);z-index:-1}
@keyframes borderSpin{to{--border-angle:360deg}}
@property --border-angle{syntax:'<angle>';initial-value:0deg;inherits:false}

.block-card:hover{border-color:var(--border2);box-shadow:0 0 40px rgba(16,185,129,.06)}
.block-card.disabled{opacity:.35;filter:saturate(.4)}
.block-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(16,185,129,.04),transparent)}
.block-title{display:flex;align-items:center;gap:14px}
.block-icon{width:40px;height:40px;border-radius:var(--r2);background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(34,197,94,.1));border:1px solid rgba(16,185,129,.15);display:flex;align-items:center;justify-content:center;color:var(--primary2)}
.block-name{font-size:15px;font-weight:600}
.block-range{font-size:12px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:6px}
.block-range-badge{display:inline-flex;padding:2px 8px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.15);border-radius:4px;font-size:11px;color:var(--primary2);font-weight:600}
.block-actions{display:flex;align-items:center;gap:6px}
.block-body{padding:14px 16px}
.block-instances{display:flex;flex-direction:column;gap:8px}
.block-empty{text-align:center;padding:28px 16px;color:var(--text-muted);font-size:13px}
.block-empty svg{margin-bottom:8px;opacity:.25}

/* ═══════════════════ INSTANCE CARD ═══════════════════ */
.instance-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg);border:1px solid rgba(19,51,39,.5);border-radius:var(--r3);transition:all .3s var(--ease);gap:12px;position:relative}
.instance-card:hover{border-color:var(--border2);background:var(--bg3);box-shadow:0 4px 20px rgba(16,185,129,.06)}
.instance-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.instance-status{width:10px;height:10px;border-radius:50%;flex-shrink:0;position:relative}
.instance-status.connected{background:var(--accent);box-shadow:0 0 12px rgba(34,197,94,.4),0 0 4px var(--accent)}
.instance-status.connected::after{content:'';position:absolute;inset:-4px;border-radius:50%;background:var(--accent);opacity:0;animation:livePulse 2s ease-in-out infinite}
.instance-status.disconnected{background:var(--red);box-shadow:0 0 8px rgba(239,68,68,.25)}
@keyframes livePulse{0%,100%{transform:scale(1);opacity:0}50%{transform:scale(2.5);opacity:.12}}
.instance-details{min-width:0}
.instance-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.instance-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-top:2px}
.instance-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted)}
.instance-actions{display:flex;gap:4px;flex-shrink:0}
.instances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:8px}

/* ═══════════════════ TOGGLE ═══════════════════ */
.toggle{position:relative;width:36px;height:20px;cursor:pointer;flex-shrink:0}
.toggle input{display:none}
.toggle-slider{position:absolute;inset:0;background:var(--bg5);border:1px solid var(--border);border-radius:10px;transition:all .3s var(--ease)}
.toggle-slider::before{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-muted);border-radius:50%;transition:all .3s var(--ease)}
.toggle input:checked+.toggle-slider{background:var(--primary);border-color:var(--primary);box-shadow:0 0 14px var(--accent-glow)}
.toggle input:checked+.toggle-slider::before{transform:translateX(16px);background:#020617}

/* ═══════════════════ MODAL ═══════════════════ */
.modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.85);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(12px);animation:fadeIn .2s}
.modal{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:32px;max-width:460px;width:92%;max-height:85vh;overflow-y:auto;box-shadow:0 0 80px -16px rgba(16,185,129,.12),0 32px 64px -16px rgba(0,0,0,.7);animation:modalIn .3s var(--ease)}
.modal h3{font-size:18px;font-weight:600;margin-bottom:24px;display:flex;align-items:center;gap:10px}
.modal .input-group{margin-bottom:16px}
.modal .input-group label{display:block;font-size:12px;color:var(--text2);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:1px}
.modal .input-group input,.modal .input-group select{width:100%;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r3);color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:all .3s}
.modal .input-group input:focus,.modal .input-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-glow)}
.modal .modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{transform:translateY(12px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}

.qr-container{text-align:center;padding:24px}
.qr-container img{max-width:260px;border-radius:var(--r2);background:#fff;padding:16px;box-shadow:0 0 40px rgba(16,185,129,.1)}
.qr-status{margin-top:16px;font-size:13px;color:var(--text2)}
.qr-status.success{color:var(--accent)}
.groups-list{max-height:300px;overflow-y:auto;margin-top:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r3);padding:4px}
.groups-list .group-item{padding:10px 14px;font-size:13px;border-radius:6px;transition:background .3s}
.groups-list .group-item:hover{background:var(--bg4)}
.groups-count{font-size:14px;color:var(--text2);margin-bottom:8px;font-weight:500}

.menu-grid{display:flex;flex-direction:column;gap:6px}
.menu-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r3);color:var(--text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;text-align:left}
.menu-btn:hover{border-color:var(--border2);background:var(--bg3);transform:translateX(3px)}
.menu-btn.danger{color:var(--red)}
.menu-btn.danger:hover{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.2)}
.menu-btn-icon{width:36px;height:36px;border-radius:var(--r3);display:flex;align-items:center;justify-content:center;background:var(--bg4);flex-shrink:0}

.toast{position:fixed;bottom:28px;right:28px;padding:14px 22px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r3);font-size:14px;z-index:2000;animation:toastIn .4s var(--ease);box-shadow:0 8px 32px rgba(0,0,0,.4);display:flex;align-items:center;gap:10px;transition:opacity .3s}
.toast.success{border-color:rgba(34,197,94,.3);color:var(--accent)}
.toast.error{border-color:rgba(239,68,68,.25);color:var(--red)}
@keyframes toastIn{from{transform:translateY(24px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}

::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

@media(max-width:900px){
  .login-page{flex-direction:column}.orbit-container{width:100%;height:40vh}
  .login-form-side{width:100%;padding:20px}.login-ripple{width:100%;height:40vh}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .blocks-grid,.instances-grid{grid-template-columns:1fr}
  .stats-bar{grid-template-columns:repeat(2,1fr);gap:10px;padding:16px}
  .topbar{padding:10px 16px}.section{padding:12px 16px 20px}
  .modal{padding:24px;width:95%;border-radius:var(--r)}.orbit-logo{width:80px}
}

/* ═══════════════════ VISUAL OVERRIDES — cores + fontes ═══════════════════ */

/* Dashboard backgrounds: mais neutro, menos verde */
#dashboard-page .topbar{background:rgba(10,12,16,.95);border-bottom-color:#1e2328}
#dashboard-page .stat-card{background:#0c0f14;border-color:#1e2328}
#dashboard-page .stat-card:hover{border-color:#33393f;box-shadow:0 8px 32px rgba(0,0,0,.25)}
#dashboard-page .block-card{background:#0c0f14;border-color:#1e2328}
#dashboard-page .block-card::after{background:#0c0f14}
#dashboard-page .block-card:hover{border-color:#33393f;box-shadow:0 0 40px rgba(0,0,0,.2)}
#dashboard-page .block-header{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border-bottom-color:#1e2328}
#dashboard-page .instance-card{background:#080a0e;border-color:#1a1f25}
#dashboard-page .instance-card:hover{background:#10131a;border-color:#33393f;box-shadow:0 4px 20px rgba(0,0,0,.2)}

/* Textos: mais brancos e maiores */
#dashboard-page .topbar h1{font-size:18px;color:#f5f6f7}
#dashboard-page .topbar-sub{font-size:12px;color:#8b9299}
#dashboard-page .stat-value{font-size:32px;color:#ffffff}
#dashboard-page .stat-label{font-size:13px;color:#8b9299}
#dashboard-page .section-header h2{font-size:20px;color:#f5f6f7}
#dashboard-page .section-desc{font-size:14px;color:#8b9299}
#dashboard-page .block-name{font-size:16px;color:#f5f6f7}
#dashboard-page .block-range{font-size:13px;color:#8b9299}
#dashboard-page .instance-name{font-size:14px;color:#e8eaed}
#dashboard-page .instance-meta{font-size:12px;color:#8b9299}
#dashboard-page .empty-state h3{font-size:18px;color:#f5f6f7}
#dashboard-page .empty-state p{font-size:14px}
#dashboard-page .block-empty{font-size:14px;color:#8b9299}
#dashboard-page .user-pill{color:#c8cdd2}

/* Modal: fundo mais neutro */
.modal{background:#0e1117;border-color:#1e2328}
.modal h3{font-size:20px;color:#f5f6f7}
.modal .input-group label{font-size:13px;color:#c8cdd2}
.modal .input-group input,.modal .input-group select{background:#080a0e;border-color:#1e2328;font-size:15px;color:#f5f6f7}
.modal .modal-actions{border-top-color:#1e2328}

/* Botões: fontes maiores */
#dashboard-page .btn{font-size:14px}
#dashboard-page .btn-sm{font-size:14px}
#dashboard-page .btn-xs{font-size:13px}

/* Toast: fundo neutro */
.toast{background:#0e1117;border-color:#1e2328}

/* Groups list: fundo neutro */
.groups-list{background:#080a0e;border-color:#1e2328}
.groups-list .group-item{font-size:14px}
.groups-count{font-size:15px}

/* Menu buttons: fundo neutro */
.menu-btn{background:#080a0e;border-color:#1e2328;font-size:14px}
.menu-btn:hover{background:#10131a;border-color:#33393f}
.menu-btn-icon{background:#1a1f25}

/* Groups list: texto branco legível */
.groups-list .group-item{color:#f5f6f7}
.groups-count{color:#e8eaed}

/* ═══════════════════ BLOCK LIVE FEED ═══════════════════ */
.block-live-feed{border-top:1px solid #1e2328;padding:14px 16px;background:rgba(59,130,246,.03)}
.live-feed-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.live-feed-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0;animation:liveFeedPulse 1.5s ease-in-out infinite}
.live-feed-dot.done{background:var(--green);animation:none}
@keyframes liveFeedPulse{0%,100%{opacity:1}50%{opacity:.3}}
.live-feed-title{font-size:14px;font-weight:600;color:var(--blue);flex:1}
.live-feed-title.live-feed-done{color:var(--green)}
.live-feed-counter{font-size:13px;color:#8b9299;font-variant-numeric:tabular-nums}
.live-feed-progress{height:4px;background:#1a1f25;border-radius:2px;overflow:hidden;margin-bottom:10px}
.live-feed-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--primary));transition:width .3s var(--ease)}
.live-feed-list{max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}
.live-feed-item{font-size:13px;color:#e8eaed;padding:4px 8px;border-radius:4px;background:rgba(34,197,94,.06);animation:feedItemIn .3s var(--ease)}
.live-feed-item.failed{background:rgba(239,68,68,.08);color:var(--red)}
@keyframes feedItemIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
