/* ============================================================
   PLENIT NODE · Node Connection + Dashboard (sobre theme.css)
   ============================================================ */

.hero-sm{padding:34px 16px 6px}
.nc-title{font-size:clamp(2rem,7vw,3.4rem);line-height:1;margin:0;
    background:linear-gradient(95deg,var(--gold-soft),var(--gold) 45%,var(--blue-soft));
    -webkit-background-clip:text;background-clip:text;color:transparent}
.nc-title span{display:block;font-size:.5em;letter-spacing:.34em;color:var(--blue-soft);-webkit-text-fill-color:var(--blue-soft);margin-top:6px}

/* ---- Intro ---- */
.nc-intro{display:flex;gap:16px;align-items:flex-start;height:100%}
.nc-intro p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}
.nc-intro b{color:#fff}
.nc-win{text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center;gap:6px}
.nc-win small{color:var(--muted);font-size:.8rem}
.nc-win-amt{font-family:'Unbounded','Cinzel',serif;font-weight:700;font-size:1.5rem;color:var(--gold-soft)}
.nc-win-amt b{color:#fff}

/* ---- Niveles ---- */
.lvl-card{height:100%}
.lvl-card .hud-fill{text-align:center;padding:24px 18px}
.lvl-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:4px 14px;border-radius:20px;margin-bottom:12px}
.lvl-tag.n3{background:rgba(27,157,240,.16);color:var(--blue-soft);border:1px solid rgba(27,157,240,.4)}
.lvl-tag.n6{background:rgba(212,166,74,.16);color:var(--gold-soft);border:1px solid rgba(212,166,74,.4)}
.lvl-amt{font-family:'Unbounded','Cinzel',serif;font-weight:800;font-size:2.6rem;line-height:1}
.lvl-amt small{font-size:.34em;letter-spacing:.1em;vertical-align:middle}
.lvl-amt.n3{color:var(--blue-soft)}
.lvl-amt.n6{color:var(--gold-soft)}
.lvl-card p{color:var(--muted);font-size:.85rem;margin:12px 0 0}

/* ---- Link de referido ---- */
.nc-label{display:block;color:#c7d2ef;font-size:.8rem;font-weight:600;margin-bottom:8px}
.nc-link-row{display:flex;gap:10px}
.nc-link-row .form-control{background:rgba(5,9,18,.85);border:1px solid var(--line);color:var(--blue-soft);border-radius:12px;font-size:.9rem;font-weight:600}
.btn-copy{flex:0 0 52px;border:1px solid rgba(212,166,74,.4);background:rgba(212,166,74,.12);color:var(--gold-soft);border-radius:12px;cursor:pointer;transition:.2s;font-size:1.1rem}
.btn-copy:hover{background:rgba(212,166,74,.22)}
.btn-copy.ok{border-color:var(--ok);background:rgba(55,214,122,.15);color:var(--ok)}
.btn-copy.err{border-color:rgba(255,107,107,.5);background:rgba(255,107,107,.15);color:#ff8f8f}
.nc-share{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.nc-share span{color:var(--muted);font-size:.82rem;margin-right:4px}
.nc-share .sh{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:1.1rem;text-decoration:none;transition:.2s;border:1px solid var(--line)}
.nc-share .sh:hover{transform:translateY(-2px)}
.sh.wa{background:rgba(37,211,102,.18);color:#25d366}
.sh.tg{background:rgba(36,161,222,.18);color:#24a1de}
.sh.tw{background:rgba(255,255,255,.1)}
.sh.fb{background:rgba(24,119,242,.18);color:#4c8bf5}

/* ---- Cómo funciona ---- */
.how-card{height:100%}
.how-card .hud-fill{padding:24px 20px}
.how-card h6{color:#fff;font-weight:700;margin:12px 0 6px}
.how-card p{color:var(--muted);font-size:.88rem;margin:0}

/* ---- Badges ---- */
.nc-badge{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(10,17,32,.6);height:100%}
.nc-badge b{display:block;color:#fff;font-size:.92rem}
.nc-badge small{color:var(--muted);font-size:.8rem}

/* ---- Alertas ---- */
.nc-alert{border-radius:12px;padding:12px 15px;font-size:.88rem;font-weight:500}
.nc-alert.ok{background:rgba(55,214,122,.1);border:1px solid rgba(55,214,122,.4);color:#a8f0c6}
.nc-alert.err{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.4);color:#ffc1c1}
.nc-alert.info{background:rgba(27,157,240,.1);border:1px solid rgba(27,157,240,.4);color:#bfe3ff}

/* ============================================================
   DASHBOARD
   ============================================================ */
.dash-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dash-head .dash-total{margin-left:auto;text-align:right}
.dash-total small{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;display:block}
.dash-total-amt{font-family:'Unbounded','Cinzel',serif;font-weight:800;font-size:1.8rem;color:var(--gold-soft);line-height:1.1}

.lvl-mini{border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;background:rgba(5,9,18,.5);height:100%}
.lvl-mini small{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.lvl-mini-socios{font-family:'Unbounded','Cinzel',serif;font-weight:800;font-size:1.7rem;color:#fff;line-height:1.1}
.lvl-mini-socios span{display:block;font-family:'Unbounded','Inter';font-weight:500;font-size:.66rem;color:var(--muted);letter-spacing:.06em}
.lvl-mini-amt{font-weight:700;font-size:.95rem;margin-top:4px}
.lvl-mini.lvl-b .lvl-mini-amt{color:var(--blue-soft)}
.lvl-mini.lvl-g .lvl-mini-amt{color:var(--gold-soft)}

.lvl-block-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.lvl-block-head h6{margin:0;color:#fff;font-weight:700;font-size:1rem}
.lvl-block-head .lvl-count{margin-left:auto;color:var(--muted);font-size:.8rem;font-weight:600}

.dash-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.dash-table{width:100%;border-collapse:collapse;font-size:.86rem;min-width:560px}
.dash-table th{text-align:left;padding:11px 12px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--muted);font-weight:700;background:rgba(255,255,255,.03);border-bottom:1px solid var(--line);white-space:nowrap}
.dash-table td{padding:11px 12px;border-bottom:1px solid rgba(120,160,220,.07);color:#cdd8f2;vertical-align:middle}
.dash-table tbody tr:last-child td{border-bottom:none}
.dash-table .avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
    background:linear-gradient(160deg,var(--blue-deep),var(--blue));color:#fff;font-size:.72rem;font-weight:700;margin-right:8px}
.node-chip{display:inline-block;padding:3px 9px;border-radius:8px;font-size:.74rem;font-weight:700;
    background:rgba(120,160,220,.14);color:#cdd8f2}
.dash-table .comm{color:var(--ok);font-weight:700;white-space:nowrap}
.dash-table .comm a{color:var(--blue-soft);margin-left:6px;text-decoration:none}
.dash-table .empty{text-align:center;color:var(--muted);padding:22px 12px}

@media (max-width:560px){
    .dash-total{margin-left:0;text-align:left;width:100%}
    .nc-title span{letter-spacing:.2em}
}

/* ============================================================
   Mi Node · ciclo de activación y cuotas operativas
   ============================================================ */

.ciclo-estado{font-family:'Unbounded','Cinzel',serif;font-weight:800;font-size:1.05rem;letter-spacing:.05em}
.ciclo-estado.ok{color:#37d67a}
.ciclo-estado.mora{color:#ffb347}
.ciclo-estado.bad{color:#ff6b6b}
.ciclo-estado.wait{color:var(--muted)}

.ciclo-cifra{padding:14px;border-radius:12px;text-align:center;height:100%;
    border:1px solid var(--line);background:rgba(5,9,18,.5)}
.ciclo-cifra small{display:block;text-transform:uppercase;letter-spacing:.09em;
    font-size:.66rem;color:var(--muted);margin-bottom:6px}
.ciclo-cifra div{font-family:'Unbounded','Cinzel',serif;font-weight:700;font-size:1.1rem;color:#fff}
.ciclo-cifra div.gold{color:var(--gold-soft)}

.ciclo-barra-wrap{margin-top:18px}
.ciclo-barra{height:9px;border-radius:999px;overflow:hidden;background:rgba(120,160,220,.12);
    border:1px solid var(--line)}
.ciclo-barra span{display:block;height:100%;width:0;border-radius:999px;transition:width .5s ease;
    background:linear-gradient(90deg,var(--gold-deep),var(--gold-soft))}
.ciclo-barra-wrap small{display:block;margin-top:9px;font-size:.79rem}

.ciclo-proxima{display:flex;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;border-radius:12px;
    border:1px solid rgba(212,166,74,.3);background:rgba(212,166,74,.07)}
.ciclo-proxima.bad{border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.07)}
.ciclo-proxima .hex{flex:0 0 44px}
.ciclo-proxima small{display:block;text-transform:uppercase;letter-spacing:.09em;
    font-size:.67rem;color:var(--muted)}
.ciclo-proxima b{display:block;font-family:'Unbounded','Cinzel',serif;font-weight:800;
    font-size:1.45rem;color:var(--gold-soft);line-height:1.3;margin:2px 0}
.ciclo-proxima.bad b{color:#ff8f8f}

.ciclo-h6{font-family:'Unbounded','Cinzel',serif;font-size:.78rem;letter-spacing:.13em;
    text-transform:uppercase;color:#c7d2ef;margin:24px 0 12px}

.ciclo-nota{margin:16px 0 0;padding:13px 15px;border-radius:10px;font-size:.8rem;line-height:1.6;
    color:#c7d2ef;border:1px solid rgba(255,107,107,.25);background:rgba(255,107,107,.06)}
.ciclo-nota i{color:#ff9d6b;margin-right:6px}

/* Etiquetas de estado de cuota */
.pill{display:inline-block;padding:3px 11px;border-radius:999px;font-size:.72rem;font-weight:700;
    letter-spacing:.04em}
.pill.ok{background:rgba(55,214,122,.14);color:#37d67a;border:1px solid rgba(55,214,122,.32)}
.pill.wait{background:rgba(120,160,220,.12);color:#c7d2ef;border:1px solid var(--line)}
.pill.bad{background:rgba(255,107,107,.14);color:#ff8f8f;border:1px solid rgba(255,107,107,.32)}

/* Hitos de conexiones directas (lámina 10) */
.nc-hito{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;height:100%;
    border:1px solid rgba(212,166,74,.28);background:rgba(212,166,74,.06)}
.nc-hito .hex{flex:0 0 44px}
.nc-hito b{display:block;font-family:'Unbounded','Cinzel',serif;font-size:1.05rem;color:#fff;letter-spacing:.03em}
.nc-hito small{display:block;color:var(--gold-soft);font-size:.86rem;margin-top:4px;font-weight:700}

/* ---- Lista de nodos del socio ---- */
.nodo-add{max-width:210px;margin-left:auto;font-size:.82rem}
.nodo-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
    padding-bottom:14px;border-bottom:1px solid var(--line)}
.nodo-num{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;
    font-family:'Unbounded','Cinzel',serif;font-weight:800;font-size:.95rem;color:#0a0e1a;
    background:linear-gradient(160deg,var(--gold-deep),var(--gold-soft))}
.nodo-head b{display:block;font-family:'Unbounded','Cinzel',serif;font-size:1.15rem;color:#fff;letter-spacing:.04em}
.nodo-head small{display:block;color:var(--muted);font-size:.79rem;margin-top:3px}
.nodo-estado{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.ciclo-cifra div.warn{color:#ffb347}

@media (max-width:640px){
    .nodo-estado{margin-left:0;align-items:flex-start;text-align:left}
    .nodo-add{margin-left:0;max-width:none}
}

/* ---- Cobro automático por contrato ---- */
.subs{display:flex;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;border-radius:12px;
    border:1px solid rgba(212,166,74,.3);background:rgba(212,166,74,.07);flex-wrap:wrap}
.subs .hex{flex:0 0 44px}
.subs-txt{flex:1;min-width:200px}
.subs-txt b{display:block;font-family:'Unbounded','Cinzel',serif;font-size:1rem;color:#fff;letter-spacing:.03em}
.subs-txt small{display:block;color:var(--muted);font-size:.83rem;margin-top:5px}
.subs-btn{max-width:270px;margin:0}
.subs-nota{margin:12px 0 0;color:var(--muted);font-size:.79rem;line-height:1.6}
