/* Authentication, unlock, human-check and payment session UI.
 * Session screens intentionally load this file instead of the administration panel CSS.
 */
*{box-sizing:border-box}
html{font-family:var(--gk-font-ui);background:var(--gk-color-canvas);color:var(--gk-color-text)}
body.gk-login-page{
  margin:0;
  min-height:100dvh;
  background:
    radial-gradient(circle at 12% 18%,rgba(103,61,230,.055),transparent 31%),
    radial-gradient(circle at 86% 82%,rgba(103,61,230,.035),transparent 30%),
    var(--gk-color-canvas);
  color:var(--gk-color-text);
  font-family:var(--gk-font-ui);
  -webkit-font-smoothing:antialiased;
}
body.gk-login-page button,
body.gk-login-page input,
body.gk-login-page select{font:inherit}
body.gk-login-page .gk-login-layout{
  width:100%;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:22px;
}
body.gk-login-page .gk-login-card{
  width:430px;
  max-width:calc(100vw - 32px);
  margin:0;
  padding:25px;
  border:1px solid #e5e1ed;
  border-radius:20px;
  background:rgba(255,255,255,.985);
  box-shadow:0 22px 60px rgba(39,31,66,.09);
  direction:inherit;
  text-align:start;
}
.gk-session-language{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:0 0 13px;border-bottom:1px solid #efecf5;font-size:11.5px;font-weight:800}
.gk-session-language>span,.gk-session-language>a{display:inline-flex;align-items:center;gap:7px;min-height:34px}
.gk-session-language>span{color:#77717f}.gk-session-language>span svg{width:16px;height:16px}
.gk-session-language>a{padding:0 12px;border:1px solid #d9d3e4;border-radius:9px;background:#fff;color:var(--gk-color-primary);text-decoration:none}
.gk-session-language>a:hover{border-color:var(--gk-color-primary);background:var(--gk-color-primary-soft)}
html[dir="ltr"] body.gk-login-page{font-family:Inter,Arial,sans-serif}
.gk-login-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 17px;
  padding:0 0 16px;
  border-bottom:1px solid #efecf5;
}
.gk-login-brand-icon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--gk-color-primary-soft);
  color:var(--gk-color-primary);
  box-shadow:inset 0 0 0 1px rgba(103,61,230,.07);
}
.gk-login-brand-icon svg{width:22px;height:22px}
.gk-login-brand strong{display:block;margin:0;color:#292631;font-size:15.5px;font-weight:800;line-height:1.4}
.gk-login-brand small{display:block;margin-top:2px;color:#817b8a;font-size:11.5px;line-height:1.45}
.gk-login-intro{margin:0 0 16px}
.gk-login-kicker{display:block;width:max-content;margin:0 0 5px;color:var(--gk-color-primary);font-size:11.5px;font-weight:800;line-height:1.4}
.gk-login-intro h1,.gk-payment-card>h1{margin:0;color:#292631;font-size:27px;font-weight:800;line-height:1.3;letter-spacing:-.02em}
.gk-login-intro p{max-width:34rem;margin:6px 0 0;color:#787280;font-size:12.5px;line-height:1.72}
.gk-login-error,.gk-login-success{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 14px;
  padding:11px 12px;
  border-radius:12px;
  font-size:12px;
  line-height:1.6;
}
.gk-login-error{border:1px solid #efc6c2;background:#fff7f6;color:#953027}
.gk-login-success{border:1px solid #bfe3ca;background:#f3faf5;color:#247044}
.gk-login-error p,.gk-login-success p{margin:0}
.gk-login-alert-mark,.gk-login-status-mark{
  flex:0 0 22px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-weight:800;
}
.gk-login-alert-mark{background:#f8dedb;color:#953027}
.gk-login-status-mark{background:#d9f1e1}
.gk-login-status-mark::before{content:"✓"}
.gk-login-form{display:grid;gap:13px;margin:0}
.gk-login-form label{display:grid;gap:7px;margin:0}
.gk-login-form label>span{color:#45404c;font-size:12.5px;font-weight:700;line-height:1.4}
.gk-input-shell{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 46px;
  align-items:center;
  width:100%;
  height:50px;
  overflow:hidden;
  border:1px solid #d8d2e2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(26,20,45,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.gk-input-shell:hover{border-color:#c9c1d8}
.gk-input-shell:focus-within{border-color:var(--gk-color-primary);box-shadow:0 0 0 3px rgba(103,61,230,.105)}
.gk-input-icon,.gk-password-toggle{width:46px;height:48px;display:grid;place-items:center;color:#8b8494}
.gk-input-icon{pointer-events:none}
.gk-input-icon svg,.gk-password-toggle svg{width:18px;height:18px}
.gk-input-shell>input{
  width:100%;
  height:48px;
  min-width:0;
  margin:0;
  padding:0 5px;
  border:0;
  outline:0;
  background:transparent;
  color:#292631;
  font-size:14.5px;
  font-weight:700;
  box-shadow:none;
}
.gk-input-shell>input::placeholder{color:#aaa4b2;font-weight:400}
.gk-password-toggle{
  position:relative;
  flex:0 0 46px;
  min-width:46px;
  max-width:46px;
  align-self:stretch;
  justify-self:stretch;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  line-height:1;
  cursor:pointer;
  transition:background .15s,color .15s;
}
.gk-password-toggle:hover{background:#f7f4ff;color:var(--gk-color-primary)}
.gk-password-toggle>span{width:100%;height:100%;display:grid;place-items:center;line-height:1}
.gk-password-toggle>span[hidden]{display:none!important}
.gk-password-toggle svg{display:block;flex:0 0 18px}
.gk-login-button{
  width:100%;
  height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:2px 0 0;
  padding:0 18px;
  border:1px solid var(--gk-color-primary);
  border-radius:12px;
  background:var(--gk-color-primary);
  color:#fff;
  font-size:13.5px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 9px 20px rgba(103,61,230,.16);
  cursor:pointer;
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;
}
.gk-login-button:hover{background:var(--gk-color-primary-hover);border-color:var(--gk-color-primary-hover);box-shadow:0 10px 22px rgba(103,61,230,.19)}
.gk-login-button:active{transform:translateY(1px)}
.gk-login-button:focus-visible{outline:3px solid rgba(103,61,230,.18);outline-offset:2px}
.gk-login-button:disabled{opacity:.72;cursor:wait;transform:none}
.gk-button-loading{display:inline-flex;align-items:center;gap:7px}
.gk-login-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:gk-session-spin .75s linear infinite}
@keyframes gk-session-spin{to{transform:rotate(360deg)}}
.gk-login-secondary-link{display:flex;align-items:center;justify-content:center;min-height:32px;margin:7px 0 0;color:#6f6878;font-size:11px;font-weight:700;text-decoration:none}
.gk-login-secondary-link:hover{color:var(--gk-color-primary);text-decoration:underline;text-underline-offset:3px}
.gk-login-security{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #efecf5;color:#898391;font-size:10.5px;line-height:1.5}
.gk-login-security svg{width:13px;height:13px}

/* Six-digit PIN: six independent boxes on pre-panel verification screens. */
.gk-pin-step-form{gap:13px}
.gk-pin-field{display:grid!important;gap:8px!important;width:100%;margin:0}
.gk-pin-field>span{display:block;color:#45404c;font-size:12.5px;font-weight:700;line-height:1.4}
.gk-pin-boxes{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;width:100%;margin:0;direction:ltr}
.gk-pin-code-input{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;padding:0;border:0!important;outline:0!important;background:transparent!important;color:transparent!important;caret-color:transparent!important;opacity:.01;font-size:16px;direction:ltr;text-align:left;box-shadow:none!important}
.gk-pin-box{pointer-events:none;display:grid;place-items:center;width:100%;min-width:0;height:54px;margin:0;padding:0;border:1px solid #cfc7dd;border-radius:12px;background:#fff;color:#292631;direction:ltr;text-align:center;font-size:20px;font-weight:800;line-height:1;outline:0;box-shadow:0 1px 2px rgba(26,20,45,.03);transition:border-color .15s,box-shadow .15s,background-color .15s}
.gk-pin-boxes:hover .gk-pin-box{border-color:#bfb4d1}
.gk-pin-box.is-current{border-color:var(--gk-color-primary);box-shadow:0 0 0 3px rgba(103,61,230,.12)}

/* Human verification */
body.gk-human-check-page .gk-login-card{width:430px}
.gk-human-code-text{margin:0 0 14px;padding:13px 14px;border:1px solid #e5e3ec;border-radius:12px;background:#faf9fd;text-align:center;color:#3f2a75;font-size:21px;font-weight:800;letter-spacing:.08em}
.gk-human-code-input{width:100%;height:50px;padding:0 12px;border:1px solid #e5e3ec;border-radius:12px;background:#fff;text-align:center;font-size:18px;font-weight:800;outline:0}
.gk-human-code-input:focus{border-color:var(--gk-color-primary);box-shadow:0 0 0 3px rgba(103,61,230,.105)}

/* Public payment session */
body.gk-payment-page .gk-login-card{width:520px;max-width:calc(100vw - 28px)}
.gk-payment-card>h1{text-align:center;margin-bottom:18px}
.gk-payment-card input:not([type="radio"]),.gk-payment-card select{width:100%;height:50px;padding:0 12px;border:1px solid #d7dde2;border-radius:12px;background:#fff;color:#2a2934;outline:0}
.gk-payment-card input:focus,.gk-payment-card select:focus{border-color:var(--gk-color-primary);box-shadow:0 0 0 3px rgba(103,61,230,.105)}
.gk-payment-empty{padding:16px;border:1px dashed #d8dde1;border-radius:12px;background:#fafbfb;color:#77717f;text-align:center;font-size:13px}
.gk-payment-success{display:grid;gap:3px;padding:18px;border:1px solid #bfe3ca;border-radius:12px;background:#f2faf5;text-align:center}
.gk-payment-success strong{font-size:24px;color:#177a58}
.gk-payment-success span{font-size:12px;color:#77717f}
.gk-payment-invoice{display:grid;gap:0;margin-bottom:14px;border:1px solid #e5e3ec;border-radius:12px;overflow:hidden;background:#fff}
.gk-payment-invoice>div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px;min-height:48px;padding:9px 12px;border-bottom:1px solid #edf0f0}
.gk-payment-invoice>div:last-child{border-bottom:0}
.gk-payment-invoice span{display:flex;align-items:center;gap:7px;color:#77717f;font-size:12px}
.gk-payment-invoice strong,.gk-payment-invoice code{min-width:0;color:#2a2934;font-size:12.5px;text-align:end;overflow-wrap:anywhere}
.gk-payment-invoice code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.gk-payment-data-icon{flex:0 0 22px;width:22px;height:22px;display:grid!important;place-items:center;border-radius:7px;background:#f1edff;color:var(--gk-color-primary)}
.gk-payment-data-icon svg{width:13px;height:13px}
.gk-payment-methods{display:grid;gap:8px}
.gk-payment-method{display:flex!important;align-items:center;gap:9px!important;min-height:46px;padding:10px 12px;border:1px solid #e5e3ec;border-radius:12px;background:#fff}
.gk-payment-method input{width:17px!important;height:17px!important;margin:0}
.gk-payment-method span{font-size:12.5px;font-weight:700}
.gk-payment-link{margin-bottom:12px}

/* Browser autofill must keep the field visually identical to a normal input. */
.gk-input-shell>input:-webkit-autofill,
.gk-input-shell>input:-webkit-autofill:hover,
.gk-input-shell>input:-webkit-autofill:focus,
.gk-input-shell>input:-webkit-autofill:active{
  -webkit-text-fill-color:#292631!important;
  caret-color:#292631!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
  background-color:#fff!important;
  transition:background-color 9999s ease-out 0s!important;
}
.gk-input-shell>input:autofill{background:#fff!important;color:#292631!important;box-shadow:0 0 0 1000px #fff inset!important}

/* Native hidden state wins over author layout rules. */
.gk-button-label[hidden],.gk-button-loading[hidden],[data-eye-show][hidden],[data-eye-hide][hidden]{display:none!important}
.gk-login-button[aria-busy="true"]{cursor:wait}



.gk-password-toggle:focus-visible,.gk-login-secondary-link:focus-visible{outline:3px solid rgba(103,61,230,.16);outline-offset:2px}
.gk-login-error,.gk-login-success,.gk-login-intro p,.gk-payment-empty{overflow-wrap:anywhere}
.gk-payment-method{transition:border-color .15s ease,background-color .15s ease}
.gk-payment-method:has(input:checked){border-color:rgba(103,61,230,.38);background:#faf8ff}
@media(max-width:460px){
  .gk-login-form{gap:12px}
  .gk-login-security{margin-top:12px}
}
@media(max-width:460px){
  body.gk-login-page .gk-login-layout{padding:9px}
  body.gk-login-page .gk-login-card{width:calc(100vw - 18px);max-width:calc(100vw - 18px);padding:19px;border-radius:18px}
  .gk-login-brand{margin-bottom:15px;padding-bottom:14px}
  .gk-login-intro h1,.gk-payment-card>h1{font-size:24px}
  .gk-input-shell{grid-template-columns:43px minmax(0,1fr) 43px;height:50px}
  .gk-input-icon,.gk-password-toggle{width:43px;min-width:43px;max-width:43px;height:48px}
  .gk-pin-box{height:49px;font-size:18px;border-radius:11px}.gk-pin-boxes{gap:7px}
  .gk-payment-invoice>div{grid-template-columns:1fr;gap:4px;align-items:start}
  .gk-payment-invoice strong,.gk-payment-invoice code{text-align:start}
}
@media(max-width:340px){
  body.gk-login-page .gk-login-card{padding:15px}
  .gk-login-brand-icon{flex-basis:40px;width:40px;height:40px}
  .gk-login-intro h1,.gk-payment-card>h1{font-size:22px}
  .gk-pin-box{height:46px;font-size:17px;border-radius:10px}.gk-pin-boxes{gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .gk-login-spinner{animation-duration:1.4s}
  .gk-login-button,.gk-input-shell,.gk-pin-box{transition:none}
}


body.gk-login-page .gk-login-card{
  border-color:var(--gk-color-border)!important;
  border-radius:var(--gk-radius-lg)!important;
  background:var(--gk-color-surface)!important;
  box-shadow:var(--gk-shadow-md)!important;
}
body.gk-login-page .gk-login-brand{border-bottom-color:var(--gk-color-border)!important}
body.gk-login-page .gk-input-shell,
body.gk-login-page .gk-pin-box{
  border-color:var(--gk-color-field-border)!important;
  border-radius:var(--gk-control-radius)!important;
  background:var(--gk-color-field-bg)!important;
}
body.gk-login-page .gk-input-shell:hover,
body.gk-login-page .gk-pin-boxes:hover .gk-pin-box{border-color:var(--gk-color-field-border-hover)!important}
body.gk-login-page .gk-input-shell:focus-within,
body.gk-login-page .gk-pin-box.is-current{
  border-color:var(--gk-color-primary)!important;
  box-shadow:var(--gk-focus-ring)!important;
}
body.gk-login-page .gk-login-button{
  min-height:var(--gk-button-large-height)!important;
  border-radius:var(--gk-control-radius)!important;
  background:var(--gk-color-primary)!important;
  color:#fff!important;
}
body.gk-login-page .gk-login-button:hover{background:var(--gk-color-primary-hover)!important}
body.gk-login-page .gk-login-secondary-link{color:var(--gk-color-action-text)!important}
body.gk-login-page .gk-login-secondary-link:hover{color:var(--gk-color-action-hover-text)!important}


body.gk-login-page{background-color:var(--gk-color-canvas)!important}
body.gk-login-page .gk-login-card{border-radius:16px!important}
body.gk-login-page :is(.gk-input-shell,.gk-pin-box,.gk-login-button){border-radius:12px!important}
body.gk-login-page .gk-login-form{gap:var(--gk-space-3,12px)!important}
body.gk-login-page .gk-login-form label{gap:var(--gk-label-gap,7px)!important}
