/* ═══════════════════════════════════════════════════════════════
   SMART NOVA — MÓDULO CARTERA (cuentas por cobrar)
   Composición de nivel enterprise dibujada en vivo sobre un lienzo
   de 2560×1440. El marco y el escalado los aporta .lienzo.

     01 Estructura   04 Tabla
     02 Rail         05 Asistente
     03 KPIs         06 Paneles inferiores
   ═══════════════════════════════════════════════════════════════ */

.snc{
  background:#06080c;
  --cyan:#00c8e0; --blue:#4d9bff; --violet:#a78bfa;
  --green:#22c55e; --orange:#fb923c; --red:#f87171;
  --panel:#0b0f16; --card:#111827;
  --line:rgba(255,255,255,.08);
  --t1:#eaf2ff; --t2:#8ea3bf; --t3:#6f83a0;
}
.snc-canvas{
  width:2560px;height:1440px;display:flex;
  font-family:"Inter",system-ui,sans-serif;color:var(--t1);background:#06080c;
}
.snc-mono{font-family:"JetBrains Mono",ui-monospace,monospace;}

/* ─────────── 01 · ESTRUCTURA ─────────── */
.snc-main{flex:1;min-width:0;padding:44px 48px;display:flex;flex-direction:column;gap:32px;}
.snc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;height:172px;}
.snc-split{display:grid;grid-template-columns:68fr 32fr;gap:24px;height:560px;}
.snc-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;flex:1;min-height:0;}

.snc-panel{
  background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:24px 26px;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.35);
}
.snc-panel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex:none;}
.snc-panel-t{font-size:19px;font-weight:700;letter-spacing:-.02em;}
.snc-panel-s{font-size:13px;color:var(--t3);margin-top:3px;}

/* ─────────── HEADER ─────────── */
.snc-head{display:flex;align-items:flex-start;justify-content:space-between;flex:none;}
.snc-title{display:flex;align-items:center;gap:14px;}
.snc-title h1{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.snc-live{
  display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#7ee7a4;
  padding:6px 14px;border-radius:999px;background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.28);
}
.snc-live i{width:7px;height:7px;border-radius:50%;background:var(--green);display:block;animation:sncPulse 2.2s infinite;}
@keyframes sncPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{opacity:.65;box-shadow:0 0 0 6px rgba(34,197,94,0)}}
.snc-sub{font-size:14px;color:var(--t3);margin-top:9px;}
.snc-actions{display:flex;align-items:center;gap:10px;}
.snc-ctl{
  height:42px;padding:0 16px;border-radius:12px;background:var(--card);border:1px solid var(--line);
  display:flex;align-items:center;gap:9px;font-size:13px;color:var(--t2);font-weight:500;
}
.snc-ctl.icon{width:42px;padding:0;justify-content:center;position:relative;}
.snc-badge-dot{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;
  background:var(--orange);border:2px solid var(--card);}
.snc-export{
  height:42px;padding:0 22px;border-radius:12px;display:flex;align-items:center;gap:9px;
  font-size:13px;font-weight:700;color:#04121a;
  background:linear-gradient(135deg,var(--cyan),var(--blue));
  box-shadow:0 10px 26px rgba(0,140,220,.35);
}

/* ─────────── 03 · KPIs ─────────── */
.snc-kpi{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px 26px;
  display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;
}
.snc-kpi::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--kpi,transparent);opacity:.75;}
.snc-kpi-l{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--t2);font-weight:500;}
.snc-kpi-v{font-size:36px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.snc-kpi-f{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;}
.snc-kpi-f span{color:var(--t3);font-weight:500;}
.snc-kpi-row{display:flex;align-items:center;justify-content:space-between;gap:16px;}

/* anillo de tasa de recaudo */
.snc-ring{width:96px;height:96px;border-radius:50%;position:relative;flex:none;
  background:conic-gradient(from -90deg,var(--cyan) 0turn,var(--blue) var(--pct,.964turn),rgba(255,255,255,.07) var(--pct,.964turn));}
.snc-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--card);}
.snc-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:19px;font-weight:800;letter-spacing:-.02em;}

/* ─────────── 04 · TABLA ─────────── */
.snc-count{font-size:12px;color:var(--t3);padding:5px 12px;border-radius:999px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);}
.snc-table{width:100%;border-collapse:collapse;flex:1;}
.snc-table th{
  text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--t3);padding:0 14px 12px;border-bottom:1px solid var(--line);
}
.snc-table td{padding:11px 14px;font-size:13.5px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;}
.snc-table tbody tr:nth-child(even){background:rgba(255,255,255,.015);}
.snc-cli{display:flex;align-items:center;gap:12px;}
.snc-av{width:38px;height:38px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:700;letter-spacing:.02em;}
.snc-cli-n{font-weight:600;color:var(--t1);}
.snc-cli-d{font-size:11.5px;color:var(--t3);margin-top:2px;}
.snc-num{text-align:right;font-weight:700;}
.snc-mora{font-weight:600;}
.snc-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
  padding:5px 12px;border-radius:999px;white-space:nowrap;}
