/* Light entrance to TEAR SUPORTE. Authentication behavior is shared with the portal. */
.auth-page { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; background:#f6f7f9; color:#283446; position:relative; isolation:isolate; }
.auth-page:before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 12% 35%,#f5e9e95e,transparent 46%),radial-gradient(ellipse at 95% 90%,#e9edf46b,transparent 45%); pointer-events:none; }
.auth-header { width:min(1220px,100%); margin:0 auto; padding:30px 42px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.auth-brand { display:flex; align-items:center; gap:20px; }
.auth-brand img { display:block; width:103px; height:auto; }
.auth-brand-divider { width:1px; height:32px; background:#dfe3e9; }
.auth-wordmark { font-size:13px; letter-spacing:2px; font-weight:650; color:#505c6c; }
.auth-wordmark span { font-weight:400; }
.auth-header-note { display:flex; align-items:center; gap:8px; font-size:12px; color:#637187; }
.auth-header-note .icon { width:15px; height:15px; color:#9aa6b4; }
.auth-stage { width:min(1160px,100%); padding:24px 42px 38px; margin:auto; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:90px; }
.auth-copy { padding:10px 0; min-width:0; }
.auth-kicker { display:inline-flex; align-items:center; gap:9px; color:#a16c70; font-size:12px; font-weight:650; letter-spacing:1.4px; margin-bottom:25px; text-transform:uppercase; }
.auth-kicker:before { content:""; width:21px; height:2px; background:#dc8c94; }
.auth-copy h1 { font-size:49px; font-weight:600; letter-spacing:-2px; line-height:1.16; color:#303b4c; margin:0 0 23px; }
.auth-copy h1 span { color:#c95360; }
.auth-description { font-size:15px; color:#637187; line-height:1.95; max-width:420px; margin:0 0 34px; }
.auth-journey { display:flex; align-items:flex-start; max-width:375px; padding:23px 0; margin:0 0 27px; }
.auth-journey-step { display:flex; flex-direction:column; align-items:center; gap:10px; min-width:70px; font-size:12px; color:#637187; }
.auth-journey-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid #e3e7ed; background:#ffffffc7; border-radius:15px; box-shadow:0 4px 10px #35425d03; color:#8796ac; }
.auth-journey-step:first-child .auth-journey-icon { color:#c35a65; background:#fff5f5; border-color:#f2dfe2; }
.auth-journey-step:last-child .auth-journey-icon { color:#719e90; background:#f2f8f5; border-color:#dfebe5; }
.auth-journey-line { flex:1; height:1px; margin:24px 9px 0; background:#dfe4ec; min-width:22px; position:relative; }
.auth-journey-line:after { content:""; position:absolute; right:0; top:-2px; width:4px; height:4px; border-top:1px solid #c8d0dc; border-right:1px solid #c8d0dc; transform:rotate(45deg); }
.auth-copy-note { display:flex; align-items:flex-start; gap:11px; padding-top:23px; border-top:1px solid #e3e6ed; max-width:375px; }
.auth-copy-note>.icon { width:17px; height:17px; flex-shrink:0; color:#9ba8ba; margin-top:2px; }
.auth-copy-note p { font-size:12px; color:#68768a; line-height:1.8; margin:0; max-width:310px; }
.auth-card.login-form { width:100%; max-width:450px; background:#fff; border:1px solid #e5e8ef; border-radius:21px; padding:35px 36px 28px; box-shadow:0 16px 55px #34415e07,0 3px 9px #34415e03; }
.auth-card-symbol { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; background:#fcf1f2; color:#d36b75; margin-bottom:24px; border:1px solid #f7e7e9; }
.auth-card-symbol .icon { width:20px; height:20px; }
.auth-card .eyebrow { font-size:12px; letter-spacing:1.5px; color:#815a68; margin-bottom:12px; }
.auth-card.login-form h2 { font-size:27px; line-height:1.25; letter-spacing:-.8px; color:#303b4c; margin:0 0 13px; font-weight:650; }
.auth-card.login-form>p { font-size:14px; line-height:1.85; color:#637187; margin-bottom:27px; }
.auth-card.login-form .field { margin-bottom:21px; }
.auth-card .field label { color:#46566c; font-size:14px; font-weight:550; margin-bottom:9px; }
.auth-label-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.auth-label-row>button { padding:0; color:#ad3e52; font-size:12px; white-space:nowrap; }
.auth-label-row>button:hover { color:#c34253; }
.auth-input { display:flex; align-items:center; gap:10px; width:100%; background:#fcfdfe; border:1px solid #dfe5ed; border-radius:9px; padding:0 12px; min-height:48px; transition:border-color .15s,box-shadow .15s; }
.auth-input>.icon { color:#a6b0be; width:16px; height:16px; flex-shrink:0; }
.auth-card .auth-input input { padding:13px 0; border:0; box-shadow:none; background:transparent; border-radius:0; width:100%; min-width:0; font-size:14px; color:#43536a; }
.auth-card .auth-input input:focus { outline:0; border:0; box-shadow:none; }
.auth-input:focus-within { border-color:#d79da5; box-shadow:0 0 0 3px #eac9cf20; background:white; }
.auth-card input::placeholder { color:#66758a; font-size:14px; }
.auth-password-toggle { padding:6px 0 6px 5px; display:grid; place-items:center; color:#a1adbd; min-width:32px; min-height:40px; flex-shrink:0; }
.auth-password-toggle:hover { color:#b65462; }
.auth-password-toggle .icon { width:17px; height:17px; }
.auth-card.login-form .btn { width:100%; min-height:47px; background:#ce3c4c; border-color:#ce3c4c; color:white; box-shadow:0 4px 10px #c44a5712; font-weight:600; font-size:14px; letter-spacing:.1px; border-radius:9px; padding:12px 15px; margin-top:3px; }
.auth-card.login-form .btn:hover { background:#cb3c4a; border-color:#cb3c4a; box-shadow:0 6px 14px #c44a5720; }
.auth-card .btn .icon { width:15px; height:15px; }
.auth-card-bottom { margin-top:24px; padding-top:20px; border-top:1px solid #eef0f5; text-align:center; font-size:12px; line-height:1.9; color:#68768a; }
.auth-card-bottom strong { display:block; font-weight:500; color:#52627a; margin-bottom:4px; font-size:12px; }
.auth-back { display:inline-flex; align-items:center; gap:6px; color:#ad3e52; padding:0; font-size:12px; }
.auth-back .icon { width:14px; height:14px; }
.auth-card small.auth-password-hint { display:block; margin-top:9px; font-size:12px; color:#68768a; line-height:1.7; }
.auth-footer { width:min(1220px,100%); margin:0 auto; padding:19px 42px 26px; display:flex; justify-content:space-between; gap:15px; color:#68768a; font-size:12px; line-height:1.8; }
.auth-footer span:last-child { color:#68768a; }
.auth-card .error { font-size:12px; line-height:1.7; margin-bottom:17px; }
@media(min-width:1600px) { .auth-stage { gap:115px; width:min(1220px,100%); } .auth-copy h1 { font-size:54px; } .auth-card.login-form { padding:39px 40px 31px; max-width:455px; } }
@media(max-width:1050px) { .auth-stage { gap:45px; padding-right:35px; padding-left:35px; } .auth-copy h1 { font-size:43px; letter-spacing:-1.6px; } .auth-description { font-size:14px; } .auth-header { padding-right:35px; padding-left:35px; } .auth-card.login-form { padding:30px; } .auth-card.login-form h2 { font-size:25px; } }
@media(max-width:850px) { .auth-stage { gap:29px; } .auth-copy h1 { font-size:38px; } .auth-description { font-size:14px; } .auth-journey-step { font-size:12px; min-width:56px; } .auth-journey-icon { width:43px; height:43px; } .auth-journey-line { margin-top:21px; margin-left:4px; margin-right:4px; min-width:12px; } .auth-card.login-form { padding:28px; } .auth-card.login-form h2 { font-size:23px; } .auth-label-row>button { font-size:12px; } }
@media(max-height:760px) and (min-width:761px) { .auth-header { padding-top:23px; padding-bottom:20px; } .auth-stage { padding-top:10px; padding-bottom:15px; } .auth-card.login-form { padding-top:27px; padding-bottom:24px; } .auth-card-symbol { margin-bottom:18px; } .auth-card.login-form .field { margin-bottom:18px; } .auth-card-bottom { margin-top:21px; padding-top:17px; } .auth-footer { padding-top:15px; padding-bottom:20px; } }
@media(max-width:760px) {
 .auth-header { padding:25px 25px 20px; }
 .auth-brand { gap:14px; }
 .auth-brand img { width:86px; }
 .auth-brand-divider { height:27px; }
 .auth-wordmark { font-size:12px; letter-spacing:1.5px; }
 .auth-header-note { display:none; }
 .auth-stage { display:flex; flex-direction:column; padding:20px 25px 25px; gap:23px; max-width:510px; }
 .auth-copy { text-align:center; width:100%; padding:0; }
 .auth-kicker { margin-bottom:14px; font-size:11px; letter-spacing:1.1px; }
 .auth-kicker:before { width:16px; }
 .auth-copy h1 { font-size:34px; letter-spacing:-1.15px; margin-bottom:0; line-height:1.16; }
 .auth-description,.auth-journey,.auth-copy-note { display:none; }
 .auth-card.login-form { max-width:100%; border-radius:17px; padding:29px; }
 .auth-card-symbol { width:38px; height:38px; margin-bottom:20px; border-radius:11px; }
 .auth-card.login-form h2 { font-size:24px; }
 .auth-card.login-form>p { font-size:14px; margin-bottom:24px; }
 .auth-card .eyebrow { font-size:12px; }
 .auth-label-row>button { font-size:12px; }
 .auth-input { min-height:47px; }
 .auth-card .auth-input input { font-size:16px; }
 .auth-footer { padding:8px 25px 24px; flex-direction:column; gap:3px; text-align:center; font-size:12px; }
}
@media(max-width:380px) { .auth-header { padding-left:20px; padding-right:20px; } .auth-stage { padding-left:17px; padding-right:17px; } .auth-copy h1 { font-size:30px; } .auth-card.login-form { padding:25px; } .auth-card.login-form h2 { font-size:22px; } .auth-label-row>button { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .auth-input { transition:none; } }
