html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--gggl-bg,#0f1f3d);color:#172033}*{box-sizing:border-box}.gggl-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);background:var(--gggl-bg)}.gggl-visual{position:relative;background-image:linear-gradient(rgba(8,18,37,var(--gggl-overlay)),rgba(8,18,37,var(--gggl-overlay))),var(--gggl-image);background-size:cover;background-position:center}.gggl-panel{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--gggl-panel)}.gggl-card{width:min(440px,100%);text-align:left}.gggl-logo{display:block;max-width:220px;max-height:110px;object-fit:contain;margin:0 0 28px}.gggl-card h1{margin:0 0 10px;font-size:42px;line-height:1.06;letter-spacing:-.035em;color:#172033}.gggl-sub{margin:0 0 28px;color:#677487;font-size:17px;line-height:1.5}.gggl-google-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:58px;padding:0 20px;border:1px solid #747775;border-radius:8px;background:#fff;color:#1f1f1f;text-decoration:none;font-family:Roboto,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.01em;box-shadow:0 1px 2px rgba(60,64,67,.16);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.gggl-google-button:hover{background:#f8faff;border-color:#5f6368;color:#1f1f1f;box-shadow:0 1px 3px rgba(60,64,67,.24)}.gggl-google-button:focus-visible{outline:3px solid rgba(66,133,244,.28);outline-offset:2px}.gggl-google-button:active{background:#f1f3f4;box-shadow:0 1px 2px rgba(60,64,67,.18)}.gggl-google-logo{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px}.gggl-google-logo svg{display:block;width:22px;height:22px}.gggl-google-text{display:inline-block;line-height:1.2}.gggl-domain{margin-top:13px;color:#7a8697;font-size:12px;text-align:center}.gggl-footer{margin-top:34px;color:#98a1ae;font-size:11px}.gggl-test-badge{display:inline-flex;margin-bottom:18px;padding:6px 9px;border-radius:999px;background:#fff3cd;color:#7a5b00;font-size:10px;font-weight:900;letter-spacing:.08em}.gggl-notice{margin:0 0 18px;padding:11px 13px;border-radius:10px;background:#eef5ff;color:#2f5178;font-size:13px}.gggl-error{background:#fff0f0;color:#8e2525}.gggl-layout-centered .gggl-screen,.gggl-layout-minimal .gggl-screen,.gggl-layout-wallpaper .gggl-screen{grid-template-columns:1fr}.gggl-layout-centered .gggl-visual,.gggl-layout-minimal .gggl-visual{display:none}.gggl-layout-centered .gggl-panel{background:var(--gggl-bg)}.gggl-layout-centered .gggl-card,.gggl-layout-wallpaper .gggl-card{padding:38px;border-radius:20px;background:var(--gggl-panel);box-shadow:0 20px 55px rgba(0,0,0,.18)}.gggl-layout-wallpaper .gggl-screen{background-image:linear-gradient(rgba(8,18,37,var(--gggl-overlay)),rgba(8,18,37,var(--gggl-overlay))),var(--gggl-image);background-size:cover;background-position:center}.gggl-layout-wallpaper .gggl-visual{display:none}.gggl-layout-wallpaper .gggl-panel{background:transparent}.gggl-layout-minimal .gggl-panel{background:#fff}.gggl-error-page{display:grid;place-items:center;min-height:100dvh;padding:30px;background:#f3f5f8}.gggl-error-card{width:min(520px,100%);padding:34px;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(31,45,65,.12)}.gggl-error-card a{color:#1b5fa7;font-weight:700}@media(max-width:780px){.gggl-screen{display:block;position:relative;background-image:linear-gradient(rgba(8,18,37,var(--gggl-overlay)),rgba(8,18,37,var(--gggl-overlay))),var(--gggl-mobile-image);background-size:cover;background-position:center}.gggl-visual{display:none}.gggl-panel{min-height:100dvh;padding:calc(48px + env(safe-area-inset-top)) 24px calc(36px + env(safe-area-inset-bottom));background:rgba(255,255,255,.93)}.gggl-layout-wallpaper .gggl-panel,.gggl-layout-centered .gggl-panel{background:rgba(255,255,255,.92)}.gggl-card{width:100%}.gggl-card h1{font-size:36px}.gggl-logo{margin-bottom:24px}.gggl-layout-wallpaper .gggl-card,.gggl-layout-centered .gggl-card{padding:28px}}

@media(max-width:780px){
  .gggl-google-button{
    width:min(100%,420px);
    min-height:50px;
    margin:0 auto;
    padding:0 18px;
    border-radius:6px;
    font-size:15px;
    font-weight:500;
    box-shadow:0 1px 2px rgba(60,64,67,.2);
  }
  .gggl-google-logo,
  .gggl-google-logo svg{
    width:20px;
    height:20px;
    flex:0 0 20px;
  }
  .gggl-google-text{
    white-space:nowrap;
  }
}


/* v1.0.3 — harden mobile width against theme/Safari overrides */
@media(max-width:780px){
  html,
  body,
  .gggl-screen,
  .gggl-panel,
  .gggl-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  html,
  body,
  .gggl-screen{
    overflow-x:hidden!important;
  }

  .gggl-panel{
    padding-left:max(20px, env(safe-area-inset-left))!important;
    padding-right:max(20px, env(safe-area-inset-right))!important;
  }

  .gggl-layout-wallpaper .gggl-card,
  .gggl-layout-centered .gggl-card{
    width:100%!important;
    max-width:100%!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .gggl-google-button{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:16px!important;
    padding-right:16px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .gggl-google-text{
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}


/* v1.0.4 — login element visibility/alignment controls */
.gggl-logo-wrap{display:flex;width:100%;margin:0 0 28px}
.gggl-logo{max-width:min(var(--gggl-logo-width,220px),100%);width:auto;height:auto;max-height:none;margin:0;object-fit:contain}
.gggl-logo-left .gggl-logo-wrap{justify-content:flex-start}
.gggl-logo-center .gggl-logo-wrap{justify-content:center}
.gggl-logo-right .gggl-logo-wrap{justify-content:flex-end}

.gggl-heading-left h1{text-align:left}
.gggl-heading-center h1{text-align:center}
.gggl-heading-right h1{text-align:right}

.gggl-sub-left .gggl-sub{text-align:left}
.gggl-sub-center .gggl-sub{text-align:center}
.gggl-sub-right .gggl-sub{text-align:right}

.gggl-domain-left .gggl-domain{text-align:left}
.gggl-domain-center .gggl-domain{text-align:center}
.gggl-domain-right .gggl-domain{text-align:right}

.gggl-footer-left .gggl-footer{text-align:left}
.gggl-footer-center .gggl-footer{text-align:center}
.gggl-footer-right .gggl-footer{text-align:right}

@media(max-width:780px){
  .gggl-logo-wrap{margin-bottom:22px}
  .gggl-logo{max-width:min(var(--gggl-logo-width,220px),100%)}
}