.snc-pill i{width:6px;height:6px;border-radius:50%;background:currentColor;display:block;}
.snc-pill.ok  {color:#7ee7a4;background:rgba(34,197,94,.10);}
.snc-pill.soon{color:#8fc0ff;background:rgba(77,155,255,.12);}
.snc-pill.late{color:#fdba74;background:rgba(251,146,60,.12);}
.snc-pill.crit{color:#fca5a5;background:rgba(248,113,113,.13);}
.snc-pag{display:flex;align-items:center;justify-content:space-between;padding-top:16px;flex:none;font-size:12.5px;color:var(--t3);}
.snc-pages{display:flex;gap:6px;}
.snc-pages span{min-width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:var(--card);color:var(--t2);font-size:12.5px;}
.snc-pages span.on{background:linear-gradient(135deg,var(--cyan),var(--blue));color:#04121a;font-weight:700;border-color:transparent;}

/* ─────────── 05 · ASISTENTE ─────────── */
.snc-aside{
  border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:18px;overflow:hidden;
  background:linear-gradient(165deg,rgba(23,32,50,.72),rgba(11,15,22,.86));
  border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 44px rgba(0,0,0,.4);
}
.snc-aside-h{display:flex;align-items:center;gap:10px;flex:none;}
.snc-aside-h b{font-size:17px;font-weight:700;letter-spacing:-.02em;}
.snc-ia{
  border-radius:16px;padding:18px;flex:none;
  background:linear-gradient(150deg,rgba(167,139,250,.14),rgba(0,200,224,.07));
  border:1px solid rgba(167,139,250,.26);
}
.snc-ia-t{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);
  display:flex;align-items:center;gap:7px;}
.snc-ia-c{display:flex;align-items:center;gap:12px;margin-top:14px;}
.snc-ia-n{font-size:15px;font-weight:700;}
.snc-ia-d{font-size:12px;color:var(--t2);margin-top:2px;}
.snc-prob{margin-top:14px;}
.snc-prob-l{display:flex;justify-content:space-between;font-size:11.5px;color:var(--t2);margin-bottom:7px;}
.snc-prob-l b{color:#7ee7a4;font-weight:700;}
.snc-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;}
.snc-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--green));}
.snc-ia-btn{
  margin-top:16px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;
  font-size:13.5px;font-weight:700;color:#04121a;
  background:linear-gradient(135deg,var(--cyan),var(--blue));box-shadow:0 10px 26px rgba(0,140,220,.32);
}
.snc-tasks{display:flex;flex-direction:column;gap:11px;flex:1;min-height:0;overflow:hidden;}
.snc-tasks-t{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);}
.snc-task{display:flex;align-items:flex-start;gap:11px;}
.snc-check{width:19px;height:19px;border-radius:6px;border:1.5px solid rgba(255,255,255,.18);flex:none;margin-top:1px;
  display:flex;align-items:center;justify-content:center;}
.snc-check.on{background:var(--green);border-color:var(--green);}
.snc-task-n{font-size:13px;line-height:1.35;}
.snc-task.done .snc-task-n{color:var(--t3);text-decoration:line-through;}
.snc-task-d{font-size:11.5px;color:var(--t3);margin-top:3px;display:flex;align-items:center;gap:7px;}
.snc-auto{font-size:9.5px;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:5px;
  color:#7ee7a4;background:rgba(34,197,94,.13);border:1px solid rgba(34,197,94,.24);}
.snc-next{
  border-radius:16px;padding:16px 18px;flex:none;
  background:rgba(0,200,224,.06);border:1px solid rgba(0,200,224,.20);
}
.snc-next-l{font-size:12px;color:var(--t2);display:flex;align-items:center;gap:8px;}
.snc-next-v{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:7px;}
.snc-next-d{font-size:11.5px;color:var(--t3);margin-top:4px;}

/* ─────────── 06 · PANELES INFERIORES ─────────── */
.snc-chart{flex:1;display:flex;align-items:flex-end;gap:18px;min-height:0;}
.snc-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;height:100%;}
.snc-col-v{font-size:13px;font-weight:700;}
.snc-col-b{width:100%;border-radius:10px 10px 4px 4px;}
.snc-col-l{font-size:11.5px;color:var(--t3);}

.snc-months{flex:1;display:flex;align-items:flex-end;gap:14px;min-height:0;}
.snc-month{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;height:100%;justify-content:flex-end;}
.snc-month-b{width:100%;border-radius:8px;background:rgba(77,155,255,.28);}
.snc-month.on .snc-month-b{background:linear-gradient(180deg,var(--cyan),var(--blue));box-shadow:0 0 20px rgba(0,200,224,.3);}
.snc-month-l{font-size:11.5px;color:var(--t3);}
.snc-month.on .snc-month-l{color:var(--cyan);font-weight:700;}

.snc-feed{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:hidden;}
.snc-ev{display:flex;gap:13px;}
.snc-ev-i{width:32px;height:32px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;}
.snc-ev-n{font-size:13px;font-weight:600;line-height:1.35;}
.snc-ev-d{font-size:11.5px;color:var(--t3);margin-top:3px;}
.snc-ev-t{margin-left:auto;font-size:11px;color:var(--t3);white-space:nowrap;}

@media (prefers-reduced-motion:reduce){ .snc-live i{animation:none;} }
