:root{--azul-profuturo:#004b8d;--azul-claro:#00a1df;--naranja:#ff8200}
.hf-spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.85);backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .3s ease}
.hf-spinner--hidden{opacity:0;visibility:hidden}
.hf-analysis-spinner{position:relative;height:140px;display:flex;justify-content:center;align-items:center}
.hf-icon-center{width:50px;height:50px;z-index:10;animation:pulse-icon 2s infinite ease-in-out}
.orbit{position:absolute;border-radius:50%;border:8px solid transparent}
.orbit-outer{width:120px;height:120px;border-top:8px solid var(--azul-profuturo);border-bottom:8px solid var(--azul-profuturo);animation:rotate-cw 3s infinite cubic-bezier(0.68,-0.55,0.27,1.55)}
.orbit-inner{width:85px;height:85px;border-left:6px solid var(--azul-claro);border-right:6px solid var(--azul-claro);animation:rotate-ccw 2s infinite linear}
@keyframes rotate-cw{from{transform:rotate(0)}
to{transform:rotate(360deg)}
}
@keyframes rotate-ccw{from{transform:rotate(0)}
to{transform:rotate(-360deg)}
}
@keyframes pulse-icon{0,100%{transform:scale(1);filter:drop-shadow(0 0 0 var(--naranja))}
50%{transform:scale(1.15);filter:drop-shadow(0 0 8px var(--naranja))}
}
.hf-spinner-text{margin-top:40px;color:var(--azul-profuturo);font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:1.5px;text-align:center}
:root{--primary-red:#f2a900;--text-dark:#1e293b;--text-light:#64748b;--bg-gray:#f8fafc;--transition:cubic-bezier(0.34,1.56,0.64,1)}
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.5);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-end;z-index:9999;opacity:1;transition:opacity .3s ease}
.modal-card{background:white;width:100%;max-width:450px;padding:32px 24px;border-radius:32px 32px 0 0;text-align:center;box-shadow:0 -10px 25px rgba(0,0,0,0.1);transform:translateY(0);transition:transform .4s var(--transition)}
.modal-overlay.hidden{display:none;opacity:0}
.modal-overlay.hidden .modal-card{transform:translateY(100%)}
.error-circle{background-color:var(--primary-red);color:white;width:64px;height:64px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:32px;margin:0 auto 20px;animation:pulse-red 2s infinite}
@keyframes pulse-red{0{box-shadow:0 0 0 0 rgba(230,91,70,0.7)}
70%{box-shadow:0 0 0 15px rgba(230,91,70,0)}
100%{box-shadow:0 0 0 0 rgba(230,91,70,0)}
}
.modal-title{font-family:Avenir;font-weight:750;font-size:18px;line-height:25px;letter-spacing:0;text-align:center;color:#002d72}
.modal-text{font-family:Avenir;font-weight:400;font-size:16px;line-height:19px;letter-spacing:0;text-align:center;color:#0c2340;padding:10px 0 20px 0}
.status-box{background-color:var(--bg-gray);border:1px dashed #cbd5e1;color:#475569;padding:14px;border-radius:16px;font-family:monospace;font-size:13px;margin-bottom:32px}
.button-group{display:flex;flex-direction:column-reverse;gap:12px;align-items:center}
.btn-outline,.btn-solid{width:100%;height:56px;border-radius:18px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s active}
.btn-outline{background:transparent;border:2px solid #e2e8f0;color:var(--text-light)}
.btn-solid{background:var(--primary-red);border:0;color:white;box-shadow:0 4px 12px rgba(230,91,70,0.3)}
.btn-solid:active,.btn-outline:active{transform:scale(0.96)}
@media(min-width:768px){.modal-overlay{align-items:center}
.modal-card{border-radius:28px;transform:scale(1)}
.button-group{flex-direction:row}
.modal-overlay.hidden .modal-card{transform:scale(0.9) translateY(0)}
}
#retryBtn{width:329px;height:48px;gap:10px;opacity:1;border-radius:15px;padding-top:9px;padding-right:24px;padding-bottom:9px;padding-left:24px;background:#f2a900;border:0;color:#002d72;box-shadow:0 4px 12px rgba(230,91,70,0.3)}
#closeBtn{width:329px;height:48px;gap:10px;background:#fff;box-shadow:0 5px 10.7px 0 #B7B7B740;border:1px solid #dcd8d6;color:#26244FCC}