/* Via do Terno: native TSplus authentication, shared right-hand login layout. */
html.n3-login { margin:0; min-height:100%; height:auto; background:#171514; color:#fff; font-family:"Segoe UI",Arial,sans-serif; font-size:14px; }
.n3-login * { box-sizing:border-box; }
.n3-login body { margin:0; min-height:100vh; padding:clamp(60px,21vh,200px) 6vw 40px; display:flex; flex-direction:column; align-items:flex-end; position:relative; isolation:isolate; background:#171514; }
.n3-login body::before { content:""; position:absolute; inset:0; height:100vh; z-index:-2; background:url('via-fashion-wide.png') left center / auto 100% no-repeat; pointer-events:none; }
.n3-login body::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.12) 35%,rgba(0,0,0,.4) 58%,rgba(0,0,0,.88) 78%,#000 100%); pointer-events:none; }
.n3-brand { position:absolute; left:5vw; top:42px; width:280px; }
.n3-endoscopy { display:block; width:100%; height:auto; filter:drop-shadow(0 2px 10px #0008); }
.n3-eyebrow,.n3-brand-copy,.n3-brand-foot { display:none; }
#n3-shell { width:320px; max-width:100%; position:relative; }
.n3-login #divcenter { position:relative; left:auto; top:auto; width:100%; margin:0; padding:29px; background:transparent; border:1px solid transparent; border-top:3px solid transparent; border-radius:15px; box-shadow:none; }
.n3-login #divcenter::before { content:""; position:absolute; inset:-3px -1px -1px; padding:3px 1px 1px; border-radius:inherit; background:linear-gradient(180deg,#d32b2b 0%,rgba(185,28,28,.75) 32%,rgba(185,28,28,.32) 72%,rgba(185,28,28,.14) 100%); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; pointer-events:none; }
.n3-heading { margin:0 0 25px; }
.n3-logo { filter:brightness(0) invert(1); display:block; width:159px; height:auto; background:transparent; margin:0; }
.n3-heading .n3-kicker,.n3-heading h1,.n3-heading .n3-intro,.n3-support { display:none; }
.n3-login #divcenter .n3-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.n3-login #divcenter input:not([type=radio]):not([type=button]),.n3-login #select-server { width:100%; height:43px; margin:0; padding:11px 12px; border:1px solid #69635f; border-radius:6px; background:rgba(20,18,17,.8); color:#fff; font:13px "Segoe UI",Arial,sans-serif; line-height:normal; }
.n3-login #divcenter input::placeholder { color:#ddd6d0; opacity:1; }
.n3-login #divcenter input:focus { outline:2px solid #dc5757; outline-offset:2px; }
.n3-password-wrap { position:relative; }
.n3-login #tr-password { margin-top:15px; }
.n3-login #tr-password[style*="table-row"],.n3-login #tr-domain[style*="table-row"] { display:block !important; }
.n3-login #tr-domain input { margin-bottom:15px !important; }
.n3-login #divcenter #Editbox2 { padding-right:70px; }
.n3-toggle { position:absolute; top:0; right:3px; height:43px; padding:0 9px; border:0; background:transparent; color:#eee1d4; font:500 10px "Segoe UI",Arial,sans-serif; cursor:pointer; }
.n3-toggle:focus-visible { outline:2px solid #dc5757; outline-offset:-4px; border-radius:6px; }
.n3-login #divcenter #buttonLogOn { width:100%; height:43px; margin:20px 0 0; padding:0 16px; line-height:normal; border:1px solid #b91c1c; border-radius:6px; background:#b91c1c; color:#fff; font:600 13px "Segoe UI",Arial,sans-serif; cursor:pointer; }
.n3-login #divcenter #buttonLogOn:hover { background:#981919; }
.n3-login #divcenter #buttonLogOn:disabled { opacity:.6; cursor:wait; }
.n3-login #select-server { margin-top:14px; }
.n3-login #span-credentials-ko { color:#ffe1e1; background:#762d2d; padding:10px; border-radius:6px; font-size:12px; line-height:1.5; }
.n3-caps { font-size:11px; color:#f3d68e; margin:8px 0 0; }
.n3-caps[hidden] { display:none; }
#logonformid { position:relative; }
#span-login-ok,#span-login-ko,#span-password-ok,#span-password-ko { position:absolute; right:-24px; }
.n3-login #accesstypeuserpanel label { font-size:11px; margin:8px 5px 0; }
.n3-login .twofa-popin { z-index:10; }
.n3-login .twofa-popin .sp-body { min-width:0; width:min(560px,calc(100% - 24px)); max-height:calc(100vh - 32px); overflow:auto; border-radius:14px; }
@media (max-width:700px) {
  .n3-login body { align-items:center; justify-content:center; padding:150px 20px 40px; background:linear-gradient(#17151488,#171514ed),url('via-fashion.png') center top / contain no-repeat; }
  .n3-login body::before,.n3-login body::after { display:none; }
  .n3-brand { top:35px; left:50%; transform:translateX(-50%); width:240px; }
  #n3-shell { width:350px; }
  .n3-login #divcenter { padding:27px; }
  .n3-login #divcenter input:not([type=radio]):not([type=button]) { font-size:16px; height:46px; }
  .n3-toggle { height:46px; }
}
@media (max-height:520px) and (min-width:701px) { .n3-login body { padding-top:35px; } }
