
.tracking-page{min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(24,165,111,.12),transparent 25%),#f5f8f6;padding-bottom:70px}
.tracking-header{background:#fff;border-bottom:1px solid var(--line)}
.tracking-nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.tracking-back{font-size:11px;font-weight:800;color:#52635d;display:inline-flex;align-items:center;gap:7px}
.tracking-main{padding-top:58px}.tracking-hero{max-width:720px;margin:0 auto 28px;text-align:center}
.tracking-hero h1{font-family:"Manrope",sans-serif;font-size:clamp(34px,5vw,50px);line-height:1.1;letter-spacing:-2px}
.tracking-hero p{max-width:580px;margin:13px auto 0;color:var(--muted);font-size:13px}
.tracking-card{width:min(100%,760px);margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow-sm)}
.tracking-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.tracking-form .field{margin-bottom:0}.tracking-form button{height:48px;border:0}
.tracking-error{margin-top:16px;padding:12px 14px;border-radius:11px;background:#fff0f0;border:1px solid #f0caca;color:#9d3f3f;font-size:11px}
.tracking-result{width:min(100%,960px);margin:20px auto 0;display:grid;gap:16px}
.tracking-status-card,.decision-card,.tracking-detail{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.tracking-status-card{border-radius:24px;padding:28px}.tracking-result-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid #edf1ef}
.tracking-result-head>div:first-child{display:flex;flex-direction:column}.tracking-result-head small{font-size:9px;letter-spacing:1.1px;color:#85938e;font-weight:900}.tracking-result-head strong{font-family:"Manrope",sans-serif;font-size:20px;margin-top:2px}
.public-status{padding:8px 12px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
.public-status.pending{background:#fff3d8;color:#9c6715}.public-status.review{background:#eaf2ff;color:#4167aa}.public-status.preapproved{background:#e9f7ef;color:#0d7c54}.public-status.docs_review{background:#eef3ff;color:#4e63a7}
.public-status.docs_incomplete{background:#fff3dd;color:#aa6b0c}.public-status.approved,.public-status.contract_pending,.public-status.contract_signed,.public-status.funded{background:#dcf5e9;color:#0d7c54}.public-status.rejected{background:#fff0f0;color:#a44242}
.status-message{display:grid;grid-template-columns:auto 1fr;gap:13px;margin-top:22px;padding:17px;border-radius:15px;background:#f4faf7}.status-message>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--green-soft);color:var(--green-dark)}
.status-message strong{display:block;font-size:13px}.status-message p{color:var(--muted);font-size:11px;margin-top:3px}
.progress-track{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-top:30px}.progress-step{position:relative;text-align:center}.progress-step:not(:last-child)::before{content:"";position:absolute;top:18px;left:50%;right:-50%;height:2px;background:#dce6e2;z-index:0}.progress-step.connector-done:not(:last-child)::before{background:#65c29e}
.progress-dot{position:relative;z-index:1;width:36px;height:36px;margin:0 auto 8px;display:grid;place-items:center;border-radius:50%;background:#edf2f0;color:#91a09a;font-size:10px;font-weight:900}.progress-step.done .progress-dot{background:var(--green);color:#fff}.progress-step.current .progress-dot{box-shadow:0 0 0 6px rgba(24,165,111,.12)}.progress-step span{font-size:8px;color:#75837e;font-weight:800}.progress-step.done span{color:var(--green-dark)}
.decision-card{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px;border-radius:21px}.decision-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;font-size:18px}.success-decision .decision-icon,.approved-decision .decision-icon,.signed-decision .decision-icon{background:#e5f7ef;color:#0d7c54}.waiting-decision .decision-icon{background:#eef3ff;color:#5268aa}.incomplete-decision .decision-icon{background:#fff3dd;color:#aa6b0c}.rejected-decision .decision-icon{background:#fff0f0;color:#a44242}
.decision-kicker{font-size:8px;letter-spacing:1.3px;font-weight:900;color:var(--green-dark)}.decision-card h2{font-family:"Manrope",sans-serif;font-size:24px;line-height:1.18;letter-spacing:-.8px;margin-top:4px}.decision-card p{color:var(--muted);font-size:11px;line-height:1.65;margin-top:8px}.decision-card .btn{margin-top:16px}
.admin-message{padding:12px 14px!important;background:#f8faf9;border-radius:11px;color:#43534d!important}.missing-docs-list{display:grid;gap:7px;margin-top:13px}.missing-docs-list span{font-size:10px;color:#8c5c18}.missing-docs-list i{margin-right:6px}
.tracking-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tracking-detail{border-radius:16px;padding:16px}.tracking-detail span{font-size:8px;letter-spacing:1px;color:#84928d;font-weight:900}.tracking-detail strong{display:block;font-size:12px;margin-top:4px}.tracking-detail.full{grid-column:1/-1}
.docs-modal{position:fixed;inset:0;z-index:250;display:none;align-items:center;justify-content:center;padding:20px}.docs-modal.open{display:flex}.docs-modal-backdrop{position:absolute;inset:0;background:rgba(6,24,18,.75);backdrop-filter:blur(8px)}.docs-modal-card{position:relative;z-index:2;width:min(100%,780px);max-height:92vh;overflow-y:auto;background:#fff;border-radius:26px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.28)}
.docs-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:11px;background:#f2f6f4;color:#52635d;cursor:pointer}.docs-modal-head{display:grid;grid-template-columns:auto 1fr;gap:14px;padding-right:35px;margin-bottom:22px}.docs-modal-head>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--green-soft);color:var(--green-dark)}.docs-modal-head h2{font-family:"Manrope",sans-serif;font-size:26px;line-height:1.18}.docs-modal-head p{color:var(--muted);font-size:10px;margin-top:5px}
.docs-form{display:grid;gap:10px}.doc-upload-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fbfcfc}.doc-upload-row.completed{background:#f2faf6;border-color:#cde9dc}.doc-upload-row.optional{background:#faf9f6}.doc-upload-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eef7f3;color:var(--green-dark)}.doc-upload-copy{display:flex;flex-direction:column}.doc-upload-copy strong{font-size:11px}.doc-upload-copy small{color:#85938e;font-size:8px;margin-top:2px}
.doc-upload-button input{display:none}.doc-upload-button span{display:inline-flex;align-items:center;justify-content:center;min-width:85px;height:36px;padding:0 12px;border-radius:9px;background:var(--ink);color:#fff;font-size:8px;font-weight:900;cursor:pointer}.doc-upload-row.file-selected .doc-upload-button span{background:var(--green)}.doc-upload-row.file-selected .doc-upload-icon{background:#dff5eb}
.docs-consent{display:flex;gap:9px;align-items:flex-start;margin-top:6px;color:#697771;font-size:9px}.docs-submit{width:100%;min-height:50px;border:0}.body-docs-open{overflow:hidden}
@media(max-width:700px){.tracking-main{padding-top:35px}.tracking-form{grid-template-columns:1fr}.tracking-form button{width:100%}.tracking-card,.tracking-status-card{padding:20px 16px;border-radius:20px}.tracking-result-head{flex-direction:column}.progress-track{overflow-x:auto;grid-template-columns:repeat(7,105px);padding-bottom:5px}.tracking-details{grid-template-columns:1fr}.tracking-detail.full{grid-column:auto}.decision-card{grid-template-columns:1fr}.docs-modal{align-items:flex-end;padding:0}.docs-modal-card{width:100%;max-height:94vh;border-radius:24px 24px 0 0;padding:24px 15px 28px}.doc-upload-row{grid-template-columns:auto 1fr}.doc-upload-button{grid-column:1/-1}.doc-upload-button span{width:100%}}


/* V9 - actualización viva del progreso */
.progress-step::before {
  transform-origin: left center;
}

.progress-step.connector-live-fill::before {
  background: var(--green) !important;
  animation: liveConnectorFill .6s cubic-bezier(.2,.75,.25,1) forwards;
}

.progress-step.connector-live-reject::before {
  background: #d65757 !important;
  animation: liveConnectorFill .6s cubic-bezier(.2,.75,.25,1) forwards;
}

@keyframes liveConnectorFill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.progress-step.arrival-pop .progress-dot {
  background: var(--green);
  color: #fff;
  animation: liveArrivalPop .75s cubic-bezier(.2,.95,.25,1.25);
  box-shadow: 0 0 0 7px rgba(24,165,111,.12);
}

.progress-step.arrival-reject .progress-dot,
.progress-step.rejected-final .progress-dot {
  background: #d65757 !important;
  color: #fff !important;
}

.progress-step.arrival-reject .progress-dot {
  animation: liveArrivalReject .75s cubic-bezier(.2,.95,.25,1.25);
  box-shadow: 0 0 0 7px rgba(214,87,87,.13);
}

.progress-step.rejected-final span {
  color: #b64545 !important;
}

@keyframes liveArrivalPop {
  0% { transform: scale(.72); }
  48% { transform: scale(1.28); }
  72% { transform: scale(.94); }
  100% { transform: scale(1); }
}

@keyframes liveArrivalReject {
  0% { transform: scale(.72); }
  48% { transform: scale(1.25) rotate(-4deg); }
  72% { transform: scale(.95) rotate(2deg); }
  100% { transform: scale(1); }
}

.live-badge-update {
  animation: liveBadgePulse .8s ease;
}

@keyframes liveBadgePulse {
  0% { transform: scale(.92); opacity: .65; }
  45% { transform: scale(1.08); }
  100% { transform: scale(1); opacity: 1; }
}

.public-status.contract_confirmed {
  background:#dcf5e9;
  color:#0d7c54;
}

.public-status.contract_rejected {
  background:#fff0f0;
  color:#a44242;
}
