/* Shared authentication transition, indigo brand palette. */
#loginTransition { background:radial-gradient(ellipse at 20% 0%,#e5e2ff,transparent 55%),#f7f8fd; color:#20203e; font-family:'Plus Jakarta Sans',sans-serif; }
.dark #loginTransition { background:radial-gradient(ellipse at 20% 0%,rgba(124,130,255,.28),transparent 60%),#21232E; color:#f5f3ff; }
.atendimento-scene { position:absolute; inset:0; display:flex; justify-content:center; align-items:center; padding:16px; box-sizing:border-box; }
.atendimento-scene>#scene { width:100%; height:100%; min-height:0; }
.clinical-visual { position:relative; width:100%; height:100%; overflow:hidden; border-radius:32px; background:#e4e1f4; box-shadow:0 28px 80px -35px #312e8155; isolation:isolate; animation:care-reveal .35s ease-out both; }
.clinical-portrait { display:block; width:100%; height:100%; object-fit:cover; object-position:center 28%; animation:care-camera .45s ease-out both; }
.clinical-image-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(23,20,61,.85),transparent 60%); }
.clinical-scene-caption { position:absolute; left:36px; bottom:180px; color:white; }
.clinical-kicker { display:block; font-size:9px; font-weight:700; letter-spacing:.2em; color:#d5d1ff; margin-bottom:12px; }
.clinical-scene-caption strong { display:block; font-size:clamp(22px,3vw,34px); line-height:1.25; letter-spacing:-.8px; }
.clinical-orbit { position:absolute; right:32px; bottom:32px; width:36px; height:36px; border:2px solid #ffffff35; border-top-color:#c4b5fd; border-radius:50%; animation:care-orbit 1.5s linear infinite; }
.atendimento-status { position:absolute; top:32px; right:32px; z-index:2; }
#loginTransition .atendimento-status>span { display:inline-flex; align-items:center; gap:8px; background:#eeecff; color:#4f46e5; border:1px solid #ddd8ff; padding:8px 14px; border-radius:999px; font-size:11px; }
#loginTransition .atendimento-status>span>span { width:7px; height:7px; background:#4f46e5; border-radius:50%; animation:care-pulse 2s ease-in-out infinite; }
.dark #loginTransition .atendimento-status>span { background:rgba(124,130,255,.12); border-color:rgba(124,130,255,.35); color:#7C82FF; }
.atendimento-caption { position:absolute; bottom:38px; left:0; right:0; z-index:2; text-align:center; padding:0 20px; }
.atendimento-caption-box { display:inline-flex; align-items:center; gap:18px; width:min(100%,480px); box-sizing:border-box; text-align:left; background:rgba(255,255,255,.94); border:1px solid #e5e2f5; border-radius:20px; padding:22px 26px; box-shadow:0 16px 45px -28px #312e8166; }
.atendimento-caption-info { flex:1; min-width:0; }
#splashLogo { width:44px; height:44px; padding:9px; box-sizing:border-box; border-radius:13px; background:#4f46e5; }
#splashUnit { font-size:17px; line-height:1.3; overflow-wrap:anywhere; color:#252241; }
.atendimento-lead { font-size:12px; line-height:1.5; margin-top:5px; color:#74718a; }
.atendimento-progress-row { display:flex; align-items:center; gap:12px; margin-top:14px; }
.atendimento-progress { flex:1; height:4px; background:#eae7f5; border-radius:999px; overflow:hidden; }
.atendimento-progress-bar { display:block; height:100%; width:0%; border-radius:inherit; background:linear-gradient(90deg,#4f46e5,#a78bfa); transition:width .15s linear; }
.atendimento-progress-label { font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#4f46e5; }
.dark .atendimento-caption-box { background:#1b1930; border-color:#35304e; }
.dark #splashLogo { background:#7C82FF; }
.dark .atendimento-progress-bar { background:linear-gradient(90deg,#7C82FF,#fe8500); }
.dark .atendimento-progress-label { color:#7C82FF; }
.dark #splashUnit { color:#f5f3ff; }
.dark .atendimento-lead { color:#b8b3ce; }
.dark .atendimento-progress { background:#38314e; }
.dark .atendimento-progress-label { color:#b8acff; }
.scene-restart .clinical-visual,.scene-restart .clinical-portrait,.scene-restart .clinical-orbit { animation:none; }
body.login-transitioning { overflow:hidden; }
body.login-transitioning #loginShell,body.login-transitioning #themeToggle { opacity:0; visibility:hidden; pointer-events:none; transition:opacity .15s ease; }
@keyframes care-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes care-camera { from { transform:scale(1.035); } to { transform:scale(1); } }
@keyframes care-orbit { to { transform:rotate(360deg); } }
@keyframes care-pulse { 50% { box-shadow:0 0 0 5px #4f46e515; } }
@media(max-width:640px) {
.atendimento-scene { padding:8px; }
.clinical-visual { border-radius:22px; }
.clinical-scene-caption { left:22px; bottom:190px; }
.clinical-scene-caption strong { font-size:23px; }
.clinical-kicker { font-size:7px; }
.clinical-orbit { display:none; }
.atendimento-caption { bottom:36px; padding:0 16px; }
.atendimento-caption-box { padding:18px; gap:12px; }
.atendimento-status { right:22px; top:22px; }
}
@media(max-height:540px) {
.atendimento-scene { padding:8px; }
.atendimento-caption { bottom:26px; }
.atendimento-caption-box { padding:12px 20px; }
.clinical-scene-caption { left:24px; bottom:140px; }
.clinical-scene-caption strong { font-size:20px; }
.clinical-kicker { display:none; }
.atendimento-status { top:20px; }
}
@media(prefers-reduced-motion:reduce) { #loginTransition *,#loginTransition *::before,#loginTransition *::after { animation:none!important; transition:none!important; } }
