/* Credentials occupy the Start area of the existing Access Terminal. */
html[data-psi-inline-auth] #psi-widescreen-login{width:min(520px,100%);margin:0 auto;text-align:left}
html[data-psi-inline-auth] #psi-widescreen-login [hidden]{display:none!important}
html[data-psi-inline-auth] [data-psi-form]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 14px;margin:0}
html[data-psi-inline-auth] .psi-field-group{min-width:0}
html[data-psi-inline-auth] .psi-field-label{display:block;margin:0 0 7px;color:#b7b7b2;font-size:10px;line-height:1.6;letter-spacing:.07em}
html[data-psi-inline-auth] .psi-field{display:block;width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid #ffffff3b;border-radius:0;background:#080808;color:#efefec;font-family:inherit;font-size:16px;line-height:1.5;transition:border-color .18s,background .18s;scroll-margin-block:30px}
html[data-psi-inline-auth] .psi-field::placeholder{color:#777773;font-size:11px;letter-spacing:.01em}
html[data-psi-inline-auth] .psi-field:hover{border-color:#ffffff70}
html[data-psi-inline-auth] .psi-field:focus{border-color:#deded8;background:#0b0b0b;outline:1px solid #deded8;outline-offset:3px}
html[data-psi-inline-auth] .psi-field[aria-invalid=true]{border-color:#e8153d}
html[data-psi-inline-auth] .psi-field:disabled{opacity:.55}
html[data-psi-inline-auth] .psi-field[type=password]{font-family:Arial,sans-serif;letter-spacing:-.8px}
html[data-psi-inline-auth] .psi-field[type=password]::placeholder{font-family:'PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:normal}
html[data-psi-inline-auth] .psi-password-wrap{position:relative;min-width:0}
html[data-psi-inline-auth] .psi-password-wrap .psi-field{padding-right:52px}
html[data-psi-inline-auth] .psi-password-toggle{position:absolute;inset:0 0 0 auto;width:46px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#9a9a95;display:flex;align-items:center;justify-content:center;cursor:pointer}
html[data-psi-inline-auth] .psi-password-toggle:hover,html[data-psi-inline-auth] .psi-password-toggle[aria-pressed=true]{color:#fff;background:#ffffff05}
html[data-psi-inline-auth] .psi-password-toggle:disabled{opacity:.4;cursor:wait}
html[data-psi-inline-auth] .psi-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
html[data-psi-inline-auth] .psi-eye-slash{opacity:0}
html[data-psi-inline-auth] .psi-password-toggle[aria-pressed=true] .psi-eye-slash{opacity:1}
html[data-psi-inline-auth] .psi-login{position:relative;grid-column:1/-1;display:block;width:100%;min-height:48px;margin:2px 0 0;padding:12px 20px;border:1px solid #eeeee9;border-radius:0;background:#eeeee9;color:#080808;text-align:left;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:.14em;cursor:pointer;transition:background .2s,border-color .2s}
html[data-psi-inline-auth] .psi-login::before{content:'';position:absolute;top:-1px;bottom:-1px;left:-1px;width:3px;background:#e8153d}
html[data-psi-inline-auth] .psi-login::after{content:'\2192';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:Arial,sans-serif;font-size:23px;font-weight:400;line-height:1;letter-spacing:0}
html[data-psi-inline-auth] .psi-login:hover{background:#fff;border-color:#fff}
html[data-psi-inline-auth] .psi-login:disabled{background:#333;border-color:#555;color:#bbb;cursor:wait}
html[data-psi-inline-auth] .psi-login:disabled::before{background:#777}
html[data-psi-inline-auth] .psi-feedback{grid-column:1/-1;margin:0;color:#ee9aab;font-size:11px;line-height:1.8;overflow-wrap:anywhere;letter-spacing:.02em}
html[data-psi-inline-auth] [data-psi-form] noscript{grid-column:1/-1}
html[data-psi-inline-auth] .footer-actions{display:flex;align-items:center;gap:10px;flex:none}
html[data-psi-inline-auth] .auth-switch{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:64px;padding:6px 9px;border:0;border-radius:0;background:transparent;color:#a4a49f;font-size:10px;line-height:1.6;cursor:pointer}
html[data-psi-inline-auth] .auth-switch:hover{color:#fff}
html[data-psi-inline-auth] .auth-switch:disabled{opacity:.4;cursor:wait}
/* Confirmation retains the real fields until their one-pass edge light ends.
   The overlay covers only the input borders; labels and focus outlines stay clear. */
html[data-psi-inline-auth][data-auth-state=confirming] .psi-field-group{position:relative}
html[data-psi-inline-auth][data-auth-state=confirming] .psi-field-group::after{
 content:'';position:absolute;left:0;right:0;bottom:0;height:50px;pointer-events:none;
 background:
  linear-gradient(90deg,transparent,#e8153d66,transparent) -85% top/45% 1px no-repeat,
  linear-gradient(90deg,transparent,#e8153d66,transparent) -85% bottom/45% 1px no-repeat,
  linear-gradient(#e8153d40,#e8153d40) left top/1px 100% no-repeat,
  linear-gradient(#e8153d40,#e8153d40) right top/1px 100% no-repeat;
 animation:psi-login-edge-confirm 420ms cubic-bezier(.25,.65,.3,1) both;
}
html[data-psi-inline-auth][data-auth-state=confirming] .psi-field:disabled{opacity:1}
html[data-psi-inline-auth][data-auth-state=confirming] .psi-field::placeholder{color:transparent}
html[data-psi-inline-auth][data-auth-state=confirming].page-paused .psi-field-group::after{animation-play-state:paused!important}
@keyframes psi-login-edge-confirm{
 0%{opacity:0;background-position:-85% top,-85% bottom,left top,right top}
 12%{opacity:1}
 78%{opacity:1}
 100%{opacity:0;background-position:185% top,185% bottom,left top,right top}
}
/* Login and confirmation share document flow so short screens can scroll. */
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .stage{--psi-login-offset:clamp(40px,10svh,110px);height:auto;min-height:calc(100svh - 125px)}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) #screen-idle{position:relative;inset:auto;display:flow-root}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy{position:relative;left:auto;top:auto;transform:none;width:min(520px,calc(100% - 64px));margin:calc(278px + var(--psi-login-offset)) auto 0;padding-bottom:40px}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy h1{font-size:28px;line-height:1.35;margin:12px 0 9px}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy>p{font-size:11px;line-height:1.6;margin-bottom:20px}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy .start-sub{margin-top:13px}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .psi-line-logo.scene-idle{margin-top:var(--psi-login-offset)}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .fallback-logo{top:calc(148px + var(--psi-login-offset));width:min(34%,370px)}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .stage.no-canvas:is([data-scene=error],[data-scene=welcome],[data-scene=workspace]) .fallback-logo{opacity:0}
@media(max-width:700px){
 html[data-psi-inline-auth] [data-psi-form]{grid-template-columns:minmax(0,1fr);gap:14px}
 html[data-psi-inline-auth] .psi-field{min-height:52px;padding-block:13px;font-size:16px}
 html[data-psi-inline-auth][data-auth-state=confirming] .psi-field-group::after{height:52px}
 html[data-psi-inline-auth] .psi-field-label{font-size:10px}
 html[data-psi-inline-auth] .psi-login{min-height:49px;margin-top:4px}
 html[data-psi-inline-auth] .psi-login::after{right:17px}
 html[data-psi-inline-auth] .footer-actions{gap:0}
 html[data-psi-inline-auth] .auth-switch{font-size:9px;min-width:58px;padding-inline:3px}
 html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .stage{--psi-login-offset:clamp(12px,3svh,28px);height:auto;min-height:calc(100svh - 119px)}
 html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy{margin-top:calc(220px + var(--psi-login-offset));width:calc(100% - 52px);max-width:350px;padding-bottom:32px}
 html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy h1{font-size:26px;margin:12px 0 10px}
 html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy>p{font-size:10px;line-height:1.8;margin-bottom:18px}
 html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .fallback-logo{top:calc(128px + var(--psi-login-offset));width:min(56%,220px)}
}
@media(max-width:370px){html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .idle-copy{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){
 html[data-psi-inline-auth] #psi-widescreen-login *{transition:none!important}
 html[data-psi-inline-auth][data-auth-state=confirming] .psi-field-group::after{display:none;animation:none!important}
}

html[data-psi-inline-auth] .login-description{display:none}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .login-description{display:inline}
html[data-psi-inline-auth]:is([data-auth-state=login],[data-auth-state=confirming]) .ready-description{display:none}
html[data-psi-inline-auth][lang=en] .idle-copy h1{letter-spacing:.08em}
html[data-psi-inline-auth] .idle-copy .start-sub{max-width:94%;margin-inline:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
