/* G-PAY: original company artwork, restrained teal details, readable workspace. */
.gpay-theme { --accent:#187b70; --accent-dark:#11625a; }
#login-screen {
  grid-template-columns:minmax(260px,460px) minmax(320px,400px);
  gap:clamp(32px,7vw,100px);
  min-height:100svh;
  padding:clamp(24px,5vw,64px);
  background:
    radial-gradient(ellipse at 27% 49%,#06434470,transparent 49%),
    radial-gradient(ellipse at 82% 22%,#15413840,transparent 38%),
    linear-gradient(125deg,#101a20,#091217 67%,#0e191f);
  color:#eaf5f4;
}
#login-screen::before {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(#80d5ca07 1px,transparent 1px),linear-gradient(90deg,#80d5ca07 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse at center,#000,transparent 85%);
}
#login-screen :is(.login-datafield,.login-reactor,.login-scene,.ironman-fallback-core) { display:none; }
#login-screen .login-identity { max-width:460px; }
#login-screen .login-character { width:100%;max-width:420px;aspect-ratio:1; }
#login-screen .gpay-logo { display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 38px #04b6b315); }
#login-screen .login-card {
  width:100%;padding:34px;border:1px solid #7dabaa2a;border-radius:18px;
  background:linear-gradient(150deg,#172b30e8,#111e24f5);
  box-shadow:0 22px 65px #0005,inset 0 1px 0 #e5fffa08;
  color:#eaf5f4;backdrop-filter:blur(18px);
}
#login-screen .brand-mark { background:none;border:0;box-shadow:none;color:#75d9c7;font-size:12px;letter-spacing:.23em;font-weight:750;padding:0;width:auto;height:auto; }
#login-screen h1 { font-size:25px;font-weight:650;letter-spacing:.025em;color:#f1f9f8;margin:14px 0 28px; }
#login-screen label { color:#b9cecf;font-size:14px;font-weight:500; }
#login-screen :is(input,select,textarea) {
  background:#0d1b21;border:1px solid #618e8a45;border-radius:8px;
  color:#f1f9f8;font-size:16px;min-height:45px;box-shadow:none;
}
#login-screen input::placeholder { color:#789494; }
#login-screen input:focus { outline:2px solid #54cbb94a;border-color:#54cbb9; }
#login-screen .primary { background:linear-gradient(105deg,#17887b,#16758a);border:1px solid #43bbae44;border-radius:8px;color:white;min-height:46px;font-weight:650;box-shadow:0 7px 20px #009d9414; }
#login-screen .primary:hover { background:linear-gradient(105deg,#209789,#238398); }
#login-screen .error { color:#ff9c9c;font-size:14px; }
#login-screen .security-hint { color:#c1d6d4;background:#103432;border-color:#458c7d55; }
.gpay-brand { display:flex;align-items:center;gap:10px;letter-spacing:.08em; }
.gpay-brand img { width:48px;height:48px;object-fit:contain; }
.gpay-theme .main-nav .nav-button.active { border-color:#459b94;color:#146b63;background:#e8f4f1; }
.gpay-theme .topbar { border-bottom-color:#b8d6d0; }
.gpay-theme #app-screen .primary { background:#187c71;border-color:#187c71; }
.gpay-theme #app-screen .primary:hover { background:#11665d; }
@media(max-width:760px) {
  #login-screen { grid-template-columns:minmax(0,400px);gap:20px;padding:28px 20px;align-content:center; }
  #login-screen .login-identity { margin:auto;max-width:165px; }
  #login-screen .login-card { padding:27px 25px;border-radius:15px; }
  #login-screen h1 { margin:10px 0 22px;font-size:23px; }
}
@media(max-height:620px) and (min-width:761px) {
  #login-screen { padding:22px; }
  #login-screen .login-character { max-width:300px; }
}
