
:root{--blue:#005de1;--ink:#243e5b;--muted:#6d7f93;--line:#e0e9f4;--soft:#edf4ff}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f5f8fc}button,input{font:inherit}button,a,input{outline-offset:4px}button{cursor:pointer}a{color:var(--blue)}.preview-bar{position:relative;z-index:2;background:#fff;border-bottom:1px solid var(--line);padding:10px 24px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.preview-bar strong{color:#335b85;font-weight:600}.preview-bar button{background:#edf4ff;color:var(--blue);border:0;border-radius:8px;padding:8px 12px;font-size:12px}.stage{min-height:calc(100vh - 55px);padding:40px 24px 25px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.stage:before,.stage:after{content:'';position:absolute;pointer-events:none;border-radius:50%;width:800px;height:800px}.stage:before{top:-420px;right:-320px;background:radial-gradient(circle,#dbeaff99,transparent 68%)}.stage:after{bottom:-500px;left:-380px;background:radial-gradient(circle,#c9f4eb77,transparent 68%)}.shell{position:relative;z-index:1;width:100%;max-width:470px}.card{background:#fff;border:1px solid #e0eaf7;border-radius:24px;padding:34px 38px;box-shadow:0 12px 60px #2a5d9d0a}.brand{display:flex;align-items:center;flex-direction:column;gap:5px;margin-bottom:27px}.brand .symbol{width:66px;height:47px;object-fit:contain}.brand .wordmark{width:190px;height:auto;filter:brightness(0) saturate(100%) invert(25%) sepia(96%) saturate(2888%) hue-rotate(209deg) brightness(91%) contrast(106%)}h1{font-size:24px;font-weight:650;line-height:1.3;letter-spacing:-.5px;margin:0 0 10px;text-align:center}.intro{font-size:14px;color:var(--muted);text-align:center;margin:0 0 26px}.field{display:grid;gap:8px;margin-bottom:20px}.field>label{font-size:13px;font-weight:600}.field input{width:100%;min-height:49px;padding:12px 14px;border:1px solid #dbe5f1;border-radius:10px;color:var(--ink);background:#fff;min-width:0}.field input::placeholder{color:#99a7b7;font-size:13px}.field input:focus{border-color:#5795eb;box-shadow:0 0 0 3px #005de10c}.field .minor{font-size:12px;color:var(--blue);background:none;border:0;justify-self:end;padding:0;line-height:1.6}.password-wrap{position:relative}.password-wrap input{padding-right:78px}.password-wrap button{position:absolute;right:5px;top:5px;bottom:5px;border:0;background:#f3f7fd;color:#376da9;font-size:12px;padding:0 10px;border-radius:7px}.primary{width:100%;min-height:49px;padding:12px 16px;border:0;border-radius:10px;color:white;background:var(--blue);font-size:14px;font-weight:650;box-shadow:0 4px 12px #005de114}.primary:hover{background:#0054c9}.help{border-top:1px solid #edf1f7;margin-top:25px;padding-top:19px;font-size:12px;color:var(--muted);text-align:center}.help summary{cursor:pointer;color:#53769f;list-style:none}.help summary::-webkit-details-marker{display:none}.help p{line-height:1.7;margin:12px 0 0}.footer{font-size:11px;text-align:center;color:#8191a5;margin-top:22px}.back{display:block;width:100%;background:none;border:0;color:#426f9f;font-size:13px;margin-top:17px;padding:8px}.notice{padding:16px;border:1px solid #d8e7fa;background:#f3f8ff;border-radius:12px;color:#426789;font-size:13px;line-height:1.8;margin-top:20px}.success-mark{width:52px;height:52px;display:grid;place-items:center;margin:10px auto 20px;border-radius:50%;background:#eaf7f3;color:#16836d;font-size:25px}.security-note{text-align:center;font-size:12px;color:var(--muted);margin:15px 0 0}.view-title:focus{outline:none}.mobile .stage{max-width:390px;margin:18px auto;border:1px solid #dbe5f1;border-radius:22px;min-height:780px;padding:24px 16px;background:#f5f8fc}.mobile .card{padding:26px 23px}.mobile .preview-bar{flex-wrap:wrap}@media(max-width:540px){.stage{padding:25px 16px;align-items:flex-start}.card{padding:28px 24px;border-radius:20px}.preview-bar{padding:10px 16px;flex-wrap:wrap;gap:6px}.preview-bar span{display:block}.brand{margin-bottom:24px}.footer{font-size:10px}.stage:before{right:-620px}h1{font-size:22px}}

.stage{padding:26px 30px;min-height:calc(100vh - 55px);background:#f3f7fc}.stage:before,.stage:after{display:none}.login-layout{display:grid;grid-template-columns:minmax(390px,.9fr) minmax(440px,1.15fr);width:min(1400px,100%);min-height:760px;border:1px solid #dfe9f5;border-radius:25px;overflow:hidden;background:white;box-shadow:0 16px 75px #25589609}.shell{max-width:440px;margin:auto;padding:30px 0;width:100%}.card{border:0;box-shadow:none;padding:20px 35px;border-radius:0;background:transparent}.brand{margin-bottom:32px}.brand .symbol{width:62px;height:44px}.brand .wordmark{width:190px}.intro{line-height:1.7}h1{font-size:27px}.footer{margin:15px 25px}.medical-visual{position:relative;overflow:hidden;min-width:0;background:linear-gradient(145deg,#edf5ff,#deecff 58%,#e6f8fa);border-left:1px solid #e1ebf7;display:flex;flex-direction:column;min-height:760px}.visual-top{position:relative;z-index:3;padding:30px 32px;display:flex;justify-content:space-between;align-items:start;gap:10px}.visual-top>span{font-size:12px;color:#2b6097;letter-spacing:.14em;font-weight:700;line-height:1.7}.visual-top small{font-size:9px;letter-spacing:.17em;font-weight:500}.visual-top button{color:#4c79a7;background:#ffffff83;border:1px solid #cbdff3;border-radius:8px;padding:8px 10px;font-size:10px}.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(#387bb808 1px,transparent 1px),linear-gradient(90deg,#387bb808 1px,transparent 1px),linear-gradient(#387bb80a 1px,transparent 1px),linear-gradient(90deg,#387bb80a 1px,transparent 1px);background-size:22px 22px,22px 22px,110px 110px,110px 110px;mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent)}.medical-art{position:relative;z-index:1;width:100%;max-width:650px;margin:-30px auto -75px;flex:1;display:flex;align-items:center}.medical-art svg{display:block;width:100%;height:auto;max-height:550px;overflow:visible}.visual-bottom{position:relative;z-index:2;padding:0 42px 34px}.visual-line{width:45px;height:3px;background:linear-gradient(90deg,#005de1,#00c6c8);border-radius:5px;margin-bottom:19px}.visual-bottom h2{font-size:clamp(24px,2.6vw,36px);color:#234d7c;line-height:1.22;letter-spacing:-.8px;font-weight:600;margin:0 0 12px}.visual-bottom h2 span{color:#4877a6;font-weight:400}.visual-bottom p{font-size:13px;color:#5c80a5;margin:0}.visual-pills{display:flex;gap:16px;color:#6085ad;font-size:10px;letter-spacing:.08em;margin-top:24px}.visual-pills i{display:inline-block;width:5px;height:5px;background:#18acb2;border-radius:50%;margin-right:6px}.ambient{position:absolute;border-radius:50%;pointer-events:none;filter:blur(20px);opacity:.35}.ambient-one{width:320px;height:320px;top:120px;right:-190px;background:#91c0fa;animation:ambient 13s ease-in-out infinite alternate}.ambient-two{width:240px;height:240px;bottom:130px;left:-180px;background:#a5e5e3;animation:ambient 16s ease-in-out infinite alternate-reverse}.spine-float{animation:float 9s ease-in-out infinite;transform-origin:320px 300px}.orbit{animation:orbit 45s linear infinite;transform-origin:320px 302px}.vertebra{animation:appear 1.4s ease both;animation-delay:var(--delay)}.guide-lines{stroke-dasharray:400;stroke-dashoffset:400;animation:trace 3s ease forwards 1s}.scan{animation:scan 8s ease-in-out infinite}.paused .medical-visual *{animation-play-state:paused!important}@keyframes float{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -9px;rotate:1deg}}@keyframes orbit{to{rotate:360deg}}@keyframes appear{from{opacity:0}to{opacity:1}}@keyframes trace{to{stroke-dashoffset:0}}@keyframes scan{0%,100%{translate:0 30px;opacity:0}15%{opacity:1}75%{opacity:1}90%{translate:0 440px;opacity:0}}@keyframes ambient{to{translate:-30px 30px;scale:1.13}}.mobile .stage{max-width:420px;min-height:0;padding:0;border:0;background:transparent}.mobile .login-layout{grid-template-columns:1fr;border-radius:20px;min-height:0}.mobile .shell{padding:25px 0}.mobile .medical-visual{min-height:350px;border-left:0;border-top:1px solid #e1ebf7}.mobile .medical-art{position:absolute;width:260px;right:-35px;top:62px;opacity:.7;margin:0}.mobile .visual-top{padding:20px}.mobile .visual-bottom{padding:85px 23px 24px}.mobile .visual-bottom h2{font-size:25px}.mobile .visual-bottom p{max-width:180px}.mobile .visual-pills{margin-top:18px}@media(max-width:900px){.stage{padding:20px 14px}.login-layout{grid-template-columns:1fr;max-width:520px;min-height:0}.shell{padding:26px 0}.medical-visual{min-height:350px;border-left:0;border-top:1px solid #e1ebf7}.visual-top{padding:22px}.medical-art{position:absolute;width:310px;right:-35px;top:40px;margin:0;opacity:.65}.visual-bottom{padding:85px 26px 28px}.visual-bottom h2{font-size:27px}.visual-bottom p{max-width:200px}.visual-pills{margin-top:20px}}@media(prefers-reduced-motion:reduce){.medical-visual *{animation:none!important}.guide-lines{stroke-dashoffset:0}.scan{display:none}}

/* Se conserva el cuadro aprobado del login 01. */.login-layout{background:transparent;border:0;box-shadow:none;gap:36px;overflow:visible}.shell{max-width:470px}.card{background:#fff;border:1px solid #e0eaf7;border-radius:24px;padding:34px 38px;box-shadow:0 12px 60px #2a5d9d0a}.brand{gap:5px;margin-bottom:27px}.brand .symbol{width:66px;height:47px}.brand .wordmark{width:190px}.card h1{font-size:24px;font-weight:650;line-height:1.3;letter-spacing:-.5px;margin:0 0 10px}.intro{line-height:1.5}.footer{margin:22px 0 0}.medical-visual{border:1px solid #dbe8f6;border-radius:24px}.mobile .login-layout{border:0;background:transparent;gap:24px}.mobile .shell{padding:0}.mobile .card{padding:26px 23px;border-radius:24px}.mobile .medical-visual{border:1px solid #dbe8f6;border-radius:20px}@media(max-width:900px){.login-layout{gap:24px}.shell{padding:0}.medical-visual{border:1px solid #dbe8f6;border-radius:20px}.card{padding:34px 38px}}@media(max-width:540px){.card{padding:28px 24px;border-radius:20px}.card h1{font-size:22px}}

/* Revisión 03: cuadros alineados y composición móvil sin superposiciones. */
.stage{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:30px 28px;overflow:hidden}.login-layout{width:min(1110px,100%);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:stretch;min-height:700px}.shell{display:flex;max-width:none;margin:0;padding:0;min-width:0}.card{width:100%;display:flex;flex-direction:column;justify-content:center;padding:36px 38px;min-width:0}.medical-visual{min-height:0;display:flex;flex-direction:column;border-radius:24px}.medical-art{position:relative;top:auto;right:auto;width:100%;max-width:550px;margin:0 auto -25px;flex:1;min-height:0;opacity:1;display:flex;align-items:center;justify-content:center}.medical-art svg{width:100%;height:auto;max-height:475px}.visual-bottom{padding:0 33px 35px;flex:0 0 auto}.visual-bottom h2{font-size:clamp(25px,2.5vw,32px);line-height:1.25}.visual-bottom p{font-size:13px;max-width:none}.visual-line{margin-bottom:17px}.stage>.footer{margin:22px 0 0;width:100%}.mobile .stage{width:min(390px,calc(100% - 28px));max-width:390px;min-height:0;margin:20px auto;padding:0;display:flex;gap:0;border:0;border-radius:0;background:transparent}.mobile .login-layout{width:100%;grid-template-columns:minmax(0,1fr);min-height:0;gap:18px;max-width:470px}.mobile .shell{display:flex;margin:0;padding:0}.mobile .card{padding:27px 23px;border-radius:20px;display:block}.mobile .medical-visual{min-height:175px;display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;border:1px solid #dbe8f6;border-radius:20px}.mobile .medical-art{position:relative;width:165px;max-width:none;right:auto;top:auto;opacity:.85;margin:0 0 0 -26px;display:block;min-height:0}.mobile .medical-art svg{height:175px;width:165px;max-height:175px}.mobile .visual-bottom{padding:18px 17px 18px 0;min-width:0}.mobile .visual-bottom h2{font-size:19px;letter-spacing:-.3px;line-height:1.3;margin-bottom:8px}.mobile .visual-bottom p{font-size:11px;max-width:none}.mobile .visual-line{width:28px;height:2px;margin-bottom:12px}.mobile .stage>.footer{font-size:10px;line-height:1.7;margin:18px 0 5px}
@media(max-width:820px){.stage{padding:25px 16px;justify-content:flex-start}.login-layout{grid-template-columns:minmax(0,1fr);min-height:0;max-width:470px;gap:18px}.shell{display:flex;padding:0}.card{display:block;padding:30px 28px;border-radius:20px}.medical-visual{min-height:175px;display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;border-radius:20px}.medical-art{position:relative;width:165px;max-width:none;right:auto;top:auto;opacity:.85;margin:0 0 0 -26px;display:block;min-height:0}.medical-art svg{height:175px;width:165px;max-height:175px}.visual-bottom{padding:18px 20px 18px 0;min-width:0}.visual-bottom h2{font-size:21px;line-height:1.3;letter-spacing:-.4px;margin-bottom:8px}.visual-bottom p{font-size:12px;max-width:none}.visual-line{height:2px;width:28px;margin-bottom:12px}.stage>.footer{font-size:10px;line-height:1.7;max-width:470px;margin:18px 0 0}}
@media(max-width:380px){.card{padding:26px 20px}.medical-visual{grid-template-columns:90px minmax(0,1fr)}.medical-art{margin-left:-38px}.visual-bottom{padding-right:12px}.visual-bottom h2{font-size:18px}.preview-bar{font-size:11px}}

/* Una sola tarjeta con transición continua hacia la ilustración. */
.login-layout{gap:0;border:1px solid #dfe9f5;border-radius:26px;background:linear-gradient(90deg,#fff 0%,#fff 43%,#f7fbff 51%,#eaf3ff 65%,#e6f8fa 100%);box-shadow:0 14px 65px #2558960b;overflow:hidden}.card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:36px 38px}.medical-visual{border:0;border-radius:0;background:transparent}.medical-visual .blueprint-grid{mask-image:linear-gradient(90deg,transparent,#000 28%,#000)}.medical-visual .ambient{opacity:.24}.mobile .login-layout{gap:0;border:1px solid #dfe9f5;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fff 72%,#f3f8ff 84%,#eaf6fc 100%);box-shadow:0 10px 40px #25589608;overflow:hidden}.mobile .card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:28px 23px}.mobile .medical-visual{border:0;border-radius:0;background:transparent;min-height:170px}.mobile .medical-visual .blueprint-grid{mask-image:linear-gradient(180deg,transparent,#000 60%)}
@media(max-width:820px){.login-layout{gap:0;border:1px solid #dfe9f5;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fff 72%,#f3f8ff 84%,#eaf6fc 100%);box-shadow:0 10px 40px #25589608}.card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:30px 28px}.medical-visual{border:0;border-radius:0;background:transparent;min-height:170px}.medical-visual .blueprint-grid{mask-image:linear-gradient(180deg,transparent,#000 60%)}}
@media(max-width:380px){.card{padding:26px 20px}}
