:root{--bg:#eef3f9;--card:#fff;--text:#102033;--muted:#667085;--primary:#102a43;--blue:#0b5ed7;--gold:#c9a227;--dark:#071529;--border:#e5e7eb;--danger:#dc3545;--ok:#198754}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f7faff,#eaf1f8);color:var(--text)}a{text-decoration:none;color:var(--blue)}.topbar{background:var(--dark);color:white;padding:18px 30px;display:flex;justify-content:space-between;align-items:center}.topbar.public{background:rgba(7,21,41,.94);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:20px;letter-spacing:.2px}.brand-mark{background:var(--gold);color:#071529;border-radius:50%;padding:3px 8px;margin-right:8px}.nav a{color:white;margin-left:18px}.container{max-width:1180px;margin:36px auto;padding:0 18px}.public-wrap{max-width:1180px;margin:0 auto;padding:38px 18px}.hero-pro{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:stretch;margin:26px 0 28px}.hero-copy{background:linear-gradient(135deg,#071529,#0f3b66 55%,#0b5ed7);color:white;border-radius:28px;padding:54px;box-shadow:0 22px 70px rgba(7,21,41,.22);position:relative;overflow:hidden}.hero-copy:after{content:"";position:absolute;right:-80px;top:-80px;width:250px;height:250px;border:40px solid rgba(255,255,255,.08);border-radius:50%}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;color:#f4d77b;font-weight:800;margin-bottom:14px}.eyebrow.dark{color:#6b7280}.hero-copy h1{font-size:48px;line-height:1.02;margin:0 0 14px}.hero-copy p{color:#dbeafe;font-size:17px;max-width:680px}.helper{display:block;color:#cbd5e1;margin-top:12px}.track-form{display:flex;gap:12px;margin-top:26px}.track-form input{font-size:17px}.hero-card{background:white;border:1px solid var(--border);border-radius:28px;padding:30px;box-shadow:0 18px 45px rgba(15,23,42,.08);display:flex;flex-direction:column;justify-content:center}.mini-title{font-weight:900;font-size:20px;margin-bottom:18px}.pulse-line{height:8px;border-radius:99px;background:linear-gradient(90deg,#dbeafe,#0b5ed7,#dbeafe);background-size:200%;animation:pulsebar 1.5s infinite;margin-bottom:22px}.mini-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.mini-row b{color:#198754}.card,.result-panel{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:26px;box-shadow:0 12px 30px rgba(15,23,42,.07);margin-bottom:22px}.result-head{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}.result-head h2{margin:0;font-size:30px}.success-panel{border-top:5px solid var(--ok)}.error-panel{border-top:5px solid var(--danger)}.tracking-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.tracking-strip div{background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:16px}.tracking-strip small{display:block;color:#667085;font-weight:700;text-transform:uppercase;font-size:11px}.tracking-strip strong{display:block;margin-top:5px}.data-table-wrap,.table-scroll{overflow:auto}.data-table th{width:18%;background:#f8fafc;color:#344054;text-transform:uppercase;font-size:12px}.data-table td{width:32%;font-weight:700}.notice{background:#fff8db;border-left:5px solid var(--gold);padding:14px;border-radius:12px;color:#604b00}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{margin-bottom:16px}label{display:block;font-weight:700;margin-bottom:7px}input,select,textarea{width:100%;padding:13px;border:1px solid #ccd2dc;border-radius:12px;font-size:15px;background:white}textarea{min-height:110px}.btn{display:inline-block;border:0;border-radius:12px;padding:12px 18px;background:var(--blue);color:white;cursor:pointer;font-weight:800}.btn.gold{background:var(--gold);color:#071529}.btn.secondary{background:#475467}.btn.danger{background:var(--danger)}.btn.ok{background:var(--ok)}.actions{display:flex;gap:8px;flex-wrap:wrap}.alert{padding:14px;border-radius:12px;margin:16px 0}.alert.ok{background:#e9f8ef;border-left:5px solid var(--ok)}.alert.bad{background:#fdecec;border-left:5px solid var(--danger)}table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--border);vertical-align:top}th{background:#f8fafc;color:#344054;font-size:13px;text-transform:uppercase}.badge{display:inline-block;padding:8px 12px;border-radius:999px;font-weight:900;font-size:13px}.badge.valid{background:#dcfce7;color:#166534}.badge.pending{background:#fef3c7;color:#92400e}.badge.used{background:#e0e7ff;color:#3730a3}.badge.invalid{background:#fee2e2;color:#991b1b}.login{max-width:420px;margin:80px auto}.footer{text-align:center;color:var(--muted);padding:30px}.searchbox{display:flex;gap:10px;margin-top:22px}.searchbox input{font-size:18px}#preloader{position:fixed;inset:0;background:rgba(7,21,41,.96);display:flex;align-items:center;justify-content:center;color:white;z-index:9999;transition:.35s ease;opacity:1;visibility:visible}#preloader.hide{opacity:0;visibility:hidden}.loader-box{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:34px;border-radius:24px;min-width:280px}.spinner{width:64px;height:64px;border-radius:50%;border:5px solid rgba(255,255,255,.18);border-top-color:var(--gold);animation:spin .85s linear infinite;margin:0 auto 18px}.loader-box h3{margin:0 0 6px}.loader-box p{margin:0;color:#cbd5e1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulsebar{to{background-position:200%}}@media(max-width:860px){.hero-pro{grid-template-columns:1fr}.hero-copy{padding:34px}.hero-copy h1{font-size:36px}.track-form,.searchbox{flex-direction:column}.tracking-strip,.form-row{grid-template-columns:1fr}.result-head{display:block}.topbar{display:block}.nav{margin-top:12px}.nav a{margin-left:0;margin-right:14px}.data-table th,.data-table td{display:block;width:100%}}


/* Animación progresiva de datos del cliente */
.reveal-item{opacity:0;transform:translateY(14px);filter:blur(2px);transition:opacity .7s ease,transform .7s ease,filter .7s ease}
.reveal-item.show{opacity:1;transform:translateY(0);filter:blur(0)}
.data-table tr.reveal-item{display:table-row}
.data-table tr.reveal-item:not(.show){opacity:0}


/* Animación PRO visible de 30 segundos */
.processing-timeline{
  background:linear-gradient(135deg,#071529,#102a43);
  color:white;
  border-radius:18px;
  padding:18px;
  margin:18px 0 22px;
  box-shadow:0 16px 35px rgba(7,21,41,.18);
  overflow:hidden;
  position:relative;
}
.processing-timeline:after{
  content:"";
  position:absolute;
  top:0;left:-40%;
  width:35%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  animation:scanline 2.1s linear infinite;
}
.processing-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:15px;letter-spacing:.2px}
#progressText{background:#c9a227;color:#071529;border-radius:999px;padding:5px 10px;font-weight:900}
.progress-rail{height:14px;background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#c9a227,#f4d77b,#c9a227);border-radius:999px;box-shadow:0 0 18px rgba(244,215,123,.5)}
.progress-fill.run{animation:progress30 30s linear forwards}
.processing-timeline p{margin:12px 0 0;color:#dbeafe;font-size:13px}
@keyframes progress30{from{width:0}to{width:100%}}
@keyframes scanline{from{left:-40%}to{left:110%}}

.animated-result{position:relative}
.animated-result:before{
  content:"LIVE DATA REVEAL";
  position:absolute;right:12px;top:-12px;
  background:#198754;color:white;
  font-size:11px;font-weight:900;letter-spacing:1px;
  border-radius:999px;padding:6px 10px;
  animation:blinktag 1.1s infinite;
}
@keyframes blinktag{50%{opacity:.45}}

.reveal-item{opacity:0;transform:translateX(-22px) scale(.985);filter:blur(4px);transition:opacity 1.05s ease,transform 1.05s ease,filter 1.05s ease,box-shadow 1.05s ease}
.reveal-item.show{opacity:1;transform:translateX(0) scale(1);filter:blur(0);box-shadow:0 8px 22px rgba(11,94,215,.08)}
.data-table tr.reveal-item.show{background:#ffffff;animation:rowflash 1.25s ease}
@keyframes rowflash{0%{background:#fff8db}100%{background:#ffffff}}

/* Inputs numéricos y total automático */
.section-title{margin:18px 0 6px;font-size:22px;color:#102033}
.muted{color:#667085;margin-top:0}
.amount-grid{background:#f8fafc;border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:18px}
.total-field input{background:#e9f8ef;border-color:#198754;font-weight:900;color:#14532d;font-size:18px}
.sum-input{font-weight:800}
