/* You · Identidad compartida del acceso y la cabecera del portal. */
body:has(.login-wrapper) { background:#f5f3f8; padding:32px; }
.login-wrapper { max-width:1100px; display:grid; grid-template-columns:1.08fr 1fr; background:#fff; border-radius:30px; overflow:hidden; box-shadow:0 24px 80px #28113716; }
.login-story { position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:680px; padding:46px 48px 32px; color:#fff; background:radial-gradient(ellipse at 95% 85%,#8a469a 0,transparent 55%),linear-gradient(145deg,#341545,#60287e); }
.story-logo { width:220px; height:auto; object-fit:contain; align-self:flex-start; margin-bottom:48px; }
.story-eyebrow { font-size:10px; font-weight:600; letter-spacing:2px; color:#e0cce9; }
.login-story h2 { position:relative; z-index:1; font-size:clamp(38px,4vw,54px); line-height:1.08; letter-spacing:-2px; margin:22px 0 18px; font-weight:700; }
.login-story h2 span { color:#ffc443; }
.story-intro { max-width:300px; margin:0; font-size:14px; line-height:1.7; color:#eadff0; }
.story-art { position:relative; height:242px; width:100%; margin-top:12px; }
.art-orbit { position:absolute; width:280px; height:156px; border:1px solid #ffffff2b; border-radius:50%; top:42px; left:50%; transform:translateX(-50%) rotate(-28deg); }
.orbit-two { transform:translateX(-50%) rotate(35deg); width:260px; height:190px; top:27px; }
.art-core { position:absolute; left:50%; top:55px; transform:translateX(-50%) rotate(-8deg); width:126px; height:126px; border-radius:36px; display:flex; align-items:center; justify-content:center; color:#5e2a84; font-size:46px; letter-spacing:-4px; font-weight:800; background:linear-gradient(145deg,#fff,#eee4f4); box-shadow:0 18px 40px #1d082b40,inset 0 0 0 1px #ffffff; }
.art-core span { color:#ae7300; }
.art-core i { width:24px; height:6px; border-radius:4px; background:#f5b916; position:absolute; bottom:25px; transform:rotate(-15deg); }
.art-chip { position:absolute; z-index:2; border:1px solid #ffffff38; border-radius:13px; background:#54216feb; padding:11px 14px; box-shadow:0 8px 24px #200b3624; font-size:11px; color:#fff; }
.chip-time { left:0; top:40px; transform:rotate(-7deg); }.chip-team { right:0; top:91px; transform:rotate(7deg); }.chip-growth { left:25px; bottom:24px; transform:rotate(-4deg); }
.art-spark { position:absolute; color:#ffc443; }.spark-one { right:26px; top:5px; font-size:29px; }.spark-two { right:82px; bottom:20px; font-size:18px; }
.story-bottom { margin-top:auto; display:flex; gap:9px; align-items:center; font-size:12px; color:#e4d3ed; }
.story-dot,.you-brand-dot { width:6px; height:6px; background:#f5b916; border-radius:50%; display:inline-block; flex-shrink:0; }
.login-access { display:flex; flex-direction:column; justify-content:center; padding:52px 56px; min-width:0; }
.login-hero { text-align:left; margin-bottom:28px; }
.login-hero-logo { width:210px; margin:0 0 36px; filter:none; }
.login-hero-badge { background:#f5f0f8; border:0; padding:7px 11px; font-size:11px; margin-bottom:16px; }
.login-hero h1 { color:#30223e; font-size:32px; letter-spacing:-1px; margin-bottom:10px; }
.login-hero p { margin:0; color:#6d6378; font-size:13px; line-height:1.6; }
.login-card { padding:0; border-radius:0; box-shadow:none; }
.login-access label { font-size:12px; color:#42374d; margin-bottom:8px; }
.login-access input[type=text],.login-access input[type=password] { background:#fbfafc; border:1px solid #ddd6e4; border-radius:11px; min-height:52px; font-size:14px; }
.login-access input[type=password] { padding-right:46px; }
.login-access .btn-submit { border-radius:11px; background:#5e2a84; font-size:14px; box-shadow:0 6px 15px #5e2a8422; margin-top:26px; }
.login-footer { font-size:12px; margin:22px 0 0; }
.login-help { font-size:11px; line-height:1.8; margin:34px 0 0; padding-top:22px; border-top:1px solid #eee8f2; color:#6d6378; }
.pw-toggle { min-width:36px; min-height:36px; justify-content:center; }
.pw-toggle:focus-visible,.portal-brand:focus-visible { outline:2px solid #ad7400; outline-offset:4px; }
.portal-brand.you-portal-brand { align-items:flex-start; flex-direction:column; gap:0; padding:12px 12px 23px; margin-bottom:16px; text-decoration:none; position:relative; }
.portal-brand.you-portal-brand img { width:184px; height:auto; margin-bottom:17px; }
.you-brand-rule { width:32px; height:3px; border-radius:3px; background:#f5b916; margin-bottom:12px; }
.you-portal-brand .brand-title { color:#412352; font-size:14px; margin-bottom:6px; }
.you-portal-brand .brand-subtitle { display:flex; align-items:center; gap:6px; font-size:10px; color:#706379; }
.portal-topbar-brand img { width:142px; height:auto; max-height:32px; }
@media (max-width:900px) and (min-width:701px) { .login-story { padding:36px 28px 28px; }.login-access { padding:40px 32px; }.art-chip { padding:10px; font-size:10px; } }
@media (max-width:700px) {
 body:has(.login-wrapper) { padding:16px; justify-content:flex-start; padding-bottom:calc(16px + env(safe-area-inset-bottom)); }
 .login-wrapper { max-width:440px; grid-template-columns:1fr; border-radius:22px; }
 .login-story { min-height:0; padding:26px 28px 28px; }
 .story-logo { width:175px; margin-bottom:26px; }.story-eyebrow { font-size:9px; letter-spacing:1.5px; }
 .login-story h2 { font-size:34px; letter-spacing:-1px; margin:16px 0 12px; }.login-story h2 br:nth-of-type(2) { display:none; }.login-story h2 span:before { content:' '; }
 .story-intro { font-size:12px; max-width:250px; }.story-art,.story-bottom { display:none; }
 .login-access { padding:28px; }.login-hero-logo { display:none; }.login-hero { margin-bottom:24px; }.login-hero h1 { font-size:27px; }.login-hero-badge { margin-bottom:12px; }
 .login-help { margin-top:26px; }.login-access .btn-submit { margin-top:22px; }
}
@media (prefers-reduced-motion:reduce) { .login-wrapper { animation:none; }.login-access .btn-submit { transition:none; } }
