@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');:root{  --bg:#0F1115;  --panel:#16191F;  --panel-2:#1C2028;  --panel-3:#20242D;  --line:#2A2E37;  --accent:#00D9B4;  --accent-dim:#0B4A40;  --text:#E8EAED;  --muted:#8B92A0;  --danger:#FF6B6B;  --danger-dim:#3A1F22;  --amber:#F5B942;  --amber-dim:#3A2F17;  --passport-bg:#0A0C10;  --passport-card:#13161C;  --passport-border:#1E222B;}*{box-sizing:border-box;}body{  margin:0; background:var(--bg); color:var(--text);  font-family:'Poppins',sans-serif; min-height:100vh; padding:0 0 60px;}body.passport-body{  background:var(--passport-bg);  padding:0;}a{color:var(--accent);}.wrap{max-width:1180px; margin:0 auto; padding:0 16px;}/* ---- Barra superior ---- */
.table-responsive{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:768px){
  .table-responsive{
    border:1px solid var(--line);
    border-radius:10px;
    margin:0 -16px;
  }
  .table-responsive table{
    min-width:1000px;
  }
  .table-responsive thead th{
    white-space:nowrap;
  }
  .table-responsive td{
    white-space:normal;
  }
}.topbar{  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;  padding:16px; border-bottom:1px solid var(--line); margin-bottom:26px;  position:sticky; top:0; z-index:900; background:var(--bg);}.topbar .brand{display:flex;flex-direction:column;line-height:1;}.topbar .brand-main{font-family:'Poppins',sans-serif; font-weight:700; font-size:17px;}.topbar .brand-main span{color:var(--accent);}.topbar .brand-sub{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:.04em;margin-top:2px;}.topbar nav{display:flex; gap:6px; align-items:center; flex-wrap:wrap;}.top-nav-center{flex:1;justify-content:center;}.top-nav-user{justify-content:flex-end;gap:8px;}.user-menu{position:relative;}.user-menu-btn{background:none;border:1px solid var(--line);border-radius:7px;padding:6px 10px;color:var(--muted);font-family:'Poppins',sans-serif;font-size:11px;cursor:poPoppins;display:flex;align-items:center;gap:4px;}.user-menu-btn:hover{border-color:var(--accent);color:var(--accent);}.user-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;z-index:10;box-shadow:0 8px 24px rgba(0,0,0,.4);}.user-dropdown.open{display:block;}.user-dropdown a{display:block;padding:10px 14px;font-family:'Poppins',sans-serif;font-size:12px;color:var(--muted);text-decoration:none;}.user-dropdown a:hover{background:var(--panel-2);color:var(--accent);}.user-dropdown form button{width:100%;text-align:left;padding:10px 14px;background:none;border:none;border-top:1px solid var(--line);color:var(--muted);font-family:'Poppins',sans-serif;font-size:12px;cursor:poPoppins;}.user-dropdown form button:hover{background:var(--panel-2);color:var(--red);}.topbar nav a{  font-family:'Poppins',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.05em;  color:var(--muted); text-decoration:none; padding:8px 12px; border-radius:7px;}.topbar nav a:hover, .topbar nav a.active{color:var(--accent); background:var(--panel-2);}.topbar .who{font-family:'Poppins',sans-serif; font-size:11px; color:var(--muted);}.hamburger{display:none;flex-direction:column;gap:5px;cursor:poPoppins;padding:8px;background:none;border:none;}.hamburger span{width:24px;height:2px;background:var(--text);transition:all .2s;border-radius:2px;}.off-canvas-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);z-index:1001;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}.off-canvas-overlay.open{opacity:1;visibility:visible;}.off-canvas{position:fixed;top:0;left:0;width:280px;height:100%;background:var(--panel);border-right:1px solid var(--line);z-index:1002;padding:20px;transform:translateX(-100%);visibility:hidden;transition:transform .35s cubic-bezier(.4,0,.2,1),visibility .35s;overflow-y:auto;box-shadow:4px 0 24px rgba(0,0,0,.4);}.off-canvas.open{transform:translateX(0);visibility:visible;}.off-canvas-close{display:block;background:none;border:none;color:var(--text);font-size:22px;cursor:poPoppins;padding:4px 8px;margin-bottom:16px;}.off-canvas-brand{font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;margin-bottom:20px;color:var(--text);}.off-canvas-brand span{color:var(--accent);}.off-canvas a{display:block;font-family:'Poppins',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-decoration:none;padding:10px 12px;border-radius:7px;margin-bottom:4px;}.off-canvas a:hover,.off-canvas a.active{color:var(--accent);background:var(--panel-2);}.off-canvas .off-canvas-user{font-family:'Poppins',sans-serif;font-size:11px;color:var(--muted);padding:10px 12px;border-top:1px solid var(--line);margin-top:12px;}.off-canvas-btn{display:block;width:100%;padding:10px 12px;background:none;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-family:'Poppins',sans-serif;font-size:13px;cursor:poPoppins;margin-top:8px;text-transform:uppercase;}.off-canvas-btn:hover{color:var(--accent);border-color:var(--accent);}@media(max-width:768px){  .hamburger{display:flex;}  .topbar nav.top-nav{display:none;}  .wrap{padding-left:16px;padding-right:16px;}}@media(min-width:769px){  .off-canvas,.off-canvas-overlay{display:none!important;}}.eyebrow{  font-family:'Poppins',sans-serif; font-size:12px; color:var(--accent);  letter-spacing:.14em; text-transform:uppercase; display:flex; align-items:center; gap:8px;}.eyebrow::before{content:''; width:8px;height:8px; background:var(--accent); border-radius:50%; box-shadow:0 0 8px var(--accent);}h1{font-family:'Poppins',sans-serif; font-size:clamp(24px,3.4vw,34px); font-weight:700; margin:8px 0 4px; letter-spacing:-0.01em;}h2{font-family:'Poppins',sans-serif; font-size:20px; margin:0 0 4px;}h3{font-family:'Poppins',sans-serif; font-size:15px; margin:0 0 10px;}.sub{color:var(--muted); font-size:14px; margin:0 0 24px; max-width:680px; line-height:1.55;}.panel{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:24px; margin-bottom:20px;}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;display:block;width:100%;}.table-scroll table{width:100%;min-width:700px;}@media(max-width:768px){.table-scroll table{min-width:900px;}}.grid2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}.grid3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px;}@media (max-width:760px){.grid2,.grid3{grid-template-columns:1fr;}}label{display:block; font-family:'Poppins',sans-serif; font-size:10.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; margin-bottom:7px;}.field{margin-bottom:18px;}input:not([type]), input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=datetime-local], input[type=tel], textarea, select{  width:100%; background:var(--panel-2); border:1px solid var(--line); border-radius:8px; color:var(--text);  font-family:'Poppins',sans-serif; font-size:14px; padding:11px 13px; outline:none; transition:border-color .15s;}input:focus, textarea:focus, select:focus{border-color:var(--accent);}textarea{min-height:70px; resize:vertical;}.hint{font-size:11.5px; color:var(--muted); margin-top:6px; line-height:1.4;}.btn{  background:var(--accent); color:#04231E; border:none; border-radius:8px; padding:13px 18px;  font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; cursor:poPoppins; letter-spacing:.01em;  text-decoration:none; display:inline-block;}.btn:hover{box-shadow:0 0 0 1px var(--accent), 0 0 18px rgba(0,217,180,.25);}.btn.secondary{background:var(--panel-2); color:var(--text); border:1px solid var(--line);}.btn.secondary:hover{border-color:var(--accent); box-shadow:none; color:var(--accent);}.btn.danger{background:var(--danger-dim); color:var(--danger); border:1px solid #5a2a2e;}.btn.small{padding:9px 12px; font-size:12.5px; border-radius:7px;}.errbox, .okbox{font-family:'Poppins',sans-serif; font-size:12px; margin-top:14px; padding:10px 12px; border-radius:8px;}.errbox{color:var(--danger); background:var(--danger-dim); border:1px solid #5a2a2e;}.okbox{color:var(--accent); background:var(--accent-dim); border:1px solid #145c50;}.toolbar{display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; align-items:center;}.toolbar input[type=text]{max-width:280px;}.toolbar select{max-width:220px;}.count-pill{font-family:'Poppins',sans-serif; font-size:11.5px; color:var(--muted); background:var(--panel-2); border:1px solid var(--line); padding:8px 12px; border-radius:20px; margin-left:auto;}table{width:100%; border-collapse:collapse; font-size:13.5px;}thead th{text-align:left; font-family:'Poppins',sans-serif; font-size:10.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; padding:0 12px 10px; border-bottom:1px solid var(--line);}tbody td{padding:13px 12px; border-bottom:1px solid var(--line); vertical-align:middle;}tbody tr:hover{background:var(--panel-2);}.mono{font-family:'Poppins',sans-serif; font-size:12.5px;}.empty-state{text-align:center; padding:50px 20px; color:var(--muted); font-family:'Poppins',sans-serif; font-size:13px;}.badge{display:inline-block; font-family:'Poppins',sans-serif; font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; padding:4px 10px; border-radius:20px; white-space:nowrap;}.badge.stage-0{background:var(--panel-3); color:var(--muted); border:1px solid var(--line);}.badge.stage-mid{background:var(--amber-dim); color:var(--amber); border:1px solid #5c4718;}.badge.stage-final{background:var(--accent-dim); color:var(--accent); border:1px solid #145c50;}.badge.held{background:var(--danger-dim); color:var(--danger); border:1px solid #5a2a2e;}.info-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin-bottom:20px;}.info-item{font-size:13px;}.info-item .k{font-family:'Poppins',sans-serif; font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:2px;}.hold-banner{background:var(--danger-dim); border:1px solid #5a2a2e; color:var(--danger); border-radius:10px; padding:12px 14px; font-size:13px; margin-bottom:18px; line-height:1.5;}.hold-banner b{display:block; font-family:'Poppins',sans-serif; font-size:11px; letter-spacing:.05em; text-transform:uppercase; margin-bottom:4px;}.timeline{list-style:none; margin:0 0 18px; padding:0;}.timeline li{position:relative; padding:0 0 18px 22px; border-left:2px solid var(--line); margin-left:5px;}.timeline li:last-child{border-color:transparent; padding-bottom:0;}.timeline li::before{content:''; position:absolute; left:-7px; top:2px; width:12px; height:12px; border-radius:50%; background:var(--accent); border:2px solid var(--panel);}.timeline .t-head{display:flex; justify-content:space-between; gap:10px; font-size:13.5px; font-weight:600;}.timeline .t-date{font-family:'Poppins',sans-serif; font-size:11px; color:var(--muted); white-space:nowrap;}.timeline .t-detail{font-size:12.5px; color:var(--muted); margin-top:3px; line-height:1.5;}.add-checkpoint{background:var(--panel-2); border:1px solid var(--line); border-radius:10px; padding:16px; margin-bottom:18px;}.add-checkpoint .row{display:flex; gap:10px; flex-wrap:wrap;}.add-checkpoint .row > div{flex:1; min-width:150px;}.document-upload{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;}.document-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}.document-upload-label{display:inline-flex;align-items:center;gap:7px;margin:0;padding:9px 12px;background:var(--accent);border-radius:6px;color:#04231E;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer;white-space:nowrap;}.document-upload-label:hover{box-shadow:0 0 0 1px var(--accent),0 0 14px rgba(0,217,180,.2);}.document-upload-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;}.qr-box{width:100%; max-width:260px; aspect-ratio:1/1; background:#fff; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; overflow:hidden;}.qr-box svg{width:100%; height:100%; display:block;}.track-hero{text-align:center; padding:50px 16px 30px;}.track-search{max-width:520px; margin:0 auto; display:flex; gap:10px;}.track-search input{flex:1;}/* ---- Hash de integridad en panel Poppinsno ---- */.hash-box{padding:14px; border-radius:10px; margin-top:8px; font-family:'Poppins',sans-serif;}.hash-box.hash-valid{background:rgba(0,217,180,0.08); border:1px solid var(--accent-dim);}.hash-box.hash-invalid{background:rgba(245,185,66,0.08); border:1px solid var(--amber-dim);}.hash-status{font-size:12px; font-weight:600; margin-bottom:8px;}.hash-valid .hash-status{color:var(--accent);}.hash-invalid .hash-status{color:var(--amber);}.hash-code{font-size:11px; word-break:break-all; color:var(--muted);}#printArea{display:none;}@media print{  body *{visibility:hidden;}  #printArea, #printArea *{visibility:visible;}  #printArea{display:block; position:fixed; top:0; left:0; width:100%; padding:14mm; background:#fff; color:#111;}  .print-head{font-family:Arial,sans-serif; border-bottom:2px solid #111; padding-bottom:8px; margin-bottom:12px;}  .print-head .pname{font-size:18px; font-weight:700;}  .print-head .pid{font-family:'Courier New',sans-serif; font-size:13px; margin-top:2px;}  .print-body{display:flex; gap:16px; align-items:flex-start;}  .print-qr{width:38mm; height:38mm; flex-shrink:0;}  .print-qr svg{width:100%; height:100%;}  .print-fields{font-family:Arial,sans-serif; font-size:11.5px; line-height:1.7; flex:1;}  .print-fields b{display:inline-block; min-width:150px;}  .print-timeline{font-family:Arial,sans-serif; font-size:11px; margin-top:14px; border-top:1px solid #ccc; padding-top:10px;}  .print-foot{margin-top:16px; font-family:Arial,sans-serif; font-size:9.5px; color:#666;}}/* ============================================================   PASAPORTE DIGITAL NIS BIO-TRACE — 5 PANTALLAS   ============================================================ */.passport-container{  min-height:100vh;  display:flex;  flex-direction:column;}.passport-screen{  flex:1;  display:flex;  flex-direction:column;  animation:fadeIn 0.5s ease;}.passport-screen.hidden{  display:none;}@keyframes fadeIn{  from{opacity:0; transform:translateY(12px);}  to{opacity:1; transform:translateY(0);}}/* ---- Pantalla de búsqueda (sin lote) ---- */.passport-hero{  min-height:100vh;  display:flex;  flex-direction:column;  align-items:center;  justify-content:center;  padding:40px 20px;  text-align:center;}.passport-brand{  margin-bottom:40px;}.passport-logo{  font-family:'Poppins',sans-serif;  font-size:28px;  font-weight:700;  color:var(--text);  letter-spacing:-0.02em;}.passport-logo span{  color:var(--accent);}.passport-tagline{  font-family:'Poppins',sans-serif;  font-size:12px;  color:var(--muted);  text-transform:uppercase;  letter-spacing:0.12em;  margin-top:6px;}.passport-search-box{  width:100%;  max-width:520px;}.passport-search-box h1{  font-family:'Poppins',sans-serif;  font-size:32px;  margin-bottom:12px;}.passport-sub{  color:var(--muted);  font-size:15px;  line-height:1.6;  margin-bottom:28px;}.passport-search-form{  display:flex;  gap:10px;}.passport-search-form input{  flex:1;  background:var(--passport-card);  border:1px solid var(--passport-border);  border-radius:10px;  padding:14px 16px;  font-size:15px;  color:var(--text);}.passport-search-form input:focus{  border-color:var(--accent);  outline:none;}.passport-search-form .btn{  padding:14px 24px;  font-size:15px;}.passport-notfound{  margin-top:24px;  padding:16px;  background:var(--danger-dim);  border:1px solid #5a2a2e;  border-radius:10px;  color:var(--danger);  font-size:14px;  display:flex;  align-items:center;  gap:12px;}.nf-icon{font-size:20px;}.passport-footer{  margin-top:auto;  padding-top:60px;  font-family:'Poppins',sans-serif;  font-size:11px;  color:var(--muted);  line-height:1.8;}/* ---- Header de pantallas Poppinsnas ---- */.passport-header{  display:flex;  justify-content:space-between;  align-items:center;  padding:16px 20px;  border-bottom:1px solid var(--passport-border);  background:var(--passport-bg);  position:sticky;  top:0;  z-index:10;}.passport-brand-small{  font-family:'Poppins',sans-serif;  font-size:15px;  font-weight:700;}.passport-brand-small span{  color:var(--accent);}.passport-progress{  font-family:'Poppins',sans-serif;  font-size:11px;  color:var(--muted);}.passport-content{  flex:1;  padding:24px 20px 40px;  max-width:720px;  width:100%;  margin:0 auto;}.passport-nav{  display:flex;  justify-content:space-between;  gap:12px;  padding:16px 20px 24px;  max-width:720px;  width:100%;  margin:0 auto;  border-top:1px solid var(--passport-border);}.passport-btn{  background:var(--accent);  color:#04231E;  border:none;  border-radius:10px;  padding:12px 20px;  font-family:'Poppins',sans-serif;  font-weight:600;  font-size:14px;  cursor:poPoppins;  text-decoration:none;  display:inline-flex;  align-items:center;  justify-content:center;  gap:6px;}.passport-btn:hover{  box-shadow:0 0 0 1px var(--accent), 0 0 18px rgba(0,217,180,.25);}.passport-btn.secondary{  background:var(--passport-card);  color:var(--text);  border:1px solid var(--passport-border);}.passport-btn.secondary:hover{  border-color:var(--accent);  color:var(--accent);  box-shadow:none;}.passport-next{  background:var(--accent);  color:#04231E;  border:none;  border-radius:10px;  padding:14px 28px;  font-family:'Poppins',sans-serif;  font-weight:700;  font-size:15px;  cursor:poPoppins;  margin-top:28px;  width:100%;  max-width:320px;}/* ---- Pantalla 1: Verificación ---- */.passport-verification{  display:flex;  flex-direction:column;  align-items:center;  justify-content:center;  min-height:calc(100vh - 60px);  padding:40px 20px;  text-align:center;}.scan-animation{  position:relative;  width:120px;  height:120px;  margin-bottom:24px;  display:flex;  align-items:center;  justify-content:center;  background:var(--passport-card);  border:2px solid var(--passport-border);  border-radius:20px;}.scan-icon{  font-size:40px;  z-index:2;}.scan-line{  position:absolute;  top:0;  left:0;  right:0;  height:2px;  background:var(--accent);  box-shadow:0 0 10px var(--accent);  animation:scanMove 2s ease-in-out infinite;  z-index:3;}@keyframes scanMove{  0%,100%{top:0;}  50%{top:100%;}}.verify-badge{  padding:24px 32px;  border-radius:16px;  margin-bottom:24px;  max-width:400px;  width:100%;}.verify-badge.verified{  background:rgba(0,217,180,0.08);  border:1px solid var(--accent-dim);}.verify-badge.unverified{  background:rgba(245,185,66,0.08);  border:1px solid var(--amber-dim);}.verify-icon{  font-size:48px;  margin-bottom:12px;}.verify-text{  font-family:'Poppins',sans-serif;  font-size:22px;  font-weight:700;  margin-bottom:6px;}.verify-badge.verified .verify-text{  color:var(--accent);}.verify-badge.unverified .verify-text{  color:var(--amber);}.verify-sub{  font-size:13px;  color:var(--muted);}.verify-meta{  width:100%;  max-width:400px;  text-align:left;  margin-bottom:24px;}.vm-item{  display:flex;  justify-content:space-between;  align-items:center;  padding:10px 0;  border-bottom:1px solid var(--passport-border);  font-size:13px;}.vm-label{  color:var(--muted);  font-family:'Poppins',sans-serif;  font-size:11px;  text-transform:uppercase;  letter-spacing:0.05em;}.vm-value{  color:var(--text);}/* ---- Pantalla 2: Ficha del producto ---- */.product-hero{  text-align:center;  margin-bottom:32px;  padding-bottom:24px;  border-bottom:1px solid var(--passport-border);}.product-marca{  font-family:'Poppins',sans-serif;  font-size:12px;  color:var(--accent);  text-transform:uppercase;  letter-spacing:0.1em;  margin-bottom:8px;}.product-nombre{  font-family:'Poppins',sans-serif;  font-size:28px;  font-weight:700;  margin:0 0 12px;}.product-meta{  display:flex;  justify-content:center;  align-items:center;  gap:12px;  flex-wrap:wrap;}.product-lote{  color:var(--muted);  font-size:13px;}.product-ficha{  background:var(--passport-card);  border:1px solid var(--passport-border);  border-radius:14px;  padding:20px;}.ficha-grid{  display:grid;  grid-template-columns:1fr 1fr;  gap:14px;}.ficha-item{  display:flex;  flex-direction:column;  gap:4px;}.ficha-item.full{  grid-column:1/-1;}.ficha-k{  font-family:'Poppins',sans-serif;  font-size:10px;  color:var(--muted);  text-transform:uppercase;  letter-spacing:0.06em;}.ficha-v{  font-size:14px;  color:var(--text);  line-height:1.5;}/* ---- Pantalla 3: Timeline ---- */.passport-empty{  text-align:center;  padding:40px 20px;  color:var(--muted);}.empty-icon{  font-size:48px;  margin-bottom:12px;}.passport-timeline{  display:flex;  flex-direction:column;  gap:0;}.pt-item{  display:flex;  align-items:flex-start;  gap:14px;  padding:16px 0;  position:relative;  padding-left:40px;}.pt-item:not(:last-child)::before{  content:'';  position:absolute;  left:19px;  top:44px;  bottom:-16px;  width:2px;  background:var(--passport-border);}.pt-icon{  position:absolute;  left:0;  top:14px;  width:40px;  height:40px;  background:var(--passport-card);  border:2px solid var(--passport-border);  border-radius:50%;  display:flex;  align-items:center;  justify-content:center;  font-size:18px;  z-index:2;}.pt-item.active .pt-icon{  border-color:var(--accent);  background:rgba(0,217,180,0.1);  box-shadow:0 0 0 4px rgba(0,217,180,0.1);}.pt-body{  flex:1;  padding-top:2px;}.pt-title{  font-weight:600;  font-size:15px;  margin-bottom:4px;}.pt-date{  font-family:'Poppins',sans-serif;  font-size:11px;  color:var(--muted);  margin-bottom:4px;}.pt-detail{  font-size:13px;  color:var(--muted);  line-height:1.5;}.pt-status{  font-family:'Poppins',sans-serif;  font-size:10px;  color:var(--accent);  text-transform:uppercase;  letter-spacing:0.08em;  background:rgba(0,217,180,0.08);  border:1px solid var(--accent-dim);  padding:4px 10px;  border-radius:20px;  white-space:nowrap;}/* ---- Pantalla 4: Integridad ---- */.integrity-hero{  text-align:center;  margin-bottom:28px;}.integrity-icon{  font-size:48px;  margin-bottom:12px;}.integrity-hero h2{  font-family:'Poppins',sans-serif;  font-size:24px;  margin-bottom:8px;}.integrity-sub{  color:var(--muted);  font-size:14px;  line-height:1.6;  max-width:560px;  margin:0 auto;}.integrity-card{  background:var(--passport-card);  border:1px solid var(--passport-border);  border-radius:14px;  padding:20px;  margin-bottom:20px;}.ic-status{  display:flex;  align-items:center;  gap:10px;  padding:12px;  border-radius:10px;  margin-bottom:16px;}.ic-status.valid{  background:rgba(0,217,180,0.08);  border:1px solid var(--accent-dim);}.ic-status.warning{  background:rgba(245,185,66,0.08);  border:1px solid var(--amber-dim);}.ic-status-icon{  font-size:24px;}.ic-status-text{  font-family:'Poppins',sans-serif;  font-size:13px;  font-weight:600;}.ic-status.valid .ic-status-text{  color:var(--accent);}.ic-status.warning .ic-status-text{  color:var(--amber);}.ic-hash{  margin-bottom:16px;}.ic-hash label{  display:block;  margin-bottom:8px;}.hash-display{  display:block;  background:var(--passport-bg);  border:1px solid var(--passport-border);  border-radius:8px;  padding:12px;  font-family:'Poppins',sans-serif;  font-size:11px;  color:var(--muted);  word-break:break-all;  line-height:1.6;}.ic-meta{  display:grid;  grid-template-columns:1fr 1fr 1fr;  gap:12px;}.icm-item{  display:flex;  flex-direction:column;  gap:4px;}.icm-k{  font-family:'Poppins',sans-serif;  font-size:10px;  color:var(--muted);  text-transform:uppercase;  letter-spacing:0.06em;}.icm-v{  font-size:13px;  color:var(--text);}.integrity-note{  background:var(--passport-card);  border:1px solid var(--passport-border);  border-radius:12px;  padding:16px;  font-size:13px;  line-height:1.7;  color:var(--muted);}.integrity-note b{  color:var(--text);}/* ---- Pantalla 5: Contacto ---- */.contact-sections{  display:flex;  flex-direction:column;  gap:20px;  margin-bottom:32px;}.contact-card{  background:var(--passport-card);  border:1px solid var(--passport-border);  border-radius:14px;  padding:20px;}.contact-card.commercial{  border-left:3px solid var(--accent);}.contact-card.technical{  border-left:3px solid var(--muted);}.cc-badge{  font-family:'Poppins',sans-serif;  font-size:10px;  text-transform:uppercase;  letter-spacing:0.1em;  color:var(--muted);  margin-bottom:10px;}.cc-badge.tech{  color:var(--muted);}.cc-marca{  font-family:'Poppins',sans-serif;  font-size:18px;  font-weight:700;  margin-bottom:12px;}.cc-marca.tech{  font-size:16px;  color:var(--muted);}.cc-details{  display:flex;  flex-direction:column;  gap:8px;  margin-bottom:16px;}.cc-row{  display:flex;  align-items:center;  gap:10px;  font-size:14px;}.cc-icon{  font-size:16px;  width:24px;  text-align:center;}.cc-actions{  display:flex;  gap:10px;}.contact-divider{  text-align:center;  color:var(--passport-border);  font-size:20px;  letter-spacing:8px;}.passport-end{  text-align:center;  padding-top:20px;  border-top:1px solid var(--passport-border);}.end-qr-hint{  color:var(--muted);  font-size:13px;  margin-bottom:24px;}.end-branding{  padding:20px;}.eb-logo{  font-family:'Poppins',sans-serif;  font-size:20px;  font-weight:700;  margin-bottom:6px;}.eb-logo span{  color:var(--accent);}.eb-tag{  font-family:'Poppins',sans-serif;  font-size:11px;  color:var(--muted);  text-transform:uppercase;  letter-spacing:0.1em;}/* ---- Responsive ---- */@media (max-width:640px){  .ficha-grid{    grid-template-columns:1fr;  }  .ic-meta{    grid-template-columns:1fr;  }  .passport-search-form{    flex-direction:column;  }  .passport-search-form .btn{    width:100%;  }  .passport-nav{    flex-direction:column;  }  .passport-nav .passport-btn{    width:100%;  }  .cc-actions{    flex-direction:column;  }  .cc-actions .passport-btn{    width:100%;  }}'top-nav-center a::before{font-family:\'Font Awesome 6 Free\';font-weight:900;position:absolute;left:50%;transform:translateX(-50%);color:var(--muted);font-size:12px;line-height:1;margin-top:2px;}.top-nav-center a.active::before{color:var(--accent);}.top-nav-center a:hover::before{color:var(--accent);}.top-nav-center a[href*="registro"]::before{content:\'\\f234\';}.top-nav-center a[href*="usuarios"]::before{content:\'\\f0c0\';}.top-nav-center a[href*="cadena"]::before{content:\'\\f0c1\';}.top-nav-center a[href*="activar-licencia"]::before{content:\'\\f023\';}.top-nav-center a[href*="rastreo"]::before{content:\'\\f0f5\';}'  ".cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:20px;}.card{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--panel);transition:transform .2s;}.card:hover{transform:translateY(-4px);}.card-header{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:16px;margin-bottom:12px;}.card-header span{color:var(--accent);font-size:12px;}.card-body{font-family:'Poppins',sans-serif;}.card-producto{font-size:18px;font-weight:700;margin-bottom:4px;}.card-marca{color:var(--muted);font-size:14px;margin-bottom:2px;}.card-origen{color:var(--muted);font-size:13px;margin-bottom:2px;}.card-metrica{color:var(--muted);font-size:13px;}"
".cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:20px;}.card{border:1px solid var(--line);border-radius:16px;padding:28px 20px;background:var(--panel);box-shadow:0 4px 12px rgba(0,0,0,0.08);transition:all .3s cubic-bezier(.4,0,.2,1);}.card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,0,0,0.12);}.card-header{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;}.card-header span{color:var(--accent);font-size:13px;font-weight:600;}.card-body{font-family:'Poppins',sans-serif;padding-top:12px;}.card-producto{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px;}.card-marca{color:var(--muted);font-size:14px;margin-bottom:6px;}.card-origen{color:var(--muted);font-size:13px;margin-bottom:4px;}.card-metrica{color:var(--muted);font-size:13px;}.card .bi{font-size:20px;color:var(--accent);margin-right:6px;}"  

/* Dashboard operativo */
.dashboard-page{padding:18px 0 60px}.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.dashboard-welcome h1{margin:8px 0 4px}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.dashboard-stat{display:flex;align-items:center;gap:14px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.dashboard-stat>div:last-child{min-width:0}.dashboard-stat span,.dashboard-stat small{display:block;color:var(--muted);font-size:11px}.dashboard-stat strong{display:block;color:var(--text);font-size:28px;line-height:1.2;margin:3px 0}.dashboard-stat-icon{width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:20px}.dashboard-stat-icon.green{color:var(--accent);background:var(--accent-dim)}.dashboard-stat-icon.amber{color:var(--amber);background:var(--amber-dim)}.dashboard-stat-icon.red{color:var(--danger);background:var(--danger-dim)}.dashboard-stat-icon.blue{color:#8ab4ff;background:rgba(76,128,255,.12)}.dashboard-grid{display:grid;gap:20px}.dashboard-grid-top{grid-template-columns:1fr 1fr}.dashboard-grid-bottom{grid-template-columns:1.1fr .9fr;margin-top:20px}.dashboard-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.dashboard-card-head h2{font-size:18px;margin:0 0 4px}.dashboard-card-head p{font-size:12px;color:var(--muted);margin:0}.dashboard-card-head>i{color:var(--accent);font-size:20px}.dashboard-card-head .dashboard-link{font-size:11px;white-space:nowrap}.state-list{display:grid;gap:16px}.state-label{display:flex;align-items:center;gap:9px;font-size:13px}.state-label strong{margin-left:auto;color:var(--text)}.state-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.state-dot.stage-0{background:var(--muted)}.state-dot.stage-mid{background:var(--amber)}.state-dot.stage-final{background:var(--accent)}.state-dot.held{background:var(--danger)}.state-track{height:7px;background:var(--panel-3);border-radius:99px;overflow:hidden;margin-top:7px}.state-track span{display:block;height:100%;border-radius:inherit}.state-track span.stage-0{background:var(--muted)}.state-track span.stage-mid{background:var(--amber)}.state-track span.stage-final{background:var(--accent)}.state-track span.held{background:var(--danger)}.platform-status{display:grid;gap:0}.platform-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.platform-row:last-child{border-bottom:0}.platform-row i{color:var(--accent);margin-right:7px}.platform-row b{font-size:11px;font-weight:600}.status-live{color:var(--accent)}.status-warn{color:var(--amber)}.status-danger{color:var(--danger)}.dashboard-link{color:var(--accent);text-decoration:none}.dashboard-link:hover{text-decoration:underline}.recent-list,.activity-list{display:grid}.recent-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.recent-item:last-child,.activity-item:last-child{border-bottom:0}.recent-item:hover strong{color:var(--accent)}.recent-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent-dim);color:var(--accent)}.recent-main{flex:1;min-width:0}.recent-main strong,.recent-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-main strong{font-size:13px}.recent-main small{font-size:11px;color:var(--muted);margin-top:3px}.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.activity-dot{width:9px;height:9px;flex:0 0 9px;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(0,217,180,.4)}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:13px;text-transform:capitalize}.activity-item small{font-size:11px;color:var(--muted);margin-top:3px}.dashboard-checkpoints{margin-top:20px}.dashboard-checkpoints table{font-size:12px}.dashboard-checkpoints tbody td{padding:11px 10px}.dashboard-checkpoints thead th{padding-left:10px;padding-right:10px}@media(max-width:980px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-top,.dashboard-grid-bottom{grid-template-columns:1fr}}@media(max-width:600px){.dashboard-welcome{display:block}.dashboard-welcome .btn{margin-top:12px}.dashboard-stats{grid-template-columns:1fr}.dashboard-card{padding:17px}.recent-item .badge{font-size:9px;padding:4px 7px}}.card{border:1px solid var(--line);border-radius:16px;padding:28px 20px;background:var(--panel);box-shadow:0 4px 12px rgba(0,0,0,0.08);transition:all .3s cubic-bezier(.4,0,.2,1);}.card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,0,0,0.12);}.card-header{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;}.card-header span{color:var(--accent);font-size:13px;font-weight:600;}.card-body{font-family:'Poppins',sans-serif;padding-top:12px;}.card-producto{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px;}.card-marca{color:var(--muted);font-size:14px;margin-bottom:6px;}.card-origen{color:var(--muted);font-size:13px;margin-bottom:4px;}.card-metrica{color:var(--muted);font-size:13px;}.card .bi{font-size:20px;color:var(--accent);margin-right:6px;}"
.audit-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;color:var(--muted);font-size:12px}.audit-pagination .disabled{opacity:.45;pointer-events:none}.audit-change-list{margin-top:8px;display:grid;gap:6px;min-width:260px;color:var(--muted);font-size:11px;line-height:1.5}.audit-change-list strong{color:var(--text);text-transform:capitalize}.audit-change-list div{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.05)}details summary{cursor:pointer;color:var(--accent);font-size:12px}details summary:hover{color:var(--text)}.card{border:1px solid var(--line);border-radius:16px;padding:28px 20px;background:var(--panel);box-shadow:0 4px 12px rgba(0,0,0,0.08);transition:all .3s cubic-bezier(.4,0,.2,1);}.card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,0,0,0.12);}.card-header{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;}.card-header span{color:var(--accent);font-size:13px;font-weight:600;}.card-body{font-family:'Poppins',sans-serif;padding-top:12px;}.card-producto{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px;}.card-marca{color:var(--muted);font-size:14px;margin-bottom:6px;}.card-origen{color:var(--muted);font-size:13px;margin-bottom:4px;}.card-metrica{color:var(--muted);font-size:13px;}.card .bi{font-size:20px;color:var(--accent);margin-right:6px;}"
.audit-date{display:flex;align-items:center;gap:6px;margin:0;text-transform:none;letter-spacing:0;font-size:11px;color:var(--muted);}
.audit-date input{width:140px;padding:9px 10px;font-size:12px;}details summary:hover{color:var(--text)}.card{border:1px solid var(--line);border-radius:16px;padding:28px 20px;background:var(--panel);box-shadow:0 4px 12px rgba(0,0,0,0.08);transition:all .3s cubic-bezier(.4,0,.2,1);}.card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,0,0,0.12);}.card-header{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;}.card-header span{color:var(--accent);font-size:13px;font-weight:600;}.card-body{font-family:'Poppins',sans-serif;padding-top:12px;}.card-producto{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px;}.card-marca{color:var(--muted);font-size:14px;margin-bottom:6px;}.card-origen{color:var(--muted);font-size:13px;margin-bottom:4px;}.card-metrica{color:var(--muted);font-size:13px;}.card .bi{font-size:20px;color:var(--accent);margin-right:6px;}"
.table-scroll thead th:last-child{position:sticky;right:0;z-index:2;background:var(--panel);}.table-scroll tbody td:last-child{position:sticky;right:0;z-index:1;background:var(--panel);}.table-scroll tbody tr:hover td:last-child{background:var(--panel-2);}.table-scroll .fecha-col{position:static!important;}