/* Keep authentication layout independent of application JavaScript. */
#gate{min-height:100vh;min-height:100svh;width:100%;max-width:none;margin:0;padding:max(32px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom));display:block}
#gate>.gate-top,#gate>.eyebrow,#gate>h1,#gate>.gate-company,#gate>.gate-note,#gate>#login{width:100%;max-width:440px;margin-left:auto;margin-right:auto}
#gate .gate-top{gap:16px;align-items:center}#gate .gate-top>button{min-height:44px;flex:none;font-size:13px;padding:10px 14px}
#gate h1{font-size:clamp(28px,8vw,42px);line-height:1.25;white-space:normal;overflow-wrap:anywhere}
#gate>.eyebrow{margin-top:24px}#gate>.gate-note{margin-bottom:22px;line-height:1.7}
#gate #login{padding:22px;border:1px solid #dce2db;border-radius:24px;box-shadow:0 18px 50px #06272026}
#login .login-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6px;margin:0 0 24px;padding:5px;background:#edf1ed;border-radius:15px}
#login .login-tabs>button{width:100%;min-width:0;min-height:46px;padding:9px 6px;margin:0;border-radius:11px;background:transparent;color:#52645d;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
#login .login-tabs>button.active{background:#fff;color:#1d5f50;box-shadow:0 3px 10px #17332f18}
#login .login-panel{display:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#login .login-panel.active:not([hidden]){display:block!important}#login .login-panel[hidden]{display:none!important}
#login label{display:grid;gap:8px;margin:0 0 18px;font-size:13px;line-height:1.5}
#login input:not([type=checkbox]){width:100%;min-width:0;min-height:50px;margin:0;padding:11px 13px;font-size:16px;line-height:1.5;border:1px solid #d8d8d1;border-radius:12px}
#login .remember-login{display:flex!important;align-items:center;gap:10px;margin:4px 0 20px;cursor:pointer}
#login .remember-login input{appearance:auto;flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0;margin:0;accent-color:#2e6a59}
#login .remember-login span{min-width:0;font-size:13px;line-height:1.5}
#login .code-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(104px,.8fr);align-items:end;gap:10px;margin-bottom:18px}
#login .code-row>label{min-width:0;margin:0}#login .code-row>button{width:100%;min-width:0;min-height:50px;margin:0;padding:10px 8px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
#login form>button{display:block;width:100%;min-height:50px;padding:12px 10px;margin:0;font-size:15px;line-height:1.5}
#login form>.login-link{min-height:44px;margin-top:12px;background:transparent;color:#2e6a59;font-size:14px}
#login #emailCodeHint{margin:0 0 18px;color:#6f7b75;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
#login #error{min-height:0;margin:12px 0 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}#login #error:empty{margin:0}
#login button:disabled{opacity:.6;cursor:wait}#login button:focus-visible,#login input:focus-visible{outline:3px solid #bd9b57;outline-offset:3px}
@media(max-width:350px){#gate{padding-inline:14px}#gate #login{padding:18px}#login .code-row{grid-template-columns:minmax(0,1fr)}#login .code-row>button{min-height:44px}}
@media(min-width:720px){#gate{padding-top:48px;padding-bottom:48px}}
